configurator icon indicating copy to clipboard operation
configurator copied to clipboard

Validate Configurator with Flux Controller for GitOps workflows

Open gopaddle-io opened this issue 3 years ago • 1 comments

Is your feature request related to a problem? Please describe. None

Describe the solution you'd like Flux is a tool used in automating GitOps based CI/CD. Flux watches for changes in GitHub branch and pulls the changes in to the Kubernetes environment. We need to validate whether Configurator works seamlessly with Flux in a GitOps workflow. Scenarios to validate:

  1. Install Flux controller in the cluster
  2. Create YAML specifications to create two ConfigMap and reference/mount the ConfigMaps in a deployment
  3. Checkin deployment and configmap YAMLs to git and automate the GitOps workflow
  4. Install Configurator in the cluster
  5. Configurator should initialise all the ConfigMaps and create CustomConfigMap (CCM) revisions for both the ConfigMaps, as soon as the Configurator controller is installed. Execute the command kubectl get ccm to list all the CCM revisions
  6. Modify the Contents of both the ConfigMap YAML files and checkin the YAML file to Git
  7. Flux pulls the new ConfigMap changes to the cluster
  8. Configurator must have created a new CCM revision for both the ConfigMaps, reflecting the ConfigMap updates. Execute the command kubectl get ccm to list the new CCM revisions.
  9. Remove the first ConfigMap mount in the deployment YAML and checkin in the YAML to Git
  10. Flux recognises the change in the mount and updates the cluster.
  11. Wait for 15 minutes and check the CCM revisions in the cluster using kubectl get ccm. Except for the latest version, the rest of the CCM versions for the first ConfigMap should be removed. There should be two revisions for the second configmap.
  12. Remove the deployment YAML file from the Git repo
  13. Flux recognises the removal of the deployment and update the cluster
  14. Wait for 15 minutes and check the CCM revisions in the cluster using kubectl get ccm. Except for the latest version, the rest of the CCM versions for both the ConfigMaps should be removed.

Describe alternatives you've considered None

Additional context None

gopaddle-io avatar Aug 10 '21 18:08 gopaddle-io

Please send pull requests to SODACODE-2022

gopaddle-io avatar Feb 28 '22 14:02 gopaddle-io