This project contains the code for starting the entire Alfresco Content Services (ACS) product with Docker using Docker Compose or Kubernetes using Helm Charts.
By default the Enterprise version of ACS is installed. To accomplish this private Docker images stored in Quay.io are downloaded. Alfresco customers can request Quay.io credentials by logging a ticket with Alfresco Support.
The images downloaded directly from Docker Hub, or Quay.io are for a limited trial of the Enterprise version of Alfresco Content Services that goes into read-only mode after 2 days. If you'd like to try Alfresco Content Services for a longer period, request the 30-day Download Trial.
To avoid license restrictions and private Docker images follow the instructions to deploy the Community Edition.
NOTE: The versioning strategy used in this project has changed, if you have previously used this project please read this section carefully!
The master branch of this repository now contains the artifacts required to deploy both the the latest work-in-progress development version and previous stable versions of ACS.
The default behaviour of the deployment scripts is to use the latest work-in-progress development version however, individual files are now provided to deploy the latest hot fix version of each major.minor version of ACS. The support/*
branches will remain in place but will no longer be maintained.
A new version numbering scheme is also being introduced, during the development phase one or more milestone releases will be produced indicated by an M
suffix, for example "5.0.0-M1". Once feature complete one or more RC releases will be produced followed by the final GA release. Upon release the repository will be tagged with the release number.
The table below shows the exact version of ACS deployed with each chart version/tag.
Chart Version/Tag | Default | 7.3.N | 7.2.N | 7.1.N | 7.0.N | Community |
---|---|---|---|---|---|---|
5.0.0-M1 | 7.0.0-M2 | 6.2.1-A8 | ||||
5.0.0-M2 | 7.0.0-M3 | 7.0.0 | ||||
5.0.0 | 7.0.0 | 7.0.0 | ||||
5.0.1 | 7.0.0 | 7.0.0 | ||||
5.1.0-M1 | 7.1.0-M1 | 7.1.0-M1 | ||||
5.1.0-M2 | 7.1.0-M2 | 7.0.1 | 7.1.0-M2 | |||
5.1.0 | 7.1.0.1 | 7.0.1 | 7.1.0 | |||
5.1.1 | 7.1.0.1 | 7.0.1 | 7.1.0 | |||
5.2.0-M1 | 7.2.0-M1 | 7.1.0.1 | 7.0.1 | 7.2.0-M1 | ||
5.2.0-M2 | 7.2.0-M2 | 7.1.1 | 7.0.1 | 7.2.0-M2 | ||
5.2.0 | 7.2.0 | 7.1.1 | 7.0.1 | 7.2.0 | ||
5.3.0-M1 | 23.1.0-M1 | 7.2.1 | 7.1.1.5 | 7.0.1.3 | 23.1.0-M1 | |
5.3.0-M2 | 7.3.0-M1 | 7.2.1 | 7.1.1.5 | 7.0.1.3 | 7.3.0-M2 | |
5.3.0-M3 | 7.3.0-M2 | 7.2.1 | 7.1.1.5 | 7.0.1.3 | 7.3.0-M2 | |
5.3.0 | 7.3.0 | 7.2.1 | 7.1.1.5 | 7.0.1.3 | 7.3.0 | |
5.4.0-M1 | 7.4.0-M1 | 7.3.0.1 | 7.2.1.5 | 7.1.1.7 | 7.0.1.9 | 7.4.0-M1 |
5.4.0-M2 | 7.4.0-M2 | 7.3.1 | 7.2.1.7 | 7.1.1.8 | 7.0.1.10 | 7.4.0-M2 |
5.4.0-M3 | 7.4.0-M3 | 7.3.1 | 7.2.1.7 | 7.1.1.8 | 7.0.1.10 | 7.4.0-M3 |
While our latest version of the charts should be able to deployment any version of ACS (theoretically), we only ever test deployment of currently supported versions. Also we do not provide values files for older unsupported version. If you need to deploy old version we provide a reference table below to allow you find the older values files and charts. You can either try using the values file for a version with the latest charts or using the old charts.
unsupported ACS version | Last chart version providing it |
---|---|
6.2 | 5.3.0 |
6.1 | 5.1.1 |
These charts are mentioned for reference but are not supported.
The default docker compose file contains the latest work-in-progress deployment scripts and installs the latest development version of ACS.
To deploy a specific version of ACS several specific major.minor docker compose files are provided.
Our tests are executed using the latest version of Docker and Docker Compose provided by GitHub Actions.
Version 5.3.0 changes the way the default persistence is set up for the PostgreSQL database. If you did not customize the database persistance (which was not recommended for serious workloads). Please take a look at this before trying to upgrade.
Version 5.0.0 and later of the ACS Helm chart has been updated to be version agnostic, meaning the same chart can now be used to deploy different versions of ACS.
By default the latest version of the chart will always deploy the latest development version of ACS. A set of values files are also provided that can be used to deploy a specific major.minor version.
NOTE: As the Helm chart no longer deploys a specific version of ACS the appVersion
property within the chart is longer be specified.
Our tests are executed using Helm 3.5.4, kubectl 1.18.9 against an EKS cluster running Kubernetes 1.21.
To get started please refer to the Docker Compose and Helm Chart documentation.
The code in this repository is released under the Apache License, see the LICENSE file for details.
Please use this guide to make a contribution to the project and information to report any issues.
Open a PR that will:
- Update the versioning table
- If any updates to the updatecli pipelines is required then make the changes and raise the PR.
- Once the PR merge then run the manually updatecli-workflow
- That will create the bump version PR automatically.
- In alfresco-content-services,
bump chart version to the next stable release (usually by removing the
-SNAPSHOT
suffix and adding-Mx
suffix if it's a prerelease) - For every chart using
alfresco-common
(alfresco-content-services and every subchart) which has it as a dependency:- Bump version to the new
alfresco-common
stable version - Switch
repository
tohttps://kubernetes-charts.alfresco.com/stable
- Bump version to the new
- Bump each subchart version to the next stable release (usually by removing the
-SNAPSHOT
suffix) - Run
pre-commit run --all-files helm-docs
to update docs
Once the PR has been merged, create and push the signed tag with:
git tag -f -s vx.x.x -m vx.x.x
git push origin vx.x.x
where vx.x.x
is the alfresco-content-services
version.
Once the tagged workflow is successful, publish the new release on GitHub.
Now proceed and open a PR to move back to development version:
- In alfresco-common, bump chart version to
the next development release (usually by increasing the minor version and adding
the
-SNAPSHOT
suffix) - In alfresco-content-services,
bump chart version to the next development release (usually by increasing the
minor version and adding the
-SNAPSHOT
suffix) - For every chart using
alfresco-common
(alfresco-content-services and every subchart) which has it as a dependency:- Bump version to the new
alfresco-common
development version - Switch
repository
back tohttps://kubernetes-charts.alfresco.com/incubator
- Bump version to the new
- Bump each subchart version to the next development release (usually by
increasing the minor version and adding the
-SNAPSHOT
suffix) - Run
pre-commit run --all-files helm-docs
to update docs
Once the PR has been merged, overwrite and push the signed mutable tag with:
git tag -d vx.x.x-SNAPSHOT
git tag -f -s vx.x.x-SNAPSHOT -m vx.x.x-SNAPSHOT
git push origin vx.x.x-SNAPSHOT --force
Once the tagged workflow is successful, the release process has completed.
- Go to the
docs/docker-compose/diagrams
and/ordocs/helm/diagrams
folders of the repository and there you will find 2 plantuml source files and their PNG diagram files. - Update the plantuml(.puml) files for enterprise/community edition with latest changes as required.
- Once you are done with the changes, you can generate the diagrams with 2 ways.
- You can update the diagrams with cli method by running the below command. You need to have Java and Plantuml installed on your machine.
java -jar plantuml.jar filename
- The other way to generate the diagrams is via official plantuml website. Go to the below url and paste your puml code and click on submit.
http://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000