charts/kube-node-reboot/values.yaml (122 lines of code) (raw):

## @param spec The Kured configuration ## @skip spec spec: ## @param image Docker image to use for the Kured container ## @skip image image: repository: ghcr.io/kubereboot/kured tag: "" # will default to the appVersion in Chart.yaml pullPolicy: IfNotPresent pullSecrets: [] ## @param revisionHistoryLimit The number of old history to retain to allow rollback ## @skip revisionHistoryLimit revisionHistoryLimit: 10 ## @param updateStrategy The strategy to use for updates ## @skip updateStrategy updateStrategy: RollingUpdate ## @param maxUnavailable The maximum number of pods that can be unavailable during the update ## @skip maxUnavailable maxUnavailable: 1 ## @param podAnnotations - Annotations to add to the Kured pod ## @skip podAnnotations podAnnotations: {} # container.apparmor.security.beta.kubernetes.io/kured: unconfined ## @param dsAnnotations - Annotations to add to the Kured DaemonSet ## @skip dsAnnotations dsAnnotations: {} ## @param extraArgs Additional arguments to pass to the Kured container ## @skip extraArgs extraArgs: {} ## @param extraEnvVars Additional environment variables to pass to the Kured container ## @skip extraEnvVars extraEnvVars: {} # - name: slackHookUrl # valueFrom: # secretKeyRef: # name: secret_name # key: secret_key # - name: regularEnvVariable # value: 123 ## @param configuration Configuration options for Kured ## @skip configuration configuration: useRebootSentinelHostPath: true # not actually a flag, indicates if the sentinel should be mounted metricsHost: "" # host where metrics will listen metricsPort: 8080 # port number where metrics will listen lockTtl: 0 # force clean annotation after this amount of time (default 0, disabled) alertFilterRegexp: "" # alert names to ignore when checking for active alerts alertFiringOnly: false # only consider firing alerts when checking for active alerts alertFilterMatchOnly: false # Only block if the alert-filter-regexp matches active alerts blockingPodSelector: [] # label selector identifying pods whose presence should prevent reboots endTime: "17:00" # only reboot before this time of day (default "23:59") lockAnnotation: "" # annotation in which to record locking node (default "weave.works/kured-node-lock") period: "30m0s" # reboot check period (default 1h0m0s) forceReboot: false # force a reboot even if the drain fails or times out (default: false) drainGracePeriod: "" # time in seconds given to each pod to terminate gracefully, if negative, the default value specified in the pod will be used (default: -1) drainPodSelector: "" # only drain pods with labels matching the selector (default: '', all pods) drainDelay: 0 # delay drain for this duration (default: 0, disabled) drainTimeout: "" # timeout after which the drain is aborted (default: 0, infinite time) skipWaitForDeleteTimeout: "" # when time is greater than zero, skip waiting for the pods whose deletion timestamp is older than N seconds while draining a node (default: 0) prometheusUrl: "" # Prometheus instance to probe for active alerts # only reboot on these days (default [su,mo,tu,we,th,fr,sa]) rebootDays: - "mo" - "tu" - "we" - "th" - "fr" rebootSentinel: "/var/run/reboot-required" # path to file whose existence signals need to reboot (default "/var/run/reboot-required") rebootSentinelCommand: "" # command for which a successful run signals need to reboot (default ""). If non-empty, sentinel file will be ignored. rebootCommand: "/bin/systemctl reboot" # command to run when a reboot is required by the sentinel rebootDelay: "" # add a delay after drain finishes but before the reboot command is issued rebootMethod: "" # method to use for reboots (default command), available: command, signal rebootSignal: "" # signal to use for reboots (default 39 = SIGRTMIN+5). slackChannel: "" # slack channel for reboot notifications slackHookUrl: "" # slack hook URL for reboot notifications slackUsername: "" # slack username for reboot notifications (default "kured") notifyUrl: "" # notification URL with the syntax as follows: https://containrrr.dev/shoutrrr/services/overview/ messageTemplateDrain: "" # slack message template when notifying about a node being drained (default "Draining node %s") messageTemplateReboot: "" # slack message template when notifying about a node being rebooted (default "Rebooted node %s") messageTemplateUncordon: "" # slack message template when notifying about a node being uncordoned (default "Node %s rebooted & uncordoned successfully!") startTime: "10:00" # only reboot after this time of day (default "0:00") timeZone: "Europe/Amsterdam" # time-zone to use (valid zones from "time" golang package) annotateNodes: true # enable 'weave.works/kured-reboot-in-progress' and 'weave.works/kured-most-recent-reboot-needed' node annotations to signify kured reboot operations lockReleaseDelay: 0 # hold lock after reboot by this amount of time (default 0, disabled) preferNoScheduleTaint: "" # Taint name applied during pending node reboot (to prevent receiving additional pods from other rebooting nodes). Disabled by default. Set e.g. to "weave.works/kured-node-reboot" to enable tainting. logFormat: "text" # log format specified as text or json, defaults to text preRebootNodeLabels: [] # labels to add to nodes before cordoning (default []) postRebootNodeLabels: [] # labels to add to nodes after uncordoning (default []) concurrency: 1 # amount of nodes to concurrently reboot. (default 1) ## @param rbac Enable RBAC resources ## @skip rbac rbac: create: true ## @param serviceAccount The name of the service account to use ## @skip serviceAccount serviceAccount: create: true annotations: prometheus.io/scrape: "true" prometheus.io/path: "/metrics" prometheus.io/port: "8080" ## @param podSecurityPolicy Enable PodSecurityPolicy resources ## @skip podSecurityPolicy podSecurityPolicy: create: false ## @param containerSecurityContext Security context for the Kured container ## @skip containerSecurityContext containerSecurityContext: privileged: true # Give permission to nsenter /proc/1/ns/mnt readOnlyRootFilesystem: true # allowPrivilegeEscalation: true # Needed when using defaultAllowPrivilegedEscalation: false in psp # Use the following security-context when "configuration.rebootMethod=signal and configuration.useRebootSentinelHostPath=true" # containerSecurityContext: # privileged: false # readOnlyRootFilesystem: true # allowPrivilegeEscalation: false # capabilities: # add: # - CAP_KILL # drop: # - '*' ## @param resources Resource limits and requests for the Kured container ## @skip resources resources: limits: cpu: "200m" memory: "128Mi" requests: cpu: "200m" memory: "128Mi" ## @param hostNetwork Use the host's network namespace ## @skip hostNetwork hostNetwork: false ## @param metrics Enable Prometheus metrics ## @skip metrics metrics: create: false namespace: "" labels: {} interval: 60s scrapeTimeout: "" ## @param service Enable a service for the metrics ## @skip service service: create: false port: 8080 annotations: {} name: "" type: ClusterIP ## @param livenessProbe The liveness probe for the Kured container ## @skip livenessProbe livenessProbe: httpGet: path: /metrics port: metrics scheme: HTTP initialDelaySeconds: 10 periodSeconds: 30 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## @param readinessProbe The readiness probe for the Kured container ## @skip readinessProbe readinessProbe: httpGet: path: /metrics port: metrics scheme: HTTP initialDelaySeconds: 10 periodSeconds: 30 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 ## @param podLabels Labels to add to the Kured pod ## @skip podLabels podLabels: {} ## @param priorityClassName The name of the priority class to use ## @skip priorityClassName priorityClassName: "" ## @param tolerations Tolerations for the Kured pod ## @skip tolerations tolerations: [] ## @param affinity Affinity for the Kured pod ## @skip affinity affinity: {} ## @param nodeSelector Node selector for the Kured pod ## @skip nodeSelector nodeSelector: kubernetes.io/os: linux ## @param volumeMounts Additional volume mounts for the Kured container ## @skip volumeMounts volumeMounts: [] ## @param volumes Additional volumes for the Kured pod ## @skip volumes volumes: [] ## @param initContainers Additional init containers for the Kured pod ## @skip initContainers initContainers: {}