EAI-6866 Skip ClusterForge when CLUSTERFORGE_RELEASE is none#258
Open
pre wants to merge 2 commits into
Open
Conversation
CLUSTERFORGE_RELEASE "none"/"" is meant to install ArgoCD only and skip ClusterForge entirely. The legacy "Deploy ClusterForge via ArgoCD (Small Clusters)" task contradicted that: it cloned cluster-forge and applied the full app-of-apps, including the self-managing argocd Application, which re-templated redis via the argo-helm chart on top of the already-installed ArgoCD core. The chart's redis secret-init init container runs as the default ServiceAccount, which lacks secrets:create, so the new redis pod crash-looped and left two argocd-redis ReplicaSets stuck. Remove that task (and the now-unreferenced argocd_deploy.yaml) so the none path installs only ArgoCD core via deploy_k8s_apps/argocd.yaml, with no ClusterForge apps and a single redis. Simplify the Parse ClusterForge Version gate, which no longer needs the small+argocd branch.
4 tasks
CLUSTERFORGE_RELEASE "none"/"" is meant to bring up the bare cluster with no ClusterForge stack. The standalone "Setup ArgoCD Core" task in deploy_k8s_apps/main.yaml contradicted that: its when-clause fired precisely on CLUSTERFORGE_RELEASE in ["none", ""], so the none path still installed ArgoCD. Remove that task and the now-unreferenced argocd.yaml. ArgoCD is only ever bootstrapped as part of ClusterForge (clusterforge_setup.yaml), which is size-aware and runs only when a real release is set, so the want-ClusterForge case is unaffected. The INSTALL_ARGOCD and ARGOCD_VERSION keys only fed the removed path, so drop them from the schema, playbook defaults, qemu test and docs. Fix the stale schema field-count assertion.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related:
Summary
CLUSTERFORGE_RELEASE: none(or"") is meant to install ArgoCD only and skip ClusterForge entirely. The legacyDeploy ClusterForge via ArgoCD (Small Clusters)task (argocd_deploy.yaml) contradicted that: even fornone, it cloned cluster-forge andhelm template ... | kubectl apply-ed the full app-of-apps, including the self-managingargocdApplication.That self-managing app re-templated ArgoCD via the
argo-helmchart (sources/argocd/8.3.5, redis7.2.8) on top of the already-installed ArgoCD core (core-install.yaml, redis7.0.15). The chart's redissecret-initinit container runs as thedefaultServiceAccount, which lackssecrets:create, so the new redis pod crash-looped (Init:CrashLoopBackOff) and left two stuckargocd-redisReplicaSets.Fix (Option B: none = ArgoCD only)
Deploy ClusterForge via ArgoCD (Small Clusters)task and the now-unreferencedargocd_deploy.yaml. It was small-only (never ran for medium/large) and its job (deploying ClusterForge) is invalid in the "skip ClusterForge" case.none/""path now installs only ArgoCD core viadeploy_k8s_apps/argocd.yaml, with no ClusterForge apps and a single redis.Parse ClusterForge Versiongate, which no longer needs thesmall + INSTALL_ARGOCDbranch (onlyargocd_deploy.yamlconsumedclusterforge_versionin that case;argocd.yamlusesARGOCD_VERSION).Medium/large and small+release are unaffected: they deploy ClusterForge through
Setup ClusterForge->clusterforge_setup.yaml->bootstrap_argocd.yaml(the unified, size-aware path), which this PR does not touch.Test plan
CLUSTER_SIZE: small+CLUSTERFORGE_RELEASE: noneon a wiped single node: bloom completesfailed=0.argocd-redisReplicaSet, noInit:CrashLoopBackOff; ArgoCD core pods (app-controller, applicationset, redis, repo-server) Running.defaultAppProject only);Setup ClusterForgeskipped.CLUSTER_SIZE: small+CLUSTERFORGE_RELEASE: mainstill deploys ClusterForge via the unified path with a single ArgoCD install.