diff --git a/.gitignore b/.gitignore
index 89a581f..6fe3451 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
.cr-release-packages
woodpecker-ci.github.io
.cr-index/index.yaml
+node_modules/
diff --git a/charts/woodpecker/README.md b/charts/woodpecker/README.md
index 352d13f..f51abf9 100644
--- a/charts/woodpecker/README.md
+++ b/charts/woodpecker/README.md
@@ -54,105 +54,105 @@ resource "helm_release" "woodpecker" {
## Requirements
-| Repository | Name | Version |
-|------------|------|---------|
-| | agent | 1.0.0 |
-| | server | 2.0.0 |
+| Repository | Name | Version |
+| ---------- | ------ | ------- |
+| | agent | 1.0.0 |
+| | server | 2.0.0 |
## Values
-| Key | Type | Default | Description |
-|-----|------|---------|-------------|
-| agent.affinity | object | `{}` | Specifies the affinity |
-| agent.dnsConfig | object | `{}` | Overrides the default DNS configuration |
-| agent.enabled | bool | `true` | Enable the agent component |
-| agent.env.WOODPECKER_BACKEND | string | `"kubernetes"` | |
-| agent.env.WOODPECKER_BACKEND_K8S_NAMESPACE | string | `"woodpecker"` | |
-| agent.env.WOODPECKER_BACKEND_K8S_POD_ANNOTATIONS | string | `""` | |
-| agent.env.WOODPECKER_BACKEND_K8S_POD_LABELS | string | `""` | |
-| agent.env.WOODPECKER_BACKEND_K8S_STORAGE_CLASS | string | `""` | |
-| agent.env.WOODPECKER_BACKEND_K8S_STORAGE_RWX | bool | `true` | |
-| agent.env.WOODPECKER_BACKEND_K8S_VOLUME_SIZE | string | `"10G"` | |
-| agent.env.WOODPECKER_CONNECT_RETRY_COUNT | string | `"1"` | |
-| agent.env.WOODPECKER_SERVER | string | `"woodpecker-server:9000"` | Add the environment variables for the agent component |
-| agent.extraSecretNamesForEnvFrom | list | `[]` | Add extra secret that is contains environment variables |
-| agent.extraVolumeMounts | list | `[]` | Additional volumes that will be attached to the agent container |
-| agent.extraVolumes | list | `[]` | Additional volumes that can be mounted in containers |
-| agent.fullnameOverride | string | `""` | Overrides the full name of the chart of the agent component |
-| agent.image.pullPolicy | string | `"IfNotPresent"` | The pull policy for the image |
-| agent.image.registry | string | `"docker.io"` | The image registry |
-| agent.image.repository | string | `"woodpeckerci/woodpecker-agent"` | The image repository |
-| agent.image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
-| agent.imagePullSecrets | list | `[]` | The image pull secrets |
-| agent.nameOverride | string | `""` | Overrides the name of the chart of the agent component |
-| agent.nodeSelector | object | `{}` | Specifies the labels of the nodes that the agent component must be running |
-| agent.persistence.accessModes | list | `["ReadWriteOnce"]` | Defines the access mode of the persistent volume |
-| agent.persistence.enabled | bool | `true` | Enable the creation of the persistent volume |
-| agent.persistence.existingClaim | string | `nil` | Defines an existing claim to use |
-| agent.persistence.mountPath | string | `"/etc/woodpecker"` | Defines the path where the volume should be mounted |
-| agent.persistence.size | string | `"1Gi"` | Defines the size of the persistent volume |
-| agent.persistence.storageClass | string | `""` | Defines the storageClass of the persistent volume |
-| agent.podAnnotations | object | `{}` | Add pod annotations for the agent component |
-| agent.podSecurityContext | object | `{}` | Add pod security context |
-| agent.replicaCount | int | `2` | The number of replicas for the deployment |
-| agent.resources | object | `{}` | Specifies the resources for the agent component |
-| agent.securityContext | object | `{}` | Add security context |
-| agent.serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
-| agent.serviceAccount.create | bool | `true` | Specifies whether a service account should be created (also see RBAC subsection) |
-| agent.serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
-| agent.serviceAccount.rbac.create | bool | `true` | If your cluster has RBAC enabled and you're using the Kubernetes agent- backend you'll need this. (this is true for almost all production clusters) only change this if you have a non CNCF compliant cluster, missing the RBAC endpoints the Role and RoleBinding are only created if serviceAccount.create is also true |
-| agent.serviceAccount.rbac.role.annotations | object | `{}` | |
-| agent.serviceAccount.rbac.role.labels | object | `{}` | |
-| agent.serviceAccount.rbac.roleBinding.annotations | object | `{}` | |
-| agent.serviceAccount.rbac.roleBinding.labels | object | `{}` | |
-| agent.tolerations | list | `[]` | Specifies the tolerations |
-| agent.topologySpreadConstraints | list | `[]` | Using topology spread constraints, you can ensure that there is at least one agent pod for each topology zone, e.g. one per arch for multi-architecture clusters or one for each region for geographically distributed cloud-hosted clusters. Ref: |
-| fullnameOverride | string | `""` | Overrides the full name of the chart |
-| nameOverride | string | `""` | Overrides the name of the chart |
-| server.affinity | object | `{}` | Add affinity |
-| server.createAgentSecret | bool | `true` | |
-| server.dnsConfig | object | `{}` | Overrides the default DNS configuration |
-| server.enabled | bool | `true` | Enable the server component |
-| server.env | object | `{"WOODPECKER_ADMIN":"woodpecker,admin","WOODPECKER_HOST":"https://xxxxxxx"}` | Add environment variables for the server component |
-| server.extraSecretNamesForEnvFrom | list | `[]` | Add extra environment variables from the secrets list |
-| server.extraVolumeMounts | list | `[]` | Additional volumes that will be attached to the agent container |
-| server.extraVolumes | list | `[]` | Additional volumes that can be mounted in containers |
-| server.fullnameOverride | string | `""` | Overrides the full name of the helm chart of the server component |
-| server.image.pullPolicy | string | `"IfNotPresent"` | The image pull policy |
-| server.image.registry | string | `"docker.io"` | The image registry |
-| server.image.repository | string | `"woodpeckerci/woodpecker-server"` | The image repository |
-| server.image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
-| server.imagePullSecrets | list | `[]` | The image pull secrets |
-| server.ingress.annotations | string | `nil` | Add annotations to the ingress |
-| server.ingress.enabled | bool | `false` | Enable the ingress for the server component |
-| server.ingress.hosts[0].host | string | `"chart-example.local"` | |
-| server.ingress.hosts[0].paths[0].backend.serviceName | string | `"chart-example.local"` | |
-| server.ingress.hosts[0].paths[0].backend.servicePort | int | `80` | |
-| server.ingress.hosts[0].paths[0].path | string | `"/"` | |
-| server.ingress.ingressClassName | string | `""` | Defines which ingress controller will implement the resource |
-| server.ingress.tls | list | `[]` | |
-| server.initContainers | list | `[]` | Add additional init containers to the pod (evaluated as a template) |
-| server.nameOverride | string | `""` | Overrides the name of the helm chart of the server component |
-| server.nodeSelector | object | `{}` | Defines the labels of the node where the server component must be running |
-| server.persistentVolume.enabled | bool | `true` | Enable the creation of the persistent volume |
-| server.persistentVolume.mountPath | string | `"/var/lib/woodpecker"` | Defines the path where the volume should be mounted |
-| server.persistentVolume.size | string | `"10Gi"` | Defines the size of the persistent volume |
-| server.persistentVolume.storageClass | string | `""` | Defines the storageClass of the persistent volume |
-| server.podAnnotations | object | `{}` | Add pod annotations |
-| server.podSecurityContext | object | `{}` | Add pod security context |
-| server.resources | object | `{}` | Specifies the ressources for the server component |
-| server.secrets | list | `[]` | Create a generic secret to store things in, e.g. env values |
-| server.securityContext | object | `{}` | Add security context |
-| server.service.clusterIP | string | `nil` | The cluster IP of the service (optional) |
-| server.service.loadBalancerIP | string | `nil` | The loadbalancer IP of the service (optional) |
-| server.service.port | int | `80` | The port of the service |
-| server.service.type | string | `"ClusterIP"` | The type of the service |
-| server.serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
-| server.serviceAccount.create | bool | `false` | Specifies whether a service account should be created |
-| server.serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
-| server.statefulSet.annotations | object | `{}` | Add annotations to the StatefulSet |
-| server.statefulSet.labels | object | `{}` | Add labels to the StatefulSet |
-| server.statefulSet.replicaCount | int | `1` | Defines the number of replicas |
-| server.statefulSet.revisionHistoryLimit | int | `5` | The maximum number of revisions that will be maintained in the StatefulSet's revision history Default in 10. |
-| server.tolerations | list | `[]` | Add tolerations rules |
-| server.updateStrategy.type | string | `"RollingUpdate"` | Defines the update strategy of the StatefulSet |
+| Key | Type | Default | Description |
+| ---------------------------------------------------- | ------ | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| agent.affinity | object | `{}` | Specifies the affinity |
+| agent.dnsConfig | object | `{}` | Overrides the default DNS configuration |
+| agent.enabled | bool | `true` | Enable the agent component |
+| agent.env.WOODPECKER_BACKEND | string | `"kubernetes"` | |
+| agent.env.WOODPECKER_BACKEND_K8S_NAMESPACE | string | `"woodpecker"` | |
+| agent.env.WOODPECKER_BACKEND_K8S_POD_ANNOTATIONS | string | `""` | |
+| agent.env.WOODPECKER_BACKEND_K8S_POD_LABELS | string | `""` | |
+| agent.env.WOODPECKER_BACKEND_K8S_STORAGE_CLASS | string | `""` | |
+| agent.env.WOODPECKER_BACKEND_K8S_STORAGE_RWX | bool | `true` | |
+| agent.env.WOODPECKER_BACKEND_K8S_VOLUME_SIZE | string | `"10G"` | |
+| agent.env.WOODPECKER_CONNECT_RETRY_COUNT | string | `"1"` | |
+| agent.env.WOODPECKER_SERVER | string | `"woodpecker-server:9000"` | Add the environment variables for the agent component |
+| agent.extraSecretNamesForEnvFrom | list | `[]` | Add extra secret that is contains environment variables |
+| agent.extraVolumeMounts | list | `[]` | Additional volumes that will be attached to the agent container |
+| agent.extraVolumes | list | `[]` | Additional volumes that can be mounted in containers |
+| agent.fullnameOverride | string | `""` | Overrides the full name of the chart of the agent component |
+| agent.image.pullPolicy | string | `"IfNotPresent"` | The pull policy for the image |
+| agent.image.registry | string | `"docker.io"` | The image registry |
+| agent.image.repository | string | `"woodpeckerci/woodpecker-agent"` | The image repository |
+| agent.image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
+| agent.imagePullSecrets | list | `[]` | The image pull secrets |
+| agent.nameOverride | string | `""` | Overrides the name of the chart of the agent component |
+| agent.nodeSelector | object | `{}` | Specifies the labels of the nodes that the agent component must be running |
+| agent.persistence.accessModes | list | `["ReadWriteOnce"]` | Defines the access mode of the persistent volume |
+| agent.persistence.enabled | bool | `true` | Enable the creation of the persistent volume |
+| agent.persistence.existingClaim | string | `nil` | Defines an existing claim to use |
+| agent.persistence.mountPath | string | `"/etc/woodpecker"` | Defines the path where the volume should be mounted |
+| agent.persistence.size | string | `"1Gi"` | Defines the size of the persistent volume |
+| agent.persistence.storageClass | string | `""` | Defines the storageClass of the persistent volume |
+| agent.podAnnotations | object | `{}` | Add pod annotations for the agent component |
+| agent.podSecurityContext | object | `{}` | Add pod security context |
+| agent.replicaCount | int | `2` | The number of replicas for the deployment |
+| agent.resources | object | `{}` | Specifies the resources for the agent component |
+| agent.securityContext | object | `{}` | Add security context |
+| agent.serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
+| agent.serviceAccount.create | bool | `true` | Specifies whether a service account should be created (also see RBAC subsection) |
+| agent.serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
+| agent.serviceAccount.rbac.create | bool | `true` | If your cluster has RBAC enabled and you're using the Kubernetes agent- backend you'll need this. (this is true for almost all production clusters) only change this if you have a non CNCF compliant cluster, missing the RBAC endpoints the Role and RoleBinding are only created if serviceAccount.create is also true |
+| agent.serviceAccount.rbac.role.annotations | object | `{}` | |
+| agent.serviceAccount.rbac.role.labels | object | `{}` | |
+| agent.serviceAccount.rbac.roleBinding.annotations | object | `{}` | |
+| agent.serviceAccount.rbac.roleBinding.labels | object | `{}` | |
+| agent.tolerations | list | `[]` | Specifies the tolerations |
+| agent.topologySpreadConstraints | list | `[]` | Using topology spread constraints, you can ensure that there is at least one agent pod for each topology zone, e.g. one per arch for multi-architecture clusters or one for each region for geographically distributed cloud-hosted clusters. Ref: |
+| fullnameOverride | string | `""` | Overrides the full name of the chart |
+| nameOverride | string | `""` | Overrides the name of the chart |
+| server.affinity | object | `{}` | Add affinity |
+| server.createAgentSecret | bool | `true` | |
+| server.dnsConfig | object | `{}` | Overrides the default DNS configuration |
+| server.enabled | bool | `true` | Enable the server component |
+| server.env | object | `{"WOODPECKER_ADMIN":"woodpecker,admin","WOODPECKER_HOST":"https://xxxxxxx"}` | Add environment variables for the server component |
+| server.extraSecretNamesForEnvFrom | list | `[]` | Add extra environment variables from the secrets list |
+| server.extraVolumeMounts | list | `[]` | Additional volumes that will be attached to the agent container |
+| server.extraVolumes | list | `[]` | Additional volumes that can be mounted in containers |
+| server.fullnameOverride | string | `""` | Overrides the full name of the helm chart of the server component |
+| server.image.pullPolicy | string | `"IfNotPresent"` | The image pull policy |
+| server.image.registry | string | `"docker.io"` | The image registry |
+| server.image.repository | string | `"woodpeckerci/woodpecker-server"` | The image repository |
+| server.image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
+| server.imagePullSecrets | list | `[]` | The image pull secrets |
+| server.ingress.annotations | string | `nil` | Add annotations to the ingress |
+| server.ingress.enabled | bool | `false` | Enable the ingress for the server component |
+| server.ingress.hosts[0].host | string | `"chart-example.local"` | |
+| server.ingress.hosts[0].paths[0].backend.serviceName | string | `"chart-example.local"` | |
+| server.ingress.hosts[0].paths[0].backend.servicePort | int | `80` | |
+| server.ingress.hosts[0].paths[0].path | string | `"/"` | |
+| server.ingress.ingressClassName | string | `""` | Defines which ingress controller will implement the resource |
+| server.ingress.tls | list | `[]` | |
+| server.initContainers | list | `[]` | Add additional init containers to the pod (evaluated as a template) |
+| server.nameOverride | string | `""` | Overrides the name of the helm chart of the server component |
+| server.nodeSelector | object | `{}` | Defines the labels of the node where the server component must be running |
+| server.persistentVolume.enabled | bool | `true` | Enable the creation of the persistent volume |
+| server.persistentVolume.mountPath | string | `"/var/lib/woodpecker"` | Defines the path where the volume should be mounted |
+| server.persistentVolume.size | string | `"10Gi"` | Defines the size of the persistent volume |
+| server.persistentVolume.storageClass | string | `""` | Defines the storageClass of the persistent volume |
+| server.podAnnotations | object | `{}` | Add pod annotations |
+| server.podSecurityContext | object | `{}` | Add pod security context |
+| server.resources | object | `{}` | Specifies the ressources for the server component |
+| server.secrets | list | `[]` | Create a generic secret to store things in, e.g. env values |
+| server.securityContext | object | `{}` | Add security context |
+| server.service.clusterIP | string | `nil` | The cluster IP of the service (optional) |
+| server.service.loadBalancerIP | string | `nil` | The loadbalancer IP of the service (optional) |
+| server.service.port | int | `80` | The port of the service |
+| server.service.type | string | `"ClusterIP"` | The type of the service |
+| server.serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
+| server.serviceAccount.create | bool | `false` | Specifies whether a service account should be created |
+| server.serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
+| server.statefulSet.annotations | object | `{}` | Add annotations to the StatefulSet |
+| server.statefulSet.labels | object | `{}` | Add labels to the StatefulSet |
+| server.statefulSet.replicaCount | int | `1` | Defines the number of replicas |
+| server.statefulSet.revisionHistoryLimit | int | `5` | The maximum number of revisions that will be maintained in the StatefulSet's revision history Default in 10. |
+| server.tolerations | list | `[]` | Add tolerations rules |
+| server.updateStrategy.type | string | `"RollingUpdate"` | Defines the update strategy of the StatefulSet |
diff --git a/charts/woodpecker/charts/agent/README.md b/charts/woodpecker/charts/agent/README.md
index 97423af..007a7a5 100644
--- a/charts/woodpecker/charts/agent/README.md
+++ b/charts/woodpecker/charts/agent/README.md
@@ -8,8 +8,8 @@ A Helm chart for the Woodpecker agent
## Maintainers
-| Name | Email | Url |
-| ---- | ------ | --- |
+| Name | Email | Url |
+| ---------------------- | ------------------------- | ---------------------------------- |
| Woodpecker Maintainers | | |
## Upgrading
@@ -28,65 +28,65 @@ A Helm chart for the Woodpecker agent
### NetworkPolicy
-| Key | Type | Default | Description |
-|-----|------|---------|-------------|
-| networkPolicy.egress.apiserver | object | `{"ports":[{"port":6443,"protocol":"TCP"}],"to":[{"ipBlock":{"cidr":"10.43.0.1/32"}}]}` | rule to access Kubernetes APIServer |
-| networkPolicy.egress.dns | list | `[{"namespaceSelector":{"matchLabels":{"kubernetes.io/metadata.name":"kube-system"}},"podSelector":{"matchLabels":{"k8s-app":"kube-dns"}}}]` | rule to access DNS |
-| networkPolicy.egress.enabled | bool | `true` | activate egress no networkpolicy |
-| networkPolicy.egress.extra | list | `[]` | rule to access additional PS: you should not use (the job it-self are other pods) |
-| networkPolicy.egress.server | object | `{"ports":[{"port":9000,"protocol":"TCP"}],"to":[{"podSelector":{"matchLabels":{"app.kubernetes.io/name":"server"}}}]}` | rule to access woodpecker-agent |
-| networkPolicy.enabled | bool | `false` | deploy networkpolicy |
-| networkPolicy.ingress.http | list | `[]` | allow to http ports normaly not needed |
+| Key | Type | Default | Description |
+| ------------------------------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
+| networkPolicy.egress.apiserver | object | `{"ports":[{"port":6443,"protocol":"TCP"}],"to":[{"ipBlock":{"cidr":"10.43.0.1/32"}}]}` | rule to access Kubernetes APIServer |
+| networkPolicy.egress.dns | list | `[{"namespaceSelector":{"matchLabels":{"kubernetes.io/metadata.name":"kube-system"}},"podSelector":{"matchLabels":{"k8s-app":"kube-dns"}}}]` | rule to access DNS |
+| networkPolicy.egress.enabled | bool | `true` | activate egress no networkpolicy |
+| networkPolicy.egress.extra | list | `[]` | rule to access additional PS: you should not use (the job it-self are other pods) |
+| networkPolicy.egress.server | object | `{"ports":[{"port":9000,"protocol":"TCP"}],"to":[{"podSelector":{"matchLabels":{"app.kubernetes.io/name":"server"}}}]}` | rule to access woodpecker-agent |
+| networkPolicy.enabled | bool | `false` | deploy networkpolicy |
+| networkPolicy.ingress.http | list | `[]` | allow to http ports normaly not needed |
### Other Values
-| Key | Type | Default | Description |
-|-----|------|---------|-------------|
-| affinity | object | `{}` | Specifies the affinity |
-| args | list | `[]` | Defines a custom args to start the container |
-| command | list | `[]` | Defines a custom command to start the container |
-| dnsConfig | object | `{}` | Overrides the default DNS configuration |
-| env.WOODPECKER_BACKEND | string | `"kubernetes"` | |
-| env.WOODPECKER_BACKEND_K8S_NAMESPACE | string | `"woodpecker"` | |
-| env.WOODPECKER_BACKEND_K8S_POD_ANNOTATIONS | string | `""` | |
-| env.WOODPECKER_BACKEND_K8S_POD_LABELS | string | `""` | |
-| env.WOODPECKER_BACKEND_K8S_STORAGE_CLASS | string | `""` | |
-| env.WOODPECKER_BACKEND_K8S_STORAGE_RWX | bool | `true` | |
-| env.WOODPECKER_BACKEND_K8S_VOLUME_SIZE | string | `"10G"` | |
-| env.WOODPECKER_CONNECT_RETRY_COUNT | string | `"1"` | |
-| env.WOODPECKER_SERVER | string | `"woodpecker-server:9000"` | Add the environment variables for the agent component |
-| extraSecretNamesForEnvFrom | list | `[]` | Add extra secret that is contains environment variables |
-| extraVolumeMounts | list | `[]` | Additional volumes that will be attached to the agent container |
-| extraVolumes | list | `[]` | Additional volumes that can be mounted in containers |
-| fullnameOverride | string | `""` | Overrides the full name of the chart of the agent component |
-| image.pullPolicy | string | `"IfNotPresent"` | The pull policy for the image |
-| image.registry | string | `"docker.io"` | The image registry |
-| image.repository | string | `"woodpeckerci/woodpecker-agent"` | The image repository |
-| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
-| imagePullSecrets | list | `[]` | The image pull secrets |
-| initContainers | list | `[]` | Add additional init containers to the pod (evaluated as a template) |
-| mapAgentSecret | bool | `true` | |
-| nameOverride | string | `""` | Overrides the name of the chart of the agent component |
-| nodeSelector | object | `{}` | Specifies the labels of the nodes that the agent component must be running |
-| persistence.accessModes | list | `["ReadWriteOnce"]` | Defines the access mode of the persistent volume |
-| persistence.enabled | bool | `true` | Enable the creation of the persistent volume |
-| persistence.existingClaim | string | `nil` | Defines an existing claim to use |
-| persistence.mountPath | string | `"/etc/woodpecker"` | Defines the path where the volume should be mounted |
-| persistence.size | string | `"1Gi"` | Defines the size of the persistent volume |
-| persistence.storageClass | string | `""` | Defines the storageClass of the persistent volume |
-| podAnnotations | object | `{}` | Add pod annotations for the agent component |
-| podSecurityContext | object | `{}` | Add pod security context |
-| replicaCount | int | `2` | The number of replicas for the deployment |
-| resources | object | `{}` | Specifies the resources for the agent component |
-| secrets | list | `[]` | Create an agent secret |
-| securityContext | object | `{}` | Add security context |
-| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
-| serviceAccount.create | bool | `true` | Specifies whether a service account should be created (also see RBAC subsection) |
-| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
-| serviceAccount.rbac.create | bool | `true` | If your cluster has RBAC enabled and you're using the Kubernetes agent- backend you'll need this. (this is true for almost all production clusters) only change this if you have a non CNCF compliant cluster, missing the RBAC endpoints the Role and RoleBinding are only created if serviceAccount.create is also true |
-| serviceAccount.rbac.role.annotations | object | `{}` | |
-| serviceAccount.rbac.role.labels | object | `{}` | |
-| serviceAccount.rbac.roleBinding.annotations | object | `{}` | |
-| serviceAccount.rbac.roleBinding.labels | object | `{}` | |
-| tolerations | list | `[]` | Specifies the tolerations |
-| topologySpreadConstraints | list | `[]` | Using topology spread constraints, you can ensure that there is at least one agent pod for each topology zone, e.g. one per arch for multi-architecture clusters or one for each region for geographically distributed cloud-hosted clusters. Ref: |
+| Key | Type | Default | Description |
+| ------------------------------------------- | ------ | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| affinity | object | `{}` | Specifies the affinity |
+| args | list | `[]` | Defines a custom args to start the container |
+| command | list | `[]` | Defines a custom command to start the container |
+| dnsConfig | object | `{}` | Overrides the default DNS configuration |
+| env.WOODPECKER_BACKEND | string | `"kubernetes"` | |
+| env.WOODPECKER_BACKEND_K8S_NAMESPACE | string | `"woodpecker"` | |
+| env.WOODPECKER_BACKEND_K8S_POD_ANNOTATIONS | string | `""` | |
+| env.WOODPECKER_BACKEND_K8S_POD_LABELS | string | `""` | |
+| env.WOODPECKER_BACKEND_K8S_STORAGE_CLASS | string | `""` | |
+| env.WOODPECKER_BACKEND_K8S_STORAGE_RWX | bool | `true` | |
+| env.WOODPECKER_BACKEND_K8S_VOLUME_SIZE | string | `"10G"` | |
+| env.WOODPECKER_CONNECT_RETRY_COUNT | string | `"1"` | |
+| env.WOODPECKER_SERVER | string | `"woodpecker-server:9000"` | Add the environment variables for the agent component |
+| extraSecretNamesForEnvFrom | list | `[]` | Add extra secret that is contains environment variables |
+| extraVolumeMounts | list | `[]` | Additional volumes that will be attached to the agent container |
+| extraVolumes | list | `[]` | Additional volumes that can be mounted in containers |
+| fullnameOverride | string | `""` | Overrides the full name of the chart of the agent component |
+| image.pullPolicy | string | `"IfNotPresent"` | The pull policy for the image |
+| image.registry | string | `"docker.io"` | The image registry |
+| image.repository | string | `"woodpeckerci/woodpecker-agent"` | The image repository |
+| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
+| imagePullSecrets | list | `[]` | The image pull secrets |
+| initContainers | list | `[]` | Add additional init containers to the pod (evaluated as a template) |
+| mapAgentSecret | bool | `true` | |
+| nameOverride | string | `""` | Overrides the name of the chart of the agent component |
+| nodeSelector | object | `{}` | Specifies the labels of the nodes that the agent component must be running |
+| persistence.accessModes | list | `["ReadWriteOnce"]` | Defines the access mode of the persistent volume |
+| persistence.enabled | bool | `true` | Enable the creation of the persistent volume |
+| persistence.existingClaim | string | `nil` | Defines an existing claim to use |
+| persistence.mountPath | string | `"/etc/woodpecker"` | Defines the path where the volume should be mounted |
+| persistence.size | string | `"1Gi"` | Defines the size of the persistent volume |
+| persistence.storageClass | string | `""` | Defines the storageClass of the persistent volume |
+| podAnnotations | object | `{}` | Add pod annotations for the agent component |
+| podSecurityContext | object | `{}` | Add pod security context |
+| replicaCount | int | `2` | The number of replicas for the deployment |
+| resources | object | `{}` | Specifies the resources for the agent component |
+| secrets | list | `[]` | Create an agent secret |
+| securityContext | object | `{}` | Add security context |
+| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
+| serviceAccount.create | bool | `true` | Specifies whether a service account should be created (also see RBAC subsection) |
+| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
+| serviceAccount.rbac.create | bool | `true` | If your cluster has RBAC enabled and you're using the Kubernetes agent- backend you'll need this. (this is true for almost all production clusters) only change this if you have a non CNCF compliant cluster, missing the RBAC endpoints the Role and RoleBinding are only created if serviceAccount.create is also true |
+| serviceAccount.rbac.role.annotations | object | `{}` | |
+| serviceAccount.rbac.role.labels | object | `{}` | |
+| serviceAccount.rbac.roleBinding.annotations | object | `{}` | |
+| serviceAccount.rbac.roleBinding.labels | object | `{}` | |
+| tolerations | list | `[]` | Specifies the tolerations |
+| topologySpreadConstraints | list | `[]` | Using topology spread constraints, you can ensure that there is at least one agent pod for each topology zone, e.g. one per arch for multi-architecture clusters or one for each region for geographically distributed cloud-hosted clusters. Ref: |
diff --git a/charts/woodpecker/charts/server/README.md b/charts/woodpecker/charts/server/README.md
index 42e0b15..dbe5878 100644
--- a/charts/woodpecker/charts/server/README.md
+++ b/charts/woodpecker/charts/server/README.md
@@ -8,8 +8,8 @@ A Helm chart for the Woodpecker server
## Maintainers
-| Name | Email | Url |
-| ---- | ------ | --- |
+| Name | Email | Url |
+| ---------------------- | ------------------------- | ---------------------------------- |
| Woodpecker Maintainers | | |
## Creation of agent secret
@@ -43,76 +43,76 @@ In the following scenarios, you need to take additional action:
### NetworkPolicy
-| Key | Type | Default | Description |
-|-----|------|---------|-------------|
-| networkPolicy.egress.database | list | `[]` | rule to access Database |
-| networkPolicy.egress.dns | list | `[{"namespaceSelector":{"matchLabels":{"kubernetes.io/metadata.name":"kube-system"}},"podSelector":{"matchLabels":{"k8s-app":"kube-dns"}}}]` | rule to access DNS |
-| networkPolicy.egress.enabled | bool | `true` | activate egress no networkpolicy |
-| networkPolicy.egress.extra | list | `[]` | rule to access additional |
-| networkPolicy.enabled | bool | `false` | deploy networkpolicy |
-| networkPolicy.ingress.grpc | list | `[{"podSelector":{"matchLabels":{"app.kubernetes.io/name":"agent"}}}]` | allow to grpc ports should be your woodpecker-agent |
-| networkPolicy.ingress.http | list | `[]` | allow to http ports should be your ingress-controller |
+| Key | Type | Default | Description |
+| ----------------------------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------- |
+| networkPolicy.egress.database | list | `[]` | rule to access Database |
+| networkPolicy.egress.dns | list | `[{"namespaceSelector":{"matchLabels":{"kubernetes.io/metadata.name":"kube-system"}},"podSelector":{"matchLabels":{"k8s-app":"kube-dns"}}}]` | rule to access DNS |
+| networkPolicy.egress.enabled | bool | `true` | activate egress no networkpolicy |
+| networkPolicy.egress.extra | list | `[]` | rule to access additional |
+| networkPolicy.enabled | bool | `false` | deploy networkpolicy |
+| networkPolicy.ingress.grpc | list | `[{"podSelector":{"matchLabels":{"app.kubernetes.io/name":"agent"}}}]` | allow to grpc ports should be your woodpecker-agent |
+| networkPolicy.ingress.http | list | `[]` | allow to http ports should be your ingress-controller |
| networkPolicy.ingress.metrics | list | `[{"namespaceSelector":{"matchLabels":{"kubernetes.io/metadata.name":"monitoring"}},"podSelector":{"matchLabels":{"app.kubernetes.io/name":"prometheus"}}}]` | allow to metrics ports should be your prometheus instance |
### Other Values
-| Key | Type | Default | Description |
-|-----|------|---------|-------------|
-| affinity | object | `{}` | Add affinity |
-| args | list | `[]` | Defines a custom args to start the container |
-| command | list | `[]` | Defines a custom command to start the container |
-| createAgentSecret | bool | `true` | |
-| dnsConfig | object | `{}` | Overrides the default DNS configuration |
-| env | object | `{"WOODPECKER_ADMIN":"woodpecker,admin","WOODPECKER_HOST":"https://xxxxxxx"}` | Add environment variables for the server component |
-| extraSecretNamesForEnvFrom | list | `[]` | Add extra environment variables from the secrets list |
-| extraVolumeMounts | list | `[]` | Additional volumes that will be attached to the agent container |
-| extraVolumes | list | `[]` | Additional volumes that can be mounted in containers |
-| fullnameOverride | string | `""` | Overrides the full name of the helm chart of the server component |
-| grafana.dashboards.annotations | object | `{}` | add annotations to configmap (to give config on grafana-sidecar e.g. put in folder) |
-| grafana.dashboards.enabled | bool | `false` | deploy configmap with grafana dashboard (current helm-chart has no dashboards) |
-| grafana.dashboards.labels | object | `{"grafana_dashboard":"1"}` | add labels to configmap (to be selected by grafana default sidecar) |
-| image.pullPolicy | string | `"IfNotPresent"` | The image pull policy |
-| image.registry | string | `"docker.io"` | The image registry |
-| image.repository | string | `"woodpeckerci/woodpecker-server"` | The image repository |
-| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
-| imagePullSecrets | list | `[]` | The image pull secrets |
-| ingress.annotations | string | `nil` | Add annotations to the ingress |
-| ingress.enabled | bool | `false` | Enable the ingress for the server component |
-| ingress.hosts[0].host | string | `"chart-example.local"` | |
-| ingress.hosts[0].paths[0].path | string | `"/"` | |
-| ingress.ingressClassName | string | `""` | Defines which ingress controller will implement the resource |
-| ingress.tls | list | `[]` | |
-| initContainers | list | `[]` | Add additional init containers to the pod (evaluated as a template) |
-| metrics | object | `{"enabled":false,"port":9001}` | Enabled internal metrics endpoint. |
-| metrics.enabled | bool | `false` | enable metrics in woodpecker |
-| nameOverride | string | `""` | Overrides the name of the helm chart of the server component |
-| nodeSelector | object | `{}` | Defines the labels of the node where the server component must be running |
-| persistentVolume.enabled | bool | `true` | Enable the creation of the persistent volume |
-| persistentVolume.mountPath | string | `"/var/lib/woodpecker"` | Defines the path where the volume should be mounted |
-| persistentVolume.size | string | `"10Gi"` | Defines the size of the persistent volume |
-| persistentVolume.storageClass | string | `""` | Defines the storageClass of the persistent volume |
-| podAnnotations | object | `{}` | Add pod annotations |
-| podSecurityContext | object | `{}` | Add pod security context |
-| prometheus.podmonitor.enabled | bool | `false` | deploy podmonitor |
-| prometheus.podmonitor.interval | string | `nil` | scrape interval in prometheus for this podmonitor |
-| prometheus.podmonitor.labels | object | `{}` | add labels to podmonitor (to be selected by prometheus-operator) |
-| prometheus.rules.additionalRules | list | `[]` | add own prometheus-rules |
-| prometheus.rules.alertLabels | object | `{}` | add labels to the prometheus-rule (inside of prometheus / in the alert) |
-| prometheus.rules.enabled | bool | `false` | deploy prometheus-rules |
-| prometheus.rules.labels | object | `{}` | add labels to prometheus-rules (to be selected by prometheus-operator) |
-| resources | object | `{}` | Specifies the ressources for the server component |
-| secrets | list | `[]` | Create a generic secret to store things in, e.g. env values |
-| securityContext | object | `{}` | Add security context |
-| service.clusterIP | string | `nil` | The cluster IP of the service (optional) |
-| service.loadBalancerIP | string | `nil` | The loadbalancer IP of the service (optional) |
-| service.port | int | `80` | The port of the service |
-| service.type | string | `"ClusterIP"` | The type of the service |
-| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
-| serviceAccount.create | bool | `false` | Specifies whether a service account should be created |
-| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
-| statefulSet.annotations | object | `{}` | Add annotations to the StatefulSet |
-| statefulSet.labels | object | `{}` | Add labels to the StatefulSet |
-| statefulSet.replicaCount | int | `1` | Defines the number of replicas |
-| statefulSet.revisionHistoryLimit | int | `5` | The maximum number of revisions that will be maintained in the StatefulSet's revision history Default in 10. |
-| tolerations | list | `[]` | Add tolerations rules |
-| updateStrategy.type | string | `"RollingUpdate"` | Defines the update strategy of the StatefulSet |
+| Key | Type | Default | Description |
+| -------------------------------- | ------ | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
+| affinity | object | `{}` | Add affinity |
+| args | list | `[]` | Defines a custom args to start the container |
+| command | list | `[]` | Defines a custom command to start the container |
+| createAgentSecret | bool | `true` | |
+| dnsConfig | object | `{}` | Overrides the default DNS configuration |
+| env | object | `{"WOODPECKER_ADMIN":"woodpecker,admin","WOODPECKER_HOST":"https://xxxxxxx"}` | Add environment variables for the server component |
+| extraSecretNamesForEnvFrom | list | `[]` | Add extra environment variables from the secrets list |
+| extraVolumeMounts | list | `[]` | Additional volumes that will be attached to the agent container |
+| extraVolumes | list | `[]` | Additional volumes that can be mounted in containers |
+| fullnameOverride | string | `""` | Overrides the full name of the helm chart of the server component |
+| grafana.dashboards.annotations | object | `{}` | add annotations to configmap (to give config on grafana-sidecar e.g. put in folder) |
+| grafana.dashboards.enabled | bool | `false` | deploy configmap with grafana dashboard (current helm-chart has no dashboards) |
+| grafana.dashboards.labels | object | `{"grafana_dashboard":"1"}` | add labels to configmap (to be selected by grafana default sidecar) |
+| image.pullPolicy | string | `"IfNotPresent"` | The image pull policy |
+| image.registry | string | `"docker.io"` | The image registry |
+| image.repository | string | `"woodpeckerci/woodpecker-server"` | The image repository |
+| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
+| imagePullSecrets | list | `[]` | The image pull secrets |
+| ingress.annotations | string | `nil` | Add annotations to the ingress |
+| ingress.enabled | bool | `false` | Enable the ingress for the server component |
+| ingress.hosts[0].host | string | `"chart-example.local"` | |
+| ingress.hosts[0].paths[0].path | string | `"/"` | |
+| ingress.ingressClassName | string | `""` | Defines which ingress controller will implement the resource |
+| ingress.tls | list | `[]` | |
+| initContainers | list | `[]` | Add additional init containers to the pod (evaluated as a template) |
+| metrics | object | `{"enabled":false,"port":9001}` | Enabled internal metrics endpoint. |
+| metrics.enabled | bool | `false` | enable metrics in woodpecker |
+| nameOverride | string | `""` | Overrides the name of the helm chart of the server component |
+| nodeSelector | object | `{}` | Defines the labels of the node where the server component must be running |
+| persistentVolume.enabled | bool | `true` | Enable the creation of the persistent volume |
+| persistentVolume.mountPath | string | `"/var/lib/woodpecker"` | Defines the path where the volume should be mounted |
+| persistentVolume.size | string | `"10Gi"` | Defines the size of the persistent volume |
+| persistentVolume.storageClass | string | `""` | Defines the storageClass of the persistent volume |
+| podAnnotations | object | `{}` | Add pod annotations |
+| podSecurityContext | object | `{}` | Add pod security context |
+| prometheus.podmonitor.enabled | bool | `false` | deploy podmonitor |
+| prometheus.podmonitor.interval | string | `nil` | scrape interval in prometheus for this podmonitor |
+| prometheus.podmonitor.labels | object | `{}` | add labels to podmonitor (to be selected by prometheus-operator) |
+| prometheus.rules.additionalRules | list | `[]` | add own prometheus-rules |
+| prometheus.rules.alertLabels | object | `{}` | add labels to the prometheus-rule (inside of prometheus / in the alert) |
+| prometheus.rules.enabled | bool | `false` | deploy prometheus-rules |
+| prometheus.rules.labels | object | `{}` | add labels to prometheus-rules (to be selected by prometheus-operator) |
+| resources | object | `{}` | Specifies the ressources for the server component |
+| secrets | list | `[]` | Create a generic secret to store things in, e.g. env values |
+| securityContext | object | `{}` | Add security context |
+| service.clusterIP | string | `nil` | The cluster IP of the service (optional) |
+| service.loadBalancerIP | string | `nil` | The loadbalancer IP of the service (optional) |
+| service.port | int | `80` | The port of the service |
+| service.type | string | `"ClusterIP"` | The type of the service |
+| serviceAccount.annotations | object | `{}` | Annotations to add to the service account |
+| serviceAccount.create | bool | `false` | Specifies whether a service account should be created |
+| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template |
+| statefulSet.annotations | object | `{}` | Add annotations to the StatefulSet |
+| statefulSet.labels | object | `{}` | Add labels to the StatefulSet |
+| statefulSet.replicaCount | int | `1` | Defines the number of replicas |
+| statefulSet.revisionHistoryLimit | int | `5` | The maximum number of revisions that will be maintained in the StatefulSet's revision history Default in 10. |
+| tolerations | list | `[]` | Add tolerations rules |
+| updateStrategy.type | string | `"RollingUpdate"` | Defines the update strategy of the StatefulSet |