From be0cf8cd13519cb3c733aafb9dbe442a70a97257 Mon Sep 17 00:00:00 2001 From: Giovanni Toraldo <71768+gionn@users.noreply.github.com> Date: Wed, 21 Feb 2024 15:15:20 +0100 Subject: [PATCH] OPSEXP-2449 Deploy search enterprise by default on helm chart (#1095) --- .github/workflows/helm-static-checks.yml | 2 + docs/helm/README.md | 1 + docs/helm/examples/with-aws-services.md | 2 + .../examples/with-external-infrastructure.md | 135 ++++++++++++++++++ docs/helm/upgrades.md | 8 +- docs/helm/values/local-dev-values.yaml | 18 +-- .../23.N_values.yaml | 1 - .../7.0.N_values.yaml | 8 ++ .../7.1.N_values.yaml | 7 + .../7.2.N_values.yaml | 7 + .../7.3.N_values.yaml | 6 + .../7.4.N_values.yaml | 6 + helm/alfresco-content-services/Chart.lock | 24 ++-- helm/alfresco-content-services/Chart.yaml | 20 +-- helm/alfresco-content-services/README.md | 51 ++++--- .../community_values.yaml | 10 +- .../templates/_helpers-search.tpl | 12 +- .../templates/config-infrastructure.yaml | 16 +-- .../templates/secret-message-broker.yaml | 2 - .../templates/secret-search.yaml | 5 +- .../templates/secret-sync-database.yaml | 2 +- .../tests/config-infra_test.yaml | 7 +- .../tests/search_test.yaml | 72 +++++++++- helm/alfresco-content-services/values.yaml | 36 +++-- test/enterprise-integration-test-values.yaml | 61 ++++++-- .../helm/acs-test-helm-collection.json | 79 ---------- 26 files changed, 421 insertions(+), 177 deletions(-) create mode 100644 docs/helm/examples/with-external-infrastructure.md diff --git a/.github/workflows/helm-static-checks.yml b/.github/workflows/helm-static-checks.yml index 1a592a02f..6ea3ae40a 100644 --- a/.github/workflows/helm-static-checks.yml +++ b/.github/workflows/helm-static-checks.yml @@ -29,6 +29,7 @@ jobs: ./.github/actions/charts-as-json with: charts-root: helm + helm_unit_test: needs: - build_vars @@ -51,6 +52,7 @@ jobs: if [ -d "helm/${{ matrix.charts.name }}/tests" ]; then helm unittest helm/${{ matrix.charts.name }} else echo "${{ matrix.charts.name }} chart has no unit tests... skipping." fi + helm_yaml_lint: needs: - build_vars diff --git a/docs/helm/README.md b/docs/helm/README.md index e6284b802..62f3b3879 100644 --- a/docs/helm/README.md +++ b/docs/helm/README.md @@ -80,6 +80,7 @@ There are also several [examples](./examples) showing how to deploy with various * [Deploy with Intelligence Services](./examples/with-ai.md) * [Deploy with Microsoft 365 Connector (Office Online Integration)](./examples/with-ooi.md) * [Deploy with external Keycloak SSO authentication](./examples/with-keycloak.md) +* [Deploy with external infrastructure components](./examples/with-external-infrastructure.md) (e.g. elasticsearch, activemq, postgres) * [Enable access to Search Services](./examples/search-services.mdi#enable-alfresco-search-services-external-access) * [Enable Email Services](./examples/email-enabled.md) * [Use a custom metadata keystore](./examples/custom-metadata-keystore.md) diff --git a/docs/helm/examples/with-aws-services.md b/docs/helm/examples/with-aws-services.md index 1dc14b836..fb99676d9 100644 --- a/docs/helm/examples/with-aws-services.md +++ b/docs/helm/examples/with-aws-services.md @@ -280,6 +280,8 @@ alfresco-search: enabled: false alfresco-search-enterprise: enabled: true +elasticsearch: + enabled: false alfresco-sync-service: messageBroker: *acs_messageBroker database: diff --git a/docs/helm/examples/with-external-infrastructure.md b/docs/helm/examples/with-external-infrastructure.md new file mode 100644 index 000000000..b2e35bd4c --- /dev/null +++ b/docs/helm/examples/with-external-infrastructure.md @@ -0,0 +1,135 @@ +# Alfresco Content Services Helm Deployment with external infrastructure + +- [Alfresco Content Services Helm Deployment with external infrastructure](#alfresco-content-services-helm-deployment-with-external-infrastructure) + - [Activemq broker](#activemq-broker) + - [Elasticsearch index](#elasticsearch-index) + - [Postgresql database](#postgresql-database) + +Our Helm charts includes a set of dependency which are meaningful for testing +and easy evaluation but can't be really suggested for production workloads +(unless you really understand what you are doing). + +## Activemq broker + +For enhanced durability and scalability, you can provide an externally +provisioned ActiveMq cluster by providing the following values: + +```yaml +messageBroker: + url: failover:(nio://YOUR-MQ-HOSTNAME:61616)?timeout=3000&jms.useCompression=true + user: YOUR-MQ-USERNAME + password: YOUR-MQ-PASSWORD +activemq: + enabled: false +``` + +or alternatively you can provide your own secret instead of specifying +credentials as plain values: + +```yaml +messageBroker: + url: failover:(nio://YOUR-MQ-HOSTNAME:61616)?timeout=3000&jms.useCompression=true + existingSecretName: YOUR-MQ-SECRET +activemq: + enabled: false +alfresco-transform-service: + messageBroker: + name: YOUR-MQ-SECRET +alfresco-search-enterprise: + messageBroker: + existingSecretName: YOUR-MQ-SECRET +alfresco-repository: + configuration: + messageBroker: + existingSecret: + name: YOUR-MQ-SECRET +alfresco-sync-service: + messageBroker: + existingSecret: + name: YOUR-MQ-SECRET +alfresco-ai-transformer: + messageBroker: + existingSecret: + name: YOUR-MQ-SECRET +``` + +## Elasticsearch index + +When using Search Enterprise, the default search backend since ACS v23, you can +provide connection details to an external elasticsearch cluster by providing the +following values: + +```yaml +global: + search: + url: https://YOUR-DOMAIN-HOSTNAME/ + flavor: elasticsearch + username: YOUR-DOMAIN-MASTER-USERNAME + password: YOUR-DOMAIN-MASTER-PASSWORD +alfresco-repository: + configuration: + search: + flavor: elasticsearch + securecomms: https +``` + +or alternatively you can provide your own secret instead of specifying +credentials as plain values: + +```yaml +global: + search: + url: https://YOUR-DOMAIN-HOSTNAME/ + flavor: elasticsearch + existingSecretName: YOUR-ES-SECRET +alfresco-repository: + configuration: + search: + flavor: elasticsearch + securecomms: https + existingSecret: + name: YOUR-ES-SECRET +alfresco-search-enterprise: + search: + existingSecret: + name: YOUR-ES-SECRET +``` + +## Postgresql database + +For better performances and durability, you can provide an externally +provisioned Postgres database by providing the following values: + +```yaml +database: + external: true + driver: org.postgresql.Driver + url: jdbc:postgresql://YOUR-DATABASE-ENDPOINT:5432/ + user: YOUR-DATABASE-USERNAME + password: YOUR-DATABASE-PASSWORD +postgresql: + enabled: false +``` + +or alternatively you can provide your own secret instead of specifying +credentials as plain values: + +```yaml +database: + external: true + driver: org.postgresql.Driver + url: jdbc:postgresql://YOUR-DATABASE-ENDPOINT:5432/ + existingSecretName: YOUR-DATABASE-SECRET +postgresql: + enabled: false +alfresco-repository: + configuration: + db: + existingSecret: + name: YOUR-DATABASE-SECRET +alfresco-search-enterprise: + reindexing: + db: + existingSecret: + name: YOUR-DATABASE-SECRET +``` diff --git a/docs/helm/upgrades.md b/docs/helm/upgrades.md index 0c84745b8..3c485b749 100644 --- a/docs/helm/upgrades.md +++ b/docs/helm/upgrades.md @@ -10,6 +10,12 @@ Releases](https://github.com/Alfresco/acs-deployment/releases). Here follows a more detailed explanation of any breaking change grouped by version in which they have been released. +## Unreleased + +* Search Enterprise is now the default search engine when installing Enterprise + version. For production it's suggested to use an [external elaticsearch + index](examples/with-external-infrastructure.md#elasticsearch-index). + ## 8.0.0-M.1 * `.global.ai.enabled` has been removed since adw doesn't need anymore to @@ -19,7 +25,7 @@ version in which they have been released. for database can be provided also via an existing configMap/secret in `.alfresco-sync-service.database`. Message broker configuration has been split from a single secret provided via - `.alfresco-sync-service.messaBroker.existingSecretName` to two separate + `.alfresco-sync-service.messageBroker.existingSecretName` to two separate existing configMap/secret. More details at [sync chart docs](https://github.com/Alfresco/alfresco-helm-charts/blob/main/charts/alfresco-sync-service/README.md) * ATS message broker configuration has been split from a single secret provided diff --git a/docs/helm/values/local-dev-values.yaml b/docs/helm/values/local-dev-values.yaml index ef8338ff6..2574ac07f 100644 --- a/docs/helm/values/local-dev-values.yaml +++ b/docs/helm/values/local-dev-values.yaml @@ -91,15 +91,15 @@ alfresco-search-enterprise: limits: cpu: "1" memory: "1Gi" - elasticsearch: - esJavaOpts: "-Xmx512m -Xms512m" - resources: - requests: - cpu: "100m" - memory: "512Mi" - limits: - cpu: "1000m" - memory: "1Gi" +elasticsearch: + esJavaOpts: "-Xmx512m -Xms512m" + resources: + requests: + cpu: "100m" + memory: "512Mi" + limits: + cpu: "1000m" + memory: "1Gi" share: resources: requests: diff --git a/helm/alfresco-content-services/23.N_values.yaml b/helm/alfresco-content-services/23.N_values.yaml index 2e1ad1c46..121a7992d 100644 --- a/helm/alfresco-content-services/23.N_values.yaml +++ b/helm/alfresco-content-services/23.N_values.yaml @@ -37,7 +37,6 @@ alfresco-search: insightEngineImage: tag: 2.0.9 alfresco-search-enterprise: - enabled: false liveIndexing: mediation: image: diff --git a/helm/alfresco-content-services/7.0.N_values.yaml b/helm/alfresco-content-services/7.0.N_values.yaml index 6df301ae5..e4b222a8f 100644 --- a/helm/alfresco-content-services/7.0.N_values.yaml +++ b/helm/alfresco-content-services/7.0.N_values.yaml @@ -3,6 +3,13 @@ alfresco-repository: image: tag: 7.0.1.10 + configuration: + search: + flavor: solr6 +alfresco-search-enterprise: + enabled: false +elasticsearch: + enabled: false alfresco-ai-transformer: image: tag: 1.3.0 @@ -32,6 +39,7 @@ share: image: tag: 7.0.1.3 alfresco-search: + enabled: true repository: securecomms: none searchServicesImage: diff --git a/helm/alfresco-content-services/7.1.N_values.yaml b/helm/alfresco-content-services/7.1.N_values.yaml index 797ebdbd5..651bad2c5 100644 --- a/helm/alfresco-content-services/7.1.N_values.yaml +++ b/helm/alfresco-content-services/7.1.N_values.yaml @@ -3,6 +3,9 @@ alfresco-repository: image: tag: 7.1.1.10 + configuration: + search: + flavor: solr6 alfresco-ai-transformer: image: tag: 1.5.1 @@ -32,6 +35,7 @@ share: image: tag: 7.1.1.10 alfresco-search: + enabled: true repository: securecomms: none searchServicesImage: @@ -39,6 +43,7 @@ alfresco-search: insightEngineImage: tag: 2.0.2.2 alfresco-search-enterprise: + enabled: false liveIndexing: mediation: image: @@ -55,6 +60,8 @@ alfresco-search-enterprise: reindexing: image: tag: 3.1.1.1 +elasticsearch: + enabled: false postgresql: image: tag: 13.3.0 diff --git a/helm/alfresco-content-services/7.2.N_values.yaml b/helm/alfresco-content-services/7.2.N_values.yaml index 00944d7e7..c5cc93138 100644 --- a/helm/alfresco-content-services/7.2.N_values.yaml +++ b/helm/alfresco-content-services/7.2.N_values.yaml @@ -3,6 +3,9 @@ alfresco-repository: image: tag: 7.2.1.13 + configuration: + search: + flavor: solr6 alfresco-ai-transformer: image: tag: 1.5.1 @@ -32,11 +35,13 @@ share: image: tag: 7.2.1.13 alfresco-search: + enabled: true searchServicesImage: tag: 2.0.3.6 insightEngineImage: tag: 2.0.3.6 alfresco-search-enterprise: + enabled: false liveIndexing: mediation: image: @@ -53,6 +58,8 @@ alfresco-search-enterprise: reindexing: image: tag: 3.1.1.1 +elasticsearch: + enabled: false alfresco-digital-workspace: image: tag: 3.0.1 diff --git a/helm/alfresco-content-services/7.3.N_values.yaml b/helm/alfresco-content-services/7.3.N_values.yaml index 555a925e5..23d756e97 100644 --- a/helm/alfresco-content-services/7.3.N_values.yaml +++ b/helm/alfresco-content-services/7.3.N_values.yaml @@ -3,6 +3,9 @@ alfresco-repository: image: tag: 7.3.1.2 + configuration: + search: + flavor: solr6 alfresco-ai-transformer: image: tag: 1.5.1 @@ -32,6 +35,7 @@ alfresco-transform-service: image: tag: 2.1.1 alfresco-search: + enabled: true searchServicesImage: tag: 2.0.5.2 insightEngineImage: @@ -54,6 +58,8 @@ alfresco-search-enterprise: reindexing: image: tag: 3.2.0.2 +elasticsearch: + enabled: false alfresco-digital-workspace: image: tag: 3.1.1 diff --git a/helm/alfresco-content-services/7.4.N_values.yaml b/helm/alfresco-content-services/7.4.N_values.yaml index 621b94db2..c2831fd5a 100644 --- a/helm/alfresco-content-services/7.4.N_values.yaml +++ b/helm/alfresco-content-services/7.4.N_values.yaml @@ -3,6 +3,9 @@ alfresco-repository: image: tag: 7.4.1.3 + configuration: + search: + flavor: solr6 alfresco-transform-service: transformrouter: image: @@ -32,6 +35,7 @@ share: image: tag: 7.4.1.3 alfresco-search: + enabled: true searchServicesImage: tag: 2.0.9 insightEngineImage: @@ -54,6 +58,8 @@ alfresco-search-enterprise: reindexing: image: tag: 3.3.1.1 +elasticsearch: + enabled: false alfresco-digital-workspace: image: tag: 4.2.0 diff --git a/helm/alfresco-content-services/Chart.lock b/helm/alfresco-content-services/Chart.lock index 4b54b2de0..2fd27027d 100644 --- a/helm/alfresco-content-services/Chart.lock +++ b/helm/alfresco-content-services/Chart.lock @@ -10,19 +10,19 @@ dependencies: version: 12.8.5 - name: common repository: https://activiti.github.io/activiti-cloud-helm-charts - version: 8.1.0 + version: 8.2.0 - name: common repository: https://activiti.github.io/activiti-cloud-helm-charts - version: 8.1.0 + version: 8.2.0 - name: alfresco-repository repository: https://alfresco.github.io/alfresco-helm-charts/ - version: 0.3.0 + version: 0.3.1 - name: activemq repository: https://alfresco.github.io/alfresco-helm-charts/ - version: 3.5.0 + version: 3.5.2 - name: alfresco-transform-service repository: https://alfresco.github.io/alfresco-helm-charts/ - version: 1.1.0 + version: 1.1.1 - name: alfresco-search-service repository: https://alfresco.github.io/alfresco-helm-charts/ version: 3.2.0 @@ -31,21 +31,21 @@ dependencies: version: 5.1.0 - name: alfresco-search-enterprise repository: https://alfresco.github.io/alfresco-helm-charts/ - version: 3.2.0 + version: 3.2.3 - name: alfresco-connector-msteams repository: https://alfresco.github.io/alfresco-helm-charts/ - version: 0.4.0 + version: 0.4.1 - name: alfresco-share repository: https://alfresco.github.io/alfresco-helm-charts/ - version: 0.5.0 + version: 0.5.1 - name: alfresco-connector-ms365 repository: https://alfresco.github.io/alfresco-helm-charts/ - version: 0.6.0 + version: 0.6.1 - name: alfresco-ai-transformer repository: https://alfresco.github.io/alfresco-helm-charts/ - version: 1.1.0 + version: 1.1.1 - name: elasticsearch repository: https://helm.elastic.co version: 7.17.3 -digest: sha256:2d02dc5b0bdef8acb518e93c237a88f6bd9e7dc17bb814a2bf327574b9fb5db1 -generated: "2024-02-13T16:26:52.777335+01:00" +digest: sha256:45dcb19bf056071f33d91986b1315e5c98d8d9fb764025c5cf7342af04c6eb5c +generated: "2024-02-15T16:53:23.229958+01:00" diff --git a/helm/alfresco-content-services/Chart.yaml b/helm/alfresco-content-services/Chart.yaml index 5664824f0..284818906 100644 --- a/helm/alfresco-content-services/Chart.yaml +++ b/helm/alfresco-content-services/Chart.yaml @@ -31,24 +31,24 @@ dependencies: - name: common alias: alfresco-control-center repository: https://activiti.github.io/activiti-cloud-helm-charts - version: 8.1.0 + version: 8.2.0 condition: >- alfresco-control-center.enabled - name: common alias: alfresco-digital-workspace repository: https://activiti.github.io/activiti-cloud-helm-charts - version: 8.1.0 + version: 8.2.0 condition: >- alfresco-digital-workspace.enabled - name: alfresco-repository - version: 0.3.0 + version: 0.3.1 repository: https://alfresco.github.io/alfresco-helm-charts/ - name: activemq - version: 3.5.0 + version: 3.5.2 repository: https://alfresco.github.io/alfresco-helm-charts/ condition: activemq.enabled - name: alfresco-transform-service - version: 1.1.0 + version: 1.1.1 repository: https://alfresco.github.io/alfresco-helm-charts/ condition: alfresco-transform-service.enabled - name: alfresco-search-service @@ -61,24 +61,24 @@ dependencies: version: 5.1.0 condition: alfresco-sync-service.enabled - name: alfresco-search-enterprise - version: 3.2.0 + version: 3.2.3 repository: https://alfresco.github.io/alfresco-helm-charts/ condition: alfresco-search-enterprise.enabled - name: alfresco-connector-msteams - version: 0.4.0 + version: 0.4.1 repository: https://alfresco.github.io/alfresco-helm-charts/ condition: alfresco-connector-msteams.enabled - name: alfresco-share alias: share - version: 0.5.0 + version: 0.5.1 repository: https://alfresco.github.io/alfresco-helm-charts/ condition: share.enabled - name: alfresco-connector-ms365 - version: 0.6.0 + version: 0.6.1 repository: https://alfresco.github.io/alfresco-helm-charts/ condition: alfresco-connector-ms365.enabled - name: alfresco-ai-transformer - version: 1.1.0 + version: 1.1.1 repository: https://alfresco.github.io/alfresco-helm-charts/ condition: alfresco-ai-transformer.enabled - name: elasticsearch diff --git a/helm/alfresco-content-services/README.md b/helm/alfresco-content-services/README.md index e4d5eaf1f..1b73aaf85 100644 --- a/helm/alfresco-content-services/README.md +++ b/helm/alfresco-content-services/README.md @@ -16,19 +16,19 @@ Please refer to the [documentation](https://github.com/Alfresco/acs-deployment/b | Repository | Name | Version | |------------|------|---------| -| https://activiti.github.io/activiti-cloud-helm-charts | alfresco-control-center(common) | 8.1.0 | -| https://activiti.github.io/activiti-cloud-helm-charts | alfresco-digital-workspace(common) | 8.1.0 | -| https://alfresco.github.io/alfresco-helm-charts/ | activemq | 3.5.0 | -| https://alfresco.github.io/alfresco-helm-charts/ | alfresco-ai-transformer | 1.1.0 | +| https://activiti.github.io/activiti-cloud-helm-charts | alfresco-control-center(common) | 8.2.0 | +| https://activiti.github.io/activiti-cloud-helm-charts | alfresco-digital-workspace(common) | 8.2.0 | +| https://alfresco.github.io/alfresco-helm-charts/ | activemq | 3.5.2 | +| https://alfresco.github.io/alfresco-helm-charts/ | alfresco-ai-transformer | 1.1.1 | | https://alfresco.github.io/alfresco-helm-charts/ | alfresco-common | 3.1.1 | -| https://alfresco.github.io/alfresco-helm-charts/ | alfresco-connector-ms365 | 0.6.0 | -| https://alfresco.github.io/alfresco-helm-charts/ | alfresco-connector-msteams | 0.4.0 | -| https://alfresco.github.io/alfresco-helm-charts/ | alfresco-repository | 0.3.0 | -| https://alfresco.github.io/alfresco-helm-charts/ | alfresco-search-enterprise | 3.2.0 | +| https://alfresco.github.io/alfresco-helm-charts/ | alfresco-connector-ms365 | 0.6.1 | +| https://alfresco.github.io/alfresco-helm-charts/ | alfresco-connector-msteams | 0.4.1 | +| https://alfresco.github.io/alfresco-helm-charts/ | alfresco-repository | 0.3.1 | +| https://alfresco.github.io/alfresco-helm-charts/ | alfresco-search-enterprise | 3.2.3 | | https://alfresco.github.io/alfresco-helm-charts/ | alfresco-search(alfresco-search-service) | 3.2.0 | -| https://alfresco.github.io/alfresco-helm-charts/ | share(alfresco-share) | 0.5.0 | +| https://alfresco.github.io/alfresco-helm-charts/ | share(alfresco-share) | 0.5.1 | | https://alfresco.github.io/alfresco-helm-charts/ | alfresco-sync-service | 5.1.0 | -| https://alfresco.github.io/alfresco-helm-charts/ | alfresco-transform-service | 1.1.0 | +| https://alfresco.github.io/alfresco-helm-charts/ | alfresco-transform-service | 1.1.1 | | https://helm.elastic.co | elasticsearch | 7.17.3 | | oci://registry-1.docker.io/bitnamicharts | postgresql-sync(postgresql) | 12.8.5 | | oci://registry-1.docker.io/bitnamicharts | postgresql | 12.8.5 | @@ -75,9 +75,9 @@ Please refer to the [documentation](https://github.com/Alfresco/acs-deployment/b | alfresco-control-center.nodeSelector | object | `{}` | | | alfresco-control-center.registryPullSecrets[0] | string | `"{{ $.Values.global.alfrescoRegistryPullSecrets }}"` | | | alfresco-control-center.resources.limits.cpu | string | `"1"` | | -| alfresco-control-center.resources.limits.memory | string | `"1024Mi"` | | -| alfresco-control-center.resources.requests.cpu | string | `"0.25"` | | -| alfresco-control-center.resources.requests.memory | string | `"256Mi"` | | +| alfresco-control-center.resources.limits.memory | string | `"512Mi"` | | +| alfresco-control-center.resources.requests.cpu | string | `"0.1"` | | +| alfresco-control-center.resources.requests.memory | string | `"128Mi"` | | | alfresco-control-center.securityContext.capabilities.drop[0] | string | `"NET_RAW"` | | | alfresco-control-center.securityContext.capabilities.drop[1] | string | `"ALL"` | | | alfresco-control-center.securityContext.runAsNonRoot | bool | `true` | | @@ -98,9 +98,9 @@ Please refer to the [documentation](https://github.com/Alfresco/acs-deployment/b | alfresco-digital-workspace.nodeSelector | object | `{}` | | | alfresco-digital-workspace.registryPullSecrets[0] | string | `"{{ $.Values.global.alfrescoRegistryPullSecrets }}"` | | | alfresco-digital-workspace.resources.limits.cpu | string | `"1"` | | -| alfresco-digital-workspace.resources.limits.memory | string | `"1024Mi"` | | -| alfresco-digital-workspace.resources.requests.cpu | string | `"0.25"` | | -| alfresco-digital-workspace.resources.requests.memory | string | `"256Mi"` | | +| alfresco-digital-workspace.resources.limits.memory | string | `"512Mi"` | | +| alfresco-digital-workspace.resources.requests.cpu | string | `"0.1"` | | +| alfresco-digital-workspace.resources.requests.memory | string | `"128Mi"` | | | alfresco-digital-workspace.securityContext.capabilities.drop[0] | string | `"NET_RAW"` | | | alfresco-digital-workspace.securityContext.capabilities.drop[1] | string | `"ALL"` | | | alfresco-digital-workspace.securityContext.runAsNonRoot | bool | `true` | | @@ -109,7 +109,7 @@ Please refer to the [documentation](https://github.com/Alfresco/acs-deployment/b | alfresco-repository.configuration.db.existingConfigMap.name | string | `"alfresco-infrastructure"` | | | alfresco-repository.configuration.db.existingSecret.name | string | `"alfresco-cs-database"` | | | alfresco-repository.configuration.messageBroker.existingConfigMap.name | string | `"alfresco-infrastructure"` | | -| alfresco-repository.configuration.messageBroker.existingSecret.name | string | `"alfresco-cs-database"` | | +| alfresco-repository.configuration.messageBroker.existingSecret.name | string | `"acs-alfresco-cs-brokersecret"` | | | alfresco-repository.configuration.repository.existingConfigMap | string | `"repository"` | | | alfresco-repository.configuration.repository.existingSecrets[0].key | string | `"license.lic"` | | | alfresco-repository.configuration.repository.existingSecrets[0].name | string | `"repository-secrets"` | | @@ -121,7 +121,7 @@ Please refer to the [documentation](https://github.com/Alfresco/acs-deployment/b | alfresco-repository.configuration.search.existingSecret.keys.password | string | `"SEARCH_PASSWORD"` | | | alfresco-repository.configuration.search.existingSecret.keys.username | string | `"SEARCH_USERNAME"` | | | alfresco-repository.configuration.search.existingSecret.name | string | `"alfresco-search-secret"` | | -| alfresco-repository.configuration.search.flavor | string | `"solr6"` | | +| alfresco-repository.configuration.search.flavor | string | `"elasticsearch"` | | | alfresco-repository.image.repository | string | `"quay.io/alfresco/alfresco-content-repository"` | | | alfresco-repository.image.tag | string | `"23.2.0-M1"` | | | alfresco-repository.nameOverride | string | `"alfresco-repository"` | | @@ -129,7 +129,7 @@ Please refer to the [documentation](https://github.com/Alfresco/acs-deployment/b | alfresco-repository.persistence.baseSize | string | `"20Gi"` | | | alfresco-repository.persistence.enabled | bool | `true` | Persist repository data | | alfresco-search-enterprise.ats.existingConfigMap.name | string | `"alfresco-infrastructure"` | | -| alfresco-search-enterprise.enabled | bool | `false` | | +| alfresco-search-enterprise.enabled | bool | `true` | | | alfresco-search-enterprise.liveIndexing.content.image.tag | string | `"4.0.0.1"` | | | alfresco-search-enterprise.liveIndexing.mediation.image.tag | string | `"4.0.0.1"` | | | alfresco-search-enterprise.liveIndexing.metadata.image.tag | string | `"4.0.0.1"` | | @@ -144,7 +144,7 @@ Please refer to the [documentation](https://github.com/Alfresco/acs-deployment/b | alfresco-search-enterprise.search.existingConfigMap.name | string | `"alfresco-infrastructure"` | | | alfresco-search-enterprise.search.existingSecret.name | string | `"alfresco-search-secret"` | | | alfresco-search.alfresco-insight-zeppelin.enabled | bool | `false` | | -| alfresco-search.enabled | bool | `true` | | +| alfresco-search.enabled | bool | `false` | | | alfresco-search.external.host | string | `nil` | Host dns/ip of the external solr6 instance. | | alfresco-search.external.port | string | `nil` | Port of the external solr6 instance. | | alfresco-search.ingress.basicAuth | string | `nil` | Default solr basic auth user/password: admin / admin You can create your own with htpasswd utility & encode it with base64. Example: `echo -n "$(htpasswd -nbm admin admin)" | base64 | tr -d '\n'` basicAuth: YWRtaW46JGFwcjEkVVJqb29uS00kSEMuS1EwVkRScFpwSHB2a3JwTDd1Lg== | @@ -210,6 +210,7 @@ Please refer to the [documentation](https://github.com/Alfresco/acs-deployment/b | database.secretName | string | `"alfresco-cs-database"` | Name of the secret managed by this chart | | database.sync.configMapName | string | `"alfresco-infrastructure"` | Name of the secret managed by this chart | | database.sync.driver | string | `nil` | Postgresql jdbc driver name ex: org.postgresql.Driver. It should be available in the container image. | +| database.sync.existingSecretName | string | `nil` | An existing secret that contains DATABASE_USERNAME and DATABASE_PASSWORD keys. | | database.sync.password | string | `nil` | External Postgresql database password | | database.sync.secretName | string | `"alfresco-cs-sync"` | Name of the secret managed by this chart | | database.sync.url | string | `nil` | External Postgresql jdbc url ex: `jdbc:postgresql://oldfashioned-mule-postgresql-acs:5432/alfresco` | @@ -235,7 +236,7 @@ Please refer to the [documentation](https://github.com/Alfresco/acs-deployment/b | dtas.image.repository | string | `"quay.io/alfresco/alfresco-deployment-test-automation-scripts"` | | | dtas.image.tag | string | `"v1.5.1"` | | | elasticsearch.clusterHealthCheckParams | string | `"wait_for_status=yellow&timeout=1s"` | | -| elasticsearch.enabled | bool | `false` | Enables the embedded elasticsearch cluster | +| elasticsearch.enabled | bool | `true` | Enables the embedded elasticsearch cluster | | elasticsearch.replicas | int | `1` | | | global.alfrescoRegistryPullSecrets | string | `nil` | If a private image registry a secret can be defined and passed to kubernetes, see: https://github.com/Alfresco/acs-deployment/blob/a924ad6670911f64f1bba680682d266dd4ea27fb/docs/helm/eks-deployment.md#docker-registry-secret | | global.known_urls | list | `["https://localhost","http://localhost"]` | list of trusted URLs. URLs a re used to configure Cross-origin protections Also the first entry is considered the main hosting domain of the platform. | @@ -243,16 +244,22 @@ Please refer to the [documentation](https://github.com/Alfresco/acs-deployment/b | global.mail.host | string | `nil` | SMTP server to use for the system to send outgoing email | | global.mail.port | int | `587` | SMTP server port | | global.mail.protocol | string | `"smtp"` | SMTP protocol to use. Either smtp or smtps | +| global.search.existingSecretName | string | `nil` | Name of an existing secret that contains SOLR_SECRET key when flavour is solr6 or SEARCH_USERNAME and SEARCH_PASSWORD keys. | | global.search.flavor | string | `nil` | set the type of search service used externally (solr6 or elasticsearch) | +| global.search.password | string | `nil` | Set password for authentication against the external elasticsearch service | | global.search.secretName | string | `"alfresco-search-secret"` | Name of the secret managed by this chart | | global.search.securecomms | string | `"secret"` | set the security level used with the external search service (secret, none or https) | | global.search.sharedSecret | string | `nil` | Mandatory secret to provide when using Solr search with 'secret' security level | | global.search.url | string | `nil` | set this URL if you have an external search service | +| global.search.username | string | `nil` | Set username for authentication against the external elasticsearch service | | global.strategy.rollingUpdate.maxSurge | int | `1` | | | global.strategy.rollingUpdate.maxUnavailable | int | `0` | | | infrastructure.configMapName | string | `"alfresco-infrastructure"` | | -| messageBroker | object | `{"password":null,"secretName":"acs-alfresco-cs-brokersecret","url":null,"user":null}` | Activemq connection details (activemq.enabled must also be set to false) | +| messageBroker.existingSecretName | string | `nil` | Name of an existing secret that contains BROKER_USERNAME and BROKER_PASSWORD keys. | +| messageBroker.password | string | `nil` | External message broker password | | messageBroker.secretName | string | `"acs-alfresco-cs-brokersecret"` | Name of the secret managed by this chart | +| messageBroker.url | string | `nil` | Enable using an external message broker for Alfresco Content Services. Must disable `activemq.enabled`. | +| messageBroker.user | string | `nil` | External message broker user | | postgresql-sync.auth.database | string | `"syncservice-postgresql"` | | | postgresql-sync.auth.enablePostgresUser | bool | `false` | | | postgresql-sync.auth.password | string | `"admin"` | | diff --git a/helm/alfresco-content-services/community_values.yaml b/helm/alfresco-content-services/community_values.yaml index e232bf40b..79e51f8d9 100644 --- a/helm/alfresco-content-services/community_values.yaml +++ b/helm/alfresco-content-services/community_values.yaml @@ -8,11 +8,19 @@ alfresco-repository: persistence: accessModes: - ReadWriteOnce + configuration: + search: + flavor: solr6 +alfresco-search-enterprise: + enabled: false +elasticsearch: + enabled: false share: image: repository: alfresco/alfresco-share tag: 23.1.1 alfresco-search: + enabled: true searchServicesImage: repository: alfresco/alfresco-search-services tag: 2.0.9 @@ -33,8 +41,6 @@ alfresco-transform-service: replicaCount: 1 filestore: enabled: false -alfresco-search-enterprise: - enabled: false alfresco-digital-workspace: enabled: false alfresco-sync-service: diff --git a/helm/alfresco-content-services/templates/_helpers-search.tpl b/helm/alfresco-content-services/templates/_helpers-search.tpl index 98f915164..e6d7e7696 100644 --- a/helm/alfresco-content-services/templates/_helpers-search.tpl +++ b/helm/alfresco-content-services/templates/_helpers-search.tpl @@ -9,11 +9,21 @@ Usage: include "alfresco-content-services.search.flavor" $ {{- if .global.search.flavor }} {{- .global.search.flavor }} {{- else if (index . "alfresco-search-enterprise" "enabled") }} + {{- if eq (index . "alfresco-repository" "configuration" "search" "flavor") "elasticsearch" }} {{- print "elasticsearch" }} + {{- else if not (index . "alfresco-search" "enabled") }} + {{ fail ".Values.alfresco-repository.search.flavor must be set to elasticsearch" }} + {{- else }} + {{- print "solr6" }}{{/* migration scenario when both engines are enabled */}} + {{- end }} {{- else if (index . "alfresco-search" "enabled") }} + {{- if eq (index . "alfresco-repository" "configuration" "search" "flavor") "solr6" }} {{- print "solr6" }} + {{- else }} + {{ fail ".Values.alfresco-repository.search.flavor must be set to solr6" }} + {{- end }} {{- else }} - {{- print "noindex" }} + {{- print "noindex" }} {{- end }} {{- end }} {{- end -}} diff --git a/helm/alfresco-content-services/templates/config-infrastructure.yaml b/helm/alfresco-content-services/templates/config-infrastructure.yaml index 44f3af2d9..d37a3756f 100644 --- a/helm/alfresco-content-services/templates/config-infrastructure.yaml +++ b/helm/alfresco-content-services/templates/config-infrastructure.yaml @@ -29,14 +29,14 @@ data: {{- $search_url = printf "http://%s/solr" (include "alfresco-search-service.deployment.name" .) }} {{- else if eq "elasticsearch" $search_flavor }} {{- with .Values.elasticsearch }} - {{- if .enabled }} - {{- $esProto := .protocol | default "http" }} - {{- $esHost := printf "%s-%s" (.clusterName | default "elasticsearch") (.nodeGroup | default "master") }} - {{- $esPort := .port | default 9200 }} - {{- $search_url = coalesce $.Values.global.search.url (printf "%s://%s:%v" $esProto $esHost $esPort) }} - {{- else }} - {{- fail "Chart is configured to use Alfresco Search Enterprise but no index backend has been provided. Set one using either global.search.url or elasticsearch.enabled" }} - {{- end }} + {{- if .enabled }} + {{- $esProto := .protocol | default "http" }} + {{- $esHost := printf "%s-%s" (.clusterName | default "elasticsearch") (.nodeGroup | default "master") }} + {{- $esPort := .port | default 9200 }} + {{- $search_url = coalesce $.Values.global.search.url (printf "%s://%s:%v" $esProto $esHost $esPort) }} + {{- else }} + {{- fail "Chart is configured to use Alfresco Search Enterprise but no index backend has been provided. Set one using either global.search.url or elasticsearch.enabled" }} + {{- end }} {{- end }} {{- $search_comms := "" }} {{- if hasPrefix "https://" $search_url }} diff --git a/helm/alfresco-content-services/templates/secret-message-broker.yaml b/helm/alfresco-content-services/templates/secret-message-broker.yaml index 531d54ff5..823d98d79 100644 --- a/helm/alfresco-content-services/templates/secret-message-broker.yaml +++ b/helm/alfresco-content-services/templates/secret-message-broker.yaml @@ -18,6 +18,4 @@ data: BROKER_PASSWORD: {{ .password | default "" | b64enc | quote }} {{- end }} {{- end }} - {{/* required until OPSEXP-2301, OPSEXP-2300 & OPSEXP-2293 */}} - BROKER_URL: {{ include "alfresco-content-services.mq.url" . | b64enc | quote }} {{- end }} diff --git a/helm/alfresco-content-services/templates/secret-search.yaml b/helm/alfresco-content-services/templates/secret-search.yaml index 66df3843f..228f652af 100644 --- a/helm/alfresco-content-services/templates/secret-search.yaml +++ b/helm/alfresco-content-services/templates/secret-search.yaml @@ -1,3 +1,4 @@ +{{- if not .Values.global.search.existingSecretName }} {{- $search_flavor := (include "alfresco-content-services.search.flavor" .) }} {{- if ne "noindex" $search_flavor }} {{- with .Values.global.search }} @@ -9,10 +10,12 @@ metadata: {{- include "alfresco-content-services.labels" $ | nindent 4 }} type: Opaque data: +{{- if eq "solr6" $search_flavor }} SOLR_SECRET: {{ .sharedSecret | default "" | b64enc | quote }} -{{- if eq "elasticsearch" (include "alfresco-content-services.search.flavor" $) }} +{{- else if eq "elasticsearch" $search_flavor }} SEARCH_USERNAME: {{ .username | default "" | b64enc | quote }} SEARCH_PASSWORD: {{ .password | default "" | b64enc | quote }} {{- end }} {{- end }} {{- end }} +{{- end }} diff --git a/helm/alfresco-content-services/templates/secret-sync-database.yaml b/helm/alfresco-content-services/templates/secret-sync-database.yaml index 6fbbf2de7..635ce086c 100644 --- a/helm/alfresco-content-services/templates/secret-sync-database.yaml +++ b/helm/alfresco-content-services/templates/secret-sync-database.yaml @@ -1,4 +1,4 @@ -{{- if index . "Values" "alfresco-sync-service" "enabled" }} +{{- if and (index . "Values" "alfresco-sync-service" "enabled") (not .Values.database.sync.existingSecretName) }} apiVersion: v1 kind: Secret metadata: diff --git a/helm/alfresco-content-services/tests/config-infra_test.yaml b/helm/alfresco-content-services/tests/config-infra_test.yaml index c2f1a5c00..61ead3652 100644 --- a/helm/alfresco-content-services/tests/config-infra_test.yaml +++ b/helm/alfresco-content-services/tests/config-infra_test.yaml @@ -31,6 +31,10 @@ tests: - it: should render the default infra (solr) values: *testvalues + set: + alfresco-search.enabled: true + alfresco-search-enterprise.enabled: false + alfresco-repository.configuration.search.flavor: solr6 asserts: - equal: path: data.BROKER_URL @@ -128,10 +132,11 @@ tests: - failedTemplate: errorMEssage: >- Alfresco Search Enterprise has been enabled but Transformation service is not available + - it: should fail rendering charts for enterprise components without ATS enterprise values: *testvalues set: - elasticsearch.enabled: true + alfresco-search-enterprise.enabled: false alfresco-ai-transformer.enabled: true alfresco-transform-service.filestore.enabled: false asserts: diff --git a/helm/alfresco-content-services/tests/search_test.yaml b/helm/alfresco-content-services/tests/search_test.yaml index 98a2d3ff8..5b6e676e1 100644 --- a/helm/alfresco-content-services/tests/search_test.yaml +++ b/helm/alfresco-content-services/tests/search_test.yaml @@ -4,9 +4,18 @@ templates: - config-infrastructure.yaml - secret-search.yaml tests: - - it: should render default config (solr6 with secret) + - it: should render solr6 with secret values: &testvalues - values/test_values.yaml + set: + alfresco-search: + enabled: true + alfresco-search-enterprise: + enabled: false + alfresco-repository: + configuration: + search: + flavor: solr6 template: config-infrastructure.yaml asserts: - equal: @@ -31,13 +40,22 @@ tests: - equal: path: data.SOLR_BASE_URL value: /solr - - it: should render an external config + + - it: should render an external config with solr values: *testvalues set: global: search: url: https://mysearch.domain.tld:8984/search sharedSecret: supersecret + alfresco-search: + enabled: true + alfresco-search-enterprise: + enabled: false + alfresco-repository: + configuration: + search: + flavor: solr6 template: config-infrastructure.yaml asserts: - equal: @@ -62,6 +80,7 @@ tests: - equal: path: data.SOLR_BASE_URL value: /search + - it: should render an enterprise search config (embedded) values: *testvalues set: @@ -88,6 +107,7 @@ tests: - equal: path: data.SEARCH_FLAVOR value: elasticsearch + - it: should not render a secret render property with default credentials values: *testvalues set: @@ -99,13 +119,12 @@ tests: - hasDocuments: count: 0 template: secret-search.yaml + - it: Should complain on missing search index values: *testvalues set: - alfresco-search: + elasticsearch: enabled: false - alfresco-search-enterprise: - enabled: true template: config-infrastructure.yaml asserts: - failedTemplate: @@ -113,3 +132,46 @@ tests: Chart is configured to use Alfresco Search Enterprise but no index backend has been provided. Set one using either global.search.url or elasticsearch.enabled + + - it: Should complain on search flavour mismatch + values: *testvalues + set: + alfresco-search: + enabled: true + alfresco-search-enterprise: + enabled: false + asserts: + - failedTemplate: + errorMessage: >- + .Values.alfresco-repository.search.flavor must be set to solr6 + template: secret-search.yaml + + - it: Should complain on search flavour mismatch (elasticsearch) + values: *testvalues + set: + alfresco-repository: + configuration: + search: + flavor: solr6 + asserts: + - failedTemplate: + errorMessage: >- + .Values.alfresco-repository.search.flavor must be set to elasticsearch + template: secret-search.yaml + + - it: Should allow fallback on solr when both are enabled + values: *testvalues + set: + alfresco-search: + enabled: true + alfresco-search-enterprise: + enabled: true + alfresco-repository: + configuration: + search: + flavor: solr6 + asserts: + - equal: + path: data.SEARCH_FLAVOR + value: solr6 + template: config-infrastructure.yaml diff --git a/helm/alfresco-content-services/values.yaml b/helm/alfresco-content-services/values.yaml index 51e8c1cf7..2fa370669 100644 --- a/helm/alfresco-content-services/values.yaml +++ b/helm/alfresco-content-services/values.yaml @@ -53,8 +53,14 @@ global: securecomms: secret # -- Mandatory secret to provide when using Solr search with 'secret' security level sharedSecret: null + # -- Set username for authentication against the external elasticsearch service + username: null + # -- Set password for authentication against the external elasticsearch service + password: null # -- Name of the secret managed by this chart secretName: &acs_search_secretName alfresco-search-secret + # -- Name of an existing secret that contains SOLR_SECRET key when flavour is solr6 or SEARCH_USERNAME and SEARCH_PASSWORD keys. + existingSecretName: null # -- If a private image registry a secret can be defined and passed to # kubernetes, see: # https://github.com/Alfresco/acs-deployment/blob/a924ad6670911f64f1bba680682d266dd4ea27fb/docs/helm/eks-deployment.md#docker-registry-secret @@ -94,13 +100,19 @@ database: configMapName: *infrastructure_cmName # -- Name of the secret managed by this chart secretName: &sync_database_secretName alfresco-cs-sync -# -- Activemq connection details (activemq.enabled must also be set to false) + # -- An existing secret that contains DATABASE_USERNAME and DATABASE_PASSWORD keys. + existingSecretName: null messageBroker: + # -- Enable using an external message broker for Alfresco Content Services. Must disable `activemq.enabled`. url: null + # -- External message broker user user: null + # -- External message broker password password: null # -- Name of the secret managed by this chart secretName: &acs_messageBroker_secretName acs-alfresco-cs-brokersecret + # -- Name of an existing secret that contains BROKER_USERNAME and BROKER_PASSWORD keys. + existingSecretName: null alfresco-repository: nameOverride: alfresco-repository image: @@ -125,9 +137,9 @@ alfresco-repository: existingConfigMap: name: *infrastructure_cmName existingSecret: - name: *acs_database_secretName + name: *acs_messageBroker_secretName search: - flavor: solr6 + flavor: elasticsearch existingConfigMap: name: *infrastructure_cmName existingSecret: @@ -262,7 +274,7 @@ share: # service port port: repo_svc_port alfresco-search: - enabled: true + enabled: false repository: existingConfigMap: name: *infrastructure_cmName @@ -303,7 +315,7 @@ alfresco-search: # hosts: # - chart-example.local alfresco-search-enterprise: - enabled: false + enabled: true search: existingConfigMap: name: *infrastructure_cmName @@ -375,11 +387,11 @@ alfresco-digital-workspace: - ALL resources: requests: - cpu: "0.25" - memory: "256Mi" + cpu: "0.1" + memory: "128Mi" limits: cpu: "1" - memory: "1024Mi" + memory: "512Mi" alfresco-control-center: nodeSelector: {} enabled: true @@ -413,11 +425,11 @@ alfresco-control-center: - ALL resources: requests: - cpu: "0.25" - memory: "256Mi" + cpu: "0.1" + memory: "128Mi" limits: cpu: "1" - memory: "1024Mi" + memory: "512Mi" postgresql: # -- Toggle embedded postgres for Alfresco Content Services repository # Check [PostgreSQL Bitnami chart @@ -535,7 +547,7 @@ alfresco-ai-transformer: name: *acs_messageBroker_secretName elasticsearch: # -- Enables the embedded elasticsearch cluster - enabled: false + enabled: true replicas: 1 clusterHealthCheckParams: "wait_for_status=yellow&timeout=1s" diff --git a/test/enterprise-integration-test-values.yaml b/test/enterprise-integration-test-values.yaml index c4d88a7ab..a5fc9eed1 100644 --- a/test/enterprise-integration-test-values.yaml +++ b/test/enterprise-integration-test-values.yaml @@ -36,8 +36,24 @@ alfresco-search: limits: cpu: "2" memory: "1280Mi" +elasticsearch: + esJavaOpts: "-Xmx512m -Xms512m" + resources: + requests: + cpu: "0.01" + memory: "512Mi" + limits: + cpu: "1" + memory: "1Gi" +alfresco-search-enterprise: + resources: + requests: + cpu: "0.01" + memory: "128Mi" + limits: + cpu: "1" + memory: "1Gi" alfresco-transform-service: - enabled: true pdfrenderer: livenessProbe: initialDelaySeconds: 30 @@ -116,16 +132,24 @@ postgresql: limits: cpu: "2" memory: "1Gi" +postgresql-sync: &postgresql-sync + primary: + resources: + requests: + cpu: "0.01" + memory: "512Mi" + limits: + cpu: "2" + memory: "1Gi" alfresco-sync-service: - postgresql: - primary: - resources: - requests: - cpu: "0.01" - memory: "512Mi" - limits: - cpu: "2" - memory: "1Gi" + resources: + requests: + cpu: "0.01" + memory: "512Mi" + limits: + cpu: "2" + memory: "1Gi" + postgresql: *postgresql-sync alfresco-ai-transformer: enabled: true replicaCount: 1 @@ -135,5 +159,22 @@ alfresco-ai-transformer: s3Bucket: somebucket region: us-east-1 comprehendRoleARN: arn:aws:iam::000000000000:user/comprehend + resources: + requests: + cpu: "0.01" + memory: "512Mi" +activemq: + resources: + requests: + cpu: "0.01" + memory: "512Mi" +alfresco-digital-workspace: + resources: + requests: + cpu: "0.01" +alfresco-control-center: + resources: + requests: + cpu: "0.01" dtas: enabled: true diff --git a/test/postman/helm/acs-test-helm-collection.json b/test/postman/helm/acs-test-helm-collection.json index c2692dfff..398abcae2 100644 --- a/test/postman/helm/acs-test-helm-collection.json +++ b/test/postman/helm/acs-test-helm-collection.json @@ -677,85 +677,6 @@ }, "response": [] }, - { - "name": "solr-validation", - "event": [ - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "pm.globals.get(\"url\");", - "", - "/* Search and discovery team needs to add solr tests here", - "the following failed while they worked on the insight-engine integration", - "*/", - "", - " ", - "pm.test(\"solrStatusCodeTest\", function () {", - " pm.response.to.have.status(200);", - "});", - "", - "pm.test(\"solrResponseTest\", function() {", - " var jsonData = pm.response.json();", - " var modulesArray= jsonData.resultset.queryInfo;", - " for(var key in modulesArray)", - " {", - " var obj = modulesArray[key];", - " var id = obj.numberFound;", - " console.log(id);", - " pm.expect(id).to.be.eql(\"189\");", - " } ", - "});", - "", - "" - ] - } - } - ], - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "admin", - "type": "string" - }, - { - "key": "password", - "value": "admin", - "type": "string" - }, - { - "key": "saveHelperData", - "type": "any" - }, - { - "key": "showPassword", - "value": false, - "type": "boolean" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "{{protocol}}://{{url}}/alfresco/s/api/solrstats", - "protocol": "{{protocol}}", - "host": [ - "{{url}}" - ], - "path": [ - "alfresco", - "s", - "api", - "solrstats" - ] - } - }, - "response": [] - }, { "name": "share-alfresco-proxy", "event": [