This guide assumes you have already Forked, customized, and built the packages. If you haven't, please do that first.
Depending on where you want to run the package you just created, there are a few different paths
-
Burn to removable media
build/zarf
build/zarf-init-amd64.tar.zst
build/zarf-package-flux-amd64.tar.zst
build/zarf-package-software-factory-amd64.tar.zst
secret-sops-gpg.yaml
(See SOPS configuration)
-
Use Sneakernet or whatever other method you want to get it where it needs to go
-
Deploy
# Assuming you want to use the built-in single-node K3s cluster. If you don't, dont add `k3s` to the `--components` flag. ./zarf init --components k3s,gitops-service --confirm ./zarf package deploy zarf-package-flux-amd64.tar.zst --confirm kubectl apply -f secret-sops-gpg.yaml ./zarf package deploy zarf-package-software-factory-amd64.tar.zst --confirm
-
Wait for everything to come up. Use
./zarf tools k9s
to monitor using the K9s tool
-
Update the package to disable enough services so that it will fit on your computer. Big Bang deployments can be disabled by changing
enabled: true
toenabled: false
inkustomizations/bigbang/values.yaml
. Other addons like Jira, Confluence, and Jenkins can be disabled by modifying the Kustomization in thekustomizations/softwarefactoryaddons
directory. -
Rebuild the package --
make all
-
Spin up the VM with
make vm-init
. You will automatically be dropped into a root shell inside the VM with thebuild
folder mounted as the current working directory. If you need to leave the VM typeexit
. To get back in typemake vm-ssh
. -
Create
secret-sops-gpg.yaml
(See SOPS configuration) -
Deploy
./zarf init --components k3s,gitops-service --confirm ./zarf package deploy zarf-package-flux-amd64.tar.zst --confirm kubectl apply -f secret-sops-gpg.yaml ./zarf package deploy zarf-package-software-factory-amd64.tar.zst --confirm
-
Wait for everything to come up. Use
./zarf tools k9s
to monitor using the K9s tool -
When you're done,
exit
, then bring everything down withmake vm-destroy
-
Copy files to the machine that will be running
zarf
. Could be your local computer, or could be a Bastion Host, or something else entirely. Zarf doesn't care, as long as it has a connection to the cluster.build/zarf
build/zarf-init-amd64.tar.zst
build/zarf-package-flux-amd64.tar.zst
build/zarf-package-software-factory-amd64.tar.zst
secret-sops-gpg.yaml
(See SOPS configuration)
-
Have a Kubernetes cluster ready that you'll be deploying to. Have your KUBECONFIG be configured such that running
kubectl get nodes
will connect to the right cluster. OR use the built-in K3s that Zarf comes bundled with. -
Deploy
./zarf init --components gitops-service --confirm ./zarf package deploy zarf-package-flux-amd64.tar.zst --confirm kubectl apply -f secret-sops-gpg.yaml ./zarf package deploy zarf-package-software-factory-amd64.tar.zst --confirm
-
Wait for everything to come up. Use
./zarf tools k9s
to monitor using the K9s tool.
Now that everything is deployed, it is time to Configure Single Sign-On