apiVersion: v1 kind: Namespace metadata: name: keel --- apiVersion: v1 kind: ServiceAccount metadata: name: keel namespace: keel --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: keel rules: - apiGroups: ["", "apps", "batch", "extensions"] resources: - namespaces - deployments - daemonsets - statefulsets - cronjobs - pods - replicationcontrollers verbs: ["get", "list", "watch", "update", "patch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: keel roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: keel subjects: - kind: ServiceAccount name: keel namespace: keel --- apiVersion: apps/v1 kind: Deployment metadata: name: keel namespace: keel labels: app: keel spec: replicas: 1 selector: matchLabels: app: keel template: metadata: labels: app: keel spec: serviceAccountName: keel containers: - name: keel image: keelhq/keel:latest imagePullPolicy: Always env: - name: POLL value: "true" - name: SCHEDULER_FREQUENCY value: "1h" - name: AUTO_UPDATE_EVERYTHING value: "false" ports: - containerPort: 9300 name: keel