github.com/freiheit-com/kuberpult@v1.24.2-0.20240328135542-315d5630abe6/charts/kuberpult/values.yaml (about) 1 # This file is part of kuberpult. 2 3 # Kuberpult is free software: you can redistribute it and/or modify 4 # it under the terms of the Expat(MIT) License as published by 5 # the Free Software Foundation. 6 7 # Kuberpult is distributed in the hope that it will be useful, 8 # but WITHOUT ANY WARRANTY; without even the implied warranty of 9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 # MIT License for more details. 11 12 # You should have received a copy of the MIT License 13 # along with kuberpult. If not, see <https://directory.fsf.org/wiki/License:Expat>. 14 15 # Copyright 2023 freiheit.com 16 # Default values for .. 17 # This is a YAML-formatted file. 18 # Declare variables to be passed into your templates. 19 20 git: 21 # The git url of the manifest repository (git protocol) 22 url: # git@github.com/.../... 23 webUrl: # only necessary for webhooks to argoCd, e.g. https://github.com/freiheit-com/kuberpult 24 25 # The branch to be use in the manifest repository 26 branch: "master" 27 28 # If this is set, kuberpult will render a link to apps in the manifest repository (not the source repo). 29 # Use `{dir}` and `{branch}` to automatically replace with proper values 30 # Example for GitHub: https://github.com/freiheit-com/kuberpult/tree/{branch}/{dir} 31 # Example for BitBucket: http://bitbucket.com/projects/projectName/repos/repoName/browse/{dir}/?at=refs%2Fheads%2F{branch} 32 # Example for Azure: https://dev.azure.com/projectName/_git/repoName?path=/{dir}&version=GB{branch}&_a=contents 33 manifestRepoUrl: "" 34 35 # If this is set, kuberpult will render a link to the source code of your services (not the manifest repository). 36 # Use `{branch}` and `{commit}` to automatically replace with proper values 37 # Example for GitHub: https://github.com/freiheit-com/kuberpult/commit/{commit} 38 # Example for BitBucket: https://bitbucket.com/path/to/repo/commits/{commit} 39 # Example for Azure: https://dev.azure.com/path/to/repo/commit/{commit}?refName=refs%2Fheads%2F{branch} 40 sourceRepoUrl: "" 41 42 # The git author is what kuberpult writes to the manifest repository. 43 # The git committer cannot be configured. It will always be "kuberpult". 44 author: 45 name: local.user@example.com 46 email: defaultUser 47 48 # Timeout used for network operations 49 networkTimeout: 1m 50 51 # If enabled, write data to the `/commit` directory in the manifest repo on every release. 52 # Disabling this option does not delete the `/commit` directory. 53 enableWritingCommitData: false 54 55 # Kuberpult tries to reduce the number of pushes and can bundle concurrent commits into a single push. 56 # This can reduce the time it takes to process requests ariving at the same time and improve throughput. 57 # The correct number largely depends on the performance of the git host and repository size. For small to medium sized deployments the default is good. 58 # We recommend values between 1 and 20. 59 maximumCommitsPerPush: 5 60 61 hub: europe-west3-docker.pkg.dev/fdc-public-docker-registry/kuberpult 62 63 log: 64 # Possible values are "gcp" for a gcp-optimized format and "default" for json 65 format: "" 66 # Other possible values are "DEBUG", "INFO", "ERROR" 67 level: "WARN" 68 cd: 69 image: kuberpult-cd-service 70 backendConfig: 71 create: false # Add backend config for health checks on GKE only 72 timeoutSec: 300 # 30sec is the default on gcp loadbalancers, however kuberpult needs more with parallel requests. It is the time how long the loadbalancer waits for kuberpult to finish calls to the rest endpoint "release" 73 queueSize: 5 74 resources: 75 limits: 76 cpu: 2 77 memory: 3Gi 78 requests: 79 cpu: 2 80 memory: 3Gi 81 enableSqlite: true 82 probes: 83 liveness: 84 periodSeconds: 10 85 successThreshold: 1 86 timeoutSeconds: 5 87 failureThreshold: 10 88 initialDelaySeconds: 5 89 readiness: 90 periodSeconds: 10 91 successThreshold: 1 92 timeoutSeconds: 5 93 failureThreshold: 10 94 initialDelaySeconds: 5 95 frontend: 96 image: kuberpult-frontend-service 97 # Annotations given here will be added to kuberpult-frontend-service annotations. 98 # See frontend-service.yaml for automatically added annotations. 99 service: 100 annotations: {} 101 resources: 102 limits: 103 cpu: 500m 104 memory: 250Mi 105 requests: 106 cpu: 500m 107 memory: 250Mi 108 # Limit for the wait time for resources that support waiting on conditions ( e.g. rollout-status ). 109 # This MUST be lower than the combined timeouts of ALL http proxies in use. 110 maxWaitDuration: 10m 111 batchClient: 112 # This value needs to be higher than the network timeout for git 113 timeout: 2m 114 rollout: 115 enabled: false 116 image: kuberpult-rollout-service 117 resources: 118 limits: 119 cpu: 500m 120 memory: 250Mi 121 requests: 122 cpu: 500m 123 memory: 250Mi 124 # annotations given here will take precedence over the defaults defined in _helpers.tpl 125 podAnnotations: {} 126 127 ingress: 128 # The simplest setup involves an ingress, to make kuberpult available outside the cluster. 129 # set to false, if you want use your own ingress: 130 create: true 131 annotations: 132 nginx.ingress.kubernetes.io/proxy-read-timeout: 300 133 domainName: null 134 # note that IAP is a GCP specific feature. On GCP we recommend to enable it. 135 iap: 136 enabled: false 137 secretName: null 138 tls: 139 host: null 140 secretName: kuberpult-tls-secret 141 ssh: 142 # This section is necessary to checkout the manifest repo from git. Only ssh is supported (no https). 143 identity: | 144 -----BEGIN OPENSSH PRIVATE KEY----- 145 -----END OPENSSH PRIVATE KEY----- 146 known_hosts: | 147 github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg= 148 pgp: 149 # The pgp keyring is used as an authentication measure for kuberpult rest endpoints that are publicly available. 150 # If you do not use IAP, it is highly recommended to enable this. 151 keyRing: null 152 153 argocd: 154 # The base url is used to generate links to argocd in the UI. Kuberpult never uses this to talk to argocd. 155 baseUrl: "" 156 # The token is generated by adding a user in argocd with apiKey permssions and generating a token. 157 # 1. Add an entry to the configmap argocd-cm data with key "accounts.kuberpult" and value "apiKey" 158 # 2. Run `argocd account generate-token --account kuberpult` and put the result here 159 # 3. Grant kuberpult the necessary rights by adding these lines to the argocd-rbac-cm config map: 160 # 161 # policy.csv: | 162 # p, role:kuberpult, applications, get, */*, allow 163 # g, kuberpult, role:kuberpult 164 # 165 token: "" 166 # The argocd server url is used by kuberpult to reach out to argocd. If argocd is running in the same cluster, use the service name of the api server. 167 # Also must include the protocol and port e.g. http://argocd-server.argocd.svc.cluster.local:80 or https://argocd.example.com:443 168 server: "" 169 # Disables tls verification. This is useful when running in the same cluster as argocd and using a self-signed certificate. 170 insecure: false 171 # Enable sending webhooks to argocd 172 sendWebhooks: false 173 174 refresh: 175 # Enable sending refresh requests to argocd 176 enabled: false 177 # Send up to that many parallel refresh requests to argocd. 178 # The number is determined by the power of the deployed argocd. 179 concurrency: 50 180 181 datadogTracing: 182 enabled: false 183 debugging: false 184 environment: "shared" 185 186 datadogProfiling: 187 # Note that the profiling environment is taken from the field `datadogTracing.environment` 188 enabled: false 189 # In order to use the datadog profile, you must provide a datadog api key: 190 apiKey: "" 191 192 dogstatsdMetrics: 193 # send metrics: 194 enabled: false 195 196 # sends additional events for each deployments: 197 # dogstatsdMetrics.enabled must be true for this to have an effect. 198 eventsEnabled: false 199 200 # dogstatsD listens on port udp:8125 by default. 201 # https://docs.datadoghq.com/developers/dogstatsd/?tab=hostagent#agent 202 # datadog.dogstatsd.socketPath -- Path to the DogStatsD socket 203 address: unix:///var/run/datadog/dsd.socket 204 # datadog.dogstatsd.hostSocketPath -- Host path to the DogStatsD socket 205 hostSocketPath: /var/run/datadog 206 207 imagePullSecrets: [] 208 209 gke: 210 # The backend service id and project number are used to verify IAP tokens. 211 # 212 # The backend service id can only be obtained _after_ everything is installed. 213 # Use this bash script to obtain it (after login to gcloud and select the correct project): 214 # 215 # ``` 216 # gcloud compute backend-services describe --global $(gcloud compute backend-services list | grep "kuberpult-frontend-service-80" | cut -d" " -f1) | yq .id 217 # ``` 218 # Alternatively, you can set the name of the backend service as regex, and kuberpult will try to get the id of the first matching backend service using google compute SDK. 219 # Only one of backend_service_id and backend_service_name should be set. Setting both is not supported and lead to an error. 220 backend_service_id: "" 221 backend_service_name: "" 222 # 223 # Use this bash script to obtain the project number: 224 # 225 # ``` 226 # gcloud projects list --filter="$(gcloud config get-value project)" --format="value(PROJECT_NUMBER)" 227 # ``` 228 project_number: "" 229 230 environment_configs: 231 bootstrap_mode: false 232 # environment_configs_json: | 233 # { 234 # "production": { 235 # "upstream": { 236 # "latest": true 237 # }, 238 # "argocd" :{} 239 # } 240 # } 241 environment_configs_json: null 242 243 auth: 244 azureAuth: 245 enabled: false 246 cloudInstance: "https://login.microsoftonline.com/" 247 clientId: "" 248 tenantId: "" 249 dexAuth: 250 enabled: false 251 # Indicates if dex is to be installed. If you want to use your own Dex instance do not enable this flag. 252 installDex: false 253 # Defines the rbac policy when using Dex. 254 # The permissions are added using the following format (<ROLE>, <ACTION>, <ENVIRONMENT_GROUP>:<ENVIRONMENT>, <APPLICATION>, allow). 255 # 256 # Available actions are: CreateLock, DeleteLock, CreateRelease, DeployRelease, CreateUndeploy, DeployUndeploy, CreateEnvironment, CreateEnvironmentApplication and DeployReleaseTrain. 257 # The actions CreateUndeploy, DeployUndeploy and CreateEnvironmentApplication are environment independent meaning that the environment specified on the permission 258 # needs to follow the following format <ENVIRONMENT_GROUP>:*, otherwise an error will be thrown. 259 # 260 # Example permission: Developer, CreateLock, development:development, *, allow 261 # If no group is configured for an environment, the environment group name is the same as the environment name, here "development". 262 # The policy will be available on the kuberpult-rbac config map. 263 policy_csv: "" 264 clientId: "" 265 clientSecret: "" 266 baseURL: "" 267 # List of scopes to validate the token. Please add them as comma separated values. 268 scopes: "" 269 api: 270 # New api endpoints (starting with `/api/`), are by default only turned on when IAP is enabled. 271 # As of now this applies only to the manifest endpoint `/api/application/<application>/release/<release>/manifests`. 272 # If you do not have Googles IAP enabled, but still want to use the API, be aware that it is publicly available, 273 # so you would need a protection outside of kuberpult (e.g. a VPN). 274 # If `enableDespiteNoAuth=true`, then the API will respond, even if IAP is disabled in this helm chart (`ingress.iap.enabled=true`). 275 enableDespiteNoAuth: false 276 277 # The Dex configuration values. For more information please check the Dex repository https://github.com/dexidp/dex 278 dex: 279 # List of environment variables to be added to the dex service pod. 280 # Example, if you want your DEX service to have access to to the OAUTH_CLIENT_ID, you can specify 281 # it the following way: 282 # 283 # - name: OAUTH_CLIENT_ID 284 # valueFrom: 285 # secretKeyRef: 286 # name: kuberpult-oauth-client-id 287 # key: kuberpult-oauth-client-id 288 envVars: [] 289 # The configuration of the OAUTH provider. 290 # For more information on the connectors to use see https://dexidp.io/docs/connectors/ 291 # Here is an example on how to connect with Google connector: 292 # 293 # connectors: 294 # - type: google 295 # id: google 296 # name: Google 297 # config: 298 # clientID: $GOOGLE_CLIENT_ID 299 # clientSecret: $GOOGLE_CLIENT_SECRET 300 # redirectURI: http://127.0.0.1:5556/callback 301 config: {} 302 # Configuration for revolution dora metrics. If you are not using revolution you can safely ignore this. 303 revolution: 304 dora: 305 enabled: false 306 # The default url in revolution is https://revolution.dev/api/dora/kuberpult?companyID=myCompany&productID=myProductID&projectID=myProductId 307 url: "" 308 # The token can be obtained from revolution. 309 token: "" 310 # Maximum number of requests send in parallel. 311 concurrency: 20 312 313 # Whether the rollout service should self-manage applications 314 manageArgoApplications: 315 enabled: false 316 # List of teams that should be self managed by the rollout service. 317 filter: []