charts/pipelines-library/values.yaml (251 lines of code) (raw):

# Default values for edp-tekton. # This is a YAML-formatted file. # Declare variables to be passed into your templates. nameOverride: "" fullnameOverride: "" pipelines: image: # -- Registry for tekton pipelines images. Default: docker.io registry: "docker.io" # -- This section contains the list of pipelines and tasks that will be installed. deployableResources: # -- This flag control the installation of the tasks. tasks: true # -- This flag control the installation of the Deploy pipelines. deploy: true # -- This section control the installation of the review and build pipelines. c: cmake: true make: true cs: dotnet3.1: false dotnet6.0: false docker: true groovy: true go: beego: true gin: true operatorsdk: true helm: true helm-pipeline: true infrastructure: true java: java8: false java11: true java17: true js: angular: true antora: true express: true next: true react: true vue: true opa: false python: ansible: true flask: true fastapi: true python3.8: false terraform: true # -- This section allows to determine on which nodes to run tekton pipelines podTemplate: [] # nodeSelector: # role: tekton # tolerations: # - effect: NoSchedule # key: role # operator: Equal # value: tekton global: # By defining gitProviders you install the corresponding Kubernetes resources for the selected Git Provider: # Pipelines, EventListener, Tasks, etc. # -- Deploy Kubernetes Resources for the specific Git Provider. Can be gerrit, gitlab, github (default) gitProviders: - bitbucket - gerrit - github - gitlab # -- Gerrit SSH node port, must be specified if gerrit is enabled # gerritSSHPort: "30003" # -- Gerrit Host URL, must be specified if gerrit is enabled gerritHost: "gerrit" # -- a cluster DNS wildcard name dnsWildCard: "" # -- platform type that can be "kubernetes" or "openshift" platform: "kubernetes" dockerRegistry: # -- Define Image Registry that will to be used in Pipelines. Can be ecr (default), harbor, dockerhub type: "ecr" # -- Docker Registry endpoint. In dockerhub case the URL must be specified in accordance with the Kaniko name convention (docker.io/<registry_space>) url: "<AWS_ACCOUNT_ID>.dkr.ecr.<AWS_REGION>.amazonaws.com/<registry_space>" ## The tekton-cache related configurations. # Ref: https://github.com/epam/edp-tekton/blob/master/charts/tekton-cache/values.yaml tekton-cache: # -- Enables the Tekton-cache subchart. enabled: true # # If 'tekton-cache.enabled' is set to 'false' the tekton-cache won't be deployed as part of the KubeRocketCI installation, # but it can be deployed separately to share among different instances. # For this case, use the following pattern for the url: "http://<service_name>.<namespace>:8080". # Where, # <service_name> is the Kubernetes service name of the tekton-cache Helm chart, by default: tekton-cache; # <namespace> is the Kubernetes namespace where the Kubernetes service of the tekton-cache Helm chart is deployed. # # -- Defines the URL to the tekton-cache. Default: http://tekton-cache:8080 url: "http://tekton-cache:8080" # Kaniko configuration section kaniko: # -- AWS IAM role to be used for kaniko pod service account (IRSA). Format: arn:aws:iam::<AWS_ACCOUNT_ID>:role/<AWS_IAM_ROLE_NAME> roleArn: "" image: repository: gcr.io/kaniko-project/executor tag: v1.12.1 # -- Set up true if external docker registry use custom certificate # -- Save cert in secret "custom-ca-certificates" with key ca.crt customCert: false # -- Enabling this feature ensures that Tekton pipelines trigger only when the repo owner creates a PR. # More information: https://tekton.dev/docs/triggers/interceptors/#owners-validation-for-pull-requests githubOwners: enabled: true # This value is needed for private repos or when checkType is set to orgMembers or repoMembers or all checkType: "all" # Tekton configuration section tekton: # Settings for the 'package-registries-auth-secret' secret that contains package registries authentication information. # # This secret is used for authenticating to package registries when pulling or pushing artifacts in Tekton Pipelines. # # By default, the Maven settings.xml file supports the following environment variables: # environment variables | description # ============================================================================== # CI_GITLAB_TOKEN_TYPE | The type of the token used for GitLab authentication, usually "Private-Token" # CI_GITLAB_TOKEN | GitLab token used for authentication to push to the GitLab registry # CI_GITHUB_USERNAME | GitHub username used for authentication to push to the GitHub registry # CI_GITHUB_PASSWORD | GitHub password or personal access token used for authentication # CI_AZURE_DEVOPS_USERNAME | Azure DevOps username used for authentication to push to the Azure DevOps registry # CI_AZURE_DEVOPS_PASSWORD | Azure DevOps password or personal access token used for authentication # # To use additional environment variables in files such as Maven settings.xml, # include them in this secret. They will be accessible in the configuration files. # packageRegistriesSecret: # -- Set this as `true` if the secret should be available in Pipelines enabled: false # -- Secret name that will be used in Pipelines. Default: package-registries-auth-secret name: "package-registries-auth-secret" # Reference to configuration map containing settings.xml file to overwrite the default configuration. configs: # -- Default configuration map for provisioning Maven settings.xml file. # To use custom Maven settings.xml configuration file, the user should prepare another configuration map and update "mavenConfigMap". # For reference see https://github.com/epam/edp-tekton/blob/master/charts/pipelines-library/templates/resources/cm-maven-settings.yaml mavenConfigMap: "custom-maven-settings" # To use custom init.gradle file, the user should prepare another configuration map and update "gradleConfigMap". # For reference see https://github.com/epam/edp-tekton/blob/master/charts/pipelines-library/templates/resources/cm-gradle-settings.yaml. # -- Default configuration maps for provisioning init.gradle file, REPOSITORY_SNAPSHOTS_PATH and REPOSITORY_RELEASES_PATH environment variables. gradleConfigMap: "custom-gradle-settings" # -- Default configuration maps for provisioning NPM .npmrc files. # To use custom NPM .npmrc configuration file, the user should prepare another configuration map and update "npmConfigMap". # For reference see https://github.com/epam/edp-tekton/blob/master/charts/pipelines-library/templates/resources/cm-npm-settings.yaml npmConfigMap: "custom-npm-settings" # To use custom Python settings, the user should prepare another configuration map and update "pythonConfigMap". # For reference see https://github.com/epam/edp-tekton/blob/master/charts/pipelines-library/templates/resources/cm-python-settings.yaml # -- Default configuration maps for provisioning PIP_TRUSTED_HOST, PIP_INDEX_PATH, PIP_INDEX_URL_PATH, # REPOSITORY_SNAPSHOTS_PATH and REPOSITORY_RELEASES_PATH environment variables for Python tasks. pythonConfigMap: "custom-python-settings" # To use custom NuGet settings, the user should prepare another configuration map and update "nugetConfigMap". # For reference see https://github.com/epam/edp-tekton/blob/master/charts/pipelines-library/templates/resources/cm-nuget-settings.yaml. # -- Default configuration maps for provisioning nuget.config file. nugetConfigMap: "custom-nuget-settings" # Pruner provides auto clean up feature for the Tekton resources pruner: # -- Specifies whether a cronjob should be created create: true # -- How often to clean up resources schedule: "0 10 */1 * *" # -- Docker image to run the pruner, expected to have kubectl and jq image: bitnami/kubectl:1.25 # -- Pod resources for Tekton pruner job resources: limits: cpu: "100m" memory: "70Mi" requests: cpu: "50m" memory: "50Mi" # -- Tekton workspace size. Most cases 1Gi is enough. It's common for all pipelines workspaceSize: "5Gi" # -- The resource limits and requests for the Tekton Tasks resources: limits: cpu: "2" memory: "3Gi" requests: cpu: "500m" memory: "1Gi" # Deploy KubeRocketCI Tekton Interceptor along with pipelines library interceptor: # -- Deploy KubeRocketCI interceptor as a part of pipeline library when true. Default: true enabled: true nameOverride: "tekton-interceptor" image: repository: epamedp/edp-tekton pullPolicy: IfNotPresent # -- Overrides the image tag whose default is the chart appVersion. tag: imagePullSecrets: [] serviceAccount: # -- Annotations to add to the service account annotations: {} # -- The name of the service account to use. # -- If not set, a name is generated using the fullname template name: "" podAnnotations: {} podSecurityContext: {} # fsGroup: 2000 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 65532 runAsGroup: 65532 # -- The resource limits and requests for the Tekton Interceptor resources: limits: memory: 60Mi cpu: 70m requests: cpu: 50m memory: 40Mi # -- Node labels for pod assignment nodeSelector: {} # -- Toleration labels for pod assignment tolerations: [] # -- Affinity settings for pod assignment affinity: {} ctLint: validateMaintainers: false chartSchema: | name: str() home: str() version: str() type: str() apiVersion: str() appVersion: any(str(), num()) description: str() keywords: list(str(), required=False) sources: list(str(), required=True) maintainers: list(include('maintainer'), required=True) dependencies: list(include('dependency'), required=False) icon: str(required=False) engine: str(required=False) condition: str(required=False) tags: str(required=False) deprecated: bool(required=False) kubeVersion: str(required=False) annotations: map(str(), str(), required=False) --- maintainer: name: str(required=True) email: str(required=False) url: str(required=False) --- dependency: name: str() version: str() repository: str() condition: str(required=False) tags: list(str(), required=False) enabled: bool(required=False) import-values: any(list(str()), list(include('import-value')), required=False) alias: str(required=False) lintconf: | --- rules: braces: min-spaces-inside: 0 max-spaces-inside: 0 min-spaces-inside-empty: -1 max-spaces-inside-empty: -1 brackets: min-spaces-inside: 0 max-spaces-inside: 0 min-spaces-inside-empty: -1 max-spaces-inside-empty: -1 colons: max-spaces-before: 0 max-spaces-after: 1 commas: max-spaces-before: 0 min-spaces-after: 1 max-spaces-after: 1 comments: require-starting-space: true min-spaces-from-content: 2 document-end: disable document-start: disable # No --- to start a file empty-lines: max: 2 max-start: 0 max-end: 0 hyphens: max-spaces-after: 1 indentation: spaces: consistent indent-sequences: whatever # - list indentation will handle both indentation and without check-multi-line-strings: false key-duplicates: enable line-length: disable # Lines can be any length new-line-at-end-of-file: enable new-lines: type: unix trailing-spaces: enable truthy: level: warning # Deploy KubeRocketCI Tekton Dashboard along with pipelines library dashboard: # -- Deploy KubeRocketCI Dashboard as a part of pipeline library when true. Default: false enabled: false # -- The resource limits and requests for the Tekton Dashboard resources: limits: cpu: "60m" memory: "70Mi" requests: cpu: "50m" memory: "40Mi" # -- Make it possible to use openshift as OIDC provider to hide tekton-dashboard. # -- Only for openshift deploy scenario, # -- For EKS scenario - uncomment dashboard.ingress.annotations block openshift_proxy: # -- Enable oauth-proxy to include authorization layer on tekton-dashboard. Default: false enabled: false image: # -- oauth-proxy image repository repository: quay.io/openshift/origin-oauth-proxy # -- oauth-proxy image tag tag: 4.9.0 # -- The resource limits and requests for the Tekton Proxy resources: limits: cpu: "60m" memory: "70Mi" requests: cpu: "50m" memory: "40Mi" # -- Namespace where cluster tekton pipelines deployed. Default: tekton-pipelines pipelinesNamespace: "tekton-pipelines" # -- Namespace where cluster tekton triggers deployed. Default: tekton-pipelines triggersNamespace: "tekton-pipelines" nameOverride: "tekton-dashboard" # -- Define mode for Tekton Dashboard. Enable/disaable capability to create/modify/remove Tekton objects via Tekton Dashboard. Default: false readOnly: false image: # -- Define tekton dashboard docker image name repository: ghcr.io/tektoncd/dashboard/dashboard-9623576a202fe86c8b7d1bc489905f86 # -- Define tekton dashboard docker image tag tag: v0.52.0 ingress: # -- Enable external endpoint access. Default Ingress/Route host pattern: tekton-{{ .Release.Namespace }}.{{ .Values.global.dnsWildCard }} enabled: true # -- Annotations for Ingress resource annotations: {} # -- Uncomment it to enable tekton-dashboard OIDC on EKS cluster # nginx.ingress.kubernetes.io/auth-signin: 'https://<oauth-ingress-host>/oauth2/start?rd=https://$host$request_uri' # nginx.ingress.kubernetes.io/auth-url: 'http://oauth2-proxy.<edp-project>.svc.cluster.local:8080/oauth2/auth' # -- Defines the base URL for the tekton. # -- If not defined the will create by pattern "tekton-[namespace].[global DNS wildcard]" host: "" # -- Ingress TLS configuration # -- If hosts not defined the will create by pattern "tekton-[namespace].[global DNS wildcard]" tls: [] # - secretName: chart-example-tls # hosts: # - tekton-krci.example.com # -- Node labels for pod assignment nodeSelector: {} # -- Toleration labels for pod assignment tolerations: [] # -- Affinity settings for pod assignment affinity: {} # Labels used to tag ConfigMaps that contain Grafana dashboards. # These labels allow Grafana to discover and load dashboard ConfigMaps. grafana: enabled: false dashboards: labelKey: grafana_dashboard labelValue: "1" # Label applied to the ServiceMonitor resource. # This label is used by Prometheus to discover and integrate the ServiceMonitor # into its configuration, allowing Prometheus to scrape metrics from the # services specified by the ServiceMonitor. serviceMonitor: prometheusReleaseLabels: release: prom # GitServers configuration section # GitServer creation depends on the gitProviders configuration, if gitProvider is not enabled, # the GitServer will not be created. gitServers: {} # my-github: # gitProvider: github # host: github.com # webhook: # skipWebhookSSLVerification: false # eventListener: # # -- Enable EventListener # enabled: true # # -- EventListener resources # resources: # requests: # memory: "64Mi" # cpu: "50m" # limits: # memory: "128Mi" # cpu: "500m" # # -- Node labels for EventListener pod assignment # nodeSelector: {} # # -- Tolerations for EventListener pod assignment # tolerations: [] # # -- Affinity for EventListener pod assignment # affinity: {} # ingress: # # -- Enable ingress controller resource # enabled: true # # -- Ingress annotations # annotations: {} # # -- Ingress TLS configuration # tls: [] # my-gitlab: # gitProvider: gitlab # host: gitlab.com # webhook: # # codebase operator will use this URL to create webhooks in GitLab, if it is not defined # # the operator will use the Ingress value # url: "http://gitlab.example.com" # skipWebhookSSLVerification: false # eventListener: # # -- Enable EventListener # enabled: true # # -- EventListener resources # resources: # requests: # memory: "64Mi" # cpu: "50m" # limits: # memory: "128Mi" # cpu: "500m" # # -- Node labels for EventListener pod assignment # nodeSelector: {} # # -- Tolerations for EventListener pod assignment # tolerations: [] # # -- Affinity for EventListener pod assignment # affinity: {} # ingress: # # -- Enable ingress controller resource # enabled: true # # -- Ingress annotations # annotations: {} # # -- Ingress TLS configuration # tls: [] # my-gerrit: # gitProvider: gerrit # host: gerrit.example.com # gitUser: ci-user # httpsPort: 443 # nameSshKeySecret: gerrit-ciuser-sshkey # sshPort: 30022 # webhook: # skipWebhookSSLVerification: false # eventListener: # # -- Enable EventListener # enabled: true # # -- EventListener resources # resources: # requests: # memory: "64Mi" # cpu: "50m" # limits: # memory: "128Mi" # cpu: "500m" # # -- Node labels for EventListener pod assignment # nodeSelector: {} # # -- Tolerations for EventListener pod assignment # tolerations: [] # # -- Affinity for EventListener pod assignment # affinity: {} # ingress: # # -- Enable ingress controller resource # enabled: true # # -- Ingress annotations # annotations: {} # # -- Ingress TLS configuration # tls: [] # my-bitbucket: # gitProvider: bitbucket # host: bitbucket.org # webhook: # skipWebhookSSLVerification: false # eventListener: # # -- Enable EventListener # enabled: true # # -- EventListener resources # resources: # requests: # memory: "64Mi" # cpu: "50m" # limits: # memory: "128Mi" # cpu: "500m" # # -- Node labels for EventListener pod assignment # nodeSelector: {} # # -- Tolerations for EventListener pod assignment # tolerations: [] # # -- Affinity for EventListener pod assignment # affinity: {} # ingress: # # -- Enable ingress controller resource # enabled: true # # -- Ingress annotations # annotations: {} # # -- Ingress TLS configuration # tls: []