diff --git a/k8s/apps/tg-bots/kustomization.yaml b/k8s/apps/tg-bots/kustomization.yaml index afe6e97..954bb30 100644 --- a/k8s/apps/tg-bots/kustomization.yaml +++ b/k8s/apps/tg-bots/kustomization.yaml @@ -7,3 +7,4 @@ resources: - get-id-bot.yaml - external-secrets.yaml - desubot.yaml + - restart-job.yaml diff --git a/k8s/apps/tg-bots/restart-job.yaml b/k8s/apps/tg-bots/restart-job.yaml new file mode 100644 index 0000000..f152c82 --- /dev/null +++ b/k8s/apps/tg-bots/restart-job.yaml @@ -0,0 +1,56 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: tg-bots-restart-sa + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: tg-bots-restart-role +rules: + - apiGroups: ["apps"] + resources: ["deployments"] + verbs: ["get", "patch"] + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: tg-bots-restart-rb +subjects: + - kind: ServiceAccount + name: tg-bots-restart-sa +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: tg-bots-restart-role + +--- +apiVersion: batch/v1 +kind: CronJob +metadata: + name: tg-bots-daily-restart +spec: + schedule: "0 4 * * *" # every day at 04:00 + jobTemplate: + spec: + template: + spec: + serviceAccountName: tg-bots-restart-sa + restartPolicy: OnFailure + containers: + - name: kubectl + image: bitnami/kubectl:latest + env: + - name: POD_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + command: + - /bin/sh + - -c + - | + kubectl -n "$POD_NAMESPACE" rollout restart deployment/desubot + kubectl -n "$POD_NAMESPACE" rollout restart deployment/get-id-bot