clusters/core/addons/krakend/values.yaml (211 lines of code) (raw):

krakend: ingress: enabled: true annotations: nginx.ingress.kubernetes.io/cors-allow-headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization nginx.ingress.kubernetes.io/cors-allow-methods: OPTIONS, GET, POST nginx.ingress.kubernetes.io/cors-allow-origin: '*' nginx.ingress.kubernetes.io/enable-cors: 'true' hosts: - host: api.example.com paths: - path: / pathType: ImplementationSpecific krakend: partials: null settings: null # -- Defines the name of the Secret that contains the KrakenD configuration. envFromSecret: "krakend" config: | { "$schema": "https://www.krakend.io/schema/krakend.json", "version": 3, "name": "KrakenD - API Gateway", "timeout": "3000ms", "cache_ttl": "300s", "output_encoding": "json", "client_tls": { "@comment": "Skip SSL verification when connecting to backends", "allow_insecure_connections": true }, "extra_config": { "router": { "logger_skip_paths": [ "/__health" ] }, "auth/jwk-client": { "@comment": "Enable a JWK shared cache amongst all endpoints of 60 minutes", "shared_cache_duration": 3600 } }, "endpoints": [ { "endpoint": "/widgets/sonarqube/measures/component", "method": "GET", "output_encoding": "json", "input_query_strings": [ "component", "metricKeys" ], "extra_config": { "auth/validator": { "alg": "RS256", "cache_duration": 3600, "cache": true, "disable_jwk_security": false, "jwk_url": "{{ env "JWK_URL" }}" } }, "backend": [ { "url_pattern": "/api/measures/component", "encoding": "json", "sd": "static", "method": "GET", "host": [ "{{ env "SONARQUBE_URL" }}" ], "extra_config": { "qos/http-cache": {}, "modifier/martian": { "header.Append": { "scope": [ "request" ], "name": "Authorization", "value": "Basic {{ env "SONARQUBE_TOKEN" }}" } } } } ] }, { "endpoint": "/widgets/deptrack/project", "method": "GET", "output_encoding": "json", "input_query_strings": [ "name" ], "extra_config": { "auth/validator": { "alg": "RS256", "cache_duration": 3600, "cache": true, "disable_jwk_security": false, "jwk_url": "{{ env "JWK_URL" }}" } }, "backend": [ { "url_pattern": "/api/v1/project", "encoding": "json", "sd": "static", "method": "GET", "host": [ "{{ env "DEPTRACK_URL" }}" ], "is_collection": true, "extra_config": { "qos/http-cache": {}, "modifier/martian": { "header.Append": { "scope": [ "request" ], "name": "X-Api-Key", "value": "{{ env "DEPTRACK_TOKEN" }}" } } } } ] }, { "endpoint": "/widgets/deptrack/metrics/project/{uuid}/current", "method": "GET", "output_encoding": "json", "input_query_strings": [ "name" ], "extra_config": { "auth/validator": { "alg": "RS256", "cache_duration": 3600, "cache": true, "disable_jwk_security": false, "jwk_url": "{{ env "JWK_URL" }}" } }, "backend": [ { "url_pattern": "/api/v1/metrics/project/{uuid}/current", "encoding": "json", "sd": "static", "method": "GET", "host": [ "{{ env "DEPTRACK_URL" }}" ], "is_collection": false, "extra_config": { "qos/http-cache": {}, "modifier/martian": { "header.Append": { "scope": [ "request" ], "name": "X-Api-Key", "value": "{{ env "DEPTRACK_TOKEN" }}" } } } } ] }, { "endpoint": "/search/logs", "method": "POST", "output_encoding": "json", "extra_config": { "auth/validator": { "alg": "RS256", "cache_duration": 3600, "cache": true, "disable_jwk_security": false, "jwk_url": "{{ env "JWK_URL" }}" } }, "backend": [ { "url_pattern": "/logstash-edp-*/_search", "method": "POST", "host": [ "{{ env "OPENSEARCH_URL" }}" ], "encoding": "json", "extra_config": { "qos/http-cache": {}, "modifier/martian": { "header.Append": { "scope": [ "request" ], "name": "Authorization", "value": "Basic {{ env "OPENSEARCH_CREDS" }}" } } } } ] } ] } # This section enables configuration for using External Secrets Operator (ESO) as the secret manager. # Prerequisite: Ensure that ESO is installed in the cluster. # Refer to the EDP cluster add-on for ESO installation and setup: # https://github.com/epam/edp-cluster-add-ons/tree/main/clusters/core/addons/external-secrets # # Ensure that you have created the necessary roles for ESO integration. # Follow the detailed instructions here: # https://docs.kuberocketci.io/docs/operator-guide/secrets-management/external-secrets-operator-integration#aws-parameter-store-scenario-in-kuberocketci eso: # -- Install components of the ESO. enabled: true # -- Defines provider type. One of `aws` or `generic`. type: "aws" # -- Defines Secret Store name. secretStoreName: "aws-parameterstore" # -- Value name in AWS ParameterStore, AWS SecretsManager or other Secret Store. secretName: "/infra/core/addons/krakend" # -- Role ARN for the ExternalSecretOperator to assume. roleArn: arn:aws:iam::012345678910:role/AWSIRSA_Shared_ExternalSecretOperatorAccess # Defines Secret Store configuration. Used when eso.type is set to "generic". generic: secretStore: # -- Defines SecretStore provider configuration. providerConfig: {} # gcpsm: # projectID: "alphabet-123"