{"id":18687556,"url":"https://github.com/alfresco/alfresco-process-infrastructure-deployment","last_synced_at":"2026-04-01T17:35:36.465Z","repository":{"id":38085474,"uuid":"229105965","full_name":"Alfresco/alfresco-process-infrastructure-deployment","owner":"Alfresco","description":"Helm chart to deploy the AAE infrastructure","archived":false,"fork":false,"pushed_at":"2026-03-31T09:45:49.000Z","size":10923,"stargazers_count":7,"open_issues_count":2,"forks_count":4,"subscribers_count":57,"default_branch":"develop","last_synced_at":"2026-03-31T11:38:03.281Z","etag":null,"topics":["aae","activiti","alfresco-activiti-enterprise","apa","helm","helm-chart","hxp-bdu","hxps","kubernetes","product-aae"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Alfresco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-12-19T17:28:23.000Z","updated_at":"2026-03-31T09:39:33.000Z","dependencies_parsed_at":"2026-01-17T08:00:46.274Z","dependency_job_id":null,"html_url":"https://github.com/Alfresco/alfresco-process-infrastructure-deployment","commit_stats":null,"previous_names":[],"tags_count":6321,"template":false,"template_full_name":null,"purl":"pkg:github/Alfresco/alfresco-process-infrastructure-deployment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alfresco%2Falfresco-process-infrastructure-deployment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alfresco%2Falfresco-process-infrastructure-deployment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alfresco%2Falfresco-process-infrastructure-deployment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alfresco%2Falfresco-process-infrastructure-deployment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alfresco","download_url":"https://codeload.github.com/Alfresco/alfresco-process-infrastructure-deployment/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alfresco%2Falfresco-process-infrastructure-deployment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aae","activiti","alfresco-activiti-enterprise","apa","helm","helm-chart","hxp-bdu","hxps","kubernetes","product-aae"],"created_at":"2024-11-07T10:33:16.560Z","updated_at":"2026-04-01T17:35:36.436Z","avatar_url":"https://github.com/Alfresco.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# alfresco-process-infrastructure\n\n[![Build Status](https://travis-ci.com/Alfresco/alfresco-process-infrastructure-deployment.svg?branch=develop)](https://travis-ci.com/Alfresco/alfresco-process-infrastructure-deployment)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/pre-commit/pre-commit)\n\nHelm chart to install the Alfresco Activiti Enterprise (AAE) infrastructure to model and deploy your process applications:\n\n- Alfresco Identity Service\n- Modeling Service\n- Modeling App\n- Deployment Service\n- Admin App\n- Transformation (Tika) Service\n\nOnce installed, you can deploy new AAE applications:\n\n* via the _Admin App_ using the _Deployment Service_\n* manually customising the [alfresco-process-application](https://github.com/Alfresco/alfresco-process-application-deployment) helm chart.\n\nFor all the available values, see the chart [README.md](helm/alfresco-process-infrastructure/README.md#values).\n\n## Prerequisites\n\n### setup cluster\n\nSetup a Kubernetes cluster following your preferred procedure.\n\n### install helm\n\nInstall the latest version of helm.\n\n### ingress\n\nAn `ingress-nginx` should be installed and bound to an external DNS address, for example:\n\n```\nhelm upgrade -i ingress-nginx ingress-nginx \\\n  --repo https://kubernetes.github.io/ingress-nginx \\\n  -n ingress-nginx --create-namespace\n```\n\n### helm tips\n\nFor any command on helm, please verify the output with `--dry-run` option, then execute without.\n\nTo install from the development chart repo, use `alfresco-incubator` rather than `alfresco` as **CHART_REPO** variable.\n\n### kubectl tips\n\nCheck deployment progress with `kubectl get pods -w -A` until all containers are running.\nIf anything is stuck, check events with `kubectl get events -w -A`.\n\n\n### configure installation namespace\n\n```bash\nexport DESIRED_NAMESPACE=${DESIRED_NAMESPACE:-aae}\nkubectl create ns $DESIRED_NAMESPACE\n```\n\n### add quay-registry-secret\n\nConfigure access to pull images from quay.io in the installation namespace:\n\n```bash\nkubectl create secret \\\n  -n $DESIRED_NAMESPACE \\\n  docker-registry quay-registry-secret \\\n    --docker-server=quay.io \\\n    --docker-username=$QUAY_USERNAME \\\n    --docker-password=$QUAY_PASSWORD\n```\n\nwhere:\n\n* _QUAY_USERNAME_ is your username on Quay\n* _QUAY_PASSWORD_ is your password on Quay\n\n### set main helm env variables\n\n```bash\nexport RELEASE_NAME=aae\nexport CHART_NAME=alfresco-process-infrastructure\nexport HELM_OPTS=\"-n $DESIRED_NAMESPACE\"\n```\n\n### set environment specific variables\n\n#### for localhost\n\nA custom extra values file to add settings for _localhost_ is provided:\n```bash\nexport DOMAIN=host.docker.internal\nHELM_OPTS+=\" -f values-localhost.yaml\"\n```\n\nMake sure your local cluster has at least 16GB of memory and 8 CPUs.\nThe startup might take as much as 10 minutes, use `kubectl get pods -A -w` to check the status.\n\n*NB* if not already present in your `/etc/hosts` file, please add a DNS mapping from `host.docker.internal` to `127.0.0.1`.\n\nIf the hostname `host.docker.internal` is not resolved correctly on some deployments, patch them after calling helm via:\n```bash\nkubectl patch deployment -n $DESIRED_NAMESPACE ${RELEASE_NAME}-alfresco-modeling-service -p \"$(cat deployment-localhost-patch.yaml)\"\n```\n\n#### for a cloud environment\n\n```bash\nexport CLUSTER=aaedev\nexport DOMAIN=$CLUSTER.envalfresco.com\n```\n\n### set helm env variables\n\n```bash\nHELM_OPTS+=\" \\\n  --set global.gateway.domain=$DOMAIN\"\n```\n\n\n### disable alfresco-deployment-service\n\nTo disable alfresco-deployment-service in the infrastructure:\n\n```bash\nHELM_OPTS+=\"\n  --set alfresco-deployment-service.enabled=false\n\"\n```\n\n### Multi-AZ K8S cloud StorageClass for project release\n\nA StorageClass that can work across multiple availability zones need to be available to store project release files per each application:\n* for EKS always use EFS\n* for AKS only if Multi-AZ is configured, use AFS\n\nAdd the helm values to use it:\n\n```bash\nHELM_OPTS+=\"\n  --set alfresco-deployment-service.projectReleaseVolume.storageClass=${STORAGE_CLASS_NAME} \\\n  --set alfresco-deployment-service.projectReleaseVolume.permission=ReadWriteMany\n\"\n```\n\n### Email Connector\n\n***NB***\nIn order to set email connector all the variables need to be set. If these variables are set then deployment service will use these configs as default for any applications deployed. Once these variables are configured at the deployment of chart via Helm customer won’t have the possibility to override these values from the admin app. In case you want to configure email connector variable from admin-app please dont not configure email connector during helm deployment.\n\nAdd the helm properties to configure email connector:\n\n```bash\nHELM_OPTS+=\"\n  --set alfresco-deployment-service.applications.connectors.emailConnector.username=${email_connecor_username}\n  --set alfresco-deployment-service.applications.connectors.emailConnector.password=${email_connector_password}\n  --set alfresco-deployment-service.applications.connectors.emailConnector.host=${email_connector_host}\n  --set alfresco-deployment-service.applications.connectors.emailConnector.port=${email_connector_port}\n\"\n```\n\n### debug and dry run\n\nTo verify the k8s yaml output:\n\n```bash\nHELM_OPTS+=\" --debug --dry-run\"\n```\n\nIf all good then launch again without `--dry-run`.\n\n## launch helm\n\nInstall from the stable repo using a released chart version:\n\n```bash\nhelm upgrade -i --wait \\\n  --repo https://kubernetes-charts.alfresco.com/stable \\\n  $HELM_OPTS $RELEASE_NAME $CHART_NAME\n```\n\nor from the incubator repo for a development chart version:\n\n```bash\nhelm upgrade -i --wait \\\n  --repo https://kubernetes-charts.alfresco.com/incubator \\\n  $HELM_OPTS $RELEASE_NAME $CHART_NAME\n```\n\nor from the current repository directory:\n\n```bash\nhelm repo update\nhelm dependency update helm/$CHART_NAME\nhelm upgrade -i --wait \\\n  $HELM_OPTS $RELEASE_NAME helm/$CHART_NAME\n```\n\n## Testing\n\n### Access IDS\n\nOpen browser and login to IDS:\n```bash\nopen $SSO_URL\n```\n\n### Verify Realm\n\nTo read back the realm from the secret, use:\n```bash\nkubectl get secret \\\n  -n $DESIRED_NAMESPACE \\\n  realm-secret -o jsonpath=\"{['data']['alfresco-realm\\.json']}\" | base64 -D \u003e alfresco-realm.json\n```\n\n### Use an internal Docker Registry\n\nIn an [air gapped](https://en.wikipedia.org/wiki/Air_gap_(networking)) environment where the Kubernetes cluster has no direct access to external image repositories, use a tool like [helm-image-mirror](https://github.com/shashankv02/helm-image-mirror) to tag and push images to your internal registry and modify helm charts with the new image locations.\n\n\n### Use an external PostgreSQL database\n\nModify the file values-external-postgresql.yaml providing values for your external database per each service, then run:\n\n```bash\nHELM_OPTS+=\" -f values-external-postgresql.yaml\"\n```\n\n## CI/CD\n\nRunning on GH Actions.\n\nFor Dependabot PRs to be validated by CI, the label \"CI\" should be added to the PR.\n\nRequires the following secrets to be set:\n\n| Name                                                 | Description                        |\n| ---------------------------------------------------- | ---------------------------------- |\n| BOT_GITHUB_TOKEN                                     | Token to launch other builds on GH |\n| BOT_GITHUB_USERNAME                                  | Username to issue propagation PRs  |\n| RANCHER2_URL                                         | Rancher URL to perform helm tests  |\n| RANCHER2_ACCESS_KEY                                  | Rancher access key                 |\n| RANCHER2_SECRET_KEY                                  | Rancher secret key                 |\n| TEAMS_NOTIFICATION_AUTOMATE_BACKEND_WORKFLOW_WEBHOOK | Webhook to notify Teams on failure |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfresco%2Falfresco-process-infrastructure-deployment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falfresco%2Falfresco-process-infrastructure-deployment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfresco%2Falfresco-process-infrastructure-deployment/lists"}