Akuity Platform Declarative management
Declarative management of platform-specific settings is implemented using
Use the following steps to start managing existing Argo CD instance managed by the Akuity Platform:
Export existing instance configuration using
akuity argocd export <name> --organization-name <org-name>command:
yqprovides a convenient way to split the output into multiple files.
akuity argocd export demo --organization-name demo | yq -s '.metadata.name' -
Compare local configuration with the current state of the Akuity Platform using
akuity argocd diff <name> --organization-name <org-name>command:
akuity argocd diff demo --organization-name demo -f argocd/demo/
===== argoproj.io/v1alpha1/ArgoCD/demo ======
< description: Demo purposes (https://demo.cd.akuity.cloud/)
> description: Demo purposes
▸ print diff: exit status 1%
Apply changes to the Akuity Platform using
akuity argocd apply -f <configuration-path>command:
akuity argocd apply -f argocd/demo/
The declarative configuration that defines Argo CD instance state has the same format as open-source Argo CD and described
here. The Akuity Platform specific settings,
such as instance name, IP allows lists and other additional features are defined using
Example of the declarative configuration:
- ip: "184.108.40.206"
description: dummy entry
The reference specifications are available here.
The GitOps workflow is implemented using GitHub Actions and is provides the following experience:
- Engineers make changes to the declarative configuration of the Akuity Platform in the
argocddirectory and create Pull Request with the proposed changes.
- GitHub action workflow compares the proposed changes with the current state of the Akuity Platform and posts detected changes as a comment to the Pull Request.
- Reviewers review the proposed changes and detected changes report and approve the Pull Request.
- GitHub action workflow applies the proposed changes to the Akuity Platform.
See the example live demo at https://github.com/akuity/akp-declarative/.