Skip to content

argo ocmpatiblity#2

Open
kanwarujjaval wants to merge 4 commits intomainfrom
argo-compat
Open

argo ocmpatiblity#2
kanwarujjaval wants to merge 4 commits intomainfrom
argo-compat

Conversation

@kanwarujjaval
Copy link
Member

No description provided.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds ArgoCD-oriented deployment support for the Countly Helm stack by introducing sync-wave annotations across charts and providing an “app-of-apps” ArgoCD chart to deploy components in dependency order.

Changes:

  • Add optional ArgoCD integration toggle (argocd.enabled) and sync-wave annotations to multiple charts/resources.
  • Introduce a new countly-argocd chart that creates an AppProject and child Applications (MongoDB/ClickHouse/Kafka/Countly/Observability/Migrations).
  • Extend helmfile.yaml.gotmpl with a new environment and an optional countly-migrations release.

Reviewed changes

Copilot reviewed 75 out of 75 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
helmfile.yaml.gotmpl Adds a new environment and an optional migrations release.
charts/countly/values.yaml Adds argocd.enabled value toggle.
charts/countly/templates/tls-selfsigned.yaml Adds ArgoCD sync-wave annotations to cert-manager resources.
charts/countly/templates/serviceaccount.yaml Adds sync-wave annotation to the ServiceAccount.
charts/countly/templates/secret-mongodb.yaml Adds sync-wave annotation to the MongoDB Secret.
charts/countly/templates/secret-kafka.yaml Adds sync-wave annotation to the Kafka Secret.
charts/countly/templates/secret-common.yaml Adds sync-wave annotation to the common Secret.
charts/countly/templates/secret-clickhouse.yaml Adds sync-wave annotation to the ClickHouse Secret.
charts/countly/templates/networkpolicy.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/namespace.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/ingress.yaml Adds sync-wave annotation to Ingress annotations.
charts/countly/templates/external-secret-mongodb.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/external-secret-kafka.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/external-secret-common.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/external-secret-clickhouse.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/configmap-otel.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/configmap-kafka.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/configmap-jobserver.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/configmap-ingestor.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/configmap-frontend.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/configmap-common.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/configmap-clickhouse.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/configmap-api.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/configmap-aggregator.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly/templates/_helpers.tpl Adds countly.syncWave helper template.
charts/countly/templates/_countly-component.tpl Adds conditional sync-wave annotations to Countly component Deployments.
charts/countly-observability/values.yaml Adds argocd.enabled value toggle.
charts/countly-observability/templates/serviceaccount.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-observability/templates/networkpolicy.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-observability/templates/ingress.yaml Adds sync-wave annotation to Ingress annotations.
charts/countly-observability/templates/_helpers.tpl Adds obs.syncWave helper template.
charts/countly-mongodb/values.yaml Adds argocd.enabled value toggle.
charts/countly-mongodb/templates/service-metrics.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-mongodb/templates/secret-passwords.yaml Adds sync-wave annotation to secrets’ annotations.
charts/countly-mongodb/templates/pdb.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-mongodb/templates/networkpolicy.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-mongodb/templates/namespace.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-mongodb/templates/mongodbcommunity.yaml Adds sync-wave annotation to the MongoDBCommunity resource.
charts/countly-mongodb/templates/deployment-exporter.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-mongodb/templates/_helpers.tpl Adds countly-mongodb.syncWave helper template.
charts/countly-kafka/values.yaml Adds argocd.enabled value toggle.
charts/countly-kafka/templates/secret-clickhouse-connect.yaml Adds sync-wave annotation to Secret annotations.
charts/countly-kafka/templates/networkpolicy.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-kafka/templates/namespace.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-kafka/templates/kafkaconnectors.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-kafka/templates/kafkaconnect.yaml Adds sync-wave annotation to KafkaConnect annotations.
charts/countly-kafka/templates/kafka.yaml Adds sync-wave annotation to Kafka resource annotations.
charts/countly-kafka/templates/hpa-connect.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-kafka/templates/configmap-metrics.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-kafka/templates/configmap-connect-env.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-kafka/templates/_helpers.tpl Adds countly-kafka.syncWave helper template.
charts/countly-clickhouse/values.yaml Adds argocd.enabled value toggle.
charts/countly-clickhouse/templates/servicemonitor.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-clickhouse/templates/service-metrics.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-clickhouse/templates/secret-default-password.yaml Adds sync-wave annotation to Secret annotations.
charts/countly-clickhouse/templates/pdb-server.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-clickhouse/templates/pdb-keeper.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-clickhouse/templates/networkpolicy.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-clickhouse/templates/namespace.yaml Adds conditional sync-wave annotations when ArgoCD is enabled.
charts/countly-clickhouse/templates/keepercluster.yaml Adds sync-wave annotation to KeeperCluster annotations.
charts/countly-clickhouse/templates/clickhousecluster.yaml Adds sync-wave annotation to ClickHouseCluster annotations.
charts/countly-clickhouse/templates/_helpers.tpl Adds countly-clickhouse.syncWave helper template.
charts/countly-argocd/values.yaml Defines configuration for repo/env/destination/components/sync policy.
charts/countly-argocd/templates/project.yaml Creates an ArgoCD AppProject for the deployment.
charts/countly-argocd/templates/app-observability.yaml Adds child Application for observability chart.
charts/countly-argocd/templates/app-mongodb.yaml Adds child Application for MongoDB chart.
charts/countly-argocd/templates/app-migrations.yaml Adds optional child Application for migrations chart.
charts/countly-argocd/templates/app-kafka.yaml Adds child Application for Kafka chart.
charts/countly-argocd/templates/app-countly.yaml Adds child Application for Countly chart.
charts/countly-argocd/templates/app-clickhouse.yaml Adds child Application for ClickHouse chart.
charts/countly-argocd/templates/_helpers.tpl Adds helpers for names/labels/projectName/syncPolicy blocks.
charts/countly-argocd/templates/NOTES.txt Adds operator instructions and health-check snippets.
charts/countly-argocd/examples/multi-cluster.yaml Adds a multi-cluster configuration example.
charts/countly-argocd/examples/applicationset.yaml Adds an ApplicationSet-based alternative example.
charts/countly-argocd/Chart.yaml Declares the new countly-argocd chart metadata.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@kanwarujjaval kanwarujjaval requested a review from Copilot March 19, 2026 11:10
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds optional ArgoCD compatibility (sync-wave ordering) across existing Countly Helm charts, and introduces new charts to support a MongoDB→ClickHouse migration pipeline and an ArgoCD “app-of-apps” deployment model.

Changes:

  • Add argocd.enabled values and sync-wave helper annotations across Countly component charts for ordered ArgoCD sync.
  • Add new countly-migrations chart (Strimzi-based pipeline) and wire it into helmfile.yaml.gotmpl as an optional release.
  • Add new countly-argocd chart for managing deployments via ArgoCD Applications/AppProject, and update CI chart-rendering validation inputs.

Reviewed changes

Copilot reviewed 103 out of 103 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
helmfile.yaml.gotmpl Adds a new environment and an optional countly-migrations release.
charts/countly/values.yaml Adds argocd.enabled toggle.
charts/countly/templates/tls-selfsigned.yaml Adds optional ArgoCD sync-wave annotations to cert-manager resources.
charts/countly/templates/serviceaccount.yaml Adds optional sync-wave annotations / merges with SA annotations.
charts/countly/templates/secret-mongodb.yaml Adds sync-wave annotation entry.
charts/countly/templates/secret-kafka.yaml Adds sync-wave annotation entry.
charts/countly/templates/secret-common.yaml Adds sync-wave annotation entry.
charts/countly/templates/secret-clickhouse.yaml Adds sync-wave annotation entry.
charts/countly/templates/networkpolicy.yaml Adds optional sync-wave annotations.
charts/countly/templates/namespace.yaml Adds optional sync-wave annotations.
charts/countly/templates/ingress.yaml Adds sync-wave annotation entry.
charts/countly/templates/external-secret-mongodb.yaml Adds optional sync-wave annotations.
charts/countly/templates/external-secret-kafka.yaml Adds optional sync-wave annotations.
charts/countly/templates/external-secret-common.yaml Adds optional sync-wave annotations.
charts/countly/templates/external-secret-clickhouse.yaml Adds optional sync-wave annotations.
charts/countly/templates/configmap-otel.yaml Adds optional sync-wave annotations.
charts/countly/templates/configmap-kafka.yaml Adds optional sync-wave annotations.
charts/countly/templates/configmap-jobserver.yaml Adds optional sync-wave annotations.
charts/countly/templates/configmap-ingestor.yaml Adds optional sync-wave annotations.
charts/countly/templates/configmap-frontend.yaml Adds optional sync-wave annotations.
charts/countly/templates/configmap-common.yaml Adds optional sync-wave annotations.
charts/countly/templates/configmap-clickhouse.yaml Adds optional sync-wave annotations.
charts/countly/templates/configmap-api.yaml Adds optional sync-wave annotations.
charts/countly/templates/configmap-aggregator.yaml Adds optional sync-wave annotations.
charts/countly/templates/_helpers.tpl Adds countly.syncWave helper.
charts/countly/templates/_countly-component.tpl Adds optional sync-wave annotations to component Deployments.
charts/countly-observability/values.yaml Adds argocd.enabled toggle.
charts/countly-observability/templates/serviceaccount.yaml Adds optional sync-wave annotations.
charts/countly-observability/templates/networkpolicy.yaml Adds optional sync-wave annotations.
charts/countly-observability/templates/ingress.yaml Adds sync-wave annotation entry.
charts/countly-observability/templates/_helpers.tpl Adds obs.syncWave helper.
charts/countly-mongodb/values.yaml Adds argocd.enabled toggle.
charts/countly-mongodb/templates/service-metrics.yaml Adds optional sync-wave annotations.
charts/countly-mongodb/templates/secret-passwords.yaml Adds sync-wave annotation entry.
charts/countly-mongodb/templates/pdb.yaml Adds optional sync-wave annotations.
charts/countly-mongodb/templates/networkpolicy.yaml Adds optional sync-wave annotations.
charts/countly-mongodb/templates/namespace.yaml Adds optional sync-wave annotations.
charts/countly-mongodb/templates/mongodbcommunity.yaml Adds sync-wave annotation entry.
charts/countly-mongodb/templates/deployment-exporter.yaml Adds optional sync-wave annotations.
charts/countly-mongodb/templates/_helpers.tpl Adds countly-mongodb.syncWave helper.
charts/countly-migrations/values.yaml New chart values for migration pipeline, operator, storage, connectors, and ArgoCD integration.
charts/countly-migrations/templates/storageclass.yaml New StorageClass template (optional creation).
charts/countly-migrations/templates/secret-clickhouse-auth.yaml New Secret template for ClickHouse auth (if not using existingSecret).
charts/countly-migrations/templates/progress/serviceaccount.yaml New progress monitor ServiceAccount (optional).
charts/countly-migrations/templates/progress/rbac.yaml New progress monitor ClusterRole/Binding (optional).
charts/countly-migrations/templates/progress/cronjob.yaml New progress monitor CronJob (optional).
charts/countly-migrations/templates/progress/configmap-script.yaml New progress monitor script ConfigMap (optional).
charts/countly-migrations/templates/operator/serviceaccount.yaml New namespace-scoped Strimzi operator SA (optional).
charts/countly-migrations/templates/operator/rolebinding-namespace.yaml New operator RoleBinding (namespace permissions).
charts/countly-migrations/templates/operator/rolebinding-leader-election.yaml New operator RoleBinding (leader election).
charts/countly-migrations/templates/operator/role-namespace.yaml New operator Role (namespace permissions).
charts/countly-migrations/templates/operator/role-leader-election.yaml New operator Role (leader election).
charts/countly-migrations/templates/operator/deployment.yaml New operator Deployment (namespace-scoped Strimzi).
charts/countly-migrations/templates/namespace.yaml New optional Namespace resource for the chart.
charts/countly-migrations/templates/kafkaconnect-src.yaml New KafkaConnect source cluster (Debezium side).
charts/countly-migrations/templates/kafkaconnect-sink.yaml New KafkaConnect sink cluster (ClickHouse + writeback).
charts/countly-migrations/templates/kafka.yaml New Strimzi Kafka/KRaft NodePool-based Kafka resources + validations.
charts/countly-migrations/templates/connector-mongo-writeback.yaml New KafkaConnector for MongoDB writeback.
charts/countly-migrations/templates/connector-debezium-mongo.yaml New KafkaConnector for Debezium Mongo source.
charts/countly-migrations/templates/connector-clickhouse-sink.yaml New KafkaConnector for ClickHouse sink.
charts/countly-migrations/templates/configmap-metrics.yaml New JMX exporter config for Kafka/Connect metrics.
charts/countly-migrations/templates/configmap-connect-env.yaml New env ConfigMap used by connectors/config providers.
charts/countly-migrations/templates/_helpers.tpl New helpers for names/labels/syncWave/storage class selection/state.
charts/countly-migrations/templates/NOTES.txt New operational notes for controlling/tearing down migrations.
charts/countly-migrations/examples/argocd-application.yaml Example ArgoCD Application manifest for the migrations chart.
charts/countly-migrations/Chart.yaml New chart metadata for countly-migrations.
charts/countly-migrations/.helmignore New helmignore for countly-migrations.
charts/countly-kafka/values.yaml Adds argocd.enabled toggle.
charts/countly-kafka/templates/secret-clickhouse-connect.yaml Adds sync-wave annotation entry.
charts/countly-kafka/templates/networkpolicy.yaml Adds optional sync-wave annotations.
charts/countly-kafka/templates/namespace.yaml Adds optional sync-wave annotations.
charts/countly-kafka/templates/kafkaconnectors.yaml Adds optional sync-wave annotations.
charts/countly-kafka/templates/kafkaconnect.yaml Adds sync-wave annotation entry.
charts/countly-kafka/templates/kafka.yaml Adds sync-wave annotation entries to Kafka/KafkaNodePool resources.
charts/countly-kafka/templates/hpa-connect.yaml Adds optional sync-wave annotations.
charts/countly-kafka/templates/configmap-metrics.yaml Adds optional sync-wave annotations.
charts/countly-kafka/templates/configmap-connect-env.yaml Adds optional sync-wave annotations.
charts/countly-kafka/templates/_helpers.tpl Adds countly-kafka.syncWave helper.
charts/countly-clickhouse/values.yaml Adds argocd.enabled toggle.
charts/countly-clickhouse/templates/servicemonitor.yaml Adds optional sync-wave annotations.
charts/countly-clickhouse/templates/service-metrics.yaml Adds optional sync-wave annotations.
charts/countly-clickhouse/templates/secret-default-password.yaml Adds sync-wave annotation entry.
charts/countly-clickhouse/templates/pdb-server.yaml Adds optional sync-wave annotations.
charts/countly-clickhouse/templates/pdb-keeper.yaml Adds optional sync-wave annotations.
charts/countly-clickhouse/templates/networkpolicy.yaml Adds optional sync-wave annotations.
charts/countly-clickhouse/templates/namespace.yaml Adds optional sync-wave annotations.
charts/countly-clickhouse/templates/keepercluster.yaml Adds sync-wave annotation entry.
charts/countly-clickhouse/templates/clickhousecluster.yaml Adds sync-wave annotation entry.
charts/countly-clickhouse/templates/_helpers.tpl Adds countly-clickhouse.syncWave helper.
charts/countly-argocd/values.yaml New values for app-of-apps deployment (repo/env/destinations/components).
charts/countly-argocd/templates/project.yaml New ArgoCD AppProject allowing required cluster/namespace resources.
charts/countly-argocd/templates/app-observability.yaml New ArgoCD Application template for observability.
charts/countly-argocd/templates/app-mongodb.yaml New ArgoCD Application template for MongoDB.
charts/countly-argocd/templates/app-migrations.yaml New ArgoCD Application template for migrations (optional).
charts/countly-argocd/templates/app-kafka.yaml New ArgoCD Application template for Kafka.
charts/countly-argocd/templates/app-countly.yaml New ArgoCD Application template for Countly.
charts/countly-argocd/templates/app-clickhouse.yaml New ArgoCD Application template for ClickHouse.
charts/countly-argocd/templates/_helpers.tpl New helpers for names/labels/project name and shared syncPolicy.
charts/countly-argocd/templates/NOTES.txt New usage notes, health checks guidance, teardown notes.
charts/countly-argocd/examples/multi-cluster.yaml Example values for multi-cluster deployment.
charts/countly-argocd/examples/applicationset.yaml Example ApplicationSet-based alternative for 100+ customers.
charts/countly-argocd/Chart.yaml New chart metadata for countly-argocd.
.github/workflows/validate-charts.yml Extends chart validation to pass required --set values per chart.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants