From 60a8a77da38ed6cf4be5ff76ccb69ef0efe2c2e8 Mon Sep 17 00:00:00 2001 From: jenkins-x-bot Date: Tue, 7 Jan 2025 10:17:57 +0000 Subject: [PATCH] chore: release 1.22.4 --- changelog.md | 6 + charts/lighthouse/Chart.yaml | 4 +- charts/lighthouse/README.md | 334 ++++++++++++------------ charts/lighthouse/lighthouse-1.22.4.tgz | Bin 0 -> 16605 bytes charts/lighthouse/values.yaml | 161 +----------- 5 files changed, 177 insertions(+), 328 deletions(-) create mode 100644 changelog.md create mode 100644 charts/lighthouse/lighthouse-1.22.4.tgz diff --git a/changelog.md b/changelog.md new file mode 100644 index 000000000..95250454a --- /dev/null +++ b/changelog.md @@ -0,0 +1,6 @@ + +## Changes in version 1.22.4 + +### Reverts + +* retry creation of pipelinerun (MÃ¥rten Svantesson) diff --git a/charts/lighthouse/Chart.yaml b/charts/lighthouse/Chart.yaml index edc18364e..e9afe7b64 100644 --- a/charts/lighthouse/Chart.yaml +++ b/charts/lighthouse/Chart.yaml @@ -3,6 +3,6 @@ description: | This chart bootstraps installation of [Lighthouse](https://github.com/jenkins-x/lighthouse). icon: https://raw.githubusercontent.com/jenkins-x/jenkins-x-website/master/images/logo/jenkinsx-icon-color.svg name: lighthouse -version: 0.1.0-SNAPSHOT +version: 1.22.4 home: https://github.com/jenkins-x/lighthouse - +appVersion: 1.22.4 diff --git a/charts/lighthouse/README.md b/charts/lighthouse/README.md index 02adf02a9..1dcf579ed 100644 --- a/charts/lighthouse/README.md +++ b/charts/lighthouse/README.md @@ -42,172 +42,172 @@ helm uninstall my-lighthouse --namespace lighthouse ## Values -| Key | Type | Description | Default | -|-----------------------------------------------------|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------| -| `cluster.crds.create` | bool | Create custom resource definitions | `true` | -| `configMaps.config` | string | Raw `config.yaml` content | `nil` | -| `configMaps.configUpdater` | object | Settings used to configure the `config-updater` plugin | `{"orgAndRepo":"","path":""}` | -| `configMaps.create` | bool | Enables creation of `config.yaml` and `plugins.yaml` config maps | `false` | -| `configMaps.plugins` | string | Raw `plugins.yaml` content | `nil` | -| `engines.jenkins` | bool | Enables the Jenkins engine | `false` | -| `engines.jx` | bool | Enables the jx engine | `true` | -| `engines.tekton` | bool | Enables the tekton engine | `false` | -| `env` | object | Environment variables | `{"JX_DEFAULT_IMAGE":""}` | -| `externalPlugins[0].name` | string | | `"cd-indicators"` | -| `externalPlugins[0].requiredResources[0].kind` | string | | `"Service"` | -| `externalPlugins[0].requiredResources[0].name` | string | | `"cd-indicators"` | -| `externalPlugins[0].requiredResources[0].namespace` | string | | `"jx"` | -| `externalPlugins[1].name` | string | | `"lighthouse-webui-plugin"` | -| `externalPlugins[1].requiredResources[0].kind` | string | | `"Service"` | -| `externalPlugins[1].requiredResources[0].name` | string | | `"lighthouse-webui-plugin"` | -| `externalPlugins[1].requiredResources[0].namespace` | string | | `"jx"` | -| `foghorn.affinity` | object | [Affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) applied to the foghorn pods | `{}` | -| `foghorn.containerSecurityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the foghorn containers | `{}` | -| `foghorn.image.pullPolicy` | string | Template for computing the foghorn controller docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | -| `foghorn.image.repository` | string | Template for computing the foghorn controller docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-foghorn"` | -| `foghorn.image.tag` | string | Template for computing the foghorn controller docker image tag | `"{{ .Values.image.tag }}"` | -| `foghorn.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | -| `foghorn.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the foghorn pods | `{}` | -| `foghorn.replicaCount` | int | Number of replicas | `1` | -| `foghorn.resources.limits` | object | Resource limits applied to the foghorn pods | `{"cpu":"100m","memory":"256Mi"}` | -| `foghorn.resources.requests` | object | Resource requests applied to the foghorn pods | `{"cpu":"80m","memory":"128Mi"}` | -| `foghorn.securityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the foghorn pods | `{}` | -| `foghorn.terminationGracePeriodSeconds` | int | Termination grace period for foghorn pods | `180` | -| `foghorn.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the foghorn pods | `[]` | -| `gcJobs.backoffLimit` | int | Drives the job's backoff limit | `6` | -| `gcJobs.concurrencyPolicy` | string | Drives the job's concurrency policy | `"Forbid"` | -| `gcJobs.failedJobsHistoryLimit` | int | Drives the failed jobs history limit | `1` | -| `gcJobs.image.pullPolicy` | string | Template for computing the gc job docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | -| `gcJobs.image.repository` | string | Template for computing the gc job docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-gc-jobs"` | -| `gcJobs.image.tag` | string | Template for computing the gc job docker image tag | `"{{ .Values.image.tag }}"` | -| `gcJobs.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | -| `gcJobs.maxAge` | string | Max age from which `LighthouseJob`s will be deleted | `"168h"` | -| `gcJobs.schedule` | string | Cron expression to periodically delete `LighthouseJob`s | `"0/30 * * * *"` | -| `gcJobs.successfulJobsHistoryLimit` | int | Drives the successful jobs history limit | `3` | -| `git.kind` | string | Git SCM provider (`github`, `gitlab`, `stash`) | `"github"` | -| `git.server` | string | Git server URL | `""` | -| `githubApp.enabled` | bool | Enables GitHub app authentication | `false` | -| `githubApp.username` | string | GitHub app user name | `"jenkins-x[bot]"` | -| `hmacSecretName` | string | Existing hmac secret to use for webhooks | `""` | -| `hmacToken` | string | Secret used for webhooks | `""` | -| `hmacTokenEnabled` | bool | Enables the use of a hmac token. This should always be enabled if possible - though some git providers don't support it such as bitbucket cloud | `true` | -| `hmacTokenVolumeMount` | object | Mount hmac token as a volume instead of using an environment variable Secret reference | `{"enabled":false}` | -| `image.parentRepository` | string | Docker registry to pull images from | `"ghcr.io/jenkins-x"` | -| `image.pullPolicy` | string | Image pull policy | `"IfNotPresent"` | -| `image.tag` | string | Docker images tag the following tag is latest on the main branch, it's a specific version on a git tag | `"latest"` | -| `jenkinscontroller.affinity` | object | [Affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) applied to the jenkins controller pods | `{}` | -| `jenkinscontroller.containerSecurityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the jenkins controller containers | `{}` | -| `jenkinscontroller.image.pullPolicy` | string | Template for computing the jenkins controller docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | -| `jenkinscontroller.image.repository` | string | Template for computing the Jenkins controller docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-jenkins-controller"` | -| `jenkinscontroller.image.tag` | string | Template for computing the jenkins controller docker image tag | `"{{ .Values.image.tag }}"` | -| `jenkinscontroller.jenkinsToken` | string | The token for authenticating the Jenkins user | `nil` | -| `jenkinscontroller.jenkinsURL` | string | The URL of the Jenkins instance | `nil` | -| `jenkinscontroller.jenkinsUser` | string | The username for the Jenkins user | `nil` | -| `jenkinscontroller.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | -| `jenkinscontroller.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the jenkins controller pods | `{}` | -| `jenkinscontroller.podAnnotations` | object | Annotations applied to the jenkins controller pods | `{}` | -| `jenkinscontroller.resources.limits` | object | Resource limits applied to the jenkins controller pods | `{"cpu":"100m","memory":"256Mi"}` | -| `jenkinscontroller.resources.requests` | object | Resource requests applied to the jenkins controller pods | `{"cpu":"80m","memory":"128Mi"}` | -| `jenkinscontroller.securityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the jenkins controller pods | `{}` | -| `jenkinscontroller.service` | object | Service settings for the jenkins controller | `{"annotations":{}}` | -| `jenkinscontroller.terminationGracePeriodSeconds` | int | Termination grace period for jenkins controller pods | `180` | -| `jenkinscontroller.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the jenkins controller pods | `[]` | -| `keeper.affinity` | object | [Affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) applied to the keeper pods | `{}` | -| `keeper.containerSecurityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the keeper containers | `{}` | -| `keeper.datadog.enabled` | string | Enables datadog | `"true"` | -| `keeper.env` | object | Lets you define keeper specific environment variables | `{}` | -| `keeper.image.pullPolicy` | string | Template for computing the keeper controller docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | -| `keeper.image.repository` | string | Template for computing the keeper controller docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-keeper"` | -| `keeper.image.tag` | string | Template for computing the keeper controller docker image tag | `"{{ .Values.image.tag }}"` | -| `keeper.livenessProbe` | object | Liveness probe configuration | `{"initialDelaySeconds":120,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | -| `keeper.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | -| `keeper.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the keeper pods | `{}` | -| `keeper.podAnnotations` | object | Annotations applied to the keeper pods | `{}` | -| `keeper.probe` | object | Liveness and readiness probes settings | `{"path":"/"}` | -| `keeper.readinessProbe` | object | Readiness probe configuration | `{"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | -| `keeper.replicaCount` | int | Number of replicas | `1` | -| `keeper.resources.limits` | object | Resource limits applied to the keeper pods | `{"cpu":"400m","memory":"512Mi"}` | -| `keeper.resources.requests` | object | Resource requests applied to the keeper pods | `{"cpu":"100m","memory":"128Mi"}` | -| `keeper.securityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the keeper pods | `{}` | -| `keeper.service` | object | Service settings for the keeper controller | `{"externalPort":80,"internalPort":8888,"type":"ClusterIP"}` | -| `keeper.statusContextLabel` | string | Label used to report status to git provider | `"Lighthouse Merge Status"` | -| `keeper.terminationGracePeriodSeconds` | int | Termination grace period for keeper pods | `30` | -| `keeper.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the keeper pods | `[]` | -| `lighthouseJobNamespace` | string | Namespace where `LighthouseJob`s and `Pod`s are created | Deployment namespace | -| `logFormat` | string | Log format either json or stackdriver | `"json"` | -| `logService` | string | The name of the service registered with logging | `""` | -| `logStackSkip` | string | Comma separated stack frames to skip from the log | `""` | -| `oauthSecretName` | string | Existing Git token secret | `""` | -| `oauthToken` | string | Git token (used when GitHub app authentication is not enabled) | `""` | -| `oauthTokenVolumeMount` | object | Mount Git token as a volume instead of using an environment variable Secret reference (used when GitHub app authentication is not enabled) | `{"enabled":false}` | -| `poller.affinity` | object | [Affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) applied to the poller pods | `{}` | -| `poller.contextMatchPattern` | string | Regex pattern to use to match commit status context | `""` | -| `poller.datadog.enabled` | string | Enables datadog | `"true"` | -| `poller.enabled` | bool | Whether to enable or disable the poller component | `false` | -| `poller.env` | object | Lets you define poller specific environment variables | `{"POLL_HOOK_ENDPOINT":"http://hook/hook/poll","POLL_PERIOD":"20s"}` | -| `poller.image.pullPolicy` | string | Template for computing the poller controller docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | -| `poller.image.repository` | string | Template for computing the poller controller docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-poller"` | -| `poller.image.tag` | string | Template for computing the poller controller docker image tag | `"{{ .Values.image.tag }}"` | -| `poller.internalPort` | int | | `8888` | -| `poller.livenessProbe` | object | Liveness probe configuration | `{"initialDelaySeconds":120,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | -| `poller.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | -| `poller.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the poller pods | `{}` | -| `poller.podAnnotations` | object | Annotations applied to the poller pods | `{}` | -| `poller.probe` | object | Liveness and readiness probes settings | `{"path":"/"}` | -| `poller.readinessProbe` | object | Readiness probe configuration | `{"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | -| `poller.replicaCount` | int | Number of replicas | `1` | -| `poller.requireReleaseSuccess` | bool | Keep polling releases until the most recent commit status is successful | `false` | -| `poller.resources.limits` | object | Resource limits applied to the poller pods | `{"cpu":"400m","memory":"512Mi"}` | -| `poller.resources.requests` | object | Resource requests applied to the poller pods | `{"cpu":"100m","memory":"128Mi"}` | -| `poller.terminationGracePeriodSeconds` | int | Termination grace period for poller pods | `30` | -| `poller.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the poller pods | `[]` | -| `scope` | string | limit permissions to namespace privileges | `"cluster"` | -| `tektoncontroller.affinity` | object | [Affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) applied to the tekton controller pods | `{}` | -| `tektoncontroller.containerSecurityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the tekton controller containers | `{}` | -| `tektoncontroller.dashboardTemplate` | string | Go template expression for URLs in the dashboard if not using Tekton dashboard | `""` | -| `tektoncontroller.dashboardURL` | string | the dashboard URL (e.g. Tekton dashboard) | `""` | -| `tektoncontroller.enableRerunStatusUpdate` | bool | Enable updating the status at the git provider when PipelineRuns are rerun | `false` | -| `tektoncontroller.image.pullPolicy` | string | Template for computing the tekton controller docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | -| `tektoncontroller.image.repository` | string | Template for computing the tekton controller docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-tekton-controller"` | -| `tektoncontroller.image.tag` | string | Template for computing the tekton controller docker image tag | `"{{ .Values.image.tag }}"` | -| `tektoncontroller.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | -| `tektoncontroller.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the tekton controller pods | `{}` | -| `tektoncontroller.podAnnotations` | object | Annotations applied to the tekton controller pods | `{}` | -| `tektoncontroller.replicaCount` | int | Number of replicas | `1` | -| `tektoncontroller.resources.limits` | object | Resource limits applied to the tekton controller pods | `{"cpu":"100m","memory":"256Mi"}` | -| `tektoncontroller.resources.requests` | object | Resource requests applied to the tekton controller pods | `{"cpu":"80m","memory":"128Mi"}` | -| `tektoncontroller.securityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the tekton controller pods | `{}` | -| `tektoncontroller.service` | object | Service settings for the tekton controller | `{"annotations":{}}` | -| `tektoncontroller.terminationGracePeriodSeconds` | int | Termination grace period for tekton controller pods | `180` | -| `tektoncontroller.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the tekton controller pods | `[]` | -| `user` | string | Git user name (used when GitHub app authentication is not enabled) | `""` | -| `webhooks.affinity` | object | [Affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) applied to the webhooks pods | `{}` | -| `webhooks.containerSecurityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the webhooks containers | `{}` | -| `webhooks.customDeploymentTriggerCommand` | string | deployments can configure the ability to allow custom lighthouse triggers using their own unique chat prefix, for example extending the default `/test` trigger prefix let them specify `customDeploymentTriggerPrefix: foo` which means they can also use their own custom trigger /foo mycoolthing | `""` | -| `webhooks.image.pullPolicy` | string | Template for computing the webhooks controller docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | -| `webhooks.image.repository` | string | Template for computing the webhooks controller docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-webhooks"` | -| `webhooks.image.tag` | string | Template for computing the webhooks controller docker image tag | `"{{ .Values.image.tag }}"` | -| `webhooks.ingress.annotations` | object | Webhooks ingress annotations | `{}` | -| `webhooks.ingress.enabled` | bool | Enable webhooks ingress | `false` | -| `webhooks.ingress.hosts` | list | Webhooks ingress host names | `[]` | -| `webhooks.ingress.ingressClassName` | string | Webhooks ingress ingressClassName | `nil` | -| `webhooks.ingress.tls.enabled` | bool | Enable webhooks ingress tls | `false` | -| `webhooks.ingress.tls.secretName` | string | Specify webhooks ingress tls secretName | `""` | -| `webhooks.labels` | object | allow optional labels to be added to the webhook deployment | `{}` | -| `webhooks.livenessProbe` | object | Liveness probe configuration | `{"initialDelaySeconds":60,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | -| `webhooks.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | -| `webhooks.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the webhooks pods | `{}` | -| `webhooks.podAnnotations` | object | Annotations applied to the webhooks pods | `{}` | -| `webhooks.podLabels` | object | | `{}` | -| `webhooks.probe` | object | Liveness and readiness probes settings | `{"path":"/"}` | -| `webhooks.readinessProbe` | object | Readiness probe configuration | `{"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | -| `webhooks.replicaCount` | int | Number of replicas | `1` | -| `webhooks.resources.limits` | object | Resource limits applied to the webhooks pods | `{"cpu":"100m","memory":"512Mi"}` | -| `webhooks.resources.requests` | object | Resource requests applied to the webhooks pods | `{"cpu":"80m","memory":"128Mi"}` | -| `webhooks.securityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the webhooks pods | `{}` | -| `webhooks.service` | object | Service settings for the webhooks controller | `{"annotations":{},"externalPort":80,"internalPort":8080,"type":"ClusterIP"}` | -| `webhooks.serviceName` | string | Allows overriding the service name, this is here for compatibility reasons, regular users should clear this out | `"hook"` | -| `webhooks.terminationGracePeriodSeconds` | int | Termination grace period for webhooks pods | `180` | -| `webhooks.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the webhooks pods | `[]` | +| Key | Type | Description | Default | +|-----|------|-------------|---------| +| `cluster.crds.create` | bool | Create custom resource definitions | `true` | +| `configMaps.config` | string | Raw `config.yaml` content | `nil` | +| `configMaps.configUpdater` | object | Settings used to configure the `config-updater` plugin | `{"orgAndRepo":"","path":""}` | +| `configMaps.create` | bool | Enables creation of `config.yaml` and `plugins.yaml` config maps | `false` | +| `configMaps.plugins` | string | Raw `plugins.yaml` content | `nil` | +| `engines.jenkins` | bool | Enables the Jenkins engine | `false` | +| `engines.jx` | bool | Enables the jx engine | `true` | +| `engines.tekton` | bool | Enables the tekton engine | `false` | +| `env` | object | Environment variables | `{"JX_DEFAULT_IMAGE":""}` | +| `externalPlugins[0].name` | string | | `"cd-indicators"` | +| `externalPlugins[0].requiredResources[0].kind` | string | | `"Service"` | +| `externalPlugins[0].requiredResources[0].name` | string | | `"cd-indicators"` | +| `externalPlugins[0].requiredResources[0].namespace` | string | | `"jx"` | +| `externalPlugins[1].name` | string | | `"lighthouse-webui-plugin"` | +| `externalPlugins[1].requiredResources[0].kind` | string | | `"Service"` | +| `externalPlugins[1].requiredResources[0].name` | string | | `"lighthouse-webui-plugin"` | +| `externalPlugins[1].requiredResources[0].namespace` | string | | `"jx"` | +| `foghorn.affinity` | object | [Affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) applied to the foghorn pods | `{}` | +| `foghorn.containerSecurityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the foghorn containers | `{}` | +| `foghorn.image.pullPolicy` | string | Template for computing the foghorn controller docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | +| `foghorn.image.repository` | string | Template for computing the foghorn controller docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-foghorn"` | +| `foghorn.image.tag` | string | Template for computing the foghorn controller docker image tag | `"{{ .Values.image.tag }}"` | +| `foghorn.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | +| `foghorn.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the foghorn pods | `{}` | +| `foghorn.replicaCount` | int | Number of replicas | `1` | +| `foghorn.resources.limits` | object | Resource limits applied to the foghorn pods | `{"cpu":"100m","memory":"256Mi"}` | +| `foghorn.resources.requests` | object | Resource requests applied to the foghorn pods | `{"cpu":"80m","memory":"128Mi"}` | +| `foghorn.securityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the foghorn pods | `{}` | +| `foghorn.terminationGracePeriodSeconds` | int | Termination grace period for foghorn pods | `180` | +| `foghorn.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the foghorn pods | `[]` | +| `gcJobs.backoffLimit` | int | Drives the job's backoff limit | `6` | +| `gcJobs.concurrencyPolicy` | string | Drives the job's concurrency policy | `"Forbid"` | +| `gcJobs.failedJobsHistoryLimit` | int | Drives the failed jobs history limit | `1` | +| `gcJobs.image.pullPolicy` | string | Template for computing the gc job docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | +| `gcJobs.image.repository` | string | Template for computing the gc job docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-gc-jobs"` | +| `gcJobs.image.tag` | string | Template for computing the gc job docker image tag | `"{{ .Values.image.tag }}"` | +| `gcJobs.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | +| `gcJobs.maxAge` | string | Max age from which `LighthouseJob`s will be deleted | `"168h"` | +| `gcJobs.schedule` | string | Cron expression to periodically delete `LighthouseJob`s | `"0/30 * * * *"` | +| `gcJobs.successfulJobsHistoryLimit` | int | Drives the successful jobs history limit | `3` | +| `git.kind` | string | Git SCM provider (`github`, `gitlab`, `stash`) | `"github"` | +| `git.server` | string | Git server URL | `""` | +| `githubApp.enabled` | bool | Enables GitHub app authentication | `false` | +| `githubApp.username` | string | GitHub app user name | `"jenkins-x[bot]"` | +| `hmacSecretName` | string | Existing hmac secret to use for webhooks | `""` | +| `hmacToken` | string | Secret used for webhooks | `""` | +| `hmacTokenEnabled` | bool | Enables the use of a hmac token. This should always be enabled if possible - though some git providers don't support it such as bitbucket cloud | `true` | +| `hmacTokenVolumeMount` | object | Mount hmac token as a volume instead of using an environment variable Secret reference | `{"enabled":false}` | +| `image.parentRepository` | string | Docker registry to pull images from | `"ghcr.io/jenkins-x"` | +| `image.pullPolicy` | string | Image pull policy | `"IfNotPresent"` | +| `image.tag` | string | Docker images tag the following tag is latest on the main branch, it's a specific version on a git tag | `"latest"` | +| `jenkinscontroller.affinity` | object | [Affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) applied to the jenkins controller pods | `{}` | +| `jenkinscontroller.containerSecurityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the jenkins controller containers | `{}` | +| `jenkinscontroller.image.pullPolicy` | string | Template for computing the jenkins controller docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | +| `jenkinscontroller.image.repository` | string | Template for computing the Jenkins controller docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-jenkins-controller"` | +| `jenkinscontroller.image.tag` | string | Template for computing the jenkins controller docker image tag | `"{{ .Values.image.tag }}"` | +| `jenkinscontroller.jenkinsToken` | string | The token for authenticating the Jenkins user | `nil` | +| `jenkinscontroller.jenkinsURL` | string | The URL of the Jenkins instance | `nil` | +| `jenkinscontroller.jenkinsUser` | string | The username for the Jenkins user | `nil` | +| `jenkinscontroller.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | +| `jenkinscontroller.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the jenkins controller pods | `{}` | +| `jenkinscontroller.podAnnotations` | object | Annotations applied to the jenkins controller pods | `{}` | +| `jenkinscontroller.resources.limits` | object | Resource limits applied to the jenkins controller pods | `{"cpu":"100m","memory":"256Mi"}` | +| `jenkinscontroller.resources.requests` | object | Resource requests applied to the jenkins controller pods | `{"cpu":"80m","memory":"128Mi"}` | +| `jenkinscontroller.securityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the jenkins controller pods | `{}` | +| `jenkinscontroller.service` | object | Service settings for the jenkins controller | `{"annotations":{}}` | +| `jenkinscontroller.terminationGracePeriodSeconds` | int | Termination grace period for jenkins controller pods | `180` | +| `jenkinscontroller.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the jenkins controller pods | `[]` | +| `keeper.affinity` | object | [Affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) applied to the keeper pods | `{}` | +| `keeper.containerSecurityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the keeper containers | `{}` | +| `keeper.datadog.enabled` | string | Enables datadog | `"true"` | +| `keeper.env` | object | Lets you define keeper specific environment variables | `{}` | +| `keeper.image.pullPolicy` | string | Template for computing the keeper controller docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | +| `keeper.image.repository` | string | Template for computing the keeper controller docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-keeper"` | +| `keeper.image.tag` | string | Template for computing the keeper controller docker image tag | `"{{ .Values.image.tag }}"` | +| `keeper.livenessProbe` | object | Liveness probe configuration | `{"initialDelaySeconds":120,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | +| `keeper.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | +| `keeper.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the keeper pods | `{}` | +| `keeper.podAnnotations` | object | Annotations applied to the keeper pods | `{}` | +| `keeper.probe` | object | Liveness and readiness probes settings | `{"path":"/"}` | +| `keeper.readinessProbe` | object | Readiness probe configuration | `{"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | +| `keeper.replicaCount` | int | Number of replicas | `1` | +| `keeper.resources.limits` | object | Resource limits applied to the keeper pods | `{"cpu":"400m","memory":"512Mi"}` | +| `keeper.resources.requests` | object | Resource requests applied to the keeper pods | `{"cpu":"100m","memory":"128Mi"}` | +| `keeper.securityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the keeper pods | `{}` | +| `keeper.service` | object | Service settings for the keeper controller | `{"externalPort":80,"internalPort":8888,"type":"ClusterIP"}` | +| `keeper.statusContextLabel` | string | Label used to report status to git provider | `"Lighthouse Merge Status"` | +| `keeper.terminationGracePeriodSeconds` | int | Termination grace period for keeper pods | `30` | +| `keeper.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the keeper pods | `[]` | +| `lighthouseJobNamespace` | string | Namespace where `LighthouseJob`s and `Pod`s are created | Deployment namespace | +| `logFormat` | string | Log format either json or stackdriver | `"json"` | +| `logService` | string | The name of the service registered with logging | `""` | +| `logStackSkip` | string | Comma separated stack frames to skip from the log | `""` | +| `oauthSecretName` | string | Existing Git token secret | `""` | +| `oauthToken` | string | Git token (used when GitHub app authentication is not enabled) | `""` | +| `oauthTokenVolumeMount` | object | Mount Git token as a volume instead of using an environment variable Secret reference (used when GitHub app authentication is not enabled) | `{"enabled":false}` | +| `poller.affinity` | object | [Affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) applied to the poller pods | `{}` | +| `poller.contextMatchPattern` | string | Regex pattern to use to match commit status context | `""` | +| `poller.datadog.enabled` | string | Enables datadog | `"true"` | +| `poller.enabled` | bool | Whether to enable or disable the poller component | `false` | +| `poller.env` | object | Lets you define poller specific environment variables | `{"POLL_HOOK_ENDPOINT":"http://hook/hook/poll","POLL_PERIOD":"20s"}` | +| `poller.image.pullPolicy` | string | Template for computing the poller controller docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | +| `poller.image.repository` | string | Template for computing the poller controller docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-poller"` | +| `poller.image.tag` | string | Template for computing the poller controller docker image tag | `"{{ .Values.image.tag }}"` | +| `poller.internalPort` | int | | `8888` | +| `poller.livenessProbe` | object | Liveness probe configuration | `{"initialDelaySeconds":120,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | +| `poller.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | +| `poller.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the poller pods | `{}` | +| `poller.podAnnotations` | object | Annotations applied to the poller pods | `{}` | +| `poller.probe` | object | Liveness and readiness probes settings | `{"path":"/"}` | +| `poller.readinessProbe` | object | Readiness probe configuration | `{"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | +| `poller.replicaCount` | int | Number of replicas | `1` | +| `poller.requireReleaseSuccess` | bool | Keep polling releases until the most recent commit status is successful | `false` | +| `poller.resources.limits` | object | Resource limits applied to the poller pods | `{"cpu":"400m","memory":"512Mi"}` | +| `poller.resources.requests` | object | Resource requests applied to the poller pods | `{"cpu":"100m","memory":"128Mi"}` | +| `poller.terminationGracePeriodSeconds` | int | Termination grace period for poller pods | `30` | +| `poller.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the poller pods | `[]` | +| `scope` | string | limit permissions to namespace privileges | `"cluster"` | +| `tektoncontroller.affinity` | object | [Affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) applied to the tekton controller pods | `{}` | +| `tektoncontroller.containerSecurityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the tekton controller containers | `{}` | +| `tektoncontroller.dashboardTemplate` | string | Go template expression for URLs in the dashboard if not using Tekton dashboard | `""` | +| `tektoncontroller.dashboardURL` | string | the dashboard URL (e.g. Tekton dashboard) | `""` | +| `tektoncontroller.enableRerunStatusUpdate` | bool | Enable updating the status at the git provider when PipelineRuns are rerun | `false` | +| `tektoncontroller.image.pullPolicy` | string | Template for computing the tekton controller docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | +| `tektoncontroller.image.repository` | string | Template for computing the tekton controller docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-tekton-controller"` | +| `tektoncontroller.image.tag` | string | Template for computing the tekton controller docker image tag | `"{{ .Values.image.tag }}"` | +| `tektoncontroller.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | +| `tektoncontroller.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the tekton controller pods | `{}` | +| `tektoncontroller.podAnnotations` | object | Annotations applied to the tekton controller pods | `{}` | +| `tektoncontroller.replicaCount` | int | Number of replicas | `1` | +| `tektoncontroller.resources.limits` | object | Resource limits applied to the tekton controller pods | `{"cpu":"100m","memory":"256Mi"}` | +| `tektoncontroller.resources.requests` | object | Resource requests applied to the tekton controller pods | `{"cpu":"80m","memory":"128Mi"}` | +| `tektoncontroller.securityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the tekton controller pods | `{}` | +| `tektoncontroller.service` | object | Service settings for the tekton controller | `{"annotations":{}}` | +| `tektoncontroller.terminationGracePeriodSeconds` | int | Termination grace period for tekton controller pods | `180` | +| `tektoncontroller.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the tekton controller pods | `[]` | +| `user` | string | Git user name (used when GitHub app authentication is not enabled) | `""` | +| `webhooks.affinity` | object | [Affinity rules](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity) applied to the webhooks pods | `{}` | +| `webhooks.containerSecurityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the webhooks containers | `{}` | +| `webhooks.customDeploymentTriggerCommand` | string | deployments can configure the ability to allow custom lighthouse triggers using their own unique chat prefix, for example extending the default `/test` trigger prefix let them specify `customDeploymentTriggerPrefix: foo` which means they can also use their own custom trigger /foo mycoolthing | `""` | +| `webhooks.image.pullPolicy` | string | Template for computing the webhooks controller docker image pull policy | `"{{ .Values.image.pullPolicy }}"` | +| `webhooks.image.repository` | string | Template for computing the webhooks controller docker image repository | `"{{ .Values.image.parentRepository }}/lighthouse-webhooks"` | +| `webhooks.image.tag` | string | Template for computing the webhooks controller docker image tag | `"{{ .Values.image.tag }}"` | +| `webhooks.ingress.annotations` | object | Webhooks ingress annotations | `{}` | +| `webhooks.ingress.enabled` | bool | Enable webhooks ingress | `false` | +| `webhooks.ingress.hosts` | list | Webhooks ingress host names | `[]` | +| `webhooks.ingress.ingressClassName` | string | Webhooks ingress ingressClassName | `nil` | +| `webhooks.ingress.tls.enabled` | bool | Enable webhooks ingress tls | `false` | +| `webhooks.ingress.tls.secretName` | string | Specify webhooks ingress tls secretName | `""` | +| `webhooks.labels` | object | allow optional labels to be added to the webhook deployment | `{}` | +| `webhooks.livenessProbe` | object | Liveness probe configuration | `{"initialDelaySeconds":60,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | +| `webhooks.logLevel` | string | The logging level: trace, debug, info, warn, error, panic, fatal | `"info"` | +| `webhooks.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the webhooks pods | `{}` | +| `webhooks.podAnnotations` | object | Annotations applied to the webhooks pods | `{}` | +| `webhooks.podLabels` | object | | `{}` | +| `webhooks.probe` | object | Liveness and readiness probes settings | `{"path":"/"}` | +| `webhooks.readinessProbe` | object | Readiness probe configuration | `{"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}` | +| `webhooks.replicaCount` | int | Number of replicas | `1` | +| `webhooks.resources.limits` | object | Resource limits applied to the webhooks pods | `{"cpu":"100m","memory":"512Mi"}` | +| `webhooks.resources.requests` | object | Resource requests applied to the webhooks pods | `{"cpu":"80m","memory":"128Mi"}` | +| `webhooks.securityContext` | object | [Security Context](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) applied to the webhooks pods | `{}` | +| `webhooks.service` | object | Service settings for the webhooks controller | `{"annotations":{},"externalPort":80,"internalPort":8080,"type":"ClusterIP"}` | +| `webhooks.serviceName` | string | Allows overriding the service name, this is here for compatibility reasons, regular users should clear this out | `"hook"` | +| `webhooks.terminationGracePeriodSeconds` | int | Termination grace period for webhooks pods | `180` | +| `webhooks.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the webhooks pods | `[]` | You can look directly at the [values.yaml](./values.yaml) file to look at the options and their default values. diff --git a/charts/lighthouse/lighthouse-1.22.4.tgz b/charts/lighthouse/lighthouse-1.22.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..861af2d1a0f6c0c5416a078cf66bb98e503fa728 GIT binary patch literal 16605 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