apiVersion: v1 kind: ServiceAccount metadata: name: cron-checker --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: cron-checker rules: - apiGroups: ["", "batch"] resources: ["cronjobs"] verbs: ["list", "watch", "get"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: cron-checker roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cron-checker subjects: - kind: ServiceAccount name: cron-checker --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: cron-checker name: cron-checker spec: selector: matchLabels: app: cron-checker strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate template: metadata: labels: app: cron-checker spec: serviceAccountName: cron-checker containers: - name: cron-checker resources: limits: memory: "50Mi" requests: memory: "50Mi" imagePullPolicy: IfNotPresent image: registry.gitlab.com/unboundsoftware/cron-checker:1.0 args: - /cron-checker env: - name: SLACK_URL value: restartPolicy: Always