From 1d012469a9a7f02eac230377a6bb9d0ca8b76443 Mon Sep 17 00:00:00 2001 From: jenkins-x-bot Date: Wed, 20 Nov 2024 12:21:38 +0000 Subject: [PATCH] chore: release 1.21.2 --- changelog.md | 6 + charts/lighthouse/Chart.yaml | 4 +- charts/lighthouse/README.md | 310 ++++++++++++------------ charts/lighthouse/lighthouse-1.21.2.tgz | Bin 0 -> 16066 bytes charts/lighthouse/values.yaml | 151 +----------- 5 files changed, 167 insertions(+), 304 deletions(-) create mode 100644 changelog.md create mode 100644 charts/lighthouse/lighthouse-1.21.2.tgz diff --git a/changelog.md b/changelog.md new file mode 100644 index 000000000..d4d826155 --- /dev/null +++ b/changelog.md @@ -0,0 +1,6 @@ + +## Changes in version 1.21.2 + +### Bug Fixes + +* base ref (MÃ¥rten Svantesson) diff --git a/charts/lighthouse/Chart.yaml b/charts/lighthouse/Chart.yaml index edc18364e..868954884 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.21.2 home: https://github.com/jenkins-x/lighthouse - +appVersion: 1.21.2 diff --git a/charts/lighthouse/README.md b/charts/lighthouse/README.md index b05af9ed2..e2b7229f6 100644 --- a/charts/lighthouse/README.md +++ b/charts/lighthouse/README.md @@ -42,158 +42,162 @@ 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.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, 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.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 | Set the backoff limit for failed cronJobs | `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, 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` | -| `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 tekton controller pods | `{}` | -| `jenkinscontroller.image.pullPolicy` | string | Template for computing the tekton 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 tekton 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, panic, fatal | `"info"` | -| `jenkinscontroller.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the tekton controller pods | `{}` | -| `jenkinscontroller.podAnnotations` | object | Annotations applied to the tekton controller pods | `{}` | -| `jenkinscontroller.resources.limits` | object | Resource limits applied to the tekton controller pods | `{"cpu":"100m","memory":"256Mi"}` | -| `jenkinscontroller.resources.requests` | object | Resource requests applied to the tekton controller pods | `{"cpu":"80m","memory":"128Mi"}` | -| `jenkinscontroller.service` | object | Service settings for the tekton controller | `{"annotations":{}}` | -| `jenkinscontroller.terminationGracePeriodSeconds` | int | Termination grace period for tekton controller pods | `180` | -| `jenkinscontroller.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the tekton 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.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, 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.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) | `""` | -| `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, 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 | set scope to either `cluster` or `namespace` for permissions | `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.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.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, 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.service` | object | Service settings for the tekton controller | `{"annotations":{}}` | -| `tektoncontroller.terminationGracePeriodSeconds` | int | Termination grace period for tekton controller pods | `180` | -| `tektoncontroller.enableRerunStatusUpdate` | bool | Enable updating the status at the git provider when PipelineRuns are rerun | `false` | -| `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.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.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, 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.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.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 | | `"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.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 | | `"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 tekton controller pods | `{}` | +| `jenkinscontroller.image.pullPolicy` | string | Template for computing the tekton 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 tekton 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 | | `"info"` | +| `jenkinscontroller.nodeSelector` | object | [Node selector](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) applied to the tekton controller pods | `{}` | +| `jenkinscontroller.podAnnotations` | object | Annotations applied to the tekton controller pods | `{}` | +| `jenkinscontroller.resources.limits` | object | Resource limits applied to the tekton controller pods | `{"cpu":"100m","memory":"256Mi"}` | +| `jenkinscontroller.resources.requests` | object | Resource requests applied to the tekton controller pods | `{"cpu":"80m","memory":"128Mi"}` | +| `jenkinscontroller.service` | object | Service settings for the tekton controller | `{"annotations":{}}` | +| `jenkinscontroller.terminationGracePeriodSeconds` | int | Termination grace period for tekton controller pods | `180` | +| `jenkinscontroller.tolerations` | list | [Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) applied to the tekton 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.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 | | `"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.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 | | `"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.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 | | `"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.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.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 | | `"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.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.21.2.tgz b/charts/lighthouse/lighthouse-1.21.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e3e6ea2b0d3b33cf865b3c65241542a94e36a2e4 GIT binary patch literal 16066 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

CoGd;MAEGWzf{syUy1d9ji|C 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 u{{HS>fDx$`>cj5EzrnKfcB>NG