./deploy-argocd-apps.sh <production/staging>
kubectl port-forward -n konflux-ui svc/proxy 9443:9443
Verify that the applications below are installed on the host machine:
- Kind and kubectl
along with
podman
ordocker
Clone this repository:
git clone https://github.com/konflux-ci/infra-deployments
cd infra-deployments
Note: It is recommended that you increase the inotify
resource limits in order to
avoid issues related to
too many open files.
To increase the limits temporarily, run the following commands:
sudo sysctl fs.inotify.max_user_watches=524288
sudo sysctl fs.inotify.max_user_instances=512
From the root of this repository, run the setup scripts:
- Create a cluster
kind create cluster --name dev --config kind-config.yaml
Note: When using Podman, it is recommended that you increase the PID limit on the container running the cluster, as the default might not be enough when the cluster becomes busy:
podman update --pids-limit 4096 dev-control-plane
Note: If pods still fail to start due to missing resources, you may need to reserve
additional resources to the Kind cluster. Edit kind-config.yaml
and modify the system-reserved
line under kubeletExtraArgs
:
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
system-reserved: memory=12Gi
- Create argocd namespace in the cluster:
kubectl create namespace argocd
- Deploy ArgoCD:
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
- Run the deployment script:
./deploy-argocd-apps.sh staging
It might take several minutes for all the components to sync and become healthy. To monitor the components, we need to extract ArgoCD server's secret, port-forward to ArgoCD server and navigate to the ArgoCD URL:
- Obtain ArgoCD server's password:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d && echo
- Port forward the ArgoCD Server service:
kubectl port-forward -n argocd service/argocd-server 8443:443
ArgoCD UI is now available at https://localhost:8443
User: admin
Password: <obtained previously from the cluster>
Once the cluster is up and running, we are able to view Konflux UI at https://localhost:9443