diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..f551d7f --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,13 @@ +repos: +- repo: git://github.com/pre-commit/pre-commit-hooks + rev: v4.0.1 + hooks: + - id: end-of-file-fixer +- repo: https://github.com/norwoodj/helm-docs + rev: v1.10.0 + hooks: + - id: helm-docs + args: + # Repeating the flag adds this to the list, now [./_templates.gotmpl, README.md.gotmpl] + # A base filename makes it relative to each chart directory found + - --template-files=README.md.gotmpl diff --git a/.tool-versions b/.tool-versions index 53e6150..2aaf15e 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1,2 @@ helm 3.8.0 +helm-docs 1.10.0 diff --git a/charts/panope/Chart.yaml b/charts/panope/Chart.yaml index 7742745..7164090 100644 --- a/charts/panope/Chart.yaml +++ b/charts/panope/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: panope -description: A Helm chart for Kubernetes +description: A Helm chart for Panope, use Spot VMs/Preemptible VMs in GKE to reduce infrastructure costs while high availability tool # A chart can be either an 'application' or a 'library' chart. # @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.7.0 +version: 0.7.1 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/charts/panope/README.md b/charts/panope/README.md index be0a86b..c465db5 100644 --- a/charts/panope/README.md +++ b/charts/panope/README.md @@ -1,16 +1,148 @@ -# Panope Chart -A Helm Chart for Panope. +# panope -# Prerequisites -*Kubernetes 1.7+* +A Helm chart for Panope, use Spot VMs/Preemptible VMs in GKE to reduce infrastructure costs while high availability tool + +![Version: 0.7.1](https://img.shields.io/badge/Version-0.7.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.7.0](https://img.shields.io/badge/AppVersion-v0.7.0-informational?style=flat-square) + +## Prerequisites +*GKE 1.19+* *Helm v3.0.0+* -# Installing the Chart +## Installing the Chart + To install the chart with the release name `my-release`: -``` -$ helm repo add 7knot https://7knot.github.io/helm-charts -"7knot" has been added to your repositories +```console +$ helm repo add 7knot https://7knot.github.io/helm-charts $ helm install my-release 7knot/panope -NAME: my-release ``` + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| agent.affinity | object | `{}` | Affinity for scheduling the agent pods | +| agent.clusterRole.annotations | object | `{}` | Annotations to add to the cluster role | +| agent.clusterRole.labels | object | `{}` | Labels to add to the cluster role | +| agent.clusterRoleBinding.annotations | object | `{}` | Annotations to add to the cluster role binding | +| agent.clusterRoleBinding.labels | object | `{}` | Labels to add to the cluster role binding | +| agent.configMap.agentSubject | string | `""` | Configure NATS subject for agent to publish to NATS server | +| agent.configMap.annotations | object | `{}` | Annotations to add to the config map | +| agent.configMap.clusterNodeMaxSurge | string | `"25%"` | Configure the maximum number of nodes in the cluster as a percentage | +| agent.configMap.controllerSubject | string | `""` | Configure NATS subject for agent to subscribe to NATS server | +| agent.configMap.drainingTimeoutSec | string | `nil` | configure the timeout for draining pods from node. if not set, default value is 180 | +| agent.configMap.failoverEnabled | string | `"false"` | enable the failover feature | +| agent.configMap.healthCheckPort | string | `nil` | Configure the health check port. if not set, default value is 4444 | +| agent.configMap.labels | object | `{}` | Labels to add to the config map | +| agent.configMap.maxProcessedNodeCount | string | `"5"` | Configure the maximum number of nodes to be processed at the same time (cordoned or drained, etc.) | +| agent.configMap.metricsPort | string | `nil` | Configure the metrics port. if not set, default value is 2112 | +| agent.configMap.natsUri | string | `"wss://nats.panope.net:443"` | Configure the NATS URI to connect NATS server, currently, the only supported URI schema is `wss` | +| agent.configMap.rollingUpdateTimeoutSec | string | `nil` | Configure the timeout for rolling update of deployment. if not set, default value is 180 | +| agent.deployment.annotations | object | `{}` | Annotations to add to the deployment of agent | +| agent.deployment.labels | object | `{}` | Labels to add to the deployment of agent | +| agent.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for the agent | +| agent.image.repository | string | `"gcr.io/panope/agent"` | Image repository to use for the agent | +| agent.image.tag | string | `nil` | Overrides the image tag whose default is the chart appVersion. | +| agent.imagePullSecrets | list | `[]` | If defined, uses a Secret to pull an image from a private Docker registry or repository. | +| agent.livenessProbe.failureThreshold | int | `5` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | +| agent.livenessProbe.httpGet.path | string | `"/health"` | Path to the health check endpoint | +| agent.livenessProbe.httpGet.port | int | `4444` | Port of health check endpoint | +| agent.livenessProbe.httpGet.scheme | string | `"HTTP"` | Schema of request | +| agent.livenessProbe.initialDelaySeconds | int | `5` | Number of seconds after the container has started before [probe] is initiated | +| agent.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | +| agent.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | +| agent.livenessProbe.timeoutSeconds | int | `5` | Number of seconds after which the [probe] times out | +| agent.nodeSelector | object | `{}` | Node labels for scheduling the agent pods | +| agent.pdb.annotations | object | `{}` | Annotations to add to the pdb | +| agent.pdb.enabled | bool | `false` | Configure PodDisruptionBudget for the agent pods | +| agent.pdb.labels | object | `{}` | Labels to add to the pdb | +| agent.podAnnotations | object | `{}` | Annotations for the agent pods | +| agent.podLabels | object | `{}` | Labels for the agent pods | +| agent.podSecurityContext | object | `{}` | Security context for the agent pods | +| agent.priorityClassName | string | `""` | Priority class name for the agent pods | +| agent.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | +| agent.readinessProbe.httpGet.path | string | `"/health"` | Path to the health check endpoint | +| agent.readinessProbe.httpGet.port | int | `4444` | Port of health check endpoint | +| agent.readinessProbe.httpGet.scheme | string | `"HTTP"` | Schema of request | +| agent.readinessProbe.initialDelaySeconds | int | `5` | Number of seconds after the container has started before [probe] is initiated | +| agent.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | +| agent.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | +| agent.readinessProbe.timeoutSeconds | int | `5` | Number of seconds after which the [probe] times out | +| agent.replicaCount | int | `1` | The number of agent pods to run | +| agent.resources | object | `{}` | Resources requests/limits for the agent containers | +| agent.role.annotations | object | `{}` | Annotations to add to the role | +| agent.role.labels | object | `{}` | Labels to add to the role | +| agent.roleBinding.annotations | object | `{}` | Annotations to add to the role binding | +| agent.roleBinding.labels | object | `{}` | Labels to add to the role binding | +| agent.secret.annotations | object | `{}` | Annotations to add to the secret | +| agent.secret.googleServiceAccountKeyfileJson | string | `nil` | JSON key file for a GCP service account to authenticate agent to GCP | +| agent.secret.labels | object | `{}` | Labels to add to the secret | +| agent.secret.nats.credentials | string | `nil` | Configure the NATS credentials for agent to publish/subscribe to NATS server | +| agent.secret.valuesAreBase64Encoded | bool | `false` | If set to true the values are already base64 encoded when provided, otherwise the template performs the base64 encoding | +| agent.securityContext | object | `{}` | Security context for the agent containers | +| agent.service.annotations | object | `{}` | Annotations to add to the service | +| agent.service.labels | object | `{}` | Labels to add to the service | +| agent.serviceAccount.annotations | object | `{}` | Annotations to add to the service account | +| agent.serviceAccount.labels | object | `{}` | Labels to add to the service account | +| agent.serviceAccount.name | string | `""` | Service account name. if not set, panope.agent.fullname is used | +| agent.serviceMonitor.annotations | object | `{}` | Annotations to add to the service monitor | +| agent.serviceMonitor.enabled | bool | `false` | Configure the service monitor for Prometheus | +| agent.serviceMonitor.labels | object | `{}` | Labels to add to the service monitor | +| agent.tolerations | list | `[]` | Tolerations for scheduling the agent pods | +| fullnameOverride | string | `""` | Completely replaces the generated release name. | +| nameOverride | string | `""` | Replaces the name of the chart in the Chart.yaml file | +| observer.affinity | object | `{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"cloud.google.com/gke-preemptible","operator":"Exists"}]},{"matchExpressions":[{"key":"cloud.google.com/gke-spot","operator":"Exists"}]},{"matchExpressions":[{"key":"panope.net/failover","operator":"Exists"}]}]}}}` | Affinity for scheduling the observer pods | +| observer.affinity.nodeAffinity | object | `{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"cloud.google.com/gke-preemptible","operator":"Exists"}]},{"matchExpressions":[{"key":"cloud.google.com/gke-spot","operator":"Exists"}]},{"matchExpressions":[{"key":"panope.net/failover","operator":"Exists"}]}]}}` | Following affinity is required for the observer to work properly | +| observer.clusterRole.annotations | object | `{}` | Annotations to add to the cluster role | +| observer.clusterRole.labels | object | `{}` | Labels to add to the cluster role | +| observer.clusterRoleBinding.annotations | object | `{}` | Annotations to add to the cluster role binding | +| observer.clusterRoleBinding.labels | object | `{}` | Labels to add to the cluster role binding | +| observer.configMap.annotations | object | `{}` | Annotations to add to the config map | +| observer.configMap.controllerSubject | string | `""` | Configure NATS subject for the observer to subscribe | +| observer.configMap.healthCheckPort | string | `nil` | Configure the health check port. if not set, default value is 4444 | +| observer.configMap.labels | object | `{}` | Labels to add to the config map | +| observer.configMap.metricsPort | string | `nil` | | +| observer.configMap.natsUri | string | `"wss://nats.panope.net:443"` | Configure NATS uri to connect to NATS server. currently, the only supported URI schema is `wss` | +| observer.configMap.observerSubject | string | `""` | Configure NATS subject for the observer to publish to NATS server | +| observer.daemonset.annotations | object | `{}` | Annotations to add to the deployment | +| observer.daemonset.labels | object | `{}` | Labels to add to the deployment | +| observer.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy for the observer | +| observer.image.repository | string | `"gcr.io/panope/observer"` | Image repository to use for the observer | +| observer.image.tag | string | `nil` | Overrides the image tag whose default is the chart appVersion | +| observer.imagePullSecrets | list | `[]` | If defined, uses a Secret to pull an image from a private Docker registry or repository | +| observer.livenessProbe.failureThreshold | int | `5` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | +| observer.livenessProbe.httpGet.path | string | `"/health"` | Path to the health check endpoint | +| observer.livenessProbe.httpGet.port | int | `4444` | Port of health check endpoint | +| observer.livenessProbe.httpGet.scheme | string | `"HTTP"` | Schema of request | +| observer.livenessProbe.initialDelaySeconds | int | `5` | Number of seconds after the container has started before [probe] is initiated | +| observer.livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | +| observer.livenessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | +| observer.livenessProbe.timeoutSeconds | int | `5` | Number of seconds after which the [probe] times out | +| observer.podAnnotations | object | `{}` | Annotations for the agent pods | +| observer.podLabels | object | `{}` | Labels for the observer pods | +| observer.podSecurityContext | object | `{}` | Security context for the observer pods | +| observer.priorityClassName | string | `""` | Priority class name for the observer pods | +| observer.readinessProbe.failureThreshold | int | `3` | Minimum consecutive failures for the [probe] to be considered failed after having succeeded | +| observer.readinessProbe.httpGet.path | string | `"/health"` | Path to the health check endpoint | +| observer.readinessProbe.httpGet.port | int | `4444` | Port of health check endpoint | +| observer.readinessProbe.httpGet.scheme | string | `"HTTP"` | Schema of request | +| observer.readinessProbe.initialDelaySeconds | int | `5` | Number of seconds after the container has started before [probe] is initiated | +| observer.readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the [probe] | +| observer.readinessProbe.successThreshold | int | `1` | Minimum consecutive successes for the [probe] to be considered successful after having failed | +| observer.readinessProbe.timeoutSeconds | int | `5` | Number of seconds after which the [probe] times out | +| observer.resources | object | `{}` | Resources requests/limits for the observer containers | +| observer.secret.annotations | object | `{}` | Annotations to add to the secret | +| observer.secret.labels | object | `{}` | Labels to add to the secret | +| observer.secret.nats.credentials | string | `nil` | Configure the NATS credentials for the observer to publish/subscribe to NATS server | +| observer.service.annotations | object | `{}` | Annotations to add to the service | +| observer.service.labels | object | `{}` | Labels to add to the service | +| observer.serviceAccount.annotations | object | `{}` | Annotations to add to the service account | +| observer.serviceAccount.labels | object | `{}` | Labels to add to the service account | +| observer.serviceAccount.name | string | `""` | Service account name. if not set, (panope.observer.fullname) is used | +| observer.serviceMonitor.annotations | object | `{}` | Annotations to add to the service monitor | +| observer.serviceMonitor.enabled | bool | `false` | Configure the service monitor for Prometheus | +| observer.serviceMonitor.labels | object | `{}` | Labels to add to the service monitor | +| observer.tolerations | list | `[]` | Tolerations for scheduling the observer pods | + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.10.0](https://github.com/norwoodj/helm-docs/releases/v1.10.0) diff --git a/charts/panope/README.md.gotmpl b/charts/panope/README.md.gotmpl new file mode 100644 index 0000000..b85d49a --- /dev/null +++ b/charts/panope/README.md.gotmpl @@ -0,0 +1,23 @@ +{{ template "chart.header" . }} +{{ template "chart.description" . }} + +{{ template "chart.versionBadge" . }}{{ template "chart.typeBadge" . }}{{ template "chart.appVersionBadge" . }} + +## Prerequisites +*GKE 1.19+* +*Helm v3.0.0+* + +## Installing the Chart + +To install the chart with the release name `my-release`: + +```console +$ helm repo add 7knot https://7knot.github.io/helm-charts +$ helm install my-release 7knot/{{ template "chart.name" . }} +``` + +{{ template "chart.requirementsSection" . }} + +{{ template "chart.valuesSection" . }} + +{{ template "helm-docs.versionFooter" . }} diff --git a/charts/panope/values.yaml b/charts/panope/values.yaml index 523fe07..580f61d 100644 --- a/charts/panope/values.yaml +++ b/charts/panope/values.yaml @@ -2,58 +2,81 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. +# -- Replaces the name of the chart in the Chart.yaml file nameOverride: "" +# -- Completely replaces the generated release name. fullnameOverride: "" agent: + # -- The number of agent pods to run replicaCount: 1 image: + # -- Image repository to use for the agent repository: gcr.io/panope/agent + # -- Image pull policy for the agent pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. + # -- Overrides the image tag whose default is the chart appVersion. tag: + # -- If defined, uses a Secret to pull an image from a private Docker registry or repository. imagePullSecrets: [] - nameOverride: "" - fullnameOverride: "" deployment: - # labels to add to the deployment + # -- Labels to add to the deployment of agent labels: {} - # Annotations to add to the deployment + # -- Annotations to add to the deployment of agent annotations: {} livenessProbe: + # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded failureThreshold: 5 httpGet: + # -- Path to the health check endpoint path: /health + # -- Port of health check endpoint port: 4444 + # -- Schema of request scheme: HTTP + # -- Number of seconds after the container has started before [probe] is initiated initialDelaySeconds: 5 + # -- How often (in seconds) to perform the [probe] periodSeconds: 10 + # -- Minimum consecutive successes for the [probe] to be considered successful after having failed successThreshold: 1 + # -- Number of seconds after which the [probe] times out timeoutSeconds: 5 readinessProbe: + # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded failureThreshold: 3 httpGet: + # -- Path to the health check endpoint path: /health + # -- Port of health check endpoint port: 4444 + # -- Schema of request scheme: HTTP + # -- Number of seconds after the container has started before [probe] is initiated initialDelaySeconds: 5 + # -- How often (in seconds) to perform the [probe] periodSeconds: 10 + # -- Minimum consecutive successes for the [probe] to be considered successful after having failed successThreshold: 1 + # -- Number of seconds after which the [probe] times out timeoutSeconds: 5 - + # -- Annotations for the agent pods podAnnotations: {} + # -- Labels for the agent pods podLabels: {} + # -- Security context for the agent pods podSecurityContext: {} # fsGroup: 2000 + # -- Security context for the agent containers securityContext: {} # capabilities: @@ -63,8 +86,10 @@ agent: # runAsNonRoot: true # runAsUser: 1000 + # -- Priority class name for the agent pods priorityClassName: "" + # -- Resources requests/limits for the agent containers resources: {} # We usually recommend not to specify default resources and to leave this as a conscious @@ -78,20 +103,23 @@ agent: # cpu: 100m # memory: 128Mi + # -- Node labels for scheduling the agent pods nodeSelector: {} + # -- Tolerations for scheduling the agent pods tolerations: [] + # -- Affinity for scheduling the agent pods affinity: {} secret: - # labels to add to the secret + # -- Labels to add to the secret labels: {} - # annotations to add to the secret + # -- Annotations to add to the secret annotations: {} nats: - # configure the NATS credentials for agent to publish/subscribe + # -- Configure the NATS credentials for agent to publish/subscribe to NATS server credentials: # credentials: | # -----BEGIN NATS USER JWT----- @@ -106,125 +134,128 @@ agent: # ************************************************************* - # if set to true the values are already base64 encoded when provided, otherwise the template performs the base64 encoding + # -- If set to true the values are already base64 encoded when provided, otherwise the template performs the base64 encoding valuesAreBase64Encoded: false - # sets a json keyfile for a gcp service account + # -- JSON key file for a GCP service account to authenticate agent to GCP googleServiceAccountKeyfileJson: configMap: - # labels to add to the config map + # -- Labels to add to the config map labels: {} - # annotations to add to the config map + # -- Annotations to add to the config map annotations: {} - # configure the NATS URI - # currently, the only supported URI schema is `wss` + # -- Configure the NATS URI to connect NATS server, currently, the only supported URI schema is `wss` natsUri: "wss://nats.panope.net:443" - # configure NATS subject for agent to publish + # -- Configure NATS subject for agent to publish to NATS server agentSubject: "" - # configure NATS subject for agent to subscribe + # -- Configure NATS subject for agent to subscribe to NATS server controllerSubject: "" - # configure the health check port - # if not set, default value is 4444 + # -- Configure the health check port. if not set, default value is 4444 healthCheckPort: - # configure the metrics port - # if not set, default value is 2112 + # -- Configure the metrics port. if not set, default value is 2112 metricsPort: - # configure the maximum number of nodes in the cluster as a percentage + # -- Configure the maximum number of nodes in the cluster as a percentage clusterNodeMaxSurge: "25%" - # configure the maximum number of nodes to be processed at the same time (cordoned or drained, etc.) + # -- Configure the maximum number of nodes to be processed at the same time (cordoned or drained, etc.) maxProcessedNodeCount: "5" - # configure the timeout for rolling update of deployment - # if not set, default value is 180 + # -- Configure the timeout for rolling update of deployment. if not set, default value is 180 rollingUpdateTimeoutSec: - # configure the timeout for draining pods - # if not set, default value is 180 + # -- configure the timeout for draining pods from node. if not set, default value is 180 drainingTimeoutSec: - # configure the failover feature + # -- enable the failover feature failoverEnabled: "false" serviceAccount: + # -- Service account name. if not set, panope.agent.fullname is used name: "" - # labels to add to the service account + # -- Labels to add to the service account labels: {} - # Annotations to add to the service account + # -- Annotations to add to the service account annotations: {} role: - # labels to add to the role + # -- Labels to add to the role labels: {} - # Annotations to add to the role + # -- Annotations to add to the role annotations: {} roleBinding: - # labels to add to the role binding + # -- Labels to add to the role binding labels: {} - # Annotations to add to the role binding + # -- Annotations to add to the role binding annotations: {} clusterRole: - # labels to add to the cluster role + # -- Labels to add to the cluster role labels: {} - # Annotations to add to the cluster role + # -- Annotations to add to the cluster role annotations: {} clusterRoleBinding: - # labels to add to the cluster role binding + # -- Labels to add to the cluster role binding labels: {} - # Annotations to add to the cluster role binding + # -- Annotations to add to the cluster role binding annotations: {} pdb: - # labels to add to the pdb + # -- Labels to add to the pdb labels: {} - # annotations to add to the pdb + # -- Annotations to add to the pdb annotations: {} - # configure PodDisruptionBudget for the agent pods + # -- Configure PodDisruptionBudget for the agent pods enabled: false # minAvailable: 1 # maxUnavailable: 1 serviceMonitor: - # labels to add to the servicemonitor + # -- Labels to add to the service monitor labels: {} - # annotations to add to the servicemonitor + # -- Annotations to add to the service monitor annotations: {} - # configure ServiceMonitor for Prometheus + # -- Configure the service monitor for Prometheus enabled: false service: - # labels to add to the service + # -- Labels to add to the service labels: {} - # Annotations to add to the service + # -- Annotations to add to the service annotations: {} observer: image: + # -- Image repository to use for the observer repository: gcr.io/panope/observer + # -- Image pull policy for the observer pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. + # -- Overrides the image tag whose default is the chart appVersion tag: + # -- Annotations for the agent pods podAnnotations: {} + # -- Labels for the observer pods podLabels: {} + # -- Security context for the observer pods podSecurityContext: {} + # -- If defined, uses a Secret to pull an image from a private Docker registry or repository imagePullSecrets: [] + # -- Affinity for scheduling the observer pods affinity: - # following affinity is required for the observer to work properly + # -- Following affinity is required for the observer to work properly nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: @@ -239,19 +270,19 @@ observer: operator: Exists daemonset: - # labels to add to the deployment + # -- Labels to add to the deployment labels: {} - # annotations to add to the deployment + # -- Annotations to add to the deployment annotations: {} secret: - # labels to add to the secret + # -- Labels to add to the secret labels: {} - # annotations to add to the secret + # -- Annotations to add to the secret annotations: {} nats: - # configure the NATS credentials for agent to publish/subscribe + # -- Configure the NATS credentials for the observer to publish/subscribe to NATS server credentials: # credentials: | # -----BEGIN NATS USER JWT----- @@ -268,72 +299,88 @@ observer: configMap: - # labels to add to the config map + # -- Labels to add to the config map labels: {} - # annotations to add to the config map + # -- Annotations to add to the config map annotations: {} - # configure NATS subject for observer to publish + # -- Configure NATS subject for the observer to publish to NATS server observerSubject: "" - # configure NATS subject for observer to subscribe + # -- Configure NATS subject for the observer to subscribe controllerSubject: "" - # configure the NATS URI - # currently, the only supported URI schema is `wss` + # -- Configure NATS uri to connect to NATS server. currently, the only supported URI schema is `wss` natsUri: "wss://nats.panope.net:443" - # configure the health check port - # if not set, default value is 4444 + # -- Configure the health check port. if not set, default value is 4444 healthCheckPort: - # configure the metrics port - # if not set, default value is 2112 + # Configure the metrics port. if not set, default value is 2112 metricsPort: livenessProbe: + # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded failureThreshold: 5 httpGet: + # -- Path to the health check endpoint path: /health + # -- Port of health check endpoint port: 4444 + # -- Schema of request scheme: HTTP + # -- Number of seconds after the container has started before [probe] is initiated initialDelaySeconds: 5 + # -- How often (in seconds) to perform the [probe] periodSeconds: 10 + # -- Minimum consecutive successes for the [probe] to be considered successful after having failed successThreshold: 1 + # -- Number of seconds after which the [probe] times out timeoutSeconds: 5 readinessProbe: + # -- Minimum consecutive failures for the [probe] to be considered failed after having succeeded failureThreshold: 3 httpGet: + # -- Path to the health check endpoint path: /health + # -- Port of health check endpoint port: 4444 + # -- Schema of request scheme: HTTP + # -- Number of seconds after the container has started before [probe] is initiated initialDelaySeconds: 5 + # -- How often (in seconds) to perform the [probe] periodSeconds: 10 + # -- Minimum consecutive successes for the [probe] to be considered successful after having failed successThreshold: 1 + # -- Number of seconds after which the [probe] times out timeoutSeconds: 5 serviceAccount: + # -- Service account name. if not set, (panope.observer.fullname) is used name: "" - # labels to add to the service account + # -- Labels to add to the service account labels: {} - # Annotations to add to the service account + # -- Annotations to add to the service account annotations: {} clusterRole: - # labels to add to the cluster role + # -- Labels to add to the cluster role labels: {} - # Annotations to add to the cluster role + # -- Annotations to add to the cluster role annotations: {} clusterRoleBinding: - # labels to add to the cluster role binding + # -- Labels to add to the cluster role binding labels: {} - # Annotations to add to the cluster role binding + # -- Annotations to add to the cluster role binding annotations: {} + # -- Priority class name for the observer pods priorityClassName: "" + # -- Resources requests/limits for the observer containers resources: {} # We usually recommend not to specify default resources and to leave this as a conscious @@ -347,18 +394,19 @@ observer: # cpu: 100m # memory: 128Mi + # -- Tolerations for scheduling the observer pods tolerations: [] serviceMonitor: - # labels to add to the servicemonitor + # -- Labels to add to the service monitor labels: {} - # annotations to add to the servicemonitor + # -- Annotations to add to the service monitor annotations: {} - # configure ServiceMonitor for Prometheus + # -- Configure the service monitor for Prometheus enabled: false service: - # labels to add to the service + # -- Labels to add to the service labels: {} - # Annotations to add to the service + # -- Annotations to add to the service annotations: {}