Skip to content

konflux-ci/infra-deployments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

infra-deployments

Konflux Community Deployment via ArgoCD

./deploy-argocd-apps.sh <production/staging>

Accessing the Konflux Console

kubectl port-forward -n konflux-ui svc/proxy 9443:9443 

Setting up a development environment using kind

Installing Software Dependencies

Verify that the applications below are installed on the host machine:

Bootstrapping the development cluster

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:

  1. 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
  1. Create argocd namespace in the cluster:
kubectl create namespace argocd
  1. Deploy ArgoCD:
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
  1. 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

About

Deployment of Konflux on EKS

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages