From b230f78a47248114816de4570cd5b4f5f3549604 Mon Sep 17 00:00:00 2001 From: jenkins-x-bot Date: Mon, 23 Dec 2024 09:33:26 +0000 Subject: [PATCH] chore: release 1.22.2 --- changelog.md | 6 + charts/lighthouse/Chart.yaml | 4 +- charts/lighthouse/README.md | 334 ++++++++++++------------ charts/lighthouse/lighthouse-1.22.2.tgz | Bin 0 -> 16607 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.2.tgz diff --git a/changelog.md b/changelog.md new file mode 100644 index 000000000..db4f4772a --- /dev/null +++ b/changelog.md @@ -0,0 +1,6 @@ + +## Changes in version 1.22.2 + +### Chores + +* deps: upgrade jenkins-x/go-scm to version 1.14.47 (jenkins-x-bot) diff --git a/charts/lighthouse/Chart.yaml b/charts/lighthouse/Chart.yaml index edc18364e..187db3151 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.2 home: https://github.com/jenkins-x/lighthouse - +appVersion: 1.22.2 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.2.tgz b/charts/lighthouse/lighthouse-1.22.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..f01f312487ab54035f1a5632ba89a070536dd18f GIT binary patch literal 16607 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