terraform init
The file terraform/network.tf
keep the network related application manifests
terraform apply
since Traefik will wait for loadbalance IP bind, we need to declare usable ip range for metallb to asign loadbalancer ip to Traefik (in next step)
-
Modify the ip range in
01-lb-pool.yaml
-
Apply metallb ip-pool config during traefik deployment Declate IP pool range for metallb then it can assign Load balance IP to Traefik
kubectl apply -f manifests/01-lb-pool.yaml
kubectl port-forward -n traefik $(kubectl get pods -n traefik --selector "app.kubernetes.io/name=traefik" --output=name) 9000:9000 --address 0.0.0.0
for testing Traefik, see tests/traefik
for more details
We set default replica num to 1.
Service | Domain | NodePort | default user | default password |
---|---|---|---|---|
Jenkins | jenkins.myhomelab.com | None | admin | Dynamic generate |
Gitea | git.myhomelab.com | 30180 | gitea_admin | adminadmin |
ArgoCD | argocd.myhomelab.com | 30080 | admin | Dynamic generate |
Longhorn | TBD | TBD | none | none |
- Get admin password
printf $(kubectl get secret --namespace devops-system jenkins -o jsonpath="{.data.jenkins-admin-password}" | base64 --decode);echo
- Get admin password
kubectl -n devops-system get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
# Setup nvm and npm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
nvm install 18
nvm use 18
# Install commitlint
npm install --save-dev @commitlint/{config-conventional,cli}
# Install commit-msg for pre-commit
pre-commit install --hook-type commit-msg