Akuity Platform Declarative Management
Platform-specific settings
Declarative management of platform-specific settings is implemented using akuity
CLI.
Managing Argo CD Instances
Use the following steps to manage existing Argo CD instances with the Akuity Platform:
-
Export Configuration: Use the
akuity argocd export <name> --organization-name <org-name>
command to export the existing instance configuration.Note:
yq
provides a convenient way to split the output into multiple files.akuity argocd export demo --organization-name demo | yq -s '.metadata.name' -
-
Compare Configuration: Use the
akuity argocd diff <name> --organization-name <org-name>
command to compare local configuration with the current state of the Akuity Platform.akuity argocd diff demo --organization-name demo -f argocd/demo/
-
Apply Changes: Use the
akuity argocd apply -f <configuration-path>
command to apply changes to the Akuity Platform.akuity argocd apply -f argocd/demo/
Configuration specifications
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 argocd.akuity.io/v1alpha1/ArgoCD
resource.
Example of the declarative configuration:
apiVersion: argocd.akuity.io/v1alpha1
kind: ArgoCD
metadata:
name: test-inst
spec:
version: v2.6.0
description: test-inst
instanceSpec:
ipAllowList:
- ip: "1.2.3.4"
description: dummy entry
declarativeManagementEnabled: true
The reference specifications are available here.
Managing Kargo Instances
Use the following steps to manage existing Kargo instances with the Akuity Platform:
-
Export Configuration: Use the
akuity kargo export <name> --organization-name <org-name>
command to export the existing instance configuration.akuity kargo export demo --organization-name demo | yq -s '.metadata.name' -
-
Compare Configuration: Use the
akuity kargo diff <name> --organization-name <org-name>
command to compare local configuration with the current state of the Akuity Platform.akuity kargo diff demo --organization-name demo -f kargo/demo/
-
Apply Changes: Use the
akuity kargo apply -f <configuration-path>
command to apply changes to the Akuity Platform.akuity kargo apply -f kargo/demo/
Configuration specifications
The reference specifications are available here.
Automated workflow
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
argocd
directory 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/.