Bootstrap Workflow
Bootstrap flow¶
The folder-structure doc still makes it a bit tricky to see the dependancies and workflow for the cluster. Ill attempt to clarify that a bit with a confusing speghetti flowchart.
* Steps require reconciliation of prior step
In the deployment subgraph, each step uses `dependsOn
in the yaml to require the previous step fully reconciled before it proceeds.
In this way, there is a layering where the cluster will load the repositories, flux managment layer, variables, and finally orchestration to start installing apps in order.
flowchart TB
ka[kubectl apply] --> dc[deploy-cluster.yaml]
subgraph deploy
cr --> mf["deploy/manage-flux.yaml*"]
dc --> cr["deploy/cluster-repositories.yaml"*]
mf --> cc["deploy/cluster-config.yaml*"]
cc --> co["deploy/cluster-orchestration*"]
end
subgraph cluster-repositories
direction LR
cgr[Cluster Git Repositories]
chr[Cluster Helm Repositories]
end
subgraph global-repositories
direction LR
ggr[Global Git Repositories]
ghr[Global Helm Repositories]
end
cluster-repositories --> global-repositories
dc --> cluster-repositories
subgraph cluster-vars
direction LR
cf[Cluster Config]
cs[Cluster Secrets]
end
subgraph global-vars
gf[Global Config]
gs[Global Secrets]
end
cc --> cluster-vars
cluster-vars --> global-vars
subgraph orchestration
direction LR
cm[Cert Manager]
db[Databases]
df[Downloads]
ga[Games]
ha[Home-Automation]
ks[Kasten-io]
end
co --> cm
co --> db
co --> df
co --> ga
co --> ha
co --> ks
subgraph manifests
mcm[Cert Manager yaml]
mdb[Database yaml]
mdf[Downloads yaml]
mga[Games yaml]
mha[Home-Automation yaml]
mks[Kasten-io yaml]
end
cm --> mcm
db --> mdb
df --> mdf
ga --> mga
ha --> mha
ks --> mks
Last update:
September 22, 2023