Feature: Config Store injected fields should not show up as out of sync in ArgoCD #496
Closed
3 tasks done
Labels
enhancement
New feature or request
Description
Since ArgoCD blindly compares the local YAML to the cluster YAML, injected fields like those from the Configuration Store always show up as different. It's possible to ignore fields that are expected to differ, but the more appropriate approach is probably to add any fields injected by the Configuration Store to the
managedFields
list. This should cause ArgoCD to exclude them from the diff, and may be more correct in Kubernetes. However, there is a chance that it makes updates to objects with Config Store injection more onerous.DOD
Test Strategy/Script
Pull 496-test branch (This issue is merged into feature branch Feature/Universal-Config and need some deploy script in feature/path2production-alignment for easily testing so this 496-test branch is just Universal-Config branch with deploy script added. )
Create a downstream project with baseline version 1.11.0-SNAPSHOT
Replace {your-github-username} with your github username
Add the SparkPipeline.json file to the test-496-pipeline-models/src/main/resources/pipelines directory
Run mvn clean install until all the manual actions are complete
Once the manual actions are complete, run
mvn clean install -Dmaven.build.cache.skipCache=true
once to get any remaining manual actionsModify the helm templates for Argocd deployment:
- Mac User: In the
-deploy/src/main/resources/apps/configuration-store/values-dev.yaml file
update thevolumePathOnNode
to be/<pathToProject>/test-496-deploy/src/main/resources/configurations
- Window User: In the
-deploy/src/main/resources/values-dev.yaml file
update thevolumePathOnNode
to be/mnt/c/Users/YOUR_USER/PATH/TO/test-496-deploy/src/main/resources/configurations
Modify Hive metastore chart
-deploy/src/main/resources/apps/spark-infrastructure/Chart.yaml
update aissemble-hive-metastore-service-chart repository to repository: oci://ghcr.io/jaebchoi. (Use my repo as I have uploaded Chart that has Feature's change)i.e.
Create a repo for the project created
git init
git add .
git commit -m "init test-496 base"
git branch -M main
git remote add origin https://github.com/<username>/<repo_name>.git
git push -u origin main
on the root of your downstream project
make deploy script executable permission
chmod +x deploy.sh
change port fowarding of argocd-server to 30080
i.e. go to Rancher desktop-> Click Portfowarding on left section
NOTE: we’re port forwarding to avoid bug with NodePort in RD on ARM Mac
Run following to stand up argoCD
./deploy.sh up
Go to localhost:30080
In Argo CD, Go to spark-infrastructure, and see that ConfigMap for hive-metastore-config, and Stateful set for hive-metastore-db is in sync
References/Additional Context
Managed Fields: https://kubernetes.io/docs/reference/using-api/server-side-apply/#field-management
Ignored Fields: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration
The text was updated successfully, but these errors were encountered: