alfresco-anaxes-shipyard
alfresco-anaxes-shipyard copied to clipboard
Guidelines and artifacts to produce Alfresco-related deliverables for deployment into Kubernetes.
This project has now been Archived
Welcome to Anaxes Shipyard
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.
What's in This Project?
This section describes the parts Anaxes Shipyard is comprised of and provides links to where you'll find more information.
Guidelines
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.
Docker Images
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 Charts
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.
Architectural Decision Records (ADRs)
Every architectural decision made as part of this project is being documented as an ADR, you can find them here.
Getting Started
How to Run a Kubernetes Cluster
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.
Pulling Protected Images
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
Check Out the Hello World App Example
To practically demonstrate the use of the guidelines and artifacts generated by Anaxes Shipyard a Hello World App has been produced.
Tips and Tricks
During development of the project we had some findings about how to do things easier. We documented them here.
Contributing to Anaxes Shipyard
We encourage and welcome contributions to this project. For further details please check the contributing file.