argocd-clusterprofile-syncer/install.yaml (81 lines of code) (raw):
apiVersion: v1
kind: ServiceAccount
metadata:
name: argocd-clusterprofile-sync
namespace: argocd
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: argocd
name: argocd-clusterprofile-sync-secrets-role
rules:
- apiGroups: [""] # Core API group
resources: ["secrets"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
namespace: argocd
name: argocd-clusterprofile-sync-secrets-rolebinding
subjects:
- kind: ServiceAccount
name: argocd-clusterprofile-sync
namespace: argocd
roleRef:
kind: Role
name: argocd-clusterprofile-sync-secrets-role
apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: argocd-clusterprofile-sync-cluster-profile-role
rules:
- apiGroups: ["multicluster.x-k8s.io"]
resources: ["clusterprofiles"]
verbs: ["get", "list", "watch", "update"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: argocd-clusterprofile-sync-cluster-profile-rolebinding
subjects:
- kind: ServiceAccount
name: argocd-clusterprofile-sync
namespace: argocd
roleRef:
kind: ClusterRole
name: argocd-clusterprofile-sync-cluster-profile-role
apiGroup: rbac.authorization.k8s.io
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: argocd-clusterprofile-sync
namespace: argocd
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: argocd-clusterprofile-sync
template:
metadata:
labels:
app.kubernetes.io/name: argocd-clusterprofile-sync
spec:
serviceAccountName: argocd-clusterprofile-sync
containers:
- name: argocd-clusterprofile-sync
image: "$PATH_TO_IMAGE"
imagePullPolicy: Always
resources:
requests:
memory: "50Mi"
cpu: "50m"
limits:
memory: "250Mi"