# Getting Started ### Prerequisites - [kind](https://kind.sigs.k8s.io) must be installed on your local machine. The Kubernetes version must be >= 1.19. See the [kind user guide](https://kind.sigs.k8s.io/docs/user/quick-start/#creating-a-cluster) for more details. - Download and install [clusteradm](https://github.com/open-cluster-management-io/clusteradm/releases). For Linux OS, run the following commands: ``` wget -qO- https://github.com/open-cluster-management-io/clusteradm/releases/latest/download/clusteradm_linux_amd64.tar.gz | sudo tar -xvz -C /usr/local/bin/ sudo chmod +x /usr/local/bin/clusteradm ``` - The [kubectl](https://kubernetes.io/docs/reference/kubectl/) cli, which should be compatible with your Kubernetes version. See [install and setup](https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#before-you-begin) for more info. ### Steps 1. Setup an OCM Hub cluster and registered an OCM Managed cluster. ``` curl -L https://raw.githubusercontent.com/open-cluster-management-io/OCM/main/solutions/setup-dev-environment/local-up.sh | bash ``` See [Open Cluster Management Quick Start](https://open-cluster-management.io/getting-started/quick-start/) for more details. 2. Install ArgoCD on the hub cluster and both managed clusters. ``` for i in "hub" "cluster1" "cluster2" do kubectl config use-context kind-$i kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml done ``` See [ArgoCD website](https://argo-cd.readthedocs.io/en/stable/getting_started/) for more details. 1. Install the Pull controller on the hub cluster: ``` kubectl config use-context kind-hub kubectl apply -f https://raw.githubusercontent.com/open-cluster-management-io/argocd-pull-integration/main/deploy/install.yaml ``` 2. If your controller starts successfully, you should see: ``` $ kubectl -n open-cluster-management get deploy | grep pull argocd-pull-integration-controller-manager 1/1 1 1 106s ``` 3. On the Hub cluster, create ArgoCD cluster secrets that represent the managed clusters. This step can be automated with [OCM auto import controller](https://github.com/open-cluster-management-io/multicloud-integrations/). ``` for i in "cluster1" "cluster2" do cat <