Conversation
There was a problem hiding this comment.
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-argocdchart that creates an AppProject and child Applications (MongoDB/ClickHouse/Kafka/Countly/Observability/Migrations). - Extend
helmfile.yaml.gotmplwith a new environment and an optionalcountly-migrationsrelease.
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.
There was a problem hiding this comment.
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.enabledvalues and sync-wave helper annotations across Countly component charts for ordered ArgoCD sync. - Add new
countly-migrationschart (Strimzi-based pipeline) and wire it intohelmfile.yaml.gotmplas an optional release. - Add new
countly-argocdchart 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.
No description provided.