The purpose of the Anaxes Shipyard project is to provide a set of guidelines, best practices and artifacts Alfresco engineering teams can use to produce deliverables ready for deployment into Kubernetes.
Whilst this project is primarliy aimed at internal engineering teams the contents may also be useful to the community, partners and customers.
This section describes the parts Anaxes Shipyard is comprised of and provides links to where you'll find more information.
To ensure we have a consistent approach to building, deploying and running deliverables from each delivery team we need to have a set of guidelines we all adhere to.
Components of the Alfresco platform should produce Docker images as part of their build and release pipeline. In order to eliminate duplication and provide consistency the Anaxes Shipyard project will define several base Docker images that components can use as the starting point for their images.
The Alfresco base Java docker image defines the starting point for any product/service that requires Java.
Helm is a packaging technology that will be used to deploy Alfresco products to Kubernetes.
Similar to producing Docker images, components should also produce helm charts to package their deliverables. The Anaxes Shipyard project also provides some examples.
Every architectural decision made as part of this project is being documented as an ADR, you can find them here.
To help new starters to get a Kubernetes Cluster up and running quickly we documented the steps required to run it locally or on AWS here.
If a Helm chart needs to pull a protected image, instructions on how to create and use a secret can be found here. For example, the following code would create a quay.io secret called quay-registry-secret:
kubectl create secret docker-registry quay-registry-secret --docker-server=quay.io --docker-username=<your-name> --docker-password=<your-pword> --namespace example
To practically demonstrate the use of the guidelines and artifacts generated by Anaxes Shipyard a Hello World App has been produced.
During development of the project we had some findings about how to do things easier. We documented them here.
We encourage and welcome contributions to this project. For further details please check the contributing file.