From 4372e18089df773b8c84994c6fb56184c78b97cc Mon Sep 17 00:00:00 2001 From: Jannik Hollenbach Date: Tue, 13 May 2025 21:07:13 +0200 Subject: [PATCH 01/10] Remove embedded elasticsearch chart and replace them with more detailed instructions for configuring ECK with the elastichook Signed-off-by: Jannik Hollenbach --- .../docs/getting-started/upgrading.md | 6 ++ hooks/persistence-elastic/.helm-docs.gotmpl | 60 ++++++++++++++- hooks/persistence-elastic/Chart.yaml | 11 --- hooks/persistence-elastic/README.md | 77 +++++++++++++++---- .../docs/README.ArtifactHub.md | 77 +++++++++++++++---- .../docs/README.DockerHub-Hook.md | 6 +- .../persistence-elastic_test.yaml.snap | 2 +- hooks/persistence-elastic/values.yaml | 18 +---- 8 files changed, 191 insertions(+), 66 deletions(-) diff --git a/documentation/docs/getting-started/upgrading.md b/documentation/docs/getting-started/upgrading.md index 1618ab887e..0766085560 100644 --- a/documentation/docs/getting-started/upgrading.md +++ b/documentation/docs/getting-started/upgrading.md @@ -34,6 +34,12 @@ The default `k8sScanScope` scope was also changed from `cluster` to `namespace`, ➡️ [Reference: #3025](https://github.com/secureCodeBox/secureCodeBox/pull/3025) +### Removed Integrated Elasticsearch and Kibana Helm Charts + +The integrated Elasticsearch and Kibana Helm charts have been dropped from the Persistence ElasticSearch Hook. These charts were intended as a quick-start option, but since Elastic no longer provides their own Helm charts, they have been removed. The documentation has been updated with guidance on setting up an Elasticsearch cluster using the [ECK operator](https://www.elastic.co/elastic-cloud-kubernetes). + +➡️ [Reference: #2892](https://github.com/secureCodeBox/secureCodeBox/issues/2892) + ## From 3.X to 4.X ### Renamed the docker images of demo-targets to include a "demo-target-" prefix diff --git a/hooks/persistence-elastic/.helm-docs.gotmpl b/hooks/persistence-elastic/.helm-docs.gotmpl index 4b1b563f99..fe22e744e8 100644 --- a/hooks/persistence-elastic/.helm-docs.gotmpl +++ b/hooks/persistence-elastic/.helm-docs.gotmpl @@ -22,9 +22,13 @@ usecase: "Publishes all Scan Findings to Elasticsearch." {{- define "extra.chartAboutSection" -}} ## What is "Persistence ElasticSearch" Hook about? -The ElasticSearch persistenceProvider hook saves all findings and reports into the configured ElasticSearch index. This allows for some easy searching and visualization of the findings. To learn more about Elasticsearch visit [elastic.io]. + +The ElasticSearch persistenceProvider hook saves all findings and reports into the configured ElasticSearch index. +This allows for some easy searching and visualization of the findings. To learn more about Elasticsearch visit [elastic.io]. Installing the Elasticsearch persistenceProvider hook will add a _ReadOnly Hook_ to your namespace. + +This hook supports both Elasticsearch as well as OpenSearch. The configuration is the same for both. {{- end }} {{- define "extra.scannerConfigurationSection" -}}{{- end }} @@ -32,12 +36,64 @@ Installing the Elasticsearch persistenceProvider hook will add a _ReadOnly Hook_ {{- define "extra.chartConfigurationSection" -}} ## Additional Chart Configurations +### Connecting the hook an Elasticsearch Cluster + +The Elastic hook requires an existing Elasticsearch instance to store findings. To set up the hook, follow these steps: + +1. **Deploy an Elasticsearch Cluster**: + You can deploy an Elasticsearch cluster using various methods, such as using the official Elastic Cloud, self-hosting, or using a managed service. For Kubernetes environments, we recommend using the [Elastic Cloud on Kubernetes (ECK)](https://www.elastic.co/elastic-cloud-kubernetes) operator. + See the [ECK documentation](https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s) for instructions on deploying Elasticsearch. + +2. **Create a Custom Values File**: + Create a new `custom-values.yaml` file with the following content to configure the hook to connect to your Elasticsearch instance: + + ```yaml + externalElasticStack: + enabled: true + elasticsearchAddress: "https://quickstart-es-http:9200" # these are the default values for the ECK quickstart, change them to match your setup + kibanaAddress: "https://quickstart-kb-http:5601" + + authentication: + userSecret: "elasticsearch-credentials-secret" + # Alternatively, use an API key: + # apiKeySecret: "elasticsearch-api-key-secret" + + indexPrefix: "custom-prefix" + indexSuffix: "yyyy-MM-dd" + indexAppendNamespace: true + ``` + +3. **Create Kubernetes Secrets for Elasticsearch Credentials**: + Use the following `kubectl` command to create a secret for Elasticsearch credentials: + + ```bash + kubectl create secret generic elasticsearch-credentials-secret \ + --from-literal=username=your-username \ + --from-literal=password=your-password + ``` + + If using an API key, create the secret as follows: + + ```bash + kubectl create secret generic elasticsearch-api-key-secret \ + --from-literal=id=your-api-key-id \ + --from-literal=key=your-api-key + ``` + +4. **Deploy the Hook**: + Install the persistence-elastic chart using Helm with the custom values file: + + ```bash + helm upgrade --install persistence-elastic oci://ghcr.io/securecodebox/helm/persistence-elastic --values custom-values.yaml + ``` + +Ensure that the `userSecret` or `apiKeySecret` is created in your Kubernetes cluster with the appropriate credentials for accessing your Elasticsearch instance. + ### Elasticsearch Indexing For the elasticsearch `indexSuffix` you can provide a date format pattern. We use [Luxon](https://moment.github.io/luxon/) to format the date. So checkout the [Luxon documentation](https://moment.github.io/luxon/docs/manual/formatting.html#table-of-tokens) to see what kind of format patterns you can use for the `indexSuffix`. Default pattern is `yyyy-MM-dd` - {{- end }} {{- define "extra.scannerLinksSection" -}} diff --git a/hooks/persistence-elastic/Chart.yaml b/hooks/persistence-elastic/Chart.yaml index 7e7a649399..12e16cfbc8 100644 --- a/hooks/persistence-elastic/Chart.yaml +++ b/hooks/persistence-elastic/Chart.yaml @@ -11,7 +11,6 @@ type: application # version - gets automatically set to the secureCodeBox release version when the helm charts gets published version: v3.1.0-alpha1 -appVersion: 7.9.2 kubeVersion: ">=v1.11.0-0" keywords: @@ -26,13 +25,3 @@ sources: maintainers: - name: iteratec GmbH email: secureCodeBox@iteratec.com - -dependencies: - - name: elasticsearch - version: 8.5.1 - repository: https://helm.elastic.co - condition: elasticsearch.enabled - - name: kibana - version: 8.5.1 - repository: https://helm.elastic.co - condition: kibana.enabled diff --git a/hooks/persistence-elastic/README.md b/hooks/persistence-elastic/README.md index 5a5fd1ac71..5f3b634cbc 100644 --- a/hooks/persistence-elastic/README.md +++ b/hooks/persistence-elastic/README.md @@ -33,10 +33,14 @@ Otherwise your changes will be reverted/overwritten automatically due to the bui

## What is "Persistence ElasticSearch" Hook about? -The ElasticSearch persistenceProvider hook saves all findings and reports into the configured ElasticSearch index. This allows for some easy searching and visualization of the findings. To learn more about Elasticsearch visit [elastic.io]. + +The ElasticSearch persistenceProvider hook saves all findings and reports into the configured ElasticSearch index. +This allows for some easy searching and visualization of the findings. To learn more about Elasticsearch visit [elastic.io]. Installing the Elasticsearch persistenceProvider hook will add a _ReadOnly Hook_ to your namespace. +This hook supports both Elasticsearch as well as OpenSearch. The configuration is the same for both. + ## Deployment The persistence-elastic chart can be deployed via helm: @@ -49,13 +53,61 @@ helm upgrade --install persistence-elastic oci://ghcr.io/securecodebox/helm/pers Kubernetes: `>=v1.11.0-0` -| Repository | Name | Version | -|------------|------|---------| -| https://helm.elastic.co | elasticsearch | 8.5.1 | -| https://helm.elastic.co | kibana | 8.5.1 | - ## Additional Chart Configurations +### Connecting the hook an Elasticsearch Cluster + +The Elastic hook requires an existing Elasticsearch instance to store findings. To set up the hook, follow these steps: + +1. **Deploy an Elasticsearch Cluster**: + You can deploy an Elasticsearch cluster using various methods, such as using the official Elastic Cloud, self-hosting, or using a managed service. For Kubernetes environments, we recommend using the [Elastic Cloud on Kubernetes (ECK)](https://www.elastic.co/elastic-cloud-kubernetes) operator. + See the [ECK documentation](https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s) for instructions on deploying Elasticsearch. + +2. **Create a Custom Values File**: + Create a new `custom-values.yaml` file with the following content to configure the hook to connect to your Elasticsearch instance: + + ```yaml + externalElasticStack: + enabled: true + elasticsearchAddress: "https://quickstart-es-http:9200" # these are the default values for the ECK quickstart, change them to match your setup + kibanaAddress: "https://quickstart-kb-http:5601" + + authentication: + userSecret: "elasticsearch-credentials-secret" + # Alternatively, use an API key: + # apiKeySecret: "elasticsearch-api-key-secret" + + indexPrefix: "custom-prefix" + indexSuffix: "yyyy-MM-dd" + indexAppendNamespace: true + ``` + +3. **Create Kubernetes Secrets for Elasticsearch Credentials**: + Use the following `kubectl` command to create a secret for Elasticsearch credentials: + + ```bash + kubectl create secret generic elasticsearch-credentials-secret \ + --from-literal=username=your-username \ + --from-literal=password=your-password + ``` + + If using an API key, create the secret as follows: + + ```bash + kubectl create secret generic elasticsearch-api-key-secret \ + --from-literal=id=your-api-key-id \ + --from-literal=key=your-api-key + ``` + +4. **Deploy the Hook**: + Install the persistence-elastic chart using Helm with the custom values file: + + ```bash + helm upgrade --install persistence-elastic oci://ghcr.io/securecodebox/helm/persistence-elastic --values custom-values.yaml + ``` + +Ensure that the `userSecret` or `apiKeySecret` is created in your Kubernetes cluster with the appropriate credentials for accessing your Elasticsearch instance. + ### Elasticsearch Indexing For the elasticsearch `indexSuffix` you can provide a date format pattern. We use [Luxon](https://moment.github.io/luxon/) to format the date. So checkout @@ -70,13 +122,6 @@ the [Luxon documentation](https://moment.github.io/luxon/docs/manual/formatting. | authentication | object | `{"apiKeySecret":null,"userSecret":null}` | Configure authentication schema and credentials the persistence provider should use to connect to elasticsearch user and apikey are mutually exclusive, only set one! | | authentication.apiKeySecret | string | `nil` | Link a pre-existing generic secret with `id` and `key` key / value pairs | | authentication.userSecret | string | `nil` | Link a pre-existing generic secret with `username` and `password` key / value pairs | -| dashboardImporter.enabled | bool | `true` | Enable if you want to import some example kibana dashboards for secureCodeBox findings analytics. | -| dashboardImporter.image.repository | string | `"securecodebox/persistence-elastic-dashboard-importer"` | | -| dashboardImporter.image.tag | string | `nil` | | -| elasticsearch | object | `{"enabled":true,"minimumMasterNodes":1,"replicas":1}` | Configures the included elasticsearch subchart (see: https://github.com/elastic/helm-charts/tree/elasticsearch) | -| elasticsearch.enabled | bool | `true` | Enable if you want to deploy an elasticsearch service. | -| elasticsearch.minimumMasterNodes | int | `1` | The value for discovery.zen.minimum_master_nodes. Should be set to (master_eligible_nodes / 2) + 1. Ignored in Elasticsearch versions >= 7 | -| elasticsearch.replicas | int | `1` | Kubernetes replica count for the StatefulSet (i.e. how many pods) | | externalElasticStack.elasticsearchAddress | string | `"https://elasticsearch.example.com"` | The URL of the elasticsearch service to persists all findings to. | | externalElasticStack.enabled | bool | `false` | Enable this when you already have an Elastic Stack running to which you want to send your results | | externalElasticStack.kibanaAddress | string | `"https://kibana.example.com"` | The URL of the kibana service used to visualize all findings. | @@ -94,10 +139,8 @@ the [Luxon documentation](https://moment.github.io/luxon/docs/manual/formatting. | hook.ttlSecondsAfterFinished | string | `nil` | Seconds after which the kubernetes job for the hook will be deleted. Requires the Kubernetes TTLAfterFinished controller: https://kubernetes.io/docs/concepts/workloads/controllers/ttlafterfinished/ | | imagePullSecrets | list | `[]` | Define imagePullSecrets when a private registry is used (see: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) | | indexAppendNamespace | bool | `true` | Define if the name of the namespace where this hook is deployed to must be added to the index name. The namespace can be used to separate index by tenants (namespaces). | -| indexPrefix | string | `"scbv2"` | Define a specific index prefix used for all elasticsearch indices. | -| indexSuffix | string | `"“yyyy-MM-dd”"` | Define a specific index suffix based on date pattern (YEAR (yyyy), MONTH (yyyy-MM), WEEK (yyyy-'W'W), DATE (yyyy-MM-dd)). We use Luxon for date formatting (https://moment.github.io/luxon/docs/manual/formatting.html#table-of-tokens) | -| kibana | object | `{"enabled":true}` | Configures included Elasticsearch subchart | -| kibana.enabled | bool | `true` | Enable if you want to deploy an kibana service (see: https://github.com/elastic/helm-charts/tree/master/kibana) | +| indexPrefix | string | `"scb"` | Define a specific index prefix used for all elasticsearch indices. | +| indexSuffix | string | `"yyyy-MM-dd"` | Define a specific index suffix based on date pattern (YEAR (yyyy), MONTH (yyyy-MM), WEEK (yyyy-'W'W), DATE (yyyy-MM-dd)). We use Luxon for date formatting (https://moment.github.io/luxon/docs/manual/formatting.html#table-of-tokens) | | nameOverride | string | `""` | | | nodeSelector | object | `{}` | | | podSecurityContext | object | `{}` | | diff --git a/hooks/persistence-elastic/docs/README.ArtifactHub.md b/hooks/persistence-elastic/docs/README.ArtifactHub.md index 7e649c9094..ad94badd21 100644 --- a/hooks/persistence-elastic/docs/README.ArtifactHub.md +++ b/hooks/persistence-elastic/docs/README.ArtifactHub.md @@ -41,10 +41,14 @@ The secureCodeBox project is running on [Kubernetes](https://kubernetes.io/). To You can find resources to help you get started on our [documentation website](https://www.securecodebox.io) including instruction on how to [install the secureCodeBox project](https://www.securecodebox.io/docs/getting-started/installation) and guides to help you [run your first scans](https://www.securecodebox.io/docs/getting-started/first-scans) with it. ## What is "Persistence ElasticSearch" Hook about? -The ElasticSearch persistenceProvider hook saves all findings and reports into the configured ElasticSearch index. This allows for some easy searching and visualization of the findings. To learn more about Elasticsearch visit [elastic.io]. + +The ElasticSearch persistenceProvider hook saves all findings and reports into the configured ElasticSearch index. +This allows for some easy searching and visualization of the findings. To learn more about Elasticsearch visit [elastic.io]. Installing the Elasticsearch persistenceProvider hook will add a _ReadOnly Hook_ to your namespace. +This hook supports both Elasticsearch as well as OpenSearch. The configuration is the same for both. + ## Deployment The persistence-elastic chart can be deployed via helm: @@ -57,13 +61,61 @@ helm upgrade --install persistence-elastic oci://ghcr.io/securecodebox/helm/pers Kubernetes: `>=v1.11.0-0` -| Repository | Name | Version | -|------------|------|---------| -| https://helm.elastic.co | elasticsearch | 8.5.1 | -| https://helm.elastic.co | kibana | 8.5.1 | - ## Additional Chart Configurations +### Connecting the hook an Elasticsearch Cluster + +The Elastic hook requires an existing Elasticsearch instance to store findings. To set up the hook, follow these steps: + +1. **Deploy an Elasticsearch Cluster**: + You can deploy an Elasticsearch cluster using various methods, such as using the official Elastic Cloud, self-hosting, or using a managed service. For Kubernetes environments, we recommend using the [Elastic Cloud on Kubernetes (ECK)](https://www.elastic.co/elastic-cloud-kubernetes) operator. + See the [ECK documentation](https://www.elastic.co/docs/deploy-manage/deploy/cloud-on-k8s) for instructions on deploying Elasticsearch. + +2. **Create a Custom Values File**: + Create a new `custom-values.yaml` file with the following content to configure the hook to connect to your Elasticsearch instance: + + ```yaml + externalElasticStack: + enabled: true + elasticsearchAddress: "https://quickstart-es-http:9200" # these are the default values for the ECK quickstart, change them to match your setup + kibanaAddress: "https://quickstart-kb-http:5601" + + authentication: + userSecret: "elasticsearch-credentials-secret" + # Alternatively, use an API key: + # apiKeySecret: "elasticsearch-api-key-secret" + + indexPrefix: "custom-prefix" + indexSuffix: "yyyy-MM-dd" + indexAppendNamespace: true + ``` + +3. **Create Kubernetes Secrets for Elasticsearch Credentials**: + Use the following `kubectl` command to create a secret for Elasticsearch credentials: + + ```bash + kubectl create secret generic elasticsearch-credentials-secret \ + --from-literal=username=your-username \ + --from-literal=password=your-password + ``` + + If using an API key, create the secret as follows: + + ```bash + kubectl create secret generic elasticsearch-api-key-secret \ + --from-literal=id=your-api-key-id \ + --from-literal=key=your-api-key + ``` + +4. **Deploy the Hook**: + Install the persistence-elastic chart using Helm with the custom values file: + + ```bash + helm upgrade --install persistence-elastic oci://ghcr.io/securecodebox/helm/persistence-elastic --values custom-values.yaml + ``` + +Ensure that the `userSecret` or `apiKeySecret` is created in your Kubernetes cluster with the appropriate credentials for accessing your Elasticsearch instance. + ### Elasticsearch Indexing For the elasticsearch `indexSuffix` you can provide a date format pattern. We use [Luxon](https://moment.github.io/luxon/) to format the date. So checkout @@ -78,13 +130,6 @@ the [Luxon documentation](https://moment.github.io/luxon/docs/manual/formatting. | authentication | object | `{"apiKeySecret":null,"userSecret":null}` | Configure authentication schema and credentials the persistence provider should use to connect to elasticsearch user and apikey are mutually exclusive, only set one! | | authentication.apiKeySecret | string | `nil` | Link a pre-existing generic secret with `id` and `key` key / value pairs | | authentication.userSecret | string | `nil` | Link a pre-existing generic secret with `username` and `password` key / value pairs | -| dashboardImporter.enabled | bool | `true` | Enable if you want to import some example kibana dashboards for secureCodeBox findings analytics. | -| dashboardImporter.image.repository | string | `"securecodebox/persistence-elastic-dashboard-importer"` | | -| dashboardImporter.image.tag | string | `nil` | | -| elasticsearch | object | `{"enabled":true,"minimumMasterNodes":1,"replicas":1}` | Configures the included elasticsearch subchart (see: https://github.com/elastic/helm-charts/tree/elasticsearch) | -| elasticsearch.enabled | bool | `true` | Enable if you want to deploy an elasticsearch service. | -| elasticsearch.minimumMasterNodes | int | `1` | The value for discovery.zen.minimum_master_nodes. Should be set to (master_eligible_nodes / 2) + 1. Ignored in Elasticsearch versions >= 7 | -| elasticsearch.replicas | int | `1` | Kubernetes replica count for the StatefulSet (i.e. how many pods) | | externalElasticStack.elasticsearchAddress | string | `"https://elasticsearch.example.com"` | The URL of the elasticsearch service to persists all findings to. | | externalElasticStack.enabled | bool | `false` | Enable this when you already have an Elastic Stack running to which you want to send your results | | externalElasticStack.kibanaAddress | string | `"https://kibana.example.com"` | The URL of the kibana service used to visualize all findings. | @@ -102,10 +147,8 @@ the [Luxon documentation](https://moment.github.io/luxon/docs/manual/formatting. | hook.ttlSecondsAfterFinished | string | `nil` | Seconds after which the kubernetes job for the hook will be deleted. Requires the Kubernetes TTLAfterFinished controller: https://kubernetes.io/docs/concepts/workloads/controllers/ttlafterfinished/ | | imagePullSecrets | list | `[]` | Define imagePullSecrets when a private registry is used (see: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) | | indexAppendNamespace | bool | `true` | Define if the name of the namespace where this hook is deployed to must be added to the index name. The namespace can be used to separate index by tenants (namespaces). | -| indexPrefix | string | `"scbv2"` | Define a specific index prefix used for all elasticsearch indices. | -| indexSuffix | string | `"“yyyy-MM-dd”"` | Define a specific index suffix based on date pattern (YEAR (yyyy), MONTH (yyyy-MM), WEEK (yyyy-'W'W), DATE (yyyy-MM-dd)). We use Luxon for date formatting (https://moment.github.io/luxon/docs/manual/formatting.html#table-of-tokens) | -| kibana | object | `{"enabled":true}` | Configures included Elasticsearch subchart | -| kibana.enabled | bool | `true` | Enable if you want to deploy an kibana service (see: https://github.com/elastic/helm-charts/tree/master/kibana) | +| indexPrefix | string | `"scb"` | Define a specific index prefix used for all elasticsearch indices. | +| indexSuffix | string | `"yyyy-MM-dd"` | Define a specific index suffix based on date pattern (YEAR (yyyy), MONTH (yyyy-MM), WEEK (yyyy-'W'W), DATE (yyyy-MM-dd)). We use Luxon for date formatting (https://moment.github.io/luxon/docs/manual/formatting.html#table-of-tokens) | | nameOverride | string | `""` | | | nodeSelector | object | `{}` | | | podSecurityContext | object | `{}` | | diff --git a/hooks/persistence-elastic/docs/README.DockerHub-Hook.md b/hooks/persistence-elastic/docs/README.DockerHub-Hook.md index cc1e41663a..8c45772290 100644 --- a/hooks/persistence-elastic/docs/README.DockerHub-Hook.md +++ b/hooks/persistence-elastic/docs/README.DockerHub-Hook.md @@ -52,10 +52,14 @@ docker pull securecodebox/hook-persistence-elastic ``` ## What is "Persistence ElasticSearch" Hook about? -The ElasticSearch persistenceProvider hook saves all findings and reports into the configured ElasticSearch index. This allows for some easy searching and visualization of the findings. To learn more about Elasticsearch visit [elastic.io]. + +The ElasticSearch persistenceProvider hook saves all findings and reports into the configured ElasticSearch index. +This allows for some easy searching and visualization of the findings. To learn more about Elasticsearch visit [elastic.io]. Installing the Elasticsearch persistenceProvider hook will add a _ReadOnly Hook_ to your namespace. +This hook supports both Elasticsearch as well as OpenSearch. The configuration is the same for both. + ## Community You are welcome, please join us on... 👋 diff --git a/hooks/persistence-elastic/tests/__snapshot__/persistence-elastic_test.yaml.snap b/hooks/persistence-elastic/tests/__snapshot__/persistence-elastic_test.yaml.snap index 2e4b7bc5fe..2575407335 100644 --- a/hooks/persistence-elastic/tests/__snapshot__/persistence-elastic_test.yaml.snap +++ b/hooks/persistence-elastic/tests/__snapshot__/persistence-elastic_test.yaml.snap @@ -46,7 +46,7 @@ matches the snapshot: - baz env: - name: ELASTICSEARCH_INDEX_PREFIX - value: scbv2 + value: scb - name: ELASTICSEARCH_INDEX_SUFFIX value: “yyyy-MM-dd” - name: ELASTICSEARCH_INDEX_APPEND_NAMESPACE diff --git a/hooks/persistence-elastic/values.yaml b/hooks/persistence-elastic/values.yaml index 71d57a06d2..0149f190c5 100644 --- a/hooks/persistence-elastic/values.yaml +++ b/hooks/persistence-elastic/values.yaml @@ -12,7 +12,7 @@ imagePullSecrets: [] # indexPrefix -- Define a specific index prefix used for all elasticsearch indices. indexPrefix: "scbv2" # indexSuffix -- Define a specific index suffix based on date pattern (YEAR (yyyy), MONTH (yyyy-MM), WEEK (yyyy-'W'W), DATE (yyyy-MM-dd)). We use Luxon for date formatting (https://moment.github.io/luxon/docs/manual/formatting.html#table-of-tokens) -indexSuffix: “yyyy-MM-dd” +indexSuffix: "yyyy-MM-dd" # indexAppendNamespace -- Define if the name of the namespace where this hook is deployed to must be added to the index name. The namespace can be used to separate index by tenants (namespaces). indexAppendNamespace: true @@ -32,22 +32,6 @@ authentication: # authentication.apiKeySecret -- Link a pre-existing generic secret with `id` and `key` key / value pairs apiKeySecret: null -# elasticsearch -- Configures the included elasticsearch subchart (see: https://github.com/elastic/helm-charts/tree/elasticsearch) -elasticsearch: - # elasticsearch.enabled -- Enable if you want to deploy an elasticsearch service. - enabled: true - # elasticsearch.replicas -- Kubernetes replica count for the StatefulSet (i.e. how many pods) - replicas: 1 - # elasticsearch.minimumMasterNodes -- The value for discovery.zen.minimum_master_nodes. Should be set to (master_eligible_nodes / 2) + 1. Ignored in Elasticsearch versions >= 7 - minimumMasterNodes: 1 - # image: docker.elastic.co/elasticsearch/elasticsearch-oss - -# -- Configures included Elasticsearch subchart -kibana: - # -- Enable if you want to deploy an kibana service (see: https://github.com/elastic/helm-charts/tree/master/kibana) - enabled: true - # image: docker.elastic.co/kibana/kibana-oss - dashboardImporter: # -- Enable if you want to import some example kibana dashboards for secureCodeBox findings analytics. enabled: true From 1d38f37cd3c300e5aa0dd08f729aacc8c46c2f9c Mon Sep 17 00:00:00 2001 From: Jannik Hollenbach Date: Tue, 13 May 2025 21:07:56 +0200 Subject: [PATCH 02/10] Auto reformat hook code w/ prettier Signed-off-by: Jannik Hollenbach --- hooks/persistence-elastic/hook/hook.js | 21 +++++++------ hooks/persistence-elastic/hook/hook.test.js | 35 ++++++++++++++++++--- 2 files changed, 42 insertions(+), 14 deletions(-) diff --git a/hooks/persistence-elastic/hook/hook.js b/hooks/persistence-elastic/hook/hook.js index 0c202c1b7c..c2409751cc 100644 --- a/hooks/persistence-elastic/hook/hook.js +++ b/hooks/persistence-elastic/hook/hook.js @@ -16,7 +16,7 @@ const password = process.env["ELASTICSEARCH_PASSWORD"]; const apiKeyId = process.env["ELASTICSEARCH_APIKEY_ID"]; const apiKey = process.env["ELASTICSEARCH_APIKEY"]; -const defaultDateFormat = 'yyyy-MM-dd'; +const defaultDateFormat = "yyyy-MM-dd"; if (apiKeyId && apiKey) { console.log("Using API Key for Authentication"); @@ -32,7 +32,7 @@ if (apiKeyId && apiKey) { }; } else { console.log( - "No Authentication credentials provided. Assuming Elasticsearch doesn't require Auth." + "No Authentication credentials provided. Assuming Elasticsearch doesn't require Auth.", ); } @@ -48,24 +48,27 @@ async function handle({ tenant = process.env["NAMESPACE"], indexPrefix = process.env["ELASTICSEARCH_INDEX_PREFIX"] || "scbv2", indexSuffix = process.env["ELASTICSEARCH_INDEX_SUFFIX"] || defaultDateFormat, - appendNamespace = process.env['ELASTICSEARCH_INDEX_APPEND_NAMESPACE'] || false + appendNamespace = process.env["ELASTICSEARCH_INDEX_APPEND_NAMESPACE"] || + false, }) { const findings = await getFindings(); console.log(`Persisting ${findings.length} findings to Elasticsearch`); console.log( - `Using Elasticsearch Instance at "${process.env["ELASTICSEARCH_ADDRESS"]}"` + `Using Elasticsearch Instance at "${process.env["ELASTICSEARCH_ADDRESS"]}"`, ); - let indexName = appendNamespace ? `${indexPrefix}_${tenant}_` : `${indexPrefix}_`; - indexName += DateTime.fromJSDate(now).toFormat(indexSuffix) + let indexName = appendNamespace + ? `${indexPrefix}_${tenant}_` + : `${indexPrefix}_`; + indexName += DateTime.fromJSDate(now).toFormat(indexSuffix); await client.indices.create( { index: indexName, body: {}, }, - { ignore: [400] } + { ignore: [400] }, ); const findingsChunks = chunk(findings, 50); @@ -85,13 +88,13 @@ async function handle({ let i = 0; console.log( - `Sending findings to Elasticsearch in ${findingsChunks.length} chunks of max 50 findings each` + `Sending findings to Elasticsearch in ${findingsChunks.length} chunks of max 50 findings each`, ); for (const findingChunk of findingsChunks) { console.log( `Sending chunk ${i++} containing ${ findingChunk.length - } findings to Elasticsearch` + } findings to Elasticsearch`, ); const body = flatMap(findingChunk, (doc) => [ { index: { _index: indexName } }, diff --git a/hooks/persistence-elastic/hook/hook.test.js b/hooks/persistence-elastic/hook/hook.test.js index 989bdf6779..217c4f4d07 100644 --- a/hooks/persistence-elastic/hook/hook.test.js +++ b/hooks/persistence-elastic/hook/hook.test.js @@ -23,14 +23,20 @@ const scan = { }, }; -const testDate = new Date('2020-11-11'); +const testDate = new Date("2020-11-11"); test("should only send scan summary document if no findings are passing in", async () => { const findings = []; const getFindings = async () => findings; - await handle({ getFindings, scan, now: testDate, tenant: "default", appendNamespace: true }); + await handle({ + getFindings, + scan, + now: testDate, + tenant: "default", + appendNamespace: true, + }); expect(elasticClient.index).toBeCalledTimes(1); expect(elasticClient.index).toBeCalledWith({ @@ -61,7 +67,14 @@ test("should send findings to elasticsearch with given prefix", async () => { const getFindings = async () => findings; - await handle({ getFindings, scan, now: testDate, tenant: "default", indexPrefix: "myPrefix", appendNamespace: true }); + await handle({ + getFindings, + scan, + now: testDate, + tenant: "default", + indexPrefix: "myPrefix", + appendNamespace: true, + }); expect(elasticClient.index).toBeCalledTimes(1); expect(elasticClient.index).toBeCalledWith({ @@ -134,7 +147,13 @@ test("should append date format yyyy", async () => { const getFindings = async () => findings; - await handle({ getFindings, scan, now: testDate, tenant: "default", indexSuffix: "yyyy" }); + await handle({ + getFindings, + scan, + now: testDate, + tenant: "default", + indexSuffix: "yyyy", + }); expect(elasticClient.index).toBeCalledTimes(1); expect(elasticClient.index).toBeCalledWith({ @@ -158,7 +177,13 @@ test("should append week format like yyyy/'W'W -> 2020/W46", async () => { const getFindings = async () => findings; - await handle({ getFindings, scan, now: testDate, tenant: "default", indexSuffix: "yyyy/'W'W" }); + await handle({ + getFindings, + scan, + now: testDate, + tenant: "default", + indexSuffix: "yyyy/'W'W", + }); expect(elasticClient.index).toBeCalledTimes(1); expect(elasticClient.index).toBeCalledWith({ From 644ffff3600638c4513d2ae9d39a5b184a4e118b Mon Sep 17 00:00:00 2001 From: Jannik Hollenbach Date: Tue, 13 May 2025 21:10:59 +0200 Subject: [PATCH 03/10] Change the default elasticsearch index to scb from the weird outdated scbv2 Signed-off-by: Jannik Hollenbach --- documentation/docs/getting-started/upgrading.md | 7 +++++++ .../charts/elasticsearch-7.17.3.tgz | Bin 27893 -> 0 bytes .../charts/elasticsearch-7.17.3.tgz.license | 3 --- .../charts/kibana-7.17.3.tgz | Bin 10364 -> 0 bytes .../charts/kibana-7.17.3.tgz.license | 3 --- .../dashboards/daily-summary.json | 2 +- .../dashboards/nikto-overview.json | 2 +- .../dashboards/portscan-overview.json | 2 +- .../dashboards/subdomain-overview.json | 2 +- .../dashboards/tls-ssl-overview.json | 2 +- .../dashboards/wordpress-overview.json | 2 +- .../dashboards/zap-overview.json | 2 +- hooks/persistence-elastic/hook/hook.js | 2 +- hooks/persistence-elastic/hook/hook.test.js | 8 ++++---- hooks/persistence-elastic/values.yaml | 2 +- 15 files changed, 20 insertions(+), 19 deletions(-) delete mode 100644 hooks/persistence-elastic/charts/elasticsearch-7.17.3.tgz delete mode 100644 hooks/persistence-elastic/charts/elasticsearch-7.17.3.tgz.license delete mode 100644 hooks/persistence-elastic/charts/kibana-7.17.3.tgz delete mode 100644 hooks/persistence-elastic/charts/kibana-7.17.3.tgz.license diff --git a/documentation/docs/getting-started/upgrading.md b/documentation/docs/getting-started/upgrading.md index 0766085560..ebe6f01ab8 100644 --- a/documentation/docs/getting-started/upgrading.md +++ b/documentation/docs/getting-started/upgrading.md @@ -40,6 +40,13 @@ The integrated Elasticsearch and Kibana Helm charts have been dropped from the P ➡️ [Reference: #2892](https://github.com/secureCodeBox/secureCodeBox/issues/2892) +### Changed Default Elasticsearch Index + +The default Elasticsearch index has been updated from `scbv2` to `scb`. The inclusion of `v2` was a confusing oversight that has been outdated since the release of secureCodeBox v3. +If you had previously ingested finding using the scbv2 index prefix you can keep using it by setting the `indexPrefix` helm value back to `scbv2` or by migrating your existing indexes to match the new naming scheme. + +➡️ [Reference: #2892](https://github.com/secureCodeBox/secureCodeBox/issues/2892) + ## From 3.X to 4.X ### Renamed the docker images of demo-targets to include a "demo-target-" prefix diff --git a/hooks/persistence-elastic/charts/elasticsearch-7.17.3.tgz b/hooks/persistence-elastic/charts/elasticsearch-7.17.3.tgz deleted file mode 100644 index 7f7e84fa066ce9b0e58f4c47c320e3d5d1770863..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27893 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 diff --git a/hooks/persistence-elastic/charts/elasticsearch-7.17.3.tgz.license b/hooks/persistence-elastic/charts/elasticsearch-7.17.3.tgz.license deleted file mode 100644 index 3034c0d74b..0000000000 --- a/hooks/persistence-elastic/charts/elasticsearch-7.17.3.tgz.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: the secureCodeBox authors - -SPDX-License-Identifier: Apache-2.0 \ No newline at end of file diff --git a/hooks/persistence-elastic/charts/kibana-7.17.3.tgz b/hooks/persistence-elastic/charts/kibana-7.17.3.tgz deleted file mode 100644 index f76d54930c47ea8a981ebdc0f2e8a77f01514eed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10364 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 diff --git a/hooks/persistence-elastic/charts/kibana-7.17.3.tgz.license b/hooks/persistence-elastic/charts/kibana-7.17.3.tgz.license deleted file mode 100644 index 3034c0d74b..0000000000 --- a/hooks/persistence-elastic/charts/kibana-7.17.3.tgz.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: the secureCodeBox authors - -SPDX-License-Identifier: Apache-2.0 \ No newline at end of file diff --git a/hooks/persistence-elastic/dashboard-importer/dashboards/daily-summary.json b/hooks/persistence-elastic/dashboard-importer/dashboards/daily-summary.json index 08fd680b05..189076bf3e 100644 --- a/hooks/persistence-elastic/dashboard-importer/dashboards/daily-summary.json +++ b/hooks/persistence-elastic/dashboard-importer/dashboards/daily-summary.json @@ -288,7 +288,7 @@ "updated_at": "2020-10-07T06:45:25.958Z", "version": "WzcwLDFd", "attributes": { - "title": "scbv2_*", + "title": "scb_*", "timeFieldName": "@timestamp", "fields": "[{\"name\":\"@timestamp\",\"type\":\"date\",\"esTypes\":[\"date\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"attributes.hostname\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.hostname.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.hostname\"}}},{\"name\":\"attributes.ip_address\",\"type\":\"ip\",\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"category\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"category.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"category\"}}},{\"name\":\"description\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"description.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"description\"}}},{\"name\":\"id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"id\"}}},{\"name\":\"location\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"location.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"location\"}}},{\"name\":\"name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"name\"}}},{\"name\":\"osi_layer\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"osi_layer.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"osi_layer\"}}},{\"name\":\"parameters\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"parameters.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"parameters\"}}},{\"name\":\"scan_id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_id\"}}},{\"name\":\"scan_name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_name\"}}},{\"name\":\"scan_type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_type\"}}},{\"name\":\"severity\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"severity.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"severity\"}}},{\"name\":\"type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"type\"}}}]" }, diff --git a/hooks/persistence-elastic/dashboard-importer/dashboards/nikto-overview.json b/hooks/persistence-elastic/dashboard-importer/dashboards/nikto-overview.json index 92c19f7630..4ee7ad13b9 100644 --- a/hooks/persistence-elastic/dashboard-importer/dashboards/nikto-overview.json +++ b/hooks/persistence-elastic/dashboard-importer/dashboards/nikto-overview.json @@ -191,7 +191,7 @@ "version": "WzEzOSwxXQ==", "attributes": { "fields": "[{\"name\":\"@timestamp\",\"type\":\"date\",\"esTypes\":[\"date\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"attributes.hostname\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.hostname.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.hostname\"}}},{\"name\":\"attributes.ip_address\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.ip_address.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.ip_address\"}}},{\"name\":\"category\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"category.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"category\"}}},{\"name\":\"description\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"description.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"description\"}}},{\"name\":\"id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"id\"}}},{\"name\":\"location\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"location.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"location\"}}},{\"name\":\"name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"name\"}}},{\"name\":\"osi_layer\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"osi_layer.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"osi_layer\"}}},{\"name\":\"parameters\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"parameters.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"parameters\"}}},{\"name\":\"scan_id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_id\"}}},{\"name\":\"scan_name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_name\"}}},{\"name\":\"scan_type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_type\"}}},{\"name\":\"severity\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"severity.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"severity\"}}},{\"name\":\"type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"type\"}}}]", - "title": "scbv2*" + "title": "scb*" }, "references": [], "migrationVersion": { diff --git a/hooks/persistence-elastic/dashboard-importer/dashboards/portscan-overview.json b/hooks/persistence-elastic/dashboard-importer/dashboards/portscan-overview.json index 20d422e84e..08da409da8 100644 --- a/hooks/persistence-elastic/dashboard-importer/dashboards/portscan-overview.json +++ b/hooks/persistence-elastic/dashboard-importer/dashboards/portscan-overview.json @@ -195,7 +195,7 @@ "updated_at": "2020-10-07T06:45:25.958Z", "version": "WzcwLDFd", "attributes": { - "title": "scbv2_*", + "title": "scb_*", "timeFieldName": "@timestamp", "fields": "[{\"name\":\"@timestamp\",\"type\":\"date\",\"esTypes\":[\"date\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"attributes.hostname\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.hostname.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.hostname\"}}},{\"name\":\"attributes.ip_address\",\"type\":\"ip\",\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"category\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"category.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"category\"}}},{\"name\":\"description\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"description.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"description\"}}},{\"name\":\"id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"id\"}}},{\"name\":\"location\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"location.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"location\"}}},{\"name\":\"name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"name\"}}},{\"name\":\"osi_layer\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"osi_layer.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"osi_layer\"}}},{\"name\":\"parameters\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"parameters.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"parameters\"}}},{\"name\":\"scan_id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_id\"}}},{\"name\":\"scan_name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_name\"}}},{\"name\":\"scan_type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_type\"}}},{\"name\":\"severity\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"severity.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"severity\"}}},{\"name\":\"type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"type\"}}}]" }, diff --git a/hooks/persistence-elastic/dashboard-importer/dashboards/subdomain-overview.json b/hooks/persistence-elastic/dashboard-importer/dashboards/subdomain-overview.json index 53e6ab16a6..6a1e7cddc0 100644 --- a/hooks/persistence-elastic/dashboard-importer/dashboards/subdomain-overview.json +++ b/hooks/persistence-elastic/dashboard-importer/dashboards/subdomain-overview.json @@ -234,7 +234,7 @@ "updated_at": "2020-10-07T06:45:25.958Z", "version": "WzcwLDFd", "attributes": { - "title": "scbv2_*", + "title": "scb_*", "timeFieldName": "@timestamp", "fields": "[{\"name\":\"@timestamp\",\"type\":\"date\",\"esTypes\":[\"date\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"attributes.hostname\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.hostname.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.hostname\"}}},{\"name\":\"attributes.ip_address\",\"type\":\"ip\",\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"category\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"category.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"category\"}}},{\"name\":\"description\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"description.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"description\"}}},{\"name\":\"id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"id\"}}},{\"name\":\"location\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"location.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"location\"}}},{\"name\":\"name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"name\"}}},{\"name\":\"osi_layer\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"osi_layer.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"osi_layer\"}}},{\"name\":\"parameters\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"parameters.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"parameters\"}}},{\"name\":\"scan_id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_id\"}}},{\"name\":\"scan_name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_name\"}}},{\"name\":\"scan_type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_type\"}}},{\"name\":\"severity\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"severity.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"severity\"}}},{\"name\":\"type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"type\"}}}]" }, diff --git a/hooks/persistence-elastic/dashboard-importer/dashboards/tls-ssl-overview.json b/hooks/persistence-elastic/dashboard-importer/dashboards/tls-ssl-overview.json index ecbb9f7559..a1a51ff2d0 100644 --- a/hooks/persistence-elastic/dashboard-importer/dashboards/tls-ssl-overview.json +++ b/hooks/persistence-elastic/dashboard-importer/dashboards/tls-ssl-overview.json @@ -375,7 +375,7 @@ "updated_at": "2020-10-07T06:45:25.958Z", "version": "WzcwLDFd", "attributes": { - "title": "scbv2_*", + "title": "scb_*", "timeFieldName": "@timestamp", "fields": "[{\"name\":\"@timestamp\",\"type\":\"date\",\"esTypes\":[\"date\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"attributes.hostname\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.hostname.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.hostname\"}}},{\"name\":\"attributes.ip_address\",\"type\":\"ip\",\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"category\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"category.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"category\"}}},{\"name\":\"description\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"description.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"description\"}}},{\"name\":\"id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"id\"}}},{\"name\":\"location\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"location.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"location\"}}},{\"name\":\"name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"name\"}}},{\"name\":\"osi_layer\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"osi_layer.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"osi_layer\"}}},{\"name\":\"parameters\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"parameters.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"parameters\"}}},{\"name\":\"scan_id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_id\"}}},{\"name\":\"scan_name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_name\"}}},{\"name\":\"scan_type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_type\"}}},{\"name\":\"severity\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"severity.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"severity\"}}},{\"name\":\"type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"type\"}}}]" }, diff --git a/hooks/persistence-elastic/dashboard-importer/dashboards/wordpress-overview.json b/hooks/persistence-elastic/dashboard-importer/dashboards/wordpress-overview.json index 63d9d3bb64..416dceb08c 100644 --- a/hooks/persistence-elastic/dashboard-importer/dashboards/wordpress-overview.json +++ b/hooks/persistence-elastic/dashboard-importer/dashboards/wordpress-overview.json @@ -205,7 +205,7 @@ "updated_at": "2020-10-07T06:45:25.958Z", "version": "WzcwLDFd", "attributes": { - "title": "scbv2_*", + "title": "scb_*", "timeFieldName": "@timestamp", "fields": "[{\"name\":\"@timestamp\",\"type\":\"date\",\"esTypes\":[\"date\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"attributes.hostname\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.hostname.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.hostname\"}}},{\"name\":\"attributes.ip_address\",\"type\":\"ip\",\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"category\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"category.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"category\"}}},{\"name\":\"description\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"description.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"description\"}}},{\"name\":\"id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"id\"}}},{\"name\":\"location\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"location.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"location\"}}},{\"name\":\"name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"name\"}}},{\"name\":\"osi_layer\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"osi_layer.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"osi_layer\"}}},{\"name\":\"parameters\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"parameters.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"parameters\"}}},{\"name\":\"scan_id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_id\"}}},{\"name\":\"scan_name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_name\"}}},{\"name\":\"scan_type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_type\"}}},{\"name\":\"severity\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"severity.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"severity\"}}},{\"name\":\"type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"type\"}}}]" }, diff --git a/hooks/persistence-elastic/dashboard-importer/dashboards/zap-overview.json b/hooks/persistence-elastic/dashboard-importer/dashboards/zap-overview.json index 97e839a8cb..9137836322 100644 --- a/hooks/persistence-elastic/dashboard-importer/dashboards/zap-overview.json +++ b/hooks/persistence-elastic/dashboard-importer/dashboards/zap-overview.json @@ -240,7 +240,7 @@ "attributes": { "fields": "[{\"name\":\"@timestamp\",\"type\":\"date\",\"esTypes\":[\"date\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true},{\"name\":\"_id\",\"type\":\"string\",\"esTypes\":[\"_id\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_index\",\"type\":\"string\",\"esTypes\":[\"_index\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"_score\",\"type\":\"number\",\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_source\",\"type\":\"_source\",\"esTypes\":[\"_source\"],\"count\":0,\"scripted\":false,\"searchable\":false,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"_type\",\"type\":\"string\",\"esTypes\":[\"_type\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":false},{\"name\":\"attributes.host\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.host.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.host\"}}},{\"name\":\"attributes.zap_confidence\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_confidence.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_confidence\"}}},{\"name\":\"attributes.zap_count\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_count.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_count\"}}},{\"name\":\"attributes.zap_cweid\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_cweid.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_cweid\"}}},{\"name\":\"attributes.zap_finding_urls.evidence\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_finding_urls.evidence.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_finding_urls.evidence\"}}},{\"name\":\"attributes.zap_finding_urls.method\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_finding_urls.method.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_finding_urls.method\"}}},{\"name\":\"attributes.zap_finding_urls.param\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_finding_urls.param.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_finding_urls.param\"}}},{\"name\":\"attributes.zap_finding_urls.uri\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_finding_urls.uri.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_finding_urls.uri\"}}},{\"name\":\"attributes.zap_otherinfo\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_otherinfo.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_otherinfo\"}}},{\"name\":\"attributes.zap_pluginid\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_pluginid.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_pluginid\"}}},{\"name\":\"attributes.zap_reference\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_reference.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_reference\"}}},{\"name\":\"attributes.zap_riskcode\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_riskcode.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_riskcode\"}}},{\"name\":\"attributes.zap_solution\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_solution.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_solution\"}}},{\"name\":\"attributes.zap_wascid\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"attributes.zap_wascid.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"attributes.zap_wascid\"}}},{\"name\":\"category\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"category.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"category\"}}},{\"name\":\"description\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"description.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"description\"}}},{\"name\":\"id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"id\"}}},{\"name\":\"labels.attack-surface\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"labels.attack-surface.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"labels.attack-surface\"}}},{\"name\":\"labels.organization\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"labels.organization.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"labels.organization\"}}},{\"name\":\"labels.product\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"labels.product.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"labels.product\"}}},{\"name\":\"location\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"location.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"location\"}}},{\"name\":\"name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"name\"}}},{\"name\":\"osi_layer\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"osi_layer.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"osi_layer\"}}},{\"name\":\"parameters\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"parameters.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"parameters\"}}},{\"name\":\"scan_id\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_id.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_id\"}}},{\"name\":\"scan_labels.attack-surface\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_labels.attack-surface.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_labels.attack-surface\"}}},{\"name\":\"scan_labels.organization\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_labels.organization.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_labels.organization\"}}},{\"name\":\"scan_labels.product\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":2,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_labels.product.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_labels.product\"}}},{\"name\":\"scan_name\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_name.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_name\"}}},{\"name\":\"scan_type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"scan_type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"scan_type\"}}},{\"name\":\"severity\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"severity.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"severity\"}}},{\"name\":\"type\",\"type\":\"string\",\"esTypes\":[\"text\"],\"count\":1,\"scripted\":false,\"searchable\":true,\"aggregatable\":false,\"readFromDocValues\":false},{\"name\":\"type.keyword\",\"type\":\"string\",\"esTypes\":[\"keyword\"],\"count\":0,\"scripted\":false,\"searchable\":true,\"aggregatable\":true,\"readFromDocValues\":true,\"subType\":{\"multi\":{\"parent\":\"type\"}}}]", "timeFieldName": "@timestamp", - "title": "scbv2_*" + "title": "scb_*" }, "references": [], "migrationVersion": { diff --git a/hooks/persistence-elastic/hook/hook.js b/hooks/persistence-elastic/hook/hook.js index c2409751cc..2001645874 100644 --- a/hooks/persistence-elastic/hook/hook.js +++ b/hooks/persistence-elastic/hook/hook.js @@ -46,7 +46,7 @@ async function handle({ scan, now = new Date(), tenant = process.env["NAMESPACE"], - indexPrefix = process.env["ELASTICSEARCH_INDEX_PREFIX"] || "scbv2", + indexPrefix = process.env["ELASTICSEARCH_INDEX_PREFIX"] || "scb", indexSuffix = process.env["ELASTICSEARCH_INDEX_SUFFIX"] || defaultDateFormat, appendNamespace = process.env["ELASTICSEARCH_INDEX_APPEND_NAMESPACE"] || false, diff --git a/hooks/persistence-elastic/hook/hook.test.js b/hooks/persistence-elastic/hook/hook.test.js index 217c4f4d07..e94c9a340f 100644 --- a/hooks/persistence-elastic/hook/hook.test.js +++ b/hooks/persistence-elastic/hook/hook.test.js @@ -51,7 +51,7 @@ test("should only send scan summary document if no findings are passing in", asy scan_type: "Nmap", type: "scan", }, - index: `scbv2_default_2020-11-11`, + index: `scb_default_2020-11-11`, }); expect(elasticClient.bulk).not.toBeCalled(); }); @@ -138,7 +138,7 @@ test("should not append namespace if 'appendNamespace' is null", async () => { scan_type: "Nmap", type: "scan", }, - index: `scbv2_2020-11-11`, + index: `scb_2020-11-11`, }); }); @@ -168,7 +168,7 @@ test("should append date format yyyy", async () => { scan_type: "Nmap", type: "scan", }, - index: `scbv2_2020`, + index: `scb_2020`, }); }); @@ -198,6 +198,6 @@ test("should append week format like yyyy/'W'W -> 2020/W46", async () => { scan_type: "Nmap", type: "scan", }, - index: `scbv2_2020/W46`, + index: `scb_2020/W46`, }); }); diff --git a/hooks/persistence-elastic/values.yaml b/hooks/persistence-elastic/values.yaml index 0149f190c5..9e6d884aeb 100644 --- a/hooks/persistence-elastic/values.yaml +++ b/hooks/persistence-elastic/values.yaml @@ -10,7 +10,7 @@ imagePullSecrets: [] # indexPrefix -- Define a specific index prefix used for all elasticsearch indices. -indexPrefix: "scbv2" +indexPrefix: "scb" # indexSuffix -- Define a specific index suffix based on date pattern (YEAR (yyyy), MONTH (yyyy-MM), WEEK (yyyy-'W'W), DATE (yyyy-MM-dd)). We use Luxon for date formatting (https://moment.github.io/luxon/docs/manual/formatting.html#table-of-tokens) indexSuffix: "yyyy-MM-dd" # indexAppendNamespace -- Define if the name of the namespace where this hook is deployed to must be added to the index name. The namespace can be used to separate index by tenants (namespaces). From d72d9801ea14c91a0810718e334e7d890e729129 Mon Sep 17 00:00:00 2001 From: Jannik Hollenbach Date: Tue, 13 May 2025 21:11:28 +0200 Subject: [PATCH 04/10] Update elasticsearch hook dependencies Signed-off-by: Jannik Hollenbach --- .../hook/package-lock.json | 514 +++++++++++++++--- hooks/persistence-elastic/hook/package.json | 6 +- 2 files changed, 440 insertions(+), 80 deletions(-) diff --git a/hooks/persistence-elastic/hook/package-lock.json b/hooks/persistence-elastic/hook/package-lock.json index 3ca1a44418..b8166cd282 100644 --- a/hooks/persistence-elastic/hook/package-lock.json +++ b/hooks/persistence-elastic/hook/package-lock.json @@ -9,10 +9,10 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "@elastic/elasticsearch": "^7.17.3", + "@elastic/elasticsearch": "^8.18.2", "lodash.chunk": "^4.2.0", "lodash.flatmap": "^4.5.0", - "luxon": "^2.5.2" + "luxon": "^3.6.1" }, "devDependencies": { "@types/jest": "^29.4.0", @@ -664,17 +664,35 @@ "dev": true }, "node_modules/@elastic/elasticsearch": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@elastic/elasticsearch/-/elasticsearch-7.17.12.tgz", - "integrity": "sha512-iypJDSzlnA1dXcw6H77qy0pH1Et8Nrw/TA6UHA7ECjKwZ9iBxZKS3WgOX0KgtL6GWdmTQWhGEha7k+ELVHygjQ==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/@elastic/elasticsearch/-/elasticsearch-8.18.2.tgz", + "integrity": "sha512-2pOc/hGdxkbaDavfAlnUfjJdVsFRCGqg7fpsWJfJ2UzpgViIyojdViHg8zOCT1J14lAwvDgb9CNETWa3SBZRfw==", + "license": "Apache-2.0", "dependencies": { - "debug": "^4.3.1", - "hpagent": "^0.1.1", + "@elastic/transport": "^8.9.6", + "apache-arrow": "18.x - 19.x", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@elastic/transport": { + "version": "8.9.6", + "resolved": "https://registry.npmjs.org/@elastic/transport/-/transport-8.9.6.tgz", + "integrity": "sha512-v71jgmZtgPg2ouXF5KTPxU1a6z7YYc8nazAS7jLySteC/vrShs1OJh6oEEeo5oDc19MYUofV/JV1h5vqJVBXOw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api": "1.x", + "debug": "^4.4.0", + "hpagent": "^1.2.0", "ms": "^2.1.3", - "secure-json-parse": "^2.4.0" + "secure-json-parse": "^3.0.1", + "tslib": "^2.8.1", + "undici": "^6.21.1" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@istanbuljs/load-nyc-config": { @@ -1034,6 +1052,15 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, + "node_modules/@opentelemetry/api": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", + "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", + "license": "Apache-2.0", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -1058,6 +1085,15 @@ "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, "node_modules/@types/babel__core": { "version": "7.20.1", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", @@ -1099,6 +1135,18 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/command-line-args": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.3.tgz", + "integrity": "sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==", + "license": "MIT" + }, + "node_modules/@types/command-line-usage": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.4.tgz", + "integrity": "sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg==", + "license": "MIT" + }, "node_modules/@types/graceful-fs": { "version": "4.1.6", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", @@ -1143,10 +1191,13 @@ } }, "node_modules/@types/node": { - "version": "20.4.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.4.tgz", - "integrity": "sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew==", - "dev": true + "version": "20.17.46", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.46.tgz", + "integrity": "sha512-0PQHLhZPWOxGW4auogW0eOQAuNIlCYvibIpG67ja0TOJ6/sehu+1en7sfceUn+QQtx4Rk3GxbLNwPh0Cav7TWw==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } }, "node_modules/@types/prettier": { "version": "2.7.3", @@ -1203,7 +1254,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -1227,6 +1277,26 @@ "node": ">= 8" } }, + "node_modules/apache-arrow": { + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/apache-arrow/-/apache-arrow-19.0.1.tgz", + "integrity": "sha512-APmMLzS4qbTivLrPdQXexGM4JRr+0g62QDaobzEvip/FdQIrv2qLy0mD5Qdmw4buydtVJgbFeKR8f59I6PPGDg==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.11", + "@types/command-line-args": "^5.2.3", + "@types/command-line-usage": "^5.0.4", + "@types/node": "^20.13.0", + "command-line-args": "^6.0.1", + "command-line-usage": "^7.0.1", + "flatbuffers": "^24.3.25", + "json-bignum": "^0.0.3", + "tslib": "^2.6.2" + }, + "bin": { + "arrow2csv": "bin/arrow2csv.js" + } + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -1236,6 +1306,15 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==", + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, "node_modules/babel-jest": { "version": "29.6.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.1.tgz", @@ -1444,7 +1523,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1456,6 +1534,21 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, "node_modules/char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", @@ -1520,7 +1613,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -1531,8 +1623,45 @@ "node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/command-line-args": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-6.0.1.tgz", + "integrity": "sha512-Jr3eByUjqyK0qd8W0SGFW1nZwqCaNCtbXjRo2cRJC1OYxWl3MZ5t1US3jq+cO4sPavqgw4l9BMGX0CBe+trepg==", + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "find-replace": "^5.0.2", + "lodash.camelcase": "^4.3.0", + "typical": "^7.2.0" + }, + "engines": { + "node": ">=12.20" + }, + "peerDependencies": { + "@75lb/nature": "latest" + }, + "peerDependenciesMeta": { + "@75lb/nature": { + "optional": true + } + } + }, + "node_modules/command-line-usage": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.3.tgz", + "integrity": "sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==", + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^4.1.0", + "typical": "^7.1.1" + }, + "engines": { + "node": ">=12.20.0" + } }, "node_modules/concat-map": { "version": "0.0.1", @@ -1561,11 +1690,12 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -1576,11 +1706,6 @@ } } }, - "node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, "node_modules/dedent": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", @@ -1754,6 +1879,23 @@ "node": ">=8" } }, + "node_modules/find-replace": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-5.0.2.tgz", + "integrity": "sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@75lb/nature": "latest" + }, + "peerDependenciesMeta": { + "@75lb/nature": { + "optional": true + } + } + }, "node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -1767,6 +1909,12 @@ "node": ">=8" } }, + "node_modules/flatbuffers": { + "version": "24.12.23", + "resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-24.12.23.tgz", + "integrity": "sha512-dLVCAISd5mhls514keQzmEG6QHmUUsNuWsb4tFafIUwvvgDjXhtfAYSKOzt5SWOy+qByV5pbsDZ+Vb7HUOBEdA==", + "license": "Apache-2.0" + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -1883,15 +2031,18 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } }, "node_modules/hpagent": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-0.1.2.tgz", - "integrity": "sha512-ePqFXHtSQWAFXYmj+JtOTHr84iNrII4/QRlAAPPE+zqnKy4xJo7Ie1Y4kC7AdB+LxLxSTTzBMASsEcy0q8YyvQ==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", + "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==", + "license": "MIT", + "engines": { + "node": ">=14" + } }, "node_modules/html-escaper": { "version": "2.0.2", @@ -2701,6 +2852,14 @@ "node": ">=4" } }, + "node_modules/json-bignum": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/json-bignum/-/json-bignum-0.0.3.tgz", + "integrity": "sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -2755,6 +2914,12 @@ "node": ">=8" } }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "license": "MIT" + }, "node_modules/lodash.chunk": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz", @@ -2775,9 +2940,10 @@ } }, "node_modules/luxon": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-2.5.2.tgz", - "integrity": "sha512-Yg7/RDp4nedqmLgyH0LwgGRvMEKVzKbUdkBYyCosbHgJ+kaOUx0qzSiSatVc3DFygnirTPYnMM2P5dg2uH1WvA==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.6.1.tgz", + "integrity": "sha512-tJLxrKJhO2ukZ5z0gyjY1zPh3Rh88Ej9P7jNrZiHMUXHae1yvI2imgOZtL1TO8TW6biMMKfTtAOoEJANgtWBMQ==", + "license": "MIT", "engines": { "node": ">=12" } @@ -2849,7 +3015,8 @@ "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/natural-compare": { "version": "1.4.0", @@ -3173,9 +3340,20 @@ } }, "node_modules/secure-json-parse": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", - "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-3.0.2.tgz", + "integrity": "sha512-H6nS2o8bWfpFEV6U38sOSjS7bTbdgbCGU9wEM6W14P5H0QOsz94KCusifV44GpHDTu2nqZbuDNhTzu+mjDSw1w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" }, "node_modules/semver": { "version": "6.3.1", @@ -3338,7 +3516,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3358,6 +3535,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/table-layout": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-4.1.1.tgz", + "integrity": "sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==", + "license": "MIT", + "dependencies": { + "array-back": "^6.2.2", + "wordwrapjs": "^5.1.0" + }, + "engines": { + "node": ">=12.17" + } + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -3399,6 +3589,12 @@ "node": ">=8.0" } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -3420,6 +3616,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typical": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.3.0.tgz", + "integrity": "sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==", + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, + "node_modules/undici": { + "version": "6.21.3", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz", + "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==", + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, "node_modules/update-browserslist-db": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", @@ -3494,6 +3714,15 @@ "node": ">= 8" } }, + "node_modules/wordwrapjs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", + "license": "MIT", + "engines": { + "node": ">=12.17" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -4074,14 +4303,27 @@ "dev": true }, "@elastic/elasticsearch": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@elastic/elasticsearch/-/elasticsearch-7.17.12.tgz", - "integrity": "sha512-iypJDSzlnA1dXcw6H77qy0pH1Et8Nrw/TA6UHA7ECjKwZ9iBxZKS3WgOX0KgtL6GWdmTQWhGEha7k+ELVHygjQ==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/@elastic/elasticsearch/-/elasticsearch-8.18.2.tgz", + "integrity": "sha512-2pOc/hGdxkbaDavfAlnUfjJdVsFRCGqg7fpsWJfJ2UzpgViIyojdViHg8zOCT1J14lAwvDgb9CNETWa3SBZRfw==", "requires": { - "debug": "^4.3.1", - "hpagent": "^0.1.1", + "@elastic/transport": "^8.9.6", + "apache-arrow": "18.x - 19.x", + "tslib": "^2.4.0" + } + }, + "@elastic/transport": { + "version": "8.9.6", + "resolved": "https://registry.npmjs.org/@elastic/transport/-/transport-8.9.6.tgz", + "integrity": "sha512-v71jgmZtgPg2ouXF5KTPxU1a6z7YYc8nazAS7jLySteC/vrShs1OJh6oEEeo5oDc19MYUofV/JV1h5vqJVBXOw==", + "requires": { + "@opentelemetry/api": "1.x", + "debug": "^4.4.0", + "hpagent": "^1.2.0", "ms": "^2.1.3", - "secure-json-parse": "^2.4.0" + "secure-json-parse": "^3.0.1", + "tslib": "^2.8.1", + "undici": "^6.21.1" } }, "@istanbuljs/load-nyc-config": { @@ -4370,6 +4612,11 @@ } } }, + "@opentelemetry/api": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", + "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==" + }, "@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", @@ -4394,6 +4641,14 @@ "@sinonjs/commons": "^3.0.0" } }, + "@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "requires": { + "tslib": "^2.8.0" + } + }, "@types/babel__core": { "version": "7.20.1", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", @@ -4435,6 +4690,16 @@ "@babel/types": "^7.20.7" } }, + "@types/command-line-args": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.3.tgz", + "integrity": "sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==" + }, + "@types/command-line-usage": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.4.tgz", + "integrity": "sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg==" + }, "@types/graceful-fs": { "version": "4.1.6", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", @@ -4479,10 +4744,12 @@ } }, "@types/node": { - "version": "20.4.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.4.tgz", - "integrity": "sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew==", - "dev": true + "version": "20.17.46", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.46.tgz", + "integrity": "sha512-0PQHLhZPWOxGW4auogW0eOQAuNIlCYvibIpG67ja0TOJ6/sehu+1en7sfceUn+QQtx4Rk3GxbLNwPh0Cav7TWw==", + "requires": { + "undici-types": "~6.19.2" + } }, "@types/prettier": { "version": "2.7.3", @@ -4530,7 +4797,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -4545,6 +4811,22 @@ "picomatch": "^2.0.4" } }, + "apache-arrow": { + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/apache-arrow/-/apache-arrow-19.0.1.tgz", + "integrity": "sha512-APmMLzS4qbTivLrPdQXexGM4JRr+0g62QDaobzEvip/FdQIrv2qLy0mD5Qdmw4buydtVJgbFeKR8f59I6PPGDg==", + "requires": { + "@swc/helpers": "^0.5.11", + "@types/command-line-args": "^5.2.3", + "@types/command-line-usage": "^5.0.4", + "@types/node": "^20.13.0", + "command-line-args": "^6.0.1", + "command-line-usage": "^7.0.1", + "flatbuffers": "^24.3.25", + "json-bignum": "^0.0.3", + "tslib": "^2.6.2" + } + }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -4554,6 +4836,11 @@ "sprintf-js": "~1.0.2" } }, + "array-back": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/array-back/-/array-back-6.2.2.tgz", + "integrity": "sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw==" + }, "babel-jest": { "version": "29.6.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.6.1.tgz", @@ -4698,12 +4985,19 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, + "chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "requires": { + "chalk": "^4.1.2" + } + }, "char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", @@ -4749,7 +5043,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -4757,8 +5050,29 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "command-line-args": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-6.0.1.tgz", + "integrity": "sha512-Jr3eByUjqyK0qd8W0SGFW1nZwqCaNCtbXjRo2cRJC1OYxWl3MZ5t1US3jq+cO4sPavqgw4l9BMGX0CBe+trepg==", + "requires": { + "array-back": "^6.2.2", + "find-replace": "^5.0.2", + "lodash.camelcase": "^4.3.0", + "typical": "^7.2.0" + } + }, + "command-line-usage": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.3.tgz", + "integrity": "sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==", + "requires": { + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^4.1.0", + "typical": "^7.1.1" + } }, "concat-map": { "version": "0.0.1", @@ -4784,18 +5098,11 @@ } }, "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } + "ms": "^2.1.3" } }, "dedent": { @@ -4928,6 +5235,12 @@ "to-regex-range": "^5.0.1" } }, + "find-replace": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-5.0.2.tgz", + "integrity": "sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==", + "requires": {} + }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -4938,6 +5251,11 @@ "path-exists": "^4.0.0" } }, + "flatbuffers": { + "version": "24.12.23", + "resolved": "https://registry.npmjs.org/flatbuffers/-/flatbuffers-24.12.23.tgz", + "integrity": "sha512-dLVCAISd5mhls514keQzmEG6QHmUUsNuWsb4tFafIUwvvgDjXhtfAYSKOzt5SWOy+qByV5pbsDZ+Vb7HUOBEdA==" + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -5019,13 +5337,12 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "hpagent": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-0.1.2.tgz", - "integrity": "sha512-ePqFXHtSQWAFXYmj+JtOTHr84iNrII4/QRlAAPPE+zqnKy4xJo7Ie1Y4kC7AdB+LxLxSTTzBMASsEcy0q8YyvQ==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", + "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==" }, "html-escaper": { "version": "2.0.2", @@ -5642,6 +5959,11 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, + "json-bignum": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/json-bignum/-/json-bignum-0.0.3.tgz", + "integrity": "sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg==" + }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -5681,6 +6003,11 @@ "p-locate": "^4.1.0" } }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, "lodash.chunk": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz", @@ -5701,9 +6028,9 @@ } }, "luxon": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-2.5.2.tgz", - "integrity": "sha512-Yg7/RDp4nedqmLgyH0LwgGRvMEKVzKbUdkBYyCosbHgJ+kaOUx0qzSiSatVc3DFygnirTPYnMM2P5dg2uH1WvA==" + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.6.1.tgz", + "integrity": "sha512-tJLxrKJhO2ukZ5z0gyjY1zPh3Rh88Ej9P7jNrZiHMUXHae1yvI2imgOZtL1TO8TW6biMMKfTtAOoEJANgtWBMQ==" }, "make-dir": { "version": "3.1.0", @@ -5988,9 +6315,9 @@ "dev": true }, "secure-json-parse": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", - "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-3.0.2.tgz", + "integrity": "sha512-H6nS2o8bWfpFEV6U38sOSjS7bTbdgbCGU9wEM6W14P5H0QOsz94KCusifV44GpHDTu2nqZbuDNhTzu+mjDSw1w==" }, "semver": { "version": "6.3.1", @@ -6114,7 +6441,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -6125,6 +6451,15 @@ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, + "table-layout": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-4.1.1.tgz", + "integrity": "sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==", + "requires": { + "array-back": "^6.2.2", + "wordwrapjs": "^5.1.0" + } + }, "test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -6157,6 +6492,11 @@ "is-number": "^7.0.0" } }, + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -6169,6 +6509,21 @@ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true }, + "typical": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.3.0.tgz", + "integrity": "sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw==" + }, + "undici": { + "version": "6.21.3", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.21.3.tgz", + "integrity": "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==" + }, + "undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + }, "update-browserslist-db": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", @@ -6216,6 +6571,11 @@ "isexe": "^2.0.0" } }, + "wordwrapjs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==" + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", diff --git a/hooks/persistence-elastic/hook/package.json b/hooks/persistence-elastic/hook/package.json index e4ca465e32..cd03a1fba2 100644 --- a/hooks/persistence-elastic/hook/package.json +++ b/hooks/persistence-elastic/hook/package.json @@ -38,13 +38,13 @@ }, "license": "Apache-2.0", "dependencies": { - "@elastic/elasticsearch": "^7.17.3", + "@elastic/elasticsearch": "^8.18.2", "lodash.chunk": "^4.2.0", "lodash.flatmap": "^4.5.0", - "luxon": "^2.5.2" + "luxon": "^3.6.1" }, "devDependencies": { "@types/jest": "^29.4.0", "jest": "^29.3.1" } -} +} \ No newline at end of file From 8004cc4756e46bd416e0744ae7b374902600cdc1 Mon Sep 17 00:00:00 2001 From: Jannik Hollenbach Date: Tue, 13 May 2025 21:16:34 +0200 Subject: [PATCH 05/10] Simplify setup docs and remove now unneeded externalStack enabled setting as it's always an external stack Signed-off-by: Jannik Hollenbach --- hooks/persistence-elastic/.helm-docs.gotmpl | 5 ----- hooks/persistence-elastic/README.md | 6 ------ hooks/persistence-elastic/docs/README.ArtifactHub.md | 6 ------ hooks/persistence-elastic/templates/import-dashboard.yaml | 5 ----- .../persistence-elastic/templates/persistence-provider.yaml | 5 ----- hooks/persistence-elastic/values.yaml | 2 -- 6 files changed, 29 deletions(-) diff --git a/hooks/persistence-elastic/.helm-docs.gotmpl b/hooks/persistence-elastic/.helm-docs.gotmpl index fe22e744e8..16bf1c39aa 100644 --- a/hooks/persistence-elastic/.helm-docs.gotmpl +++ b/hooks/persistence-elastic/.helm-docs.gotmpl @@ -49,7 +49,6 @@ The Elastic hook requires an existing Elasticsearch instance to store findings. ```yaml externalElasticStack: - enabled: true elasticsearchAddress: "https://quickstart-es-http:9200" # these are the default values for the ECK quickstart, change them to match your setup kibanaAddress: "https://quickstart-kb-http:5601" @@ -57,10 +56,6 @@ The Elastic hook requires an existing Elasticsearch instance to store findings. userSecret: "elasticsearch-credentials-secret" # Alternatively, use an API key: # apiKeySecret: "elasticsearch-api-key-secret" - - indexPrefix: "custom-prefix" - indexSuffix: "yyyy-MM-dd" - indexAppendNamespace: true ``` 3. **Create Kubernetes Secrets for Elasticsearch Credentials**: diff --git a/hooks/persistence-elastic/README.md b/hooks/persistence-elastic/README.md index 5f3b634cbc..9720cbdc3e 100644 --- a/hooks/persistence-elastic/README.md +++ b/hooks/persistence-elastic/README.md @@ -68,7 +68,6 @@ The Elastic hook requires an existing Elasticsearch instance to store findings. ```yaml externalElasticStack: - enabled: true elasticsearchAddress: "https://quickstart-es-http:9200" # these are the default values for the ECK quickstart, change them to match your setup kibanaAddress: "https://quickstart-kb-http:5601" @@ -76,10 +75,6 @@ The Elastic hook requires an existing Elasticsearch instance to store findings. userSecret: "elasticsearch-credentials-secret" # Alternatively, use an API key: # apiKeySecret: "elasticsearch-api-key-secret" - - indexPrefix: "custom-prefix" - indexSuffix: "yyyy-MM-dd" - indexAppendNamespace: true ``` 3. **Create Kubernetes Secrets for Elasticsearch Credentials**: @@ -123,7 +118,6 @@ the [Luxon documentation](https://moment.github.io/luxon/docs/manual/formatting. | authentication.apiKeySecret | string | `nil` | Link a pre-existing generic secret with `id` and `key` key / value pairs | | authentication.userSecret | string | `nil` | Link a pre-existing generic secret with `username` and `password` key / value pairs | | externalElasticStack.elasticsearchAddress | string | `"https://elasticsearch.example.com"` | The URL of the elasticsearch service to persists all findings to. | -| externalElasticStack.enabled | bool | `false` | Enable this when you already have an Elastic Stack running to which you want to send your results | | externalElasticStack.kibanaAddress | string | `"https://kibana.example.com"` | The URL of the kibana service used to visualize all findings. | | fullnameOverride | string | `""` | | | hook.affinity | object | `{}` | Optional affinity settings that control how the hook job is scheduled (see: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/) | diff --git a/hooks/persistence-elastic/docs/README.ArtifactHub.md b/hooks/persistence-elastic/docs/README.ArtifactHub.md index ad94badd21..b6fb8d8071 100644 --- a/hooks/persistence-elastic/docs/README.ArtifactHub.md +++ b/hooks/persistence-elastic/docs/README.ArtifactHub.md @@ -76,7 +76,6 @@ The Elastic hook requires an existing Elasticsearch instance to store findings. ```yaml externalElasticStack: - enabled: true elasticsearchAddress: "https://quickstart-es-http:9200" # these are the default values for the ECK quickstart, change them to match your setup kibanaAddress: "https://quickstart-kb-http:5601" @@ -84,10 +83,6 @@ The Elastic hook requires an existing Elasticsearch instance to store findings. userSecret: "elasticsearch-credentials-secret" # Alternatively, use an API key: # apiKeySecret: "elasticsearch-api-key-secret" - - indexPrefix: "custom-prefix" - indexSuffix: "yyyy-MM-dd" - indexAppendNamespace: true ``` 3. **Create Kubernetes Secrets for Elasticsearch Credentials**: @@ -131,7 +126,6 @@ the [Luxon documentation](https://moment.github.io/luxon/docs/manual/formatting. | authentication.apiKeySecret | string | `nil` | Link a pre-existing generic secret with `id` and `key` key / value pairs | | authentication.userSecret | string | `nil` | Link a pre-existing generic secret with `username` and `password` key / value pairs | | externalElasticStack.elasticsearchAddress | string | `"https://elasticsearch.example.com"` | The URL of the elasticsearch service to persists all findings to. | -| externalElasticStack.enabled | bool | `false` | Enable this when you already have an Elastic Stack running to which you want to send your results | | externalElasticStack.kibanaAddress | string | `"https://kibana.example.com"` | The URL of the kibana service used to visualize all findings. | | fullnameOverride | string | `""` | | | hook.affinity | object | `{}` | Optional affinity settings that control how the hook job is scheduled (see: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/) | diff --git a/hooks/persistence-elastic/templates/import-dashboard.yaml b/hooks/persistence-elastic/templates/import-dashboard.yaml index 159b88883b..b0f9dd85d2 100644 --- a/hooks/persistence-elastic/templates/import-dashboard.yaml +++ b/hooks/persistence-elastic/templates/import-dashboard.yaml @@ -19,11 +19,6 @@ spec: image: "{{ .Values.dashboardImporter.image.repository }}:{{ .Values.dashboardImporter.image.tag | default .Chart.Version }}" imagePullPolicy: IfNotPresent env: -{{- if .Values.externalElasticStack.enabled }} - - name: KIBANA_URL - value: {{ .Values.externalElasticStack.kibanaAddress | quote }} -{{- else }} - name: KIBANA_URL value: "http://{{ .Release.Name }}-kibana.{{ .Release.Namespace }}.svc.cluster.local:5601" -{{- end }} {{ end }} diff --git a/hooks/persistence-elastic/templates/persistence-provider.yaml b/hooks/persistence-elastic/templates/persistence-provider.yaml index 1247da2e33..9f21434eca 100644 --- a/hooks/persistence-elastic/templates/persistence-provider.yaml +++ b/hooks/persistence-elastic/templates/persistence-provider.yaml @@ -24,13 +24,8 @@ spec: value: {{ .Values.indexSuffix | quote }} - name: ELASTICSEARCH_INDEX_APPEND_NAMESPACE value: {{ .Values.indexAppendNamespace | quote }} -{{- if .Values.externalElasticStack.enabled }} - name: ELASTICSEARCH_ADDRESS value: {{ .Values.externalElasticStack.elasticsearchAddress | quote }} -{{- else }} - - name: ELASTICSEARCH_ADDRESS - value: "http://elasticsearch-master.{{ .Release.Namespace }}.svc.cluster.local:9200" -{{- end }} {{- if .Values.authentication.userSecret }} - name: ELASTICSEARCH_USERNAME valueFrom: diff --git a/hooks/persistence-elastic/values.yaml b/hooks/persistence-elastic/values.yaml index 9e6d884aeb..9d8deaa600 100644 --- a/hooks/persistence-elastic/values.yaml +++ b/hooks/persistence-elastic/values.yaml @@ -17,8 +17,6 @@ indexSuffix: "yyyy-MM-dd" indexAppendNamespace: true externalElasticStack: - # externalElasticStack.enabled -- Enable this when you already have an Elastic Stack running to which you want to send your results - enabled: false # externalElasticStack.elasticsearchAddress -- The URL of the elasticsearch service to persists all findings to. elasticsearchAddress: "https://elasticsearch.example.com" # externalElasticStack.kibanaAddress -- The URL of the kibana service used to visualize all findings. From 50093475ee44ecfa50e81ae0c57d93fd8f9f8c39 Mon Sep 17 00:00:00 2001 From: Jannik Hollenbach Date: Tue, 13 May 2025 21:18:07 +0200 Subject: [PATCH 06/10] Upgrade long outdated alpine docker base image :/ Signed-off-by: Jannik Hollenbach --- hooks/persistence-elastic/dashboard-importer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hooks/persistence-elastic/dashboard-importer/Dockerfile b/hooks/persistence-elastic/dashboard-importer/Dockerfile index fb3fed8704..d467909628 100644 --- a/hooks/persistence-elastic/dashboard-importer/Dockerfile +++ b/hooks/persistence-elastic/dashboard-importer/Dockerfile @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: Apache-2.0 -FROM alpine:3.11 +FROM alpine:3.21 RUN apk add --no-cache curl bash From a00ee7f702752905c0694db53996a6aaf1d041bb Mon Sep 17 00:00:00 2001 From: Jannik Hollenbach Date: Tue, 13 May 2025 21:18:44 +0200 Subject: [PATCH 07/10] Set proper permission for setup dashboards container Signed-off-by: Jannik Hollenbach --- hooks/persistence-elastic/dashboard-importer/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hooks/persistence-elastic/dashboard-importer/Dockerfile b/hooks/persistence-elastic/dashboard-importer/Dockerfile index d467909628..6613747434 100644 --- a/hooks/persistence-elastic/dashboard-importer/Dockerfile +++ b/hooks/persistence-elastic/dashboard-importer/Dockerfile @@ -11,7 +11,7 @@ USER app WORKDIR /home/dashboard-importer/ -COPY dashboards/ ./dashboards/ -COPY import-dashboards.sh ./ +COPY --chown=root:root --chmod=755 dashboards/ ./dashboards/ +COPY --chown=root:root --chmod=755 import-dashboards.sh ./ CMD [ "bash", "import-dashboards.sh" ] From ff9cf54db1318cda73f0e27e71a1c9a89b610caf Mon Sep 17 00:00:00 2001 From: Jannik Hollenbach Date: Tue, 13 May 2025 21:22:56 +0200 Subject: [PATCH 08/10] Set some security and best practice deftaults for the dashboard importer job Signed-off-by: Jannik Hollenbach --- .../templates/import-dashboard.yaml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/hooks/persistence-elastic/templates/import-dashboard.yaml b/hooks/persistence-elastic/templates/import-dashboard.yaml index b0f9dd85d2..3eeab0ee3e 100644 --- a/hooks/persistence-elastic/templates/import-dashboard.yaml +++ b/hooks/persistence-elastic/templates/import-dashboard.yaml @@ -13,9 +13,25 @@ spec: ttlSecondsAfterFinished: 3600 # 1 hour template: spec: + securityContext: + runAsNonRoot: true restartPolicy: 'OnFailure' + automountServiceAccountToken: false containers: - name: dasboard-importer + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true + resources: + limits: + memory: "256Mi" + cpu: "0.1" + requests: + memory: "256Mi" + cpu: "0.1" image: "{{ .Values.dashboardImporter.image.repository }}:{{ .Values.dashboardImporter.image.tag | default .Chart.Version }}" imagePullPolicy: IfNotPresent env: From a627d1f6093c18ef666c9f4e7b94956454d06f6a Mon Sep 17 00:00:00 2001 From: Jannik Hollenbach Date: Tue, 13 May 2025 21:27:33 +0200 Subject: [PATCH 09/10] Update helm test snapshots with now default security setting and default external elastic address Signed-off-by: Jannik Hollenbach --- .../persistence-elastic_test.yaml.snap | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/hooks/persistence-elastic/tests/__snapshot__/persistence-elastic_test.yaml.snap b/hooks/persistence-elastic/tests/__snapshot__/persistence-elastic_test.yaml.snap index 2575407335..8f851fd788 100644 --- a/hooks/persistence-elastic/tests/__snapshot__/persistence-elastic_test.yaml.snap +++ b/hooks/persistence-elastic/tests/__snapshot__/persistence-elastic_test.yaml.snap @@ -11,6 +11,7 @@ matches the snapshot: backoffLimit: 3 template: spec: + automountServiceAccountToken: false containers: - env: - name: KIBANA_URL @@ -18,7 +19,22 @@ matches the snapshot: image: securecodebox/persistence-elastic-dashboard-importer:0.0.0 imagePullPolicy: IfNotPresent name: dasboard-importer + resources: + limits: + cpu: "0.1" + memory: 256Mi + requests: + cpu: "0.1" + memory: 256Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + readOnlyRootFilesystem: true restartPolicy: OnFailure + securityContext: + runAsNonRoot: true ttlSecondsAfterFinished: 3600 3: | apiVersion: execution.securecodebox.io/v1 @@ -48,11 +64,11 @@ matches the snapshot: - name: ELASTICSEARCH_INDEX_PREFIX value: scb - name: ELASTICSEARCH_INDEX_SUFFIX - value: “yyyy-MM-dd” + value: yyyy-MM-dd - name: ELASTICSEARCH_INDEX_APPEND_NAMESPACE value: "true" - name: ELASTICSEARCH_ADDRESS - value: http://elasticsearch-master.NAMESPACE.svc.cluster.local:9200 + value: https://elasticsearch.example.com - name: foo value: bar image: docker.io/securecodebox/hook-persistence-elastic:0.0.0 From 422c326be0d47055f5bbbdebc07eea67387b3da5 Mon Sep 17 00:00:00 2001 From: Jannik Hollenbach Date: Tue, 13 May 2025 21:28:33 +0200 Subject: [PATCH 10/10] Regenerate helm docs with reincluded dashboard importer Signed-off-by: Jannik Hollenbach --- hooks/persistence-elastic/README.md | 3 +++ hooks/persistence-elastic/docs/README.ArtifactHub.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/hooks/persistence-elastic/README.md b/hooks/persistence-elastic/README.md index 9720cbdc3e..bd90595f53 100644 --- a/hooks/persistence-elastic/README.md +++ b/hooks/persistence-elastic/README.md @@ -117,6 +117,9 @@ the [Luxon documentation](https://moment.github.io/luxon/docs/manual/formatting. | authentication | object | `{"apiKeySecret":null,"userSecret":null}` | Configure authentication schema and credentials the persistence provider should use to connect to elasticsearch user and apikey are mutually exclusive, only set one! | | authentication.apiKeySecret | string | `nil` | Link a pre-existing generic secret with `id` and `key` key / value pairs | | authentication.userSecret | string | `nil` | Link a pre-existing generic secret with `username` and `password` key / value pairs | +| dashboardImporter.enabled | bool | `true` | Enable if you want to import some example kibana dashboards for secureCodeBox findings analytics. | +| dashboardImporter.image.repository | string | `"securecodebox/persistence-elastic-dashboard-importer"` | | +| dashboardImporter.image.tag | string | `nil` | | | externalElasticStack.elasticsearchAddress | string | `"https://elasticsearch.example.com"` | The URL of the elasticsearch service to persists all findings to. | | externalElasticStack.kibanaAddress | string | `"https://kibana.example.com"` | The URL of the kibana service used to visualize all findings. | | fullnameOverride | string | `""` | | diff --git a/hooks/persistence-elastic/docs/README.ArtifactHub.md b/hooks/persistence-elastic/docs/README.ArtifactHub.md index b6fb8d8071..0e20bf4f61 100644 --- a/hooks/persistence-elastic/docs/README.ArtifactHub.md +++ b/hooks/persistence-elastic/docs/README.ArtifactHub.md @@ -125,6 +125,9 @@ the [Luxon documentation](https://moment.github.io/luxon/docs/manual/formatting. | authentication | object | `{"apiKeySecret":null,"userSecret":null}` | Configure authentication schema and credentials the persistence provider should use to connect to elasticsearch user and apikey are mutually exclusive, only set one! | | authentication.apiKeySecret | string | `nil` | Link a pre-existing generic secret with `id` and `key` key / value pairs | | authentication.userSecret | string | `nil` | Link a pre-existing generic secret with `username` and `password` key / value pairs | +| dashboardImporter.enabled | bool | `true` | Enable if you want to import some example kibana dashboards for secureCodeBox findings analytics. | +| dashboardImporter.image.repository | string | `"securecodebox/persistence-elastic-dashboard-importer"` | | +| dashboardImporter.image.tag | string | `nil` | | | externalElasticStack.elasticsearchAddress | string | `"https://elasticsearch.example.com"` | The URL of the elasticsearch service to persists all findings to. | | externalElasticStack.kibanaAddress | string | `"https://kibana.example.com"` | The URL of the kibana service used to visualize all findings. | | fullnameOverride | string | `""` | |