diff --git a/README.md b/README.md index f8a4587..238aa0b 100644 --- a/README.md +++ b/README.md @@ -42,17 +42,14 @@ kubectl -n argocd scale statefulset/argocd-application-controller --replicas 0 **Note** This step is not necssary if the ArgoCD instance you are using contains the feature: https://argo-cd.readthedocs.io/en/latest/user-guide/skip_reconcile/ -4. Clone this project and connect to the Hub cluster and start the Pull controller: +4. Install the Pull controller: ``` -git clone ... -cd argocd-pull-integration -export KUBECONFIG=/path/to/ -make deploy +kubectl apply -f https://raw.githubusercontent.com/open-cluster-management-io/argocd-pull-integration/main/deploy/install.yaml ``` 5. If your controller starts successfully, you should see: ``` -$ kubectl -n argocd get deploy | grep pull +$ kubectl -n open-cluster-management get deploy | grep pull argocd-pull-integration-controller-manager 1/1 1 1 106s ``` diff --git a/charts/argocd-pull-integration/Chart.yaml b/charts/argocd-pull-integration/Chart.yaml index fa187b3..148cf23 100644 --- a/charts/argocd-pull-integration/Chart.yaml +++ b/charts/argocd-pull-integration/Chart.yaml @@ -3,4 +3,4 @@ appVersion: 1.0.0 description: A Helm chart for OCM Argo CD Pull Model Integration name: argocd-pull-integration type: application -version: 0.12.0 +version: 0.11.0 diff --git a/deploy/install.yaml b/deploy/install.yaml new file mode 100644 index 0000000..7c3e755 --- /dev/null +++ b/deploy/install.yaml @@ -0,0 +1,121 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: argocd-pull-integration + namespace: open-cluster-management +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: argocd-pull-integration +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list + - watch + - create + - update + - patch + - delete +- apiGroups: + - coordination.k8s.io + resources: + - leases + verbs: + - get + - list + - watch + - create + - update + - patch + - delete +- apiGroups: + - "" + resources: + - events + verbs: + - create + - patch +- apiGroups: + - argoproj.io + resources: + - applications + verbs: + - get + - list + - patch + - update + - watch +- apiGroups: + - cluster.open-cluster-management.io + resources: + - managedclusters + verbs: + - get + - list + - watch +- apiGroups: + - work.open-cluster-management.io + resources: + - manifestworks + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: argocd-pull-integration-manager-rolebinding +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: argocd-pull-integration +subjects: +- kind: ServiceAccount + name: argocd-pull-integration + namespace: open-cluster-management +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: argocd-pull-integration + name: argocd-pull-integration + namespace: open-cluster-management +spec: + replicas: 1 + selector: + matchLabels: + app: argocd-pull-integration + template: + metadata: + labels: + app: argocd-pull-integration + spec: + containers: + - name: argocd-pull-integration + args: + - --health-probe-bind-address=:8081 + - --metrics-bind-address=127.0.0.1:8080 + - --leader-elect + command: + - /manager + image: quay.io/open-cluster-management/argocd-pull-integration:latest + resources: + limits: + cpu: 500m + memory: 512Mi + requests: + cpu: 10m + memory: 64Mi + serviceAccountName: argocd-pull-integration