feat: Migrate sys applications to helmfile
Move most of helmfiles into temp to test only velero. File structure: ```bash / ├── helmfile.d/ # Helmfiles, *.yaml.gotmpl ├── charts/ # Our own charts, e.g `Atlantis` ├── values # Values for helmfiles │ ├── <chart> │ │ ├── values.yaml.gotmpl # Values to be templated in `values/` │ │ ├── kustomize # Kustomizations per environment │ │ ├── manifests # Raw manifests │ │ │ ├── <chart>.yaml # Argo App for bootstrap │ │ │ ├── dashboards # Grafana dashboards │ │ │ │ └── <chart>-metrics.yaml │ │ │ └── policies # Cilium and Kyverno policies │ │ │ ├── CiliumNetworkPolicy-allow-api-server.yaml │ │ │ └── KyvernoPolicy-regred-secret.yaml │ │ └── values # Values for each environment │ │ ├── <chart>-staging.yaml.gotmpl # Values for staging environment │ │ ├── <chart>-prod.yaml.gotmpl # Values for prod environment │ │ └── <chart>.yaml.gotmpl # Standard values for all environments │ │ │ ├── values.yaml # Standard values for all cluster │ ├── values-oceanbox.yaml # Values overrides for oceanbox │ ├── values-ekman.yaml # Values overrides for ekman ```
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
{ var, ... }:
|
||||
{
|
||||
bases = [
|
||||
"../envs/environments.yaml.gotmpl"
|
||||
];
|
||||
repositories = [
|
||||
{
|
||||
name = "argo";
|
||||
url = "https://argoproj.github.io/argo-helm";
|
||||
}
|
||||
];
|
||||
commonLabels = {
|
||||
tier = "system";
|
||||
};
|
||||
releases = [
|
||||
{
|
||||
name = "argocd";
|
||||
namespace = "argocd";
|
||||
chart = "argo/argo-cd";
|
||||
version = "7.5.2";
|
||||
condition = "argo.enabled";
|
||||
values = [
|
||||
"../values/argo/values/argocd.yaml.gotmpl"
|
||||
"../values/argo/values/argocd-${var.environment.name}.yaml.gotmpl"
|
||||
];
|
||||
postRenderer = "../bin/kustomizer";
|
||||
postRendererArgs = [
|
||||
"../values/argo/kustomize/${var.environment.name}"
|
||||
];
|
||||
missingFileHandler = "Info";
|
||||
}
|
||||
{
|
||||
name = "argocd-apps";
|
||||
namespace = "argocd";
|
||||
chart = "argo/argocd-apps";
|
||||
version = "0.0.1";
|
||||
condition = "argo.apps.enabled";
|
||||
values = [
|
||||
"../values/argo/values/apps.yaml.gotmpl"
|
||||
];
|
||||
missingFileHandler = "Info";
|
||||
}
|
||||
{
|
||||
name = "argo-rollouts";
|
||||
namespace = "argocd";
|
||||
chart = "argo/argo-rollouts";
|
||||
version = "2.35.2";
|
||||
condition = "argo.rollouts.enabled";
|
||||
values = [
|
||||
"../values/argo/values/rollouts.yaml.gotmpl"
|
||||
];
|
||||
missingFileHandler = "Info";
|
||||
}
|
||||
{
|
||||
name = "argo-workflows";
|
||||
namespace = "argocd";
|
||||
chart = "argo/argo-workflows";
|
||||
version = "0.45.0";
|
||||
condition = "argo.workflows.enabled";
|
||||
missingFileHandler = "Info";
|
||||
}
|
||||
{
|
||||
name = "argo-manifests";
|
||||
namespace = "argocd";
|
||||
chart = "_argo";
|
||||
condition = "argo.enabled";
|
||||
values = [
|
||||
# "../values/values-${var.CLUSTER_NAME}.yaml"
|
||||
"../values/argo/values.yaml.gotmpl"
|
||||
# "../values/argo/values-${var.CLUSTER_NAME}.yaml.gotmpl"
|
||||
];
|
||||
missingFileHandler = "Info";
|
||||
hooks = [
|
||||
{
|
||||
events = [
|
||||
"prepare"
|
||||
"cleanup"
|
||||
];
|
||||
showlogs = true;
|
||||
command = "../bin/helmify";
|
||||
args = [
|
||||
# "${if (var.event.name == "prepare") then "build" else "clean"}"
|
||||
# "${var.release.chart}"
|
||||
"${var.environment.name}"
|
||||
"../values/argo/manifests"
|
||||
"_argo"
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user