From 2c97dc9f61576cb0d2d032da7daae42eb9511365 Mon Sep 17 00:00:00 2001 From: harnish-elastic Date: Fri, 3 May 2024 11:05:23 +0530 Subject: [PATCH 1/4] Support authentication with username and ssl --- packages/redis/changelog.yml | 5 +++ .../info/agent/stream/stream.yml.hbs | 6 +++ .../key/agent/stream/stream.yml.hbs | 6 +++ .../keyspace/agent/stream/stream.yml.hbs | 6 +++ packages/redis/manifest.yml | 43 ++++++++++++++++++- 5 files changed, 65 insertions(+), 1 deletion(-) diff --git a/packages/redis/changelog.yml b/packages/redis/changelog.yml index 9615577274..3558790fa1 100644 --- a/packages/redis/changelog.yml +++ b/packages/redis/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.15.0" + changes: + - description: Support authentication with username and ssl. + type: enhancement + link: https://github.com/elastic/integrations/pull/1 #FIX ME - version: "1.14.0" changes: - description: Enable 'secret' for the sensitive fields. diff --git a/packages/redis/data_stream/info/agent/stream/stream.yml.hbs b/packages/redis/data_stream/info/agent/stream/stream.yml.hbs index b278d08237..eb07626a04 100644 --- a/packages/redis/data_stream/info/agent/stream/stream.yml.hbs +++ b/packages/redis/data_stream/info/agent/stream/stream.yml.hbs @@ -12,7 +12,13 @@ maxconn: {{maxconn}} {{#if network}} network: {{network}} {{/if}} +{{#if username}} +username: {{username}} +{{/if}} {{#if password}} password: {{password}} {{/if}} +{{#if ssl}} +{{ssl}} +{{/if}} period: {{period}} diff --git a/packages/redis/data_stream/key/agent/stream/stream.yml.hbs b/packages/redis/data_stream/key/agent/stream/stream.yml.hbs index 71b20346c9..2ddd58e631 100644 --- a/packages/redis/data_stream/key/agent/stream/stream.yml.hbs +++ b/packages/redis/data_stream/key/agent/stream/stream.yml.hbs @@ -15,7 +15,13 @@ maxconn: {{maxconn}} {{#if network}} network: {{network}} {{/if}} +{{#if username}} +username: {{username}} +{{/if}} {{#if password}} password: {{password}} {{/if}} +{{#if ssl}} +{{ssl}} +{{/if}} period: {{period}} diff --git a/packages/redis/data_stream/keyspace/agent/stream/stream.yml.hbs b/packages/redis/data_stream/keyspace/agent/stream/stream.yml.hbs index 3301bfd4ce..2b8c2b7e1a 100644 --- a/packages/redis/data_stream/keyspace/agent/stream/stream.yml.hbs +++ b/packages/redis/data_stream/keyspace/agent/stream/stream.yml.hbs @@ -12,7 +12,13 @@ maxconn: {{maxconn}} {{#if network}} network: {{network}} {{/if}} +{{#if username}} +username: {{username}} +{{/if}} {{#if password}} password: {{password}} {{/if}} +{{#if ssl}} +{{ssl}} +{{/if}} period: {{period}} diff --git a/packages/redis/manifest.yml b/packages/redis/manifest.yml index e93a6b76af..e7cd272d86 100644 --- a/packages/redis/manifest.yml +++ b/packages/redis/manifest.yml @@ -1,7 +1,7 @@ format_version: "3.0.2" name: redis title: Redis -version: "1.14.0" +version: "1.15.0" description: Collect logs and metrics from Redis servers with Elastic Agent. type: integration categories: @@ -72,6 +72,14 @@ policy_templates: required: false show_user: false default: tcp + - name: username + type: text + title: Username + secret: false + multi: false + required: false + show_user: false + default: "" - name: password type: password title: Password @@ -80,6 +88,39 @@ policy_templates: required: false show_user: false default: "" + - name: ssl + type: yaml + title: SSL Configuration + default: | + # ssl.certificate_authorities: | + # -----BEGIN CERTIFICATE----- + # MIID+jCCAuKgAwIBAgIGAJJMzlxLMA0GCSqGSIb3DQEBCwUAMHoxCzAJBgNVBAYT + # AlVTMQwwCgYDVQQKEwNJQk0xFjAUBgNVBAsTDURlZmF1bHROb2RlMDExFjAUBgNV + # BAsTDURlZmF1bHRDZWxsMDExGTAXBgNVBAsTEFJvb3QgQ2VydGlmaWNhdGUxEjAQ + # BgNVBAMTCWxvY2FsaG9zdDAeFw0yMTEyMTQyMjA3MTZaFw0yMjEyMTQyMjA3MTZa + # MF8xCzAJBgNVBAYTAlVTMQwwCgYDVQQKEwNJQk0xFjAUBgNVBAsTDURlZmF1bHRO + # b2RlMDExFjAUBgNVBAsTDURlZmF1bHRDZWxsMDExEjAQBgNVBAMTCWxvY2FsaG9z + # dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMv5HCsJZIpI5zCy+jXV + # z6lmzNc9UcVSEEHn86h6zT6pxuY90TYeAhlZ9hZ+SCKn4OQ4GoDRZhLPTkYDt+wW + # CV3NTIy9uCGUSJ6xjCKoxClJmgSQdg5m4HzwfY4ofoEZ5iZQ0Zmt62jGRWc0zuxj + # hegnM+eO2reBJYu6Ypa9RPJdYJsmn1RNnC74IDY8Y95qn+WZj//UALCpYfX41hko + # i7TWD9GKQO8SBmAxhjCDifOxVBokoxYrNdzESl0LXvnzEadeZTd9BfUtTaBHhx6t + # njqqCPrbTY+3jAbZFd4RiERPnhLVKMytw5ot506BhPrUtpr2lusbN5svNXjuLeea + # MMUCAwEAAaOBoDCBnTATBgNVHSMEDDAKgAhOatpLwvJFqjAdBgNVHSUEFjAUBggr + # BgEFBQcDAQYIKwYBBQUHAwIwVAYDVR0RBE0wS4E+UHJvZmlsZVVVSUQ6QXBwU3J2 + # MDEtQkFTRS05MDkzMzJjMC1iNmFiLTQ2OTMtYWI5NC01Mjc1ZDI1MmFmNDiCCWxv + # Y2FsaG9zdDARBgNVHQ4ECgQITzqhA5sO8O4wDQYJKoZIhvcNAQELBQADggEBAKR0 + # gY/BM69S6BDyWp5dxcpmZ9FS783FBbdUXjVtTkQno+oYURDrhCdsfTLYtqUlP4J4 + # CHoskP+MwJjRIoKhPVQMv14Q4VC2J9coYXnePhFjE+6MaZbTjq9WaekGrpKkMaQA + # iQt5b67jo7y63CZKIo9yBvs7sxODQzDn3wZwyux2vPegXSaTHR/rop/s/mPk3YTS + # hQprs/IVtPoWU4/TsDN3gIlrAYGbcs29CAt5q9MfzkMmKsuDkTZD0ry42VjxjAmk + # xw23l/k8RoD1wRWaDVbgpjwSzt+kl+vJE/ip2w3h69eEZ9wbo6scRO5lCO2JM4Pr + # 7RhLQyWn2u00L7/9Omw= + # -----END CERTIFICATE----- + description: i.e. certificate_authorities, supported_protocols, verification_mode etc. + multi: false + required: false + show_user: false title: Collect Redis metrics description: Collecting info, key and keyspace metrics from Redis instances owner: From 427740455621309e2f4c5ce249312e706b361408 Mon Sep 17 00:00:00 2001 From: harnish-elastic Date: Fri, 3 May 2024 11:16:21 +0530 Subject: [PATCH 2/4] update changelog.yml --- packages/redis/changelog.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/redis/changelog.yml b/packages/redis/changelog.yml index 3558790fa1..b079e431e7 100644 --- a/packages/redis/changelog.yml +++ b/packages/redis/changelog.yml @@ -3,7 +3,7 @@ changes: - description: Support authentication with username and ssl. type: enhancement - link: https://github.com/elastic/integrations/pull/1 #FIX ME + link: https://github.com/elastic/integrations/pull/9777 - version: "1.14.0" changes: - description: Enable 'secret' for the sensitive fields. From eaff5af9e698220c712df54c8283269f28418d5c Mon Sep 17 00:00:00 2001 From: harnish-elastic <118714680+harnish-elastic@users.noreply.github.com> Date: Mon, 6 May 2024 12:17:28 +0530 Subject: [PATCH 3/4] Update packages/redis/changelog.yml Co-authored-by: niraj-elastic <124254029+niraj-elastic@users.noreply.github.com> --- packages/redis/changelog.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/redis/changelog.yml b/packages/redis/changelog.yml index b079e431e7..023c4884b4 100644 --- a/packages/redis/changelog.yml +++ b/packages/redis/changelog.yml @@ -1,7 +1,7 @@ # newer versions go on top - version: "1.15.0" changes: - - description: Support authentication with username and ssl. + - description: Add AUTH (username) and SSL/TLS support. type: enhancement link: https://github.com/elastic/integrations/pull/9777 - version: "1.14.0" From 4b4decaad2836d1a723be4f2ee3da8c882c8d7aa Mon Sep 17 00:00:00 2001 From: harnish-elastic Date: Mon, 6 May 2024 13:47:22 +0530 Subject: [PATCH 4/4] address review comments --- packages/redis/manifest.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/redis/manifest.yml b/packages/redis/manifest.yml index e7cd272d86..5946f0fb98 100644 --- a/packages/redis/manifest.yml +++ b/packages/redis/manifest.yml @@ -117,7 +117,8 @@ policy_templates: # xw23l/k8RoD1wRWaDVbgpjwSzt+kl+vJE/ip2w3h69eEZ9wbo6scRO5lCO2JM4Pr # 7RhLQyWn2u00L7/9Omw= # -----END CERTIFICATE----- - description: i.e. certificate_authorities, supported_protocols, verification_mode etc. + description: | + This section allows for the configuration of SSL settings to enable secure communication between the client and server. Both common and specific SSL options can be customized to ensure a secure and reliable connection. Example: [certificate_authorities](https://www.elastic.co/guide/en/beats/metricbeat/current/configuration-ssl.html#client-certificate-authorities), [supported-protocols](https://www.elastic.co/guide/en/beats/metricbeat/current/configuration-ssl.html#supported-protocols), [verification-mode](https://www.elastic.co/guide/en/beats/metricbeat/current/configuration-ssl.html#client-verification-mode), [key](https://www.elastic.co/guide/en/beats/metricbeat/current/configuration-ssl.html#client-key), [certificate](https://www.elastic.co/guide/en/beats/metricbeat/current/configuration-ssl.html#client-certificate), etc. multi: false required: false show_user: false