This installation guide will change over time since anya will gradually abstract away all the setup for you.
kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:defaultkubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=[your-user-email-address]You are getting your user email address at the providers IAM user configurations page. This is not trivial, the command is case sensitive.
Set your current cluster context to the cluster you just created. Save this context as an environment variable under $KUBE_CONTEXT so that the helmsman-config/setup.toml file can grab your cluster context from it.
anya uses Helmsman to deploy its components to your Kubernetes cluster. Helmsman utilizes Helm and Helm-diff.
curl -L https://github.com/Praqma/helmsman/releases/download/v1.6.2/helmsman_1.6.2_linux_amd64.tar.gz | tar zxmv helmsman /usr/local/bin/helmsman # GOPATH helm plugin install https://github.com/databus23/helm-diff --version masterFor the communication with GitHub and to access your code repositories, anya needs to get registered as an authorized application (GitHub App). Please, follow the instructions to create a GitHub App.
SharedSecretanya.yourBusiness.com. The full webhook URL would look like this: https://anya.yourBusiness.com/events/githubSet the following permissions:
The anya GitHub App needs to subscribe to some events of your repositories:
Copy the templates-files of helmsman-config/templates into helmsman-config.
Remove the substring .template from the files.
The most important file is anya-values.yaml; here you are defining your repositories to deploy your applications (projects).
You find a detailed explanation on how to configure your projects here: Configuration Files
make helmsman-plan to watch for error in your configurationmake helmsman-apply to deploy anya to your cluster. You can run this command repeatedly.Copy the folder pipeline-config/anya in all of your repositories that should use anya. There are 2 files:
test.yaml: Specify the commands to run for the test stage. Note: all the required test scripts need to be present in your container.deploy.yaml: Turn on Slack notifications, automatic deployments, or automatic deletion of old preview deployments.All options are turned off, if not specified otherwise.