14123 lines
433 KiB
YAML
14123 lines
433 KiB
YAML
---
|
|
# Source: qliksense/charts/collections/templates/token-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-collections-tokenconfig
|
|
labels:
|
|
app: qliksense-collections
|
|
chart: "collections-2.8.55"
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
type: Opaque
|
|
data:
|
|
token-privateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRCS1BWMHlGQ3JlamE3OVcxa3JRc2xTMFZPV1VVLzRhSDhMbmVDRHpGL29TeXBGZlR0Z0xKNVEKNXNZWVZ4N3Nqd0tnQndZRks0RUVBQ0toWkFOaUFBU0NIYXNRelUxV2pyWFhLcEpqWWNtUnBuTnlYS3RTNWdXRwp4RlFGTUpkSVNVcUtQandUMVhvQXZHN0x4cWtxTDRqNnhUbGowSEdnaWhWMER2VXNkdXkzVFRpMUQrMkZnWmZKCmkxaVlackZLdlZkN1g0bW5qdjg0c1BacDg2SEFnY2s9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
token-kid: MmdNeFFfWG40NUs0UF9VWks4UWNRVDcybDFSOS16d1FHbk5UaUR2eDhWSQ==
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connections/templates/encryption-secret.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-encryptionconfig
|
|
type: Opaque
|
|
data:
|
|
redisEncryptionKey: UmFXR3EqWDM3bUVxTmRqMg==
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connections/templates/keys-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-keysconfig
|
|
type: Opaque
|
|
data:
|
|
jwtPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkREamFrU0o0Umh1dkpRYkFqRkRnTjhBVlhWamQxRWR3S2oxY3puekFzVEtNK1pJZzVhUFMyclYKZVdzRHJuaW44NWlnQndZRks0RUVBQ0toWkFOaUFBUjhJS2xQL0t0TmYrdXJYdmtrbTlHVi9FWjNGS0xPQ0QxUQpyc0paeVpFN21NR2U2MHM1OHhXYnJ6S050YWt5bm16VVVyaGdESldIbVk0V240V0Rld29LRzhDaURmY1UyMGpRCkJwVXR0YWhKa1pGMzcwU0xuVE1oTmFlZk5NNFMvNEE9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
jwksKeyID: SW1qdzY3a2RTY0xOZlBQcmFnR3dsVFNaZjRFX1h2b05DUjNJSzZCRVRHaw==
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/templates/redis-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
type: Opaque
|
|
metadata:
|
|
name: qliksense-dcaas-redis-secret
|
|
data:
|
|
redis-password: ""
|
|
redis-addr: cWxpa3NlbnNlLWRjYWFzLXJlZGlzLW1hc3Rlcjo2Mzc5
|
|
# usePassword=false
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/templates/tls-secret.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-elastic-infra-tls-secret
|
|
labels:
|
|
app: elastic-infra
|
|
chart: elastic-infra-3.0.5
|
|
release: qliksense
|
|
heritage: Tiller
|
|
type: kubernetes.io/tls
|
|
data:
|
|
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURWRENDQWp5Z0F3SUJBZ0lKQUowdHFNVDVEV3BzTUEwR0NTcUdTSWIzRFFFQkN3VUFNRDh4R0RBV0JnTlYKQkFNTUQyVnNZWE4wYVdNdVpYaGhiWEJzWlRFak1DRUdBMVVFQ2d3YVpXeGhjM1JwWXkxbGJHRnpkR2xqTFd4dgpZMkZzTFdObGNuUXdIaGNOTVRnd05qRXhNVFV4TVRBeldoY05Namd3TkRFNU1UVXhNVEF6V2pBL01SZ3dGZ1lEClZRUUREQTlsYkdGemRHbGpMbVY0WVcxd2JHVXhJekFoQmdOVkJBb01HbVZzWVhOMGFXTXRaV3hoYzNScFl5MXMKYjJOaGJDMWpaWEowTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFwUUxJZ1Z4QwpkRjI3UFhzL3M4VFh2VGRVeTVwZFFneG9jWi9MenUxblJXbW1GRUc1Mlo5MmRjS1dJMDljdVg5ZUlZZzE0c21ZCkczSmtjb28vNUt0WUtpNmh5dVBtNlZrdGRyU1dCam1VdGxkbHg3UVRLNkxFVlhFeUU3VDZ6QW1GV3lMZTVJMEIKbDdRQlk2dnVoK3g1dlpkSWd3SzVldzBFZmNJUU1Ra2tiMzVkb00xYm41TEJEVklxUzNmNXUxNTArMTM1RitsWQpOc2lFcWhZaVExZm1PMmkzSzBLOW5TMEl3Nm5vNWp2MkZaNnR5bU9zY2wvaWYzdWQzUzUxOTZNTjJtaFpCRFVaCmlwbThlRVkxNVJOa3VQSXBETzhMYkEwZlFOcUcyYXFGa3JybFcrbEdTaDRYZjZLNmdtZkFRdW15K2xrR3RqVlUKZU5OdGF6NnlMMWNkU3dJREFRQUJvMU13VVRBTEJnTlZIUThFQkFNQ0JMQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQgpCUVVIQXdFd0xRWURWUjBSQkNZd0pJSVBaV3hoYzNScFl5NWxlR0Z0Y0d4bGdoRXFMbVZzWVhOMGFXTXVaWGhoCmJYQnNaVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBVDFnMFhqelNDRDBBTkF5cDFOWURLU3ZZVUdHcGpSaFkKdUJRYnRwcDUrUDNzd2xvdTNvMDVwdDNydlZ3QmxwK2tjalFwTEJpN3AyRFNuNTdFWHM5eHFEQTBHRjlMSHdpUwpzcGZVYlhRazJIa1E3SGpHb01FSEJLVWpOVUJoZjJkWVRuK1BtbHhobllpZitoU2dkeDdIZ1JuMTh0K0hqTC9JClVlUUkxMHYvdExiT1diZkdBZmlGYjQyUHEvVjg1aGJlNW9mU1VObHVsNFZNOGVXNk1SNlB2b1dYYWJYcVB2ajMKSXpVOVk2UVFoN2dqYmNQN2RmWUZCd3FFRnUxOHlpMUdFbzcxK0NtUjFFL2VpK2kzZDdZTHlMTWhUOHZnMVNDUgozeTB1TVZZOHkxVHpIdS9OTEl0NVozYm1rNFJjcUo1MDVsYmtrTHdzSVFYUzJpMUxud25weXc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
|
tls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2QUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktZd2dnU2lBZ0VBQW9JQkFRQ2xBc2lCWEVKMFhiczkKZXorenhOZTlOMVRMbWwxQ0RHaHhuOHZPN1dkRmFhWVVRYm5abjNaMXdwWWpUMXk1ZjE0aGlEWGl5WmdiY21SeQppai9rcTFncUxxSEs0K2JwV1MxMnRKWUdPWlMyVjJYSHRCTXJvc1JWY1RJVHRQck1DWVZiSXQ3a2pRR1h0QUZqCnErNkg3SG05bDBpREFybDdEUVI5d2hBeENTUnZmbDJnelZ1ZmtzRU5VaXBMZC9tN1huVDdYZmtYNlZnMnlJU3EKRmlKRFYrWTdhTGNyUXIyZExRakRxZWptTy9ZVm5xM0tZNnh5WCtKL2U1M2RMblgzb3czYWFGa0VOUm1LbWJ4NApSalhsRTJTNDhpa003d3RzRFI5QTJvYlpxb1dTdXVWYjZVWktIaGQvb3JxQ1o4QkM2Ykw2V1FhMk5WUjQwMjFyClBySXZWeDFMQWdNQkFBRUNnZ0VBZUVPWUNSaEo0dS94cUxTc1VBUldUTFVJRzBDTldiY2JaRHpYMlNBVUZYWVQKc2szWSszQ0tjUGQ2WDQvVy8rZUJucVRjeVVhdWtzcUR4U3RYdC96ZHpCaWltUElUZU4wakVwSTVpWjNyOGgydQpzNmRlRlg2UzQ4Y1ZmV0Y1TEw1L3NGV3c2QmlSSVpUek1rYThHZHJUTzhnSDlGeEcvUlVXd2VWdjBaMWRMZGhiCkY3MXB4SjJiUUYvaWhQTmo5TW53NGt2NkkrcW81NjBDZTd0dW5GODRnOS91MFMzTGlwVFRXc0tsTWNjS0liR1UKWUovNHRkRU5Cd3ErKzU2cXh1bGJEcXA4QnJQNHJVbnFFNUg4MEZwNTFQYkI0V2E4aysybStBVHVmQ3RpZ0FCSAo3Z0ljTnNMRGRuRnhXRjNENlg5OUlqdndFRGZIUGFxSzBDaFFKQTIvcVFLQmdRRFErM3VJTXgrUHRkMkhPTVJmCmY4VFVEN1BudkhXaUo1YTE2YzBwcTNrYzdFei9mZHlwbU1mbXRzMERnUXJsNTBTM0YrYjNOSUFtUVhQZHd3d3AKaFhBUktrZ0F5QXUrRDdlVFVEajBoa0ZzZ1hUeWxyL0FnMGlDOU9tMUhFVFVEbGpzUS94TWFYcSt0R2tBVEhpMwowVy9mOHYzSWRBNW9Fblg1VUdac1htNkU5d0tCZ1FES0lybSt5Z1B3ZndwcWkraW02djkvNzcwRVZDU0NJNjNtCi9teWtmZXVNVVFwcHY2RDBZS25ha21RcXBPRFI5cFRNK01yS01DTi9TdkZVeDdDR0FwbjNUKzRKTjhMb05kVTQKaG0yYmtmY05MbGtPMGtmRHVKOHA2M1ZNeEs1OUthbVNhY2hBU0JLVlpoZEMxK0lpNkUwQ2NrVFAwWFpuU0NJRApaOGFEellzWlRRS0JnRmZLUFdQQzdqQkYyeER5RlBSMVRTODBoWVFGRkhtUkhldS9rdk05V0h5QSsvdWNXUFZaCi9DZjhoUFZDNFZ3aElpbTBQYzk5VzVRMmpNRU5MZS9IWVlPa2VtanhvSlV3THhNUWNVeXZsWTVLZCtGczJKSzcKMDl0SG5XSDZ4U003LzdrSStsVHpQcUFjVTd2UFpDcjhMWDRycXRicGdoL1FHWVVwZEUxMEFnT1RBb0dBSW5ragpwb2M3ZnNPYjJpbjhScU5qYWNWUVBqRy9mRFpyalM2dEJxeTNCRm81NVdrYUlUTnZKR2k5RG96S0R1VDM0YkU0Cm5KenpJTjErSlJCZGFhMTk1ckRLRHVaa3BrZXdFcERTbHFxaE1LMUw0UHc1NHdaVWxzaWlXN0piYzlzc0lWMUwKR3JOdi8rekdZTThDc1NOZkp1Q29IYTFDZlVEUEZEZVpvcGJtZHkwQ2dZQlpZTk01NFlPck12VjBJU3FibmEvQwpPQWMrci8yWU5BQmQvNFRHcFgzVHNpTHlTaG5YS04zbVcveEQxb2RUTkZNRVcwSFAza2c3NDhmMVNLSjNVWkJzCjBHcG80aHo4dlZYYUJDNmxDVkd3dnNwWWJkUDJBOEdQbkFOREpud2pyUEp1Q2xTZC9Hcm9tSVBuSVBtQTErVWkKWVRERFhZVWU2TVhncUUxc2lZU2x0Zz09Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/secret-jwt.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-engine-service-jwt-secret
|
|
type: Opaque
|
|
data:
|
|
jwtPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRDSUg1WEU1L1R3VGh6bkkxenIvcGM4RGdzVUpLa0xrN0x3bHd4YzhPaXhzZnllMUZNdDNRR2oKQmZjcEFlUVh0WldnQndZRks0RUVBQ0toWkFOaUFBU1ErSVJkSWs1RFVWSlc4THQrVWgzV2xsZ2pHakhYUmZJKwphTkJjbU00MW5Zd1JsSHZhZFVHeDVHWnFtRmY0ZzdNdjY3RlI2b3lJdFJEbVB0dDlRT0RtMkJQeUEzYWZ1UE5wCm9QRWM2RExnTzl0dHJZVEhXT2tlY0hZL1pPYnFIMm89Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-engine-secrets
|
|
type: Opaque
|
|
data:
|
|
jwtPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRDSUg1WEU1L1R3VGh6bkkxenIvcGM4RGdzVUpLa0xrN0x3bHd4YzhPaXhzZnllMUZNdDNRR2oKQmZjcEFlUVh0WldnQndZRks0RUVBQ0toWkFOaUFBU1ErSVJkSWs1RFVWSlc4THQrVWgzV2xsZ2pHakhYUmZJKwphTkJjbU00MW5Zd1JsSHZhZFVHeDVHWnFtRmY0ZzdNdjY3RlI2b3lJdFJEbVB0dDlRT0RtMkJQeUEzYWZ1UE5wCm9QRWM2RExnTzl0dHJZVEhXT2tlY0hZL1pPYnFIMm89Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
redisUserStatePassword: ""
|
|
redisUserStateSentinelPassword: ""
|
|
|
|
---
|
|
# Source: qliksense/charts/eventing/templates/secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-eventing-secret
|
|
type: Opaque
|
|
data:
|
|
jwtPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRDbHJNY3ZOcTNpSDYrOS9KeDFkSTdmTE9valErM2JqTDJxelBXZWJZclNpRVVBYzVpYSt1WDkKSkIvREk4OHh6NTZnQndZRks0RUVBQ0toWkFOaUFBUndxaGxiZURSb3lyemxTUStCT2RNUW9xaUxEd0VQbTdtUQozNTBuQUszaUVpMFFhOUtjb09WT3IzdC82MTVlK1RBZDBYd0hGSkJOMUtOWDh1c015eWsvOEhreTNLK3o2Z0luCnFkbHYrajQvUVFveEpsUFY4WmQ5Q0h1Uk85UzdrY1U9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
|
|
---
|
|
# Source: qliksense/charts/generic-links/templates/token-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-generic-links-tokenconfig
|
|
labels:
|
|
app: qliksense-generic-links
|
|
chart: "generic-links-1.1.18"
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
type: Opaque
|
|
data:
|
|
token-privateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRENnNiOVl2UEppVFpkb2RjTzdLaU5IRCtBd0toNEN4ekg5NGdVUUUyekVLU3FxaGRWbXFiREQKcGFzeWxIZWFOMTJnQndZRks0RUVBQ0toWkFOaUFBUzcyRmtMS0pWTTkyRVFVWUZiREhqS2pNMUFaY01pMDlCdwpRQ0ROaG9BYlMyTzRlcDVUaHNFU0FUN253L0tvRE4xYk1IeVRRNldZUkIwcDZTRjk3bVdibzlHVUpac2o2VCtOCmtEV211elBrNkkxL3NEZzVrTXFWckxRc0FYalgxRUU9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
token-kid: ejRZYUFyUTNDekY5NzQ4YXJIYU5mSmtIalBUQjJuQ29CTGVOLVpiZGxlMA==
|
|
|
|
---
|
|
# Source: qliksense/charts/identity-providers/templates/secret.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-identity-providers
|
|
type: Opaque
|
|
data:
|
|
idpConfigs: W3siY2xhaW1zTWFwcGluZyI6eyJncm91cHMiOlsiZ3JvdXBtZW1iZXJzaGlwcyJdLCJuYW1lIjpbIm5hbWUiLCJwcmVmZXJyZWRfdXNlcm5hbWUiXSwic3ViIjpbInByZWZlcnJlZF91c2VybmFtZSJdfSwiY2xpZW50SWQiOiJicm93bnRvd24iLCJjbGllbnRTZWNyZXQiOiI0ZjQzMGQwOS04MGVjLTRiMWQtODAxZi1jNGQzZGY1ZWZlM2UiLCJkaXNjb3ZlcnlVcmwiOiJodHRwOi8va2V5Y2xvYWsuYnJvd250b3duLmxvY2FsL2F1dGgvcmVhbG1zL2Jyb3dudG93bi8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbiIsImhvc3RuYW1lIjoicWxpa3NlbnNlLmJyb3dudG93bi5sb2NhbCIsInJlYWxtIjoia2V5Y2xvYWsifV0=
|
|
jwtPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkREd0JwbG1oamMxLzU0Nk8vcWxRVGlTNHBQM0lRTVdKSXF1QzVueUR0anVsa0tRN3FLYzJuZ0cKa2lDYXZLQTNmTkdnQndZRks0RUVBQ0toWkFOaUFBUngwNkIxR3lRdmpKQnh4NldTZGs4Z0xPeU9tTjZRR0pSOApITUViaHhFZERleWx3T24relRuSUdTS0lmaDdYTFowRjZzMnZGR3JGZ1NpMGNvMTNNTjJMNnB5Y0RXTWxRdDA5ClAyZFlYbkROYXhqQjRCaEw2VnU2cGJPTUx1NXB2dnc9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats/templates/nats-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
type: Opaque
|
|
metadata:
|
|
name: qliksense-nats-secret
|
|
data:
|
|
client-user: bmF0c0NsaWVudA==
|
|
client-password: Y2xpZW50UGFzcw==
|
|
---
|
|
# Source: qliksense/charts/policy-decisions/templates/token-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-policy-decisions-tokenconfig
|
|
labels:
|
|
app: qliksense-policy-decisions
|
|
chart: "policy-decisions-2.0.0"
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
type: Opaque
|
|
data:
|
|
token-privateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRDdTdXMUhpWTZVZVZ6Z1hwY3RraVlCWkc3TTFZTmcra2xNaGVXandSaTdiTkRwNkZPZUJ6eWUKdmdkU1RkU1ByNUNnQndZRks0RUVBQ0toWkFOaUFBU0NGVDFXeTZMdzlVK2lDck53QlFYQk94eUZxcklkdDVCeApKSi9wOExROHZMakxGQ2FZQXlsaVlmeXkxMFZnRzBkLzJ6dTdMa3BpaWdKL3NWR0lSV3M0bWNZSk81SzlMVGdECm5ZS3RyRWRiVk5NYnpCWmVSTGlXbHZDOXBqM0NzRnM9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
token-kid: eFhxR2REUWhKV1BSbVd4UVAwVU9OSk1iWXQ4UTRmYUR6QkVOZzlxR1U1TQ==
|
|
|
|
---
|
|
# Source: qliksense/charts/precedents/templates/private-key-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-precedents-secret
|
|
type: Opaque
|
|
data:
|
|
privatekey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRBVmZLWkJNa3NLRW1sSDYzQkdqV0NGMktUOGM2c3ZqZWxPS0JLdGE4K2RIZlB5SEY4a1ZLbmIKWTdEeW9kdU5xYUtnQndZRks0RUVBQ0toWkFOaUFBUUpBVWVSVWdySFdtZExnR3dUa0NEQiszdFdKeGV0MFQwOQpKaDY4R2RHNjRYL2diZ0RYdERTVmx0VVo2Sjk4TDFqN1djNCtSQ3VObHkwOXNqcmNwN0wrcEZRNGxXRFdBNDloCmE5N0UwT01UOUxCYmRIdFlXVHhyN244NHpnNTd3T3M9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-data-connection/templates/keys-secret.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-qdc-keysconfig
|
|
type: Opaque
|
|
data:
|
|
jwtPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkREamFrU0o0Umh1dkpRYkFqRkRnTjhBVlhWamQxRWR3S2oxY3puekFzVEtNK1pJZzVhUFMyclYKZVdzRHJuaW44NWlnQndZRks0RUVBQ0toWkFOaUFBUjhJS2xQL0t0TmYrdXJYdmtrbTlHVi9FWjNGS0xPQ0QxUQpyc0paeVpFN21NR2U2MHM1OHhXYnJ6S050YWt5bm16VVVyaGdESldIbVk0V240V0Rld29LRzhDaURmY1UyMGpRCkJwVXR0YWhKa1pGMzcwU0xuVE1oTmFlZk5NNFMvNEE9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
jwksKeyID: SW1qdzY3a2RTY0xOZlBQcmFnR3dsVFNaZjRFX1h2b05DUjNJSzZCRVRHaw==
|
|
---
|
|
# Source: qliksense/charts/qix-datafiles/templates/token-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-qix-datafiles-tokenconfig
|
|
labels:
|
|
app: qliksense-qix-datafiles
|
|
chart: "qix-datafiles-1.10.42"
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
type: Opaque
|
|
data:
|
|
token-privateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRBeU5BZHVYbVFZK2hrcmFGTDl6M01ZcVI4WUdqQlJiYnRsZGpNWEp3SlhnWlFDOTBjOHFHV3AKODZrakdZODVtZXVnQndZRks0RUVBQ0toWkFOaUFBUmJYWk5QQmpzTHkyNW1YWDA3U2l1ZFNyckk4anp1OGtEaQpaSVhWZ3FaWUwxZThYZmI1bEdoNnV5MWJXUG9DS3pBQ21HaDdMZjNMYXo3ODBPU3UxNituNWlqTDQ0d0x3NzcxCnY2c1VRbHNGMFVwUC9ISng2bHlKTTlRSWJrZGNPbXM9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
token-kid: enBpWi1rbFM2NWxmY3ExSzAtbzI5U2EwQUFaWVlyNE9OXzFWQ3RBYk1FQQ==
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-sessions/templates/app-secrets.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
type: Opaque
|
|
metadata:
|
|
name: qliksense-qix-sessions-secrets
|
|
stringData:
|
|
service-key.yaml: |-
|
|
privateKey: "-----BEGIN EC PRIVATE KEY-----\nMIGkAgEBBDA5IU6dyQbCte4Y11PzgSlPecfOcfjmzJfd2AfqF+yCm2xaBH4xHWsj\n9ZXTNTSkLF2gBwYFK4EEACKhZANiAASgOvWydpxSdkIRnwwvhCFxOtr1g6P40uol\nMo4ehS5n2i8H+JKs0fJCPGx5O1oveU0HHaddG6XvneY9bLNBClcr6f8r10/uAzMt\nUxb25OawDx+0u1QUDa5unXfGSlvzxtQ=\n-----END EC PRIVATE KEY-----\n"
|
|
kid: "Wybd2-X3hcBpqDIjd3NwZahTsjpP1BqegTYVhx_KN1o"
|
|
authURL: "http://qliksense-edge-auth:8080/v1/internal-tokens"
|
|
algorithm: "ES384"
|
|
issuer: "qlik.api.internal/qix-sessions"
|
|
subject: "qix-sessions"
|
|
|
|
---
|
|
# Source: qliksense/charts/reload-tasks/templates/private-key-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-reload-tasks-privatekey
|
|
type: Opaque
|
|
data:
|
|
privatekey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRBbURpcjR6SzdpLzVEcWsrYUFJSEVZdStPRUI4dWRUSTJRR2VTd1VyNGZvSVk2dkVMT1JDZU8KNDN6TEd2ekxRZmFnQndZRks0RUVBQ0toWkFOaUFBUnA2R1l5ZWcramtvaGg0RkZURThNU2ZHRTB2MUVJd2FFQgp2SHlMTzFJMUlDbVBJOVJxbGNuQ1BWdDlDMXpUWkNUMDk5MVR0V0kva0I3UHF6Q1ZuS0E4Z2FHL1ZUUHdnTGJvCjhxRXMzUXZHbGk3SUhGM3J2azIxVmVtMkxCbFZtbjA9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
|
|
---
|
|
# Source: qliksense/charts/reloads/templates/private-key-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-reloads-privatekey
|
|
type: Opaque
|
|
data:
|
|
privatekey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRBY3VGcFRMRk82TWJ2aUdUSnVCam1GR1Vka3JOdkxTV3RTY3BvV1QwdnYvcG5tejUvQ2w3TGUKNEN3b3JDNWpTalNnQndZRks0RUVBQ0toWkFOaUFBUzF4NXdaaHVTMHJOalpRQUlVZkl6ZFh5SnEwK3pFeVR0TgpUNi9LK3lvRkNwYlhmSHhCZkV6bWhZZWhSUFo5OENlK3VzUnl3eHVHcFVhM01lQis3bFFBc3VTNnNtdUIyR2NSClVCdUozeWVLK0VMU1E0eU9Oc3djY0gwNnhxOUFtd0U9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
|
|
---
|
|
# Source: qliksense/charts/resource-library/templates/secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-resource-library-secret
|
|
type: Opaque
|
|
data:
|
|
jwtPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkREU09JT3VHNno1RFdUSytDUVc2K05JYlBGTU8wd0N3Nk94Zi91M1lIdkFSekp6djlPLzMyTUkKRVJjMzQvQVlNL2lnQndZRks0RUVBQ0toWkFOaUFBUkdOVm1DaEJwUjhCWEVTSWp4VWExdXpQcW1IcmovOWQxMApDU1B5bHJxTTJZM0RrNk9mSDlOVUx1MGNneFQxaGdsR3ZuSm9KSVBCQ2k0WGlhVUFMeUdxSTZLdUZoWTEyaThtClVYTTZmWDBEMnhUV3VkWk9WVTR5VUhOVTJzdWFOMFU9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
|
|
---
|
|
# Source: qliksense/charts/sharing/templates/token-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-sharing-tokenconfig
|
|
type: Opaque
|
|
data:
|
|
privateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRBQkpwLytpd0R1KzhlV3JTRlVHS0JBUDhlS1VSSEVVZVZ1OGhXTnhCRzNadDliWWRQVG1vT0EKN3JXMGdMQ3paa2VnQndZRks0RUVBQ0toWkFOaUFBUXpJVytmcWx5d25hdDB4KzQxWndyZUZ0d3UvZ0dEMnJUTwozdGR6SnFsL3ZOUGh2UWIyNmJwdFg2WkV5bGMycU92WXhlTFJGcU94Qk5qWlBWV1k0OFg2NW1wQ3pxOHdKU2NKCmxFalROZ3A3d1A0TjVVeDJyK1V4MVNXQW1RSkNjMms9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
kid: bnQ3dnJJenB6bkxtMXdHUlM3VTdURl80cDRHRW01T0VGbW11VkpLeTdMYw==
|
|
|
|
---
|
|
# Source: qliksense/charts/spaces/templates/token-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-spaces-tokenconfig
|
|
labels:
|
|
app: qliksense-spaces
|
|
chart: "spaces-2.8.32"
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
type: Opaque
|
|
data:
|
|
token-privateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRCQW1kUG90VlU0cUxXMUNPTTNSVFpjMFVnNzlDUFNZZjRRMjZvbGF6aHduYUVaL2xLcnJCRVoKbWY2QWdadFNnYW1nQndZRks0RUVBQ0toWkFOaUFBUjZudWwyNWg2WnhGVldwWXA3NzVYdWI2UnB6QWdvTFh3RApiSzRGVnNGQVl0UW9KTUVBN2JkOUhwQVovOVRuTDdDWDJmMUNVWGwrQ3JKK1R3OXlTazhxci9OZThaTXcyRCs2CmczV3dINHBpQStPdlNOQ3dkMUU3OG1ERnNZUWo5dW89Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
token-kid: ajNNYkJ0T2lFaWIzdExjVmJ2c2N3ZWhWM0swV0FaVkZCcDN5c2ZzZGtzZw==
|
|
|
|
---
|
|
# Source: qliksense/charts/subscriptions/templates/secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-subscriptions-secret
|
|
type: Opaque
|
|
data:
|
|
jwtPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRCcG9WblJieGNPSndWQWtSSzh5MDk5cFBFMHhpRzRjdXZ2d0svNDhIZWZSZXN0M05RUTg3SU8KTHFPTXhqS3JXTDZnQndZRks0RUVBQ0toWkFOaUFBVFcvSU9NUzRjY3o0RytqNmc3aGtwM3AxRkxrMXJNY3o2cAp5WC9aUFZRYTBDWHBzZ0ZRUDFyb3d3eDhqRWJYSTZIb3RNOFNXOGpjTWdYVWFhUHJHVmtRdDFwOXpPclo1bWdJCmJVMjYyV3c3RmZNYmlCRlZVMkhDaUVPdUVaczZQUUk9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
|
|
---
|
|
# Source: qliksense/charts/web-notifications/templates/secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-web-notifications-secret
|
|
type: Opaque
|
|
data:
|
|
jwtPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRBd1RRa1FOelVrWmNhTEY0SVpWZzlwUFdVYU1STnVpeWNsVHkzU2RNdTFXSHVibWVqajdyZ1IKVHczaFZYa1ZZVjZnQndZRks0RUVBQ0toWkFOaUFBUXB0U01LUmwycUVyUWdSWDk4alRnQjVVYXpVQnI4NTc5agpwK2luZ1llQlprSkFoalNYZjdTVkJOaHp2K2RSTElkK2R6UHVROHBZdDJGSHZxNnVNZ1dQWnlhV2IzVHUzZkxCCjhqeHJDc3hXa0pmeWhYa3RJTjh2cjM4bWpIdEE5YWc9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
|
|
---
|
|
# Source: qliksense/charts/web-security/templates/token-secret.yaml
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-web-security-tokenconfig
|
|
labels:
|
|
app: qliksense-web-security
|
|
chart: "web-security-1.4.18"
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
type: Opaque
|
|
data:
|
|
token-privateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRDOVE2akIyZ28vdlZUU05DMUZnbU5rMnVKUnNoQnpjQ2xFQVNOSHV2ajk0MXVRVEx0VFltV0cKdUt5aUZSZEVISzJnQndZRks0RUVBQ0toWkFOaUFBVHBTOHRBZDhaV0tqWmZrd1RBczA2M1VHZTJtK1BVQ1dNdQprdENmZkdsYWkwdEUrRDcwbEZJV2RyUThqbVN6YnQ3NXVBMVIvZmZuUmRoV1JXcTNzOUhNdzZZQ0krd3FlOTg4Ck10TUdKOHlEQlp3U1JMKzk3dGt3VmQ4QUVhNkMyalk9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
token-kid: eVNHLVZDNGhpWW05Sm0wMEpONFRFcm9xX0Nla2pyZXFab1JnU2lOalNxVQ==
|
|
|
|
---
|
|
# Source: qliksense/templates/mongo-secret.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-mongoconfig
|
|
type: Opaque
|
|
data:
|
|
mongodb-uri: bW9uZ29kYjovL3FzZWZlOnFzZWZlQG1vbmdvZGItaGVhZGxlc3MubW9uZ29kYi5zdmMuY2x1c3Rlci5sb2NhbC9xc2VmZT9yZXBsaWNhU2V0PXJzMCZzc2w9ZmFsc2U=
|
|
|
|
|
|
---
|
|
# Source: qliksense/templates/qliksense-secrets.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: qliksense-secrets
|
|
type: Opaque
|
|
data:
|
|
mongodbUri: bW9uZ29kYjovL3FzZWZlOnFzZWZlQG1vbmdvZGItaGVhZGxlc3MubW9uZ29kYi5zdmMuY2x1c3Rlci5sb2NhbC9xc2VmZT9yZXBsaWNhU2V0PXJzMCZzc2w9ZmFsc2U=
|
|
redisUri: cWxpa3NlbnNlLXJlZGlzLW1hc3Rlcjo2Mzc5
|
|
# usePassword=false
|
|
redisPassword: ""
|
|
|
|
---
|
|
# Source: qliksense/templates/redis-secret.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Secret
|
|
type: Opaque
|
|
metadata:
|
|
name: qliksense-redis-secret
|
|
data:
|
|
redis-addr: cWxpa3NlbnNlLXJlZGlzLW1hc3Rlcjo2Mzc5
|
|
# usePassword=false
|
|
redis-password: ""
|
|
|
|
---
|
|
# Source: qliksense/charts/api-keys/templates/manifest.yaml
|
|
apiVersion: v1
|
|
data:
|
|
ingressAuthUrl: http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth
|
|
jwksEndpoint: http://qliksense-keys:8080/v1/keys/qlik.api.internal
|
|
keysUri: http://qliksense-keys:8080/v1
|
|
logLevel: verbose
|
|
natsStreamingClusterId: qliksense-nats-streaming-cluster
|
|
natsUri: nats://qliksense-nats-client:4222
|
|
redisUri: qliksense-redis-master:6379
|
|
tokenAuthUri: http://qliksense-edge-auth:8080/v1
|
|
usersUri: http://qliksense-users:8080/v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
labels:
|
|
app: api-keys
|
|
chart: api-keys-3.0.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-api-keys-configs
|
|
namespace: qliksense
|
|
|
|
---
|
|
apiVersion: v1
|
|
data:
|
|
mongodbUri: bW9uZ29kYjovL3FsaWtzZW5zZS1tb25nb2RiOjI3MDE3L3FsaWtzZW5zZT9zc2w9ZmFsc2U=
|
|
tokenAuthPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRCQWdNNjN2dVMxVE1CZW00QUZuN3NDaTgreVJGVDFvZ3ZOWjloMjIrTVI2Nld0ZmJsWjFMZ24KV0dKWVp5djI0cGVnQndZRks0RUVBQ0toWkFOaUFBUWpxU1dZL2ZRZVhoQXNRbDBPOTdsNU9JNi9JZ1FKZEw1WgpCOFdWd3lyNllXb2p6WkxxazQ3bnZyamVUblNYbG90eXl5R2NxcmRHa29ZeG9PNEUwc21PSWJkYXBmSUFxRmcvCmcvZ2w4UWxIeklPb3E2NDBicjNGcURhZVhNcDByZ1k9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
tokenAuthPrivateKeyId: R1I0Qk95VWlXa0RwUjFTR3JxdU95bWl1S1NNZHJZRTR1dURCSWtZbmp5bw==
|
|
kind: Secret
|
|
metadata:
|
|
labels:
|
|
app: api-keys
|
|
chart: api-keys-3.0.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-api-keys-secrets
|
|
namespace: qliksense
|
|
type: Opaque
|
|
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/auth-url: http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
more_clear_input_headers "X-Forwarded-Host" "X-Forwarded-For" "X-Forwarded-Proto" "X-Original-URI" "X-Original-URL";
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
labels:
|
|
app: api-keys
|
|
chart: api-keys-3.0.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-api-keys
|
|
namespace: qliksense
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- backend:
|
|
serviceName: qliksense-api-keys
|
|
servicePort: 8080
|
|
path: /api/v1/api-keys
|
|
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
annotations:
|
|
prometheus.io/port: "8080"
|
|
prometheus.io/scrape: "true"
|
|
labels:
|
|
app: api-keys
|
|
chart: api-keys-3.0.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-api-keys
|
|
namespace: qliksense
|
|
spec:
|
|
ports:
|
|
- name: api-keys
|
|
port: 8080
|
|
protocol: TCP
|
|
targetPort: 8080
|
|
selector:
|
|
app: api-keys
|
|
release: qliksense
|
|
type: ClusterIP
|
|
|
|
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app: api-keys
|
|
chart: api-keys-3.0.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-api-keys
|
|
namespace: qliksense
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: api-keys
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
checksum/configs: 4b5ef44035878dd79308542db32a9315d284bc839699970c1c160b7068cc5427
|
|
checksum/secrets: a64ccf52d679f092ee5f89cd317cb5b73180ea586956a2ec66c28963e96ebae5
|
|
labels:
|
|
app: api-keys
|
|
qliksense-nats-client: "true"
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- env:
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: MONGODB_URI_FILE
|
|
value: /run/secrets/qlik.com/qliksense/mongodbUri
|
|
- name: TOKEN_AUTH_PRIVATE_KEY_FILE
|
|
value: /run/secrets/qlik.com/qliksense-api-keys/tokenAuthPrivateKey
|
|
- name: TOKEN_AUTH_PRIVATE_KEY_ID_FILE
|
|
value: /run/secrets/qlik.com/qliksense-api-keys/tokenAuthPrivateKeyId
|
|
- name: INGRESS_AUTH_URL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: ingressAuthUrl
|
|
name: qliksense-api-keys-configs
|
|
- name: JWKS_ENDPOINT
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: jwksEndpoint
|
|
name: qliksense-api-keys-configs
|
|
- name: KEYS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: keysUri
|
|
name: qliksense-api-keys-configs
|
|
- name: LOG_LEVEL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: logLevel
|
|
name: qliksense-api-keys-configs
|
|
- name: NATS_STREAMING_CLUSTER_ID
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: natsStreamingClusterId
|
|
name: qliksense-api-keys-configs
|
|
- name: NATS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: natsUri
|
|
name: qliksense-api-keys-configs
|
|
- name: REDIS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: redisUri
|
|
name: qliksense-api-keys-configs
|
|
- name: TOKEN_AUTH_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: tokenAuthUri
|
|
name: qliksense-api-keys-configs
|
|
- name: USERS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: usersUri
|
|
name: qliksense-api-keys-configs
|
|
- name: ENVIRONMENT
|
|
value: qliksense
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: REGION
|
|
value: example
|
|
image: ghcr.io/qlik-download/api-keys:2.1.1
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /live
|
|
port: http
|
|
name: api-keys
|
|
ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: http
|
|
resources:
|
|
volumeMounts:
|
|
- mountPath: /run/secrets/qlik.com/qliksense-api-keys
|
|
name: qliksense-api-keys-secrets
|
|
readOnly: true
|
|
- mountPath: /run/secrets/qlik.com/qliksense
|
|
name: qliksense-secrets
|
|
readOnly: true
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
volumes:
|
|
- name: qliksense-api-keys-secrets
|
|
secret:
|
|
secretName: qliksense-api-keys-secrets
|
|
- name: qliksense-secrets
|
|
secret:
|
|
secretName: qliksense-secrets
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/audit/templates/manifest.yaml
|
|
apiVersion: v1
|
|
data:
|
|
featureFlagsUri: http://qliksense-feature-flags:8080
|
|
ingressAuthUrl: http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth
|
|
keysUri: http://qliksense-keys:8080/v1/keys/qlik.api.internal
|
|
logLevel: info
|
|
natsStreamingClusterId: qliksense-nats-streaming-cluster
|
|
natsUri: nats://qliksense-nats-client:4222
|
|
pdsUri: http://qliksense-policy-decisions:5080
|
|
storageBucket: audit
|
|
storageEndpoint: qliksense-minio:9000
|
|
storageRegion: us-east-1
|
|
tokenAuthUri: http://qliksense-edge-auth:8080/v1/internal-tokens
|
|
kind: ConfigMap
|
|
metadata:
|
|
labels:
|
|
app: audit
|
|
chart: audit-3.3.5
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-audit-configs
|
|
namespace: qliksense
|
|
|
|
|
|
|
|
---
|
|
apiVersion: v1
|
|
data:
|
|
mongodbUri: bW9uZ29kYjovL3FsaWtzZW5zZS1tb25nb2RiOjI3MDE3L3FsaWtzZW5zZT9zc2w9ZmFsc2U=
|
|
tokenAuthPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRBSWpUZm5mRG9hOUNlRUlybFhKcFp3YytMZTFIYmg3THdvb1FoOVlicGRCdzVuSVFPUkdBSTAKRXNHRWlVUERpTXFnQndZRks0RUVBQ0toWkFOaUFBVHMzSkxKRUwxeTdwVVE2dTFlT2hKM001QlZSUFpSUTRkdQpvdVJzUk0vd2tBYitPbE1Bc3lGWkN1RWd0REYxNEcvMlJZNGdlcFVrQVJCRkNnRU8wRTNXYXJTRUhRTVMyNnBOCmZrUkhIRVVBYU92VDZ2UDQrQnFnUW1oKzBNYlN0S0k9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
tokenAuthPrivateKeyId: VjV1RUkyeDJzWWpJcTBFeno3Tmxxb0V4UzFZNGR2d2hkdDNpYWtmbHhHWQ==
|
|
kind: Secret
|
|
metadata:
|
|
labels:
|
|
app: audit
|
|
chart: audit-3.3.5
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-audit-secrets
|
|
namespace: qliksense
|
|
type: Opaque
|
|
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/auth-url: http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/v1/(.*) /v1/$1 break;
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
labels:
|
|
app: audit
|
|
chart: audit-3.3.5
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-audit
|
|
namespace: qliksense
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- backend:
|
|
serviceName: qliksense-audit
|
|
servicePort: 6080
|
|
path: /api/v1/audits
|
|
|
|
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
annotations:
|
|
prometheus.io/port: "6080"
|
|
prometheus.io/scrape: "true"
|
|
labels:
|
|
app: audit
|
|
chart: audit-3.3.5
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-audit
|
|
namespace: qliksense
|
|
spec:
|
|
ports:
|
|
- name: audit
|
|
port: 6080
|
|
protocol: TCP
|
|
targetPort: 6080
|
|
selector:
|
|
app: audit
|
|
release: qliksense
|
|
type: ClusterIP
|
|
|
|
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app: audit
|
|
chart: audit-3.3.5
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-audit
|
|
namespace: qliksense
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: audit
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
checksum/configs: c40215166911475c6cd4e318a508b9fd656733d225217362f91d6175a549e9d3
|
|
checksum/secrets: ee942b126f6a0dc65be985b91c8ef18501f3955576d78181e2d6b616d5779919
|
|
labels:
|
|
app: audit
|
|
qliksense-nats-client: "true"
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- env:
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: MONGODB_URI_FILE
|
|
value: /run/secrets/qlik.com/qliksense/mongodbUri
|
|
- name: TOKEN_AUTH_PRIVATE_KEY_FILE
|
|
value: /run/secrets/qlik.com/qliksense-audit/tokenAuthPrivateKey
|
|
- name: TOKEN_AUTH_PRIVATE_KEY_ID_FILE
|
|
value: /run/secrets/qlik.com/qliksense-audit/tokenAuthPrivateKeyId
|
|
- name: FEATURE_FLAGS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: featureFlagsUri
|
|
name: qliksense-audit-configs
|
|
- name: INGRESS_AUTH_URL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: ingressAuthUrl
|
|
name: qliksense-audit-configs
|
|
- name: KEYS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: keysUri
|
|
name: qliksense-audit-configs
|
|
- name: LOG_LEVEL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: logLevel
|
|
name: qliksense-audit-configs
|
|
- name: NATS_STREAMING_CLUSTER_ID
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: natsStreamingClusterId
|
|
name: qliksense-audit-configs
|
|
- name: NATS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: natsUri
|
|
name: qliksense-audit-configs
|
|
- name: PDS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: pdsUri
|
|
name: qliksense-audit-configs
|
|
- name: STORAGE_BUCKET
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: storageBucket
|
|
name: qliksense-audit-configs
|
|
- name: STORAGE_ENDPOINT
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: storageEndpoint
|
|
name: qliksense-audit-configs
|
|
- name: STORAGE_REGION
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: storageRegion
|
|
name: qliksense-audit-configs
|
|
- name: TOKEN_AUTH_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: tokenAuthUri
|
|
name: qliksense-audit-configs
|
|
- name: NATS_CHANNELS
|
|
value: system-events.engine.app,system-events.user-session,system-events.spaces,system-events.licenses,system-events.generic-links,system-events.api-keys,system-events.web-security,system-events.user-identity,system-events.tenants
|
|
image: ghcr.io/qlik-download/audit:1.16.2
|
|
imagePullPolicy: Always
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 6080
|
|
name: audit
|
|
ports:
|
|
- containerPort: 6080
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 6080
|
|
resources:
|
|
limits:
|
|
requests:
|
|
volumeMounts:
|
|
- mountPath: /run/secrets/qlik.com/qliksense-audit
|
|
name: qliksense-audit-secrets
|
|
readOnly: true
|
|
- mountPath: /run/secrets/qlik.com/qliksense
|
|
name: qliksense-secrets
|
|
readOnly: true
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
volumes:
|
|
- name: qliksense-audit-secrets
|
|
secret:
|
|
secretName: qliksense-audit-secrets
|
|
- name: qliksense-secrets
|
|
secret:
|
|
secretName: qliksense-secrets
|
|
|
|
|
|
---
|
|
|
|
|
|
---
|
|
|
|
|
|
---
|
|
|
|
|
|
---
|
|
|
|
|
|
---
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/configmap.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: qliksense-dcaas-redis
|
|
labels:
|
|
app: dcaas-redis
|
|
chart: dcaas-redis-10.5.6
|
|
heritage: Tiller
|
|
release: qliksense
|
|
data:
|
|
redis.conf: |-
|
|
# User-supplied configuration:
|
|
# Enable AOF https://redis.io/topics/persistence#append-only-file
|
|
appendonly yes
|
|
# Disable RDB persistence, AOF persistence already enabled.
|
|
save ""
|
|
master.conf: |-
|
|
dir /data
|
|
rename-command FLUSHDB ""
|
|
rename-command FLUSHALL ""
|
|
replica.conf: |-
|
|
dir /data
|
|
slave-read-only yes
|
|
rename-command FLUSHDB ""
|
|
rename-command FLUSHALL ""
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/health-configmap.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: qliksense-dcaas-redis-health
|
|
labels:
|
|
app: dcaas-redis
|
|
chart: dcaas-redis-10.5.6
|
|
heritage: Tiller
|
|
release: qliksense
|
|
data:
|
|
ping_readiness_local.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h localhost \
|
|
-p $REDIS_PORT \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
ping_liveness_local.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h localhost \
|
|
-p $REDIS_PORT \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ] && [ "$response" != "LOADING Redis is loading the dataset in memory" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
ping_readiness_master.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h $REDIS_MASTER_HOST \
|
|
-p $REDIS_MASTER_PORT_NUMBER \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
ping_liveness_master.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h $REDIS_MASTER_HOST \
|
|
-p $REDIS_MASTER_PORT_NUMBER \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ] && [ "$response" != "LOADING Redis is loading the dataset in memory" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
ping_readiness_local_and_master.sh: |-
|
|
script_dir="$(dirname "$0")"
|
|
exit_status=0
|
|
"$script_dir/ping_readiness_local.sh" $1 || exit_status=$?
|
|
"$script_dir/ping_readiness_master.sh" $1 || exit_status=$?
|
|
exit $exit_status
|
|
ping_liveness_local_and_master.sh: |-
|
|
script_dir="$(dirname "$0")"
|
|
exit_status=0
|
|
"$script_dir/ping_liveness_local.sh" $1 || exit_status=$?
|
|
"$script_dir/ping_liveness_master.sh" $1 || exit_status=$?
|
|
exit $exit_status
|
|
---
|
|
# Source: qliksense/charts/edge-auth/templates/manifest.yaml
|
|
apiVersion: v1
|
|
data:
|
|
apiKeysUri: http://qliksense-api-keys.qlik.svc.cluster.local:8080
|
|
featureFlagsUri: http://qliksense-feature-flags.qlik.svc.cluster.local:8080
|
|
groupsUri: http://qliksense-groups.qlik.svc.cluster.local:8080
|
|
identityProvidersExtUri: http://qliksense-identity-providers-ext.qlik.svc.cluster.local:8080
|
|
identityProvidersUri: http://qliksense-identity-providers.qlik.svc.cluster.local:8080
|
|
ingressAuthUrl: http://qliksense-edge-auth.qlik.svc.cluster.local:8080/v1/auth
|
|
keysUri: http://qliksense-keys.qlik.svc.cluster.local:8080
|
|
logLevel: verbose
|
|
natsStreamingClusterId: qliksense-nats-streaming-cluster
|
|
natsUri: nats://qliksense-nats-client:4222
|
|
redirects: https://elastic.example/login/callback
|
|
redisUri: redis://qliksense-redis-master:6379
|
|
tenantsUri: http://qliksense-tenants.qlik.svc.cluster.local:8080
|
|
usersUri: http://qliksense-users.qlik.svc.cluster.local:8080
|
|
kind: ConfigMap
|
|
metadata:
|
|
labels:
|
|
app: edge-auth
|
|
chart: edge-auth-6.2.3
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-edge-auth-configs
|
|
namespace: qliksense
|
|
|
|
---
|
|
apiVersion: v1
|
|
data:
|
|
cookiesKeys: WyJVaUw2WWVQRWNVTWsyTXFpR2sxQnVHc3FNV2ZvSHorYjFTdVgxM2xLdXZVPSJd
|
|
loginStateKey: ckxrOWRNa3cxbm1jblJQbWErMENROHY2UEJaQVB4UWFlZW5vUVBKYzRQST0=
|
|
mongodbUri: bW9uZ29kYjovL3FsaWtzZW5zZS1tb25nb2RiOjI3MDE3L3FsaWtzZW5zZT9zc2w9ZmFsc2U=
|
|
tokenAuthPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkREYVNlSzNXTE9wT0c5Tnh2b2NaNUVvdC9WbzduNlE1amtrZXNzdzNXd3h3M2I3eFNDNWRXTVYKWHV0YkVXQmhaOHlnQndZRks0RUVBQ0toWkFOaUFBUnFCL25nRVpYTkRYS2lncndtOWhWNEpjSFU2RnFicmhDOQpWN2ZlaXVxUHd1dkdVUzZ0bWZKOFYxUW9yVkQ3U0ZmK3hOV0NTR2w0Q0p6aHFjN2FsOTJnRk9DZDFFbUNiY1piCjluejBWU05LRWpubDl5Q2NUM1RoZHI3NXdSUFo2em89Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
kind: Secret
|
|
metadata:
|
|
labels:
|
|
app: edge-auth
|
|
chart: edge-auth-6.2.3
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-edge-auth-secrets
|
|
namespace: qliksense
|
|
type: Opaque
|
|
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
set $host_and_uri $http_host$request_uri;
|
|
if ( $host_and_uri ~* "^.{2049,}$" ) { return 414; }
|
|
more_clear_input_headers "X-Forwarded-Host" "X-Forwarded-For" "X-Forwarded-Proto" "X-Original-URI" "X-Original-URL";
|
|
more_set_headers 'Access-Control-Allow-Origin: $http_origin';
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
labels:
|
|
app: edge-auth
|
|
chart: edge-auth-6.2.3
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-edge-auth
|
|
namespace: qliksense
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- backend:
|
|
serviceName: qliksense-edge-auth
|
|
servicePort: 8080
|
|
path: /login
|
|
|
|
- backend:
|
|
serviceName: qliksense-edge-auth
|
|
servicePort: 8080
|
|
path: /logout
|
|
|
|
---
|
|
|
|
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/auth-url: http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
set $host_and_uri $http_host$request_uri;
|
|
if ( $host_and_uri ~* "^.{2049,}$" ) { return 414; }
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
more_clear_input_headers "X-Forwarded-Host" "X-Forwarded-For" "X-Forwarded-Proto" "X-Original-URI" "X-Original-URL";
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
labels:
|
|
app: edge-auth
|
|
chart: edge-auth-6.2.3
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-edge-auth-api
|
|
namespace: qliksense
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- backend:
|
|
serviceName: qliksense-edge-auth
|
|
servicePort: 8080
|
|
path: /api/v1/diagnose-claims
|
|
|
|
- backend:
|
|
serviceName: qliksense-edge-auth
|
|
servicePort: 8080
|
|
path: /api/v1/csrf-token
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
annotations:
|
|
prometheus.io/port: "8080"
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/scrape_high_cardinality: "true"
|
|
labels:
|
|
app: edge-auth
|
|
chart: edge-auth-6.2.3
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-edge-auth
|
|
namespace: qliksense
|
|
spec:
|
|
ports:
|
|
- name: qliksense-edge-auth
|
|
port: 8080
|
|
protocol: TCP
|
|
targetPort: 8080
|
|
selector:
|
|
app: edge-auth
|
|
release: qliksense
|
|
type: ClusterIP
|
|
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app: edge-auth
|
|
chart: edge-auth-6.2.3
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-edge-auth
|
|
namespace: qliksense
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: edge-auth
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
checksum/configs: d3b38f549193b011377d7495d26ddac8fd240210c08f879b92fa0860b9d80534
|
|
checksum/secrets: 97a42ed5c0cb8da417e0ef194ab061e40e66f69a2f95be52b72987e541f2805c
|
|
labels:
|
|
app: edge-auth
|
|
qliksense-nats-client: "true"
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- env:
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: COOKIES_KEYS_FILE
|
|
value: /run/secrets/qlik.com/qliksense-edge-auth/cookiesKeys
|
|
- name: LOGIN_STATE_KEY_FILE
|
|
value: /run/secrets/qlik.com/qliksense-edge-auth/loginStateKey
|
|
- name: MONGODB_URI_FILE
|
|
value: /run/secrets/qlik.com/qliksense/mongodbUri
|
|
- name: TOKEN_AUTH_PRIVATE_KEY_FILE
|
|
value: /run/secrets/qlik.com/qliksense-edge-auth/tokenAuthPrivateKey
|
|
- name: API_KEYS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: apiKeysUri
|
|
name: qliksense-edge-auth-configs
|
|
- name: FEATURE_FLAGS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: featureFlagsUri
|
|
name: qliksense-edge-auth-configs
|
|
- name: GROUPS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: groupsUri
|
|
name: qliksense-edge-auth-configs
|
|
- name: IDENTITY_PROVIDERS_EXT_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: identityProvidersExtUri
|
|
name: qliksense-edge-auth-configs
|
|
- name: IDENTITY_PROVIDERS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: identityProvidersUri
|
|
name: qliksense-edge-auth-configs
|
|
- name: INGRESS_AUTH_URL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: ingressAuthUrl
|
|
name: qliksense-edge-auth-configs
|
|
- name: KEYS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: keysUri
|
|
name: qliksense-edge-auth-configs
|
|
- name: LOG_LEVEL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: logLevel
|
|
name: qliksense-edge-auth-configs
|
|
- name: NATS_STREAMING_CLUSTER_ID
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: natsStreamingClusterId
|
|
name: qliksense-edge-auth-configs
|
|
- name: NATS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: natsUri
|
|
name: qliksense-edge-auth-configs
|
|
- name: REDIS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: redisUri
|
|
name: qliksense-edge-auth-configs
|
|
- name: TENANTS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: tenantsUri
|
|
name: qliksense-edge-auth-configs
|
|
- name: USERS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: usersUri
|
|
name: qliksense-edge-auth-configs
|
|
- name: CACHE_MAX_AGE
|
|
value: "7.2e+06"
|
|
- name: CACHE_MAX_SIZE
|
|
value: "250"
|
|
- name: CACHE_REDIS_ENABLED
|
|
value: "false"
|
|
- name: ENFORCE_TLS
|
|
value: "true"
|
|
- name: ENVIRONMENT
|
|
value: qliksense
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: REGION
|
|
value: example
|
|
- name: SECURE_COOKIES
|
|
value: "true"
|
|
- name: SESSION_MAX_LIFETIME
|
|
value: "86400"
|
|
- name: SESSION_TTL
|
|
value: "1800"
|
|
- name: STATE_LIFETIME
|
|
value: 7d
|
|
image: ghcr.io/qlik-download/edge-auth:4.0.8
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /live
|
|
port: http
|
|
name: edge-auth
|
|
ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: http
|
|
resources: {}
|
|
volumeMounts:
|
|
- mountPath: /run/secrets/qlik.com/qliksense-edge-auth
|
|
name: qliksense-edge-auth-secrets
|
|
readOnly: true
|
|
- mountPath: /run/secrets/qlik.com/qliksense
|
|
name: qliksense-secrets
|
|
readOnly: true
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
hostAliases:
|
|
- hostnames:
|
|
- elastic.example
|
|
ip: 127.0.0.1
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
volumes:
|
|
- name: qliksense-edge-auth-secrets
|
|
secret:
|
|
secretName: qliksense-edge-auth-secrets
|
|
- name: qliksense-secrets
|
|
secret:
|
|
secretName: qliksense-secrets
|
|
|
|
|
|
---
|
|
apiVersion: autoscaling/v2beta1
|
|
kind: HorizontalPodAutoscaler
|
|
metadata:
|
|
labels:
|
|
app: edge-auth
|
|
chart: edge-auth-6.2.3
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-edge-auth
|
|
namespace: qliksense
|
|
spec:
|
|
maxReplicas: 1
|
|
|
|
minReplicas: 1
|
|
scaleTargetRef:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
name: qliksense-edge-auth
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|
|
---
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-configmap.yaml
|
|
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
labels:
|
|
app: nginx-ingress
|
|
chart: nginx-ingress-1.36.2
|
|
component: "controller"
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-nginx-ingress-controller
|
|
data:
|
|
enable-opentracing: "true"
|
|
http-snippet: |
|
|
# set some custom opentracing tags
|
|
opentracing_tag http.user_agent $http_user_agent;
|
|
opentracing_tag http.proto $server_protocol;
|
|
opentracing_tag nginx.request_id $request_id;
|
|
jaeger-collector-host: $JAEGER_AGENT_HOST
|
|
jaeger-service-name: elastic-infra-nginx-ingress
|
|
proxy-add-original-uri-header: "true"
|
|
ssl-redirect: "true"
|
|
#proxy-real-ip-cidr: "172.22.0.0/16"
|
|
#use-proxy-protocol: "false"
|
|
#use-forwarded-headers: "true"
|
|
worker-shutdown-timeout: 300s
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/configmap.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: qliksense-redis-user-state
|
|
labels:
|
|
app: redis-user-state
|
|
chart: redis-user-state-10.5.6
|
|
heritage: Tiller
|
|
release: qliksense
|
|
data:
|
|
redis.conf: |-
|
|
# User-supplied configuration:
|
|
appendonly no
|
|
save ""
|
|
master.conf: |-
|
|
dir /data
|
|
rename-command FLUSHDB ""
|
|
rename-command FLUSHALL ""
|
|
replica.conf: |-
|
|
dir /data
|
|
slave-read-only yes
|
|
rename-command FLUSHDB ""
|
|
rename-command FLUSHALL ""
|
|
sentinel.conf: |-
|
|
dir "/tmp"
|
|
bind 0.0.0.0
|
|
port 26379
|
|
sentinel monitor engine-redis-user-state qliksense-redis-user-state-master-0.qliksense-redis-user-state-headless.qliksense.svc.cluster.local 6379 2
|
|
sentinel down-after-milliseconds engine-redis-user-state 5000
|
|
sentinel failover-timeout engine-redis-user-state 10000
|
|
sentinel parallel-syncs engine-redis-user-state 1
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/health-configmap.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: qliksense-redis-user-state-health
|
|
labels:
|
|
app: redis-user-state
|
|
chart: redis-user-state-10.5.6
|
|
heritage: Tiller
|
|
release: qliksense
|
|
data:
|
|
ping_readiness_local.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h localhost \
|
|
-p $REDIS_PORT \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
ping_liveness_local.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h localhost \
|
|
-p $REDIS_PORT \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ] && [ "$response" != "LOADING Redis is loading the dataset in memory" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
ping_sentinel.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h localhost \
|
|
-p $REDIS_SENTINEL_PORT \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
parse_sentinels.awk: |-
|
|
/ip/ {FOUND_IP=1}
|
|
/port/ {FOUND_PORT=1}
|
|
/runid/ {FOUND_RUNID=1}
|
|
!/ip|port|runid/ {
|
|
if (FOUND_IP==1) {
|
|
IP=$1; FOUND_IP=0;
|
|
}
|
|
else if (FOUND_PORT==1) {
|
|
PORT=$1;
|
|
FOUND_PORT=0;
|
|
} else if (FOUND_RUNID==1) {
|
|
printf "\nsentinel known-sentinel engine-redis-user-state %s %s %s", IP, PORT, $0; FOUND_RUNID=0;
|
|
}
|
|
}
|
|
ping_readiness_master.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h $REDIS_MASTER_HOST \
|
|
-p $REDIS_MASTER_PORT_NUMBER \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
ping_liveness_master.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h $REDIS_MASTER_HOST \
|
|
-p $REDIS_MASTER_PORT_NUMBER \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ] && [ "$response" != "LOADING Redis is loading the dataset in memory" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
ping_readiness_local_and_master.sh: |-
|
|
script_dir="$(dirname "$0")"
|
|
exit_status=0
|
|
"$script_dir/ping_readiness_local.sh" $1 || exit_status=$?
|
|
"$script_dir/ping_readiness_master.sh" $1 || exit_status=$?
|
|
exit $exit_status
|
|
ping_liveness_local_and_master.sh: |-
|
|
script_dir="$(dirname "$0")"
|
|
exit_status=0
|
|
"$script_dir/ping_liveness_local.sh" $1 || exit_status=$?
|
|
"$script_dir/ping_liveness_master.sh" $1 || exit_status=$?
|
|
exit $exit_status
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/rules-cm.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: qliksense-engine-rules-cm
|
|
data:
|
|
rules.yaml: |
|
|
- allow: |
|
|
# If app or QV app has originAppId and user is publisher in a managed space user can republish
|
|
resource.IsAppOrQvApp() and resource.UserIsPublisherInManagedSpace() and resource.originAppId == app.id and resource._actions={"republish"}
|
|
# Professional user can create an app in a personal space or in a shared space where the user is an editor.
|
|
resource.IsApp() and user.IsProfessional() and resource.IsOwnedInPersonalOrSharedSpace() and resource._actions={"create"}
|
|
# A user can delete app or QlikView app if the user is the owner in a personal space or in a shared space where the user is producer. A tenant admin can always delete an app
|
|
resource.IsAppOrQvApp() and (resource.IsOwnedInPersonalSpace() or resource.UserIsEditorInSharedSpace() or resource.UserIsFacilitatorInManagedSpace()) and !resource.IsPublished() and resource._actions={"delete"}
|
|
# A professional user can copy an app or QV app if he is copying it to a personal space or a shared space where the user is producer. Read access on the src file is implicit
|
|
resource.IsAppOrQvApp() and user.IsProfessional() and resource.IsOwnedInPersonalOrSharedSpace() and !resource.IsPublished() and resource._actions={"duplicate"}
|
|
# A professional user can import an app if the user is importing to a personal space or to a shared space where the user is producer.
|
|
resource.IsApp() and user.IsProfessional() and resource.IsOwnedInPersonalOrSharedSpace() and resource._actions={"import"}
|
|
# The app can be opened in a personal space by the owner.
|
|
resource.IsApp() and resource.IsOwnedInPersonalSpace() and resource._actions={"read"}
|
|
# A tenant admin can open all apps.
|
|
resource.IsApp() and user.IsTenantAdmin() and resource._actions={"read"}
|
|
# A tenant admin can delete all apps and QlikView apps.
|
|
resource.IsAppOrQvApp() and user.IsTenantAdmin() and resource._actions={"delete"}
|
|
# A tenant admin can change the owner and export personal apps or QlikView apps.
|
|
resource.IsAppOrQvApp() and user.IsTenantAdmin() and resource.MissingOrEmptyProp(spaceId) and !resource.IsPublished() and resource._actions={"change_owner","export"}
|
|
# A tenant admin can change the owner on apps and QlikView apps in a shared space
|
|
resource.IsAppOrQvApp() and user.IsTenantAdmin() and resource.IsShared() and resource._actions={"change_owner"}
|
|
# A tenant admin can change space on a published app or QlikView app in a managed space
|
|
resource.IsAppOrQvApp() and user.IsTenantAdmin() and resource.IsPublished() and resource.IsManaged() and resource._actions={"change_space"}
|
|
# A tenant admin can change space on distributed and private apps and QlikView apps.
|
|
resource.IsAppOrQvApp() and user.IsTenantAdmin() and resource.MissingOrEmptyProp(spaceId) and resource._actions={"change_space"}
|
|
# A tenant admin can change space on apps and QlikView apps in non existing space.
|
|
resource.IsAppOrQvApp() and user.IsTenantAdmin() and resource.IsInNonExistingSpace() and resource._actions={"change_space"}
|
|
# A user can open apps that the user has access to in a shared space
|
|
resource.IsApp() and resource.UserIsSharedSpaceMember() and resource._actions={"read"}
|
|
# A user can open apps that the user has access to in a managed space
|
|
resource.IsApp() and (resource.UserIsViewerInManagedSpace() or resource.UserIsFacilitatorInManagedSpace()) and resource._actions={"read"}
|
|
# Professional user that owns the app can edit scripts and reload the app if it's a personal space.
|
|
resource.IsApp() and user.IsProfessional() and resource.IsOwnedInPersonalSpace() and !resource.IsPublished() and resource._actions={"reload"}
|
|
# Professional user can edit scripts and reload the app if the user is an editor in the shared space
|
|
resource.IsApp() and user.IsProfessional() and resource.UserIsEditorInSharedSpace() and !resource.IsPublished() and resource._actions={"reload"}
|
|
# Professional user can reload the app if the user is facilitator in a managed space
|
|
resource.IsApp() and user.IsProfessional() and resource.UserIsFacilitatorInManagedSpace() and !resource.IsPublished() and resource._actions={"reload"}
|
|
# Professional user can update app attributes on app or QV app if the user is facilitator in a managed space
|
|
resource.IsAppOrQvApp() and user.IsProfessional() and resource.UserIsFacilitatorInManagedSpace() and !resource.IsPublished() and resource._actions={"update"}
|
|
# A user can update app attributes on apps and QV apps in a shared space as producer.
|
|
resource.IsAppOrQvApp() and resource.UserIsEditorInSharedSpace() and !resource.IsPublished() and resource._actions={"update"}
|
|
# A user can update app attributes on personal apps and QV apps.
|
|
resource.IsAppOrQvApp() and resource.IsOwnedInPersonalSpace() and !resource.IsPublished() and resource._actions={"update"}
|
|
# A facilitator can change the owner of an app and a QlikView app in a shared space.
|
|
resource.IsAppOrQvApp() and resource.UserIsFacilitator() and resource._actions={"change_owner"}
|
|
# A user can change the space on personal apps and QlikView apps or as editor of shared apps.
|
|
resource.IsAppOrQvApp() and resource.IsOwnedInPersonalOrSharedSpace() and resource.MissingOrEmptyProp(originAppId) and !resource.IsPublished() and resource._actions={"change_space"}
|
|
# A user can change the space as facilitator in managed apps and QlikView apps.
|
|
resource.IsAppOrQvApp() and resource.UserIsFacilitatorInManagedSpace() and !resource.MissingOrEmptyProp(originAppId) and !resource.IsPublished() and resource._actions={"change_space"}
|
|
# A publisher can publish an app or a QlikView app to a managed space.
|
|
resource.IsAppOrQvApp() and resource.UserIsPublisherInManagedSpace() and resource._actions={"publish"}
|
|
# Impersonator from the ODAG service can change owner. This rule will be removed when odag does not need to impersonate
|
|
resource.IsApp() and user.act.sub == "odag" and resource._actions={"read","change_owner"}
|
|
# A user can export apps that the user owns or in a shared space as producer. Only user visable (objects and data) will be exported
|
|
resource.IsApp() and !resource.HasSectionAccess() and resource.HasPrivilege("read") and resource.IsOwnedInPersonalOrSharedSpace() and !resource.IsPublished() and resource._actions={"export"}
|
|
# Professional user can import an appobject if the user is importing to a personal space or to a shared space where the user is a producer.
|
|
resource.IsAppObject() and user.IsProfessional() and resource.app.IsOwnedInPersonalOrSharedSpace() and resource._actions={"import"}
|
|
# In apps that the user has read access to, the user can read all published objects and his personal objects and all master items.
|
|
resource.IsAppObject() and resource.app.HasPrivilege("read") and ((resource.IsOwnedByMe() or resource.IsPublished() or resource.IsMasterObject() or resource.IsPublicObject()) and !resource.IsScriptObject()) and resource._actions={"read"}
|
|
# A professional user can read the script in owned personal apps or as editor in a shared space, or as facilitator in managed space.
|
|
resource.IsAppObject() and user.IsProfessional() and (resource.app.IsOwnedInPersonalOrSharedSpace() or resource.app.UserIsFacilitatorInManagedSpace()) and resource.IsScriptObject() and resource._actions={"read"}
|
|
# A professional user can update the script in owned personal apps or owned apps in a shared space.
|
|
resource.IsAppObject() and user.IsProfessional() and (resource.app.IsOwnedInPersonalSpace() or (resource.app.UserIsEditorInSharedSpace() and resource.IsOwnedByMe())) and resource.IsScriptObject() and resource._actions={"update"}
|
|
# A professional user can create any object in an unpublished app that is in a personal space or in a shared space as producer
|
|
resource.IsAppObject() and user.IsProfessional() and resource.app.HasPrivilege("read") and !resource.app.IsPublished() and resource.app.IsOwnedInPersonalOrSharedSpace() and resource.IsOwnedByMe() and resource._actions={"create"}
|
|
# In apps that a user has read access to, a professional user can update, delete master objects and other public objects.
|
|
resource.IsAppObject() and user.IsProfessional() and resource.app.HasPrivilege("read") and (resource.IsMasterObject() or resource.IsPublicObject()) and resource.app.IsOwnedInPersonalOrSharedSpace() and resource._actions={"update","delete"}
|
|
# In apps that a user has update access to, the user can update app properties.
|
|
resource.IsAppObject() and resource.app.HasPrivilege("update") and resource._objecttype == "appprops" and resource._actions={"update"}
|
|
# A professional user can update and delete any unpublished object in an unpublished app that the user owns or in a shared space as producer.
|
|
resource.IsAppObject() and user.IsProfessional() and resource.app.HasPrivilege("read") and resource.app.IsOwnedInPersonalOrSharedSpace() and !resource.IsPublished() and resource.IsOwnedByMe() and resource._actions={"update","delete"}
|
|
# A professional user can publish objects in an unpublished app that the user owns or in a shared space as producer.
|
|
resource.IsAppObject() and user.IsProfessional() and resource.app.HasPrivilege("read") and !resource.app.IsPublished() and resource.app.IsOwnedInPersonalOrSharedSpace() and !resource.IsScriptObject() and resource._actions={"publish"}
|
|
# A user can create a story object (stories, bookmarks and snapshot) in a shared space where the user is a consumer.
|
|
resource.IsAppObject() and resource.app.HasPrivilege("read") and resource.app.UserIsSharedSpaceMember() and resource.IsStoryObject() and !resource.IsPublished() and resource._actions={"create"}
|
|
# A user can update and delete an owned personal story object (stories, bookmarks and snapshot) in a shared space where the user is a consumer.
|
|
resource.IsAppObject() and resource.app.HasPrivilege("read") and resource.app.UserIsSharedSpaceMember() and resource.IsStoryObject() and !resource.IsPublished() and resource.IsOwnedByMe() and resource._actions={"update","delete"}
|
|
# A user can duplicate objects if the user has duplicate access on the app
|
|
resource.IsAppObject() and resource.app.HasPrivilege("duplicate") and resource.app.IsOwnedInPersonalOrSharedSpace() and resource._actions={"duplicate"}
|
|
# Analyser users can create app objects of type stories, snapshot and bookmarks in managed apps
|
|
resource.IsAppObject() and resource.app.UserIsViewerInManagedSpace() and resource.app.HasPrivilege("read") and resource.IsStoryObject() and !resource.IsPublished() and resource._actions={"create"}
|
|
# Analyser users can update, duplicate and delete owned, unpublished app objects of type stories, snapshot and bookmarks in managed apps
|
|
resource.IsAppObject() and resource.app.UserIsViewerInManagedSpace() and resource.app.HasPrivilege("read") and resource.IsStoryObject() and !resource.IsPublished() and resource.IsOwnedByMe() and resource._actions={"update","duplicate","delete"}
|
|
# Professional users can create app objects of type sheets, stories, snapshot and bookmarks in managed apps
|
|
resource.IsAppObject() and user.IsProfessional() and resource.app.UserIsContributorInManagedSpace() and resource.app.HasPrivilege("read") and resource.IsContentObject() and resource._actions={"create"}
|
|
# Professional users can update and delete owned, unpublished app objects of type sheets, stories, snapshot and bookmarks in managed apps that allows self service
|
|
resource.IsAppObject() and user.IsProfessional() and resource.app.UserIsContributorInManagedSpace() and resource.app.HasPrivilege("read") and resource.IsContentObject() and !resource.IsPublished() and resource.IsOwnedByMe() and resource._actions={"update","delete"}
|
|
# Professional users can publish and unpublish app objects of type sheets, stories, snapshot and bookmarks in managed apps
|
|
resource.IsAppObject() and user.IsProfessional() and resource.app.UserIsContributorInManagedSpace() and resource.app.HasPrivilege("read") and resource.IsContentObject() and resource.IsOwnedByMe() and !resource.IsApproved() and resource._actions={"publish"}
|
|
# Analyzer users can publish and unpublish app objects of type stories, snapshot and bookmarks in managed apps
|
|
resource.IsAppObject() and user.IsAnalyzer() and resource.app.UserIsContributorInManagedSpace() and resource.app.HasPrivilege("read") and resource.IsStoryObject() and resource.IsOwnedByMe() and !resource.IsApproved() and resource._actions={"publish"}
|
|
# External services can read, import, create, update, and delete apps.
|
|
resource.IsAppOrAppObject() and user.IsExternal() and resource._actions={"read","import","create","update","delete"}
|
|
# A professional user shall be able to upload a QlikView app
|
|
resource.IsQvApp() and user.IsQvEnabled() and user.IsProfessional() and resource.IsOwnedInPersonalSpace() and resource._actions={"import"}
|
|
# External services shall have full access to QlikView apps
|
|
resource.IsQvApp() and user.IsExternal() and resource._actions={"read","import","create","update","delete"}
|
|
# The QlikView app can be opened in a personal space by the owner.
|
|
resource.IsQvApp() and user.IsQvEnabled() and resource.IsOwnedInPersonalSpace() and resource._actions={"read"}
|
|
# A tenant admin can open all QlikView apps
|
|
resource.IsQvApp() and user.IsQvEnabled() and user.IsTenantAdmin() and resource._actions={"read"}
|
|
# A user can open QlikView apps that the user has access to in a managed space
|
|
resource.IsQvApp() and user.IsQvEnabled() and (resource.UserIsViewerInManagedSpace() or resource.UserIsFacilitatorInManagedSpace()) and resource._actions={"read"}
|
|
# A user can read QlikView personal apps
|
|
resource.IsQvApp() and user.IsQvEnabled() and resource.IsOwnedInPersonalSpace() and resource._actions={"read"}
|
|
# A shared space member user can open QlikView apps in a shared space
|
|
resource.IsQvApp() and user.IsQvEnabled() and resource.UserIsSharedSpaceMember() and resource._actions={"read"}
|
|
# A shared space editor professional user can import QlikView apps to a shared space
|
|
resource.IsQvApp() and user.IsQvEnabled() and user.IsProfessional() and resource.UserIsEditorInSharedSpace() and resource._actions={"import"}
|
|
# If you have access to the QlikView app you can read all objects
|
|
resource.IsQvAppObject() and resource.app.HasPrivilege("read") and !resource.IsScriptObject() and resource._actions={"read"}
|
|
# On global API:s we allow read to everyone
|
|
resource._resourcetype="node" and resource._actions={"read"}
|
|
# On global API:s with reload access professional users should have access
|
|
resource._resourcetype="node" and user.IsProfessional() and resource._actions={"reload"}
|
|
deny: ""
|
|
func: |
|
|
# User is a professional user.
|
|
IsProfessional() (self._provision.accesstype == "professional")
|
|
# User is an analyzer user.
|
|
IsAnalyzer() (self._provision.accesstype == "analyzer")
|
|
# User is a service user (external).
|
|
IsExternal() (self.subType == "externalClient")
|
|
# User is a tenant administrator.
|
|
IsTenantAdmin() (self.roles =="TenantAdmin")
|
|
# Checks parent app privileges. Privileges on parent must currently be computed in a first pass.
|
|
app.HasPrivilege(x) (self.app._privileges == x)
|
|
# Checks if a privilege exists on a resource.
|
|
HasPrivilege(x) (self._actions.Matched () = x)
|
|
# Resource is published.
|
|
IsPublished() (self.published == "true")
|
|
# App has Section Access.
|
|
HasSectionAccess() (self.hassectionaccess == "true")
|
|
# Helper macro for detecting if a property is missing or empty string.
|
|
MissingOrEmptyProp(prop) (self.prop.empty() or self.prop == "")
|
|
# In managed space
|
|
IsManaged() (self.spaceId == space.id and space.type == "managed")
|
|
# In shared space
|
|
IsShared() (self.spaceId == space.id and space.type == "shared")
|
|
# Resource is approved.
|
|
IsApproved() (self.approved = "true")
|
|
# Resource is owned by user.
|
|
IsOwnedByMe() (user.subType == "user" and self.ownerId == user.userId)
|
|
# Is app object a master item.
|
|
IsMasterObject() (self._objecttype = { "masterobject", "dimension", "measure" })
|
|
# Is app object a story item.
|
|
IsStoryObject() (self._objecttype = { "story", "snapshot", "bookmark" })
|
|
# Is app object a content item (sheet, story, snapshot, bookmark).
|
|
IsContentObject() (self._objecttype = {"sheet", "story", "snapshot", "bookmark"})
|
|
# Public objects created outside of sheets
|
|
IsPublicObject() (self._objecttype = { "appprops", "colormap", "odagapplink", "loadmodel", "dynamicappview", "businessmodel"})
|
|
# Is it the script object.
|
|
IsScriptObject() (self._objecttype = "app_appscript")
|
|
# Is user an editor in the space this resource belongs to. Producers are the roles produce or facilitator (space owner is automatically a facilitator)
|
|
UserIsEditorInSharedSpace() (self.spaceId == space.id and space.type == "shared" and (space.roles == {"producer", "facilitator"} or user.userId == space.ownerId))
|
|
# Is is a consumer in a shared space
|
|
UserIsConsumerInSharedSpace() (self.spaceId == space.id and space.type == "shared" and space.roles == {"consumer"})
|
|
# Is user the owner of this personal space.
|
|
IsOwnedInPersonalSpace() (self.IsOwnedByMe() and self.MissingOrEmptyProp(spaceId))
|
|
# Is user member of a shared space that the resource belongs to.
|
|
UserIsSharedSpaceMember() (self.spaceId == space.id and space.type == "shared" and (space.roles == {"consumer", "producer", "facilitator"} or user.userId == space.ownerId))
|
|
# User can publish to a managed space if he has the role publisher or he is the owner of the space.
|
|
UserIsPublisherInManagedSpace() (self.spaceId == space.id and space.type == "managed" and (space.roles == {"publisher"} or user.userId == space.ownerId))
|
|
# Is user member of a managed space that the resource belongs to.
|
|
UserIsViewerInManagedSpace() (self.spaceId == space.id and space.type == "managed" and (space.roles == {"consumer", "contributor", "facilitator"} or user.userId == space.ownerId))
|
|
# Is user member of a managed space that the resource belongs to.
|
|
UserIsFacilitatorInManagedSpace() (self.spaceId == space.id and space.type == "managed" and (space.roles == {"facilitator"} or user.userId == space.ownerId))
|
|
# Is user member of a managed space that the resource belongs to.
|
|
UserIsContributorInManagedSpace() (self.spaceId == space.id and space.type == "managed" and (space.roles == {"contributor", "facilitator"} or user.userId == space.ownerId))
|
|
# Is user a facilitator on the space this resource belongs to.
|
|
UserIsFacilitator() (self.spaceId == space.id and space.type == {"shared", "managed"} and (space.roles == {"facilitator"} or user.userId == space.ownerId))
|
|
# Is owned in personal space or editor in shared space.
|
|
IsOwnedInPersonalOrSharedSpace() (self.IsOwnedInPersonalSpace() or self.UserIsEditorInSharedSpace())
|
|
# Is in a non existing space.
|
|
IsInNonExistingSpace() (!self.MissingOrEmptyProp(spaceId) and !(self.spaceId == space.id))
|
|
# Is app.
|
|
IsApp() (self._resourcetype=={"app"})
|
|
# Is app or QlikView app.
|
|
IsAppOrQvApp() (self._resourcetype=={"app", "qvapp"})
|
|
# Is app object.
|
|
IsAppObject() (self._resourcetype=={"app.object"})
|
|
# Is app or app object.
|
|
IsAppOrAppObject() (self._resourcetype=={"app", "app.object"})
|
|
# Is QlikView enabled.
|
|
IsQvEnabled() (self._provision.qvEnabled == "true")
|
|
# Is a QlikView app.
|
|
IsQvApp() (self._resourcetype=={"qvapp"})
|
|
# Is a QlikView app object.
|
|
IsQvAppObject() (self._resourcetype=={"qvapp.object"})
|
|
# Is datafile.
|
|
IsDataFile() (self._resourcetype=={"datafile"})
|
|
# Is nfs connection.
|
|
IsNfsConnection() (self._resourcetype=={"nfsConnection"})
|
|
# Is GenericLink.
|
|
IsGenericLink() (self._resourcetype=={"genericlink"})
|
|
# Is SharingService.
|
|
IsSharingService() (self._resourcetype=={"sharingservice"})
|
|
# Is SharingServiceTask.
|
|
IsSharingServiceTask() (self._resourcetype=={"sharingservicetask"})
|
|
# Is InsightLink.
|
|
IsInsightLink() (self._resourcetype=={"insightlink"})
|
|
# Is SharingServiceAlertingTask.
|
|
IsSharingServiceAlertingTask() (self._resourcetype=={"sharingservicealertingtask"})
|
|
|
|
---
|
|
# Source: qliksense/charts/feature-flags/templates/configmap.yaml
|
|
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: qliksense-feature-flags-configmap
|
|
data:
|
|
featuresConfig:
|
|
"{\"globalFeatures\":{\"ACCUMULATIONS\":true,\"ACCUMULATION_OTHERS\":true,\"ACTION_BUTTON\":true,\"AGNOSTIC_KPI\":true,\"ALLOW_OPEN_HUB_IN_SAME_TAB\":true,\"AOSHARE\":true,\"AOSHARE_FROM_SPACE\":true,\"AUDIT_API_ENABLED\":true,\"AUDIT_SUBSCRIPTION_ENABLED\":true,\"AYLIEN_NewsConnector\":true,\"AYLIEN_SentimentConnector\":true,\"AmazonS3Connector\":true,\"AzureStorageConnector\":true,\"BARCHART\":true,\"BC_STYLE_EDITOR\":true,\"BC_XAXIS_MODE\":true,\"BULLET_CHART\":true,\"BUSINESS_MODEL\":true,\"BitlyConnectorV2\":true,\"CAO\":true,\"CAO_CHANGE_CHART_TYPE\":true,\"CAO_CREATE_LIBITEMS_SETEXPR\":true,\"CAO_DATA_VALUES\":true,\"CAO_ENABLE_PUBLISHED\":true,\"CAO_FIRST_TIME\":true,\"CAO_LIKED_ANALYSIS\":true,\"CAO_TWEAK\":true,\"CE_PRECEDENTS\":true,\"CHART_KPI_FONT_SIZE_LAYOUTS\":true,\"CLASSIFY_ON_DEMAND\":true,\"CLIENT_DATACONNECTIONS\":true,\"CLIENT_METRICS\":true,\"CLIENT_NET_EVENTS\":true,\"CLIENT_REST_TIMEOUT\":true,\"CLIENT_WS_RECONNECT\":true,\"CLOUD_EXTENSIONS\":true,\"CLOUD_SHARING_SERVICE\":true,\"CLOUD_THEMES\":true,\"CONNECTOR_DCAAS\":true,\"CONTAINER_OBJECT\":true,\"COPY_FILTERPANE_VALUE\":true,\"CRE_ALLOW_EXTENSIONS\":true,\"CUSTOM_TOOLTIP_BASIC\":true,\"CUSTOM_TOOLTIP_PHASE2\":true,\"CUSTOM_TOOLTIP_REMOVE_LIMITS\":true,\"DASHBOARD_EXT_BUNDLE\":true,\"DATAFILES_SPACES_ENABLED\":true,\"DATAPREP_REST\":true,\"DIFFERENCE\":true,\"DISABLE_ONPREM_THEMES\":true,\"DMV_SEARCH\":true,\"DM_join_tables\":true,\"DOWNLOAD_DATA_OBJECT\":true,\"DOWNLOAD_OBJECT\":true,\"DOWNLOAD_SHEET\":true,\"DOWNLOAD_STORY\":true,\"DOWNLOAD_USE_REPORTING\":true,\"DROP_ZONES\":true,\"DUPLICATE\":true,\"DYNAMIC_VIEWS\":true,\"DropboxConnector\":true,\"ELASTIC_DND\":true,\"EMAIL_IDENTITY_MAPPING\":true,\"ENGINE_PERSIST_USER_STATE\":true,\"EVENTING_NOTIFICATIONS\":true,\"EXPORT_DATA_ENABLED\":true,\"EXPORT_IMAGE_ENABLED\":true,\"FacebookFanPagesConnector\":true,\"FacebookInsightsConnector\":true,\"File_AmazonS3Connector\":true,\"File_AzureStorageConnector\":true,\"File_DropboxConnector\":true,\"File_GoogleDriveConnector\":true,\"GEO_BACKGROUND_IMAGE\":true,\"GEO_BACKGROUND_WMS\":true,\"GEO_DISABLE_SELECTION\":true,\"GEO_EXCL_AUTOZOOM\":true,\"GEO_EXPLORATION_MENU\":true,\"GEO_MYLOC\":true,\"GEO_NUM_FORMAT\":true,\"GEO_OPERATIONS_GEOCODING\":true,\"GEO_OPERATIONS_SERVICE\":true,\"GEO_POINT_SYMBOLS\":true,\"GEO_SIZE_LEGEND\":true,\"GRACEFUL_WS_IDLE\":true,\"GitHubConnector\":true,\"GoogleAdSenseConnector\":true,\"GoogleAdWordsConnector\":true,\"GoogleAnalyticsConnector\":true,\"GoogleCalendarConnector\":true,\"GoogleDriveConnector\":true,\"GoogleSearchConsoleConnector\":true,\"HIDE_ABOUT_BUTTON\":true,\"HIDE_IDP\":true,\"HIDE_INVITE_USER\":true,\"HUB_API_KEYS\":true,\"HUB_BJ\":true,\"HUB_BJ2\":true,\"HUB_CONN_MGMT\":true,\"HUB_DATA_FILES\":true,\"HUB_EXPORT_APP\":true,\"HUB_FILTER_BY_TAG\":true,\"HUB_FTE_30\":true,\"HUB_GENERIC_LINKS\":true,\"HUB_GROUPS\":true,\"HUB_HIDE_SHARE\":true,\"HUB_HOME\":true,\"HUB_MANAGED_SPACES\":true,\"HUB_NOTIFICATIONS\":true,\"HUB_OPEN_WITH_PLUGIN\":true,\"HUB_QV\":true,\"HUB_SCHEDULE_RELOAD\":true,\"HUB_SHARE_APP\":true,\"HUB_SPACES\":true,\"HUB_SPACE_DETAILS\":true,\"HUB_TUS\":true,\"HUB_WEBSOCKETS\":true,\"IFRAME_CONNECTOR_QWC\":true,\"INSIGHTS_CARD_TWEAKS\":true,\"INSIGHT_LIGHT_EDITING\":true,\"JIRAConnector\":true,\"LANDING_PAGE\":true,\"LINECHART\":true,\"LISTBOX_ALIGN\":true,\"MANAGEMENT_CONSOLE_API_KEYS_ENABLED\":true,\"MANAGEMENT_CONSOLE_CSP_ENABLED\":true,\"MANAGEMENT_CONSOLE_INVITE_USERS_ENABLED\":true,\"MANAGEMENT_CONSOLE_METRICS_ENABLED\":false,\"MANAGEMENT_CONSOLE_TENANT_RENAME\":true,\"MANAGEMENT_CONSOLE_TRIAL_COUNTDOWN_ENABLED\":true,\"MEKKO\":true,\"MLREST\":true,\"MOBILE_GRID\":true,\"MOVING_AVERAGE\":true,\"MSCRMConnectorV2\":true,\"MailChimpConnectorV2\":true,\"MailboxIMAPConnector\":true,\"NLU_INSIGHTS\":true,\"NLU_INSIGHTS_VOICE_QUERY\":true,\"NORMALIZATION\":true,\"NUM_FMT_CBM_S1\":true,\"ODAG_CLIENT_SAAS\":true,\"ODAG_SAAS_ENABLED\":true,\"ODAG_SHARED_SPACES\":true,\"ODAG_SIMPLIFICATION\":true,\"Office365Connector\":true,\"Outlook365Connector\":true,\"PC_STYLE_EDITOR\":true,\"PIVOT_ALIGN\":true,\"PIVOT_BY_Y\":true,\"PIVOT_CUSTOM_STYLES\":true,\"PP_ADD_MASTER\":true,\"PS_7141_CHARTSHARING\":true,\"PS_7343_Export_Import_of_app_links\":true,\"PS_7587_MC_APP_GOVERNANCE_ENABLED\":true,\"PUBLISH_BOOKMARKS_IN_PUBLIC_APPS\":true,\"QSD_AUTHENTICATION\":true,\"QUOTA_MANAGEMENT_APP_SIZE\":true,\"QUOTA_MANAGEMENT_SPACES\":true,\"QualtricsConnector\":true,\"REBRAND2018\":true,\"REMOTE_CONFIG_ENABLED\":true,\"RESUMABLE_UPLOAD\":true,\"SEARCH_HYPERLINKS\":true,\"SELECTION_INSIGHTS\":true,\"SELECTION_INSIGHTS_V2\":true,\"SHARED_SPACES_API_ENABLED\":true,\"SHARE_BUTTON_EXTENSION\":true,\"SHEET_HINT_2020\":true,\"SHEET_TRIGGER\":true,\"SHOW_ALL_SPACE_CONNECTIONS\":true,\"SINGLE_CONFIG\":true,\"SMTPConnector\":true,\"SlackConnector\":true,\"StravaConnector\":true,\"SugarCRMConnector\":true,\"SurveyMonkeyConnector\":true,\"TABLE_FREEZE_TOUCH\":true,\"TABLE_HOVER_ROW\":true,\"TABLE_INDICATORS\":true,\"TABLE_MINI_CHART\":true,\"TABLE_SCROLLBAR_SIZE\":true,\"TABLE_SEARCH_SORTING\":true,\"TABLE_STYLES\":true,\"THEME_CARDS\":true,\"THEME_FONT_FAMILY\":true,\"TRENDLINES\":true,\"TRENDLINES_LINECHART\":true,\"TextAnalyser_MeaningCloudConnector\":true,\"TextAnalyser_RepustateConnector\":true,\"TextAnalyser_Sentiment140Connector\":true,\"TextAnalyser_WatsonConnector\":true,\"TwitterConnector\":true,\"USER_API_KEYS\":true,\"USE_DC_DATACONNECTIONS\":true,\"USE_LOCALE_SERVICE\":true,\"USE_PIVOT_STATE\":true,\"VIZBUN_QCS_31\":true,\"VIZBUN_QCS_ORG_CHART\":true,\"VIZBUN_QCS_SMARTPIVOT\":true,\"VIZBUN_QCS_TRELLIS\":true,\"VIZBUN_QCS_VARIANCE_WATERFALL\":true,\"VIZ_EXT_BUNDLE\":true,\"WEBSOCKET_KEEP_ALIVE\":true,\"YouTubeAnalyticsConnector\":true,\"YouTubeConnector\":true,\"analyzerEnabled\":true,\"apache-hive\":true,\"apache-phoenix\":true,\"apache-spark\":true,\"azure_sql\":true,\"content_security_policy\":true,\"createAndReloadEnabled\":true,\"drill\":true,\"enableAliasLogin\":true,\"gbq\":true,\"impala\":true,\"mongo\":true,\"mssql\":true,\"mysql\":true,\"oracle\":true,\"postgres\":true,\"presto\":true,\"qix-datafiles\":true,\"redshift\":true,\"rest\":true,\"sap-sql\":true,\"sfdc\":true,\"snowflake\":true,\"teradata\":true},\"tenantFeatures\":{},\"userFeatures\":{}}"
|
|
|
|
---
|
|
# Source: qliksense/charts/groups/templates/manifest.yaml
|
|
apiVersion: v1
|
|
data:
|
|
ingressAuthUrl: http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth
|
|
keysUri: http://qliksense-keys:8080/v1/keys/qlik.api.internal
|
|
logLevel: verbose
|
|
redisUri: qliksense-redis-master:6379
|
|
tokenAuthUri: http://qliksense-edge-auth:8080/v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
labels:
|
|
app: groups
|
|
chart: groups-3.0.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-groups-configs
|
|
namespace: qliksense
|
|
|
|
|
|
---
|
|
apiVersion: v1
|
|
data:
|
|
mongodbUri: bW9uZ29kYjovL3FsaWtzZW5zZS1tb25nb2RiOjI3MDE3L3FsaWtzZW5zZT9zc2w9ZmFsc2U=
|
|
tokenAuthPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkREcFNOdmV4KzdUUEZkR1RnMnlNRnQrckFHUnkrM3R1TU40dWdqMExGWjhCZEtNUGtVRFNZUUUKbmVmdDdNanR0cVdnQndZRks0RUVBQ0toWkFOaUFBVGdyblpkaXRUUVlyNmxpNzVtMlFOVDdrL1g2T3k2aTlGcgp4b0tyQjM4bDBWdmdTbGtSNmtKTmRhRFZXejh6WkpXMENnUTAwVGYyNEpVbkgzL0JaazN4aWdPQVNpdkozeWx1Ckd3K1IvcTVKZ1N3eWVjQTRMd3B5MDJpd0dUb0p0OGc9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
tokenAuthPrivateKeyId: LXpxMmoyRFVwNkZpc0RESVRSanl0RkNOajdpZUl5U3VUaEhJel9UdGhSMA==
|
|
kind: Secret
|
|
metadata:
|
|
labels:
|
|
app: groups
|
|
chart: groups-3.0.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-groups-secrets
|
|
namespace: qliksense
|
|
type: Opaque
|
|
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/auth-url: http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
more_clear_input_headers "X-Forwarded-Host" "X-Forwarded-For" "X-Forwarded-Proto" "X-Original-URI" "X-Original-URL";
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
labels:
|
|
app: groups
|
|
chart: groups-3.0.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-groups
|
|
namespace: qliksense
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- backend:
|
|
serviceName: qliksense-groups
|
|
servicePort: 8080
|
|
path: /api/v1/qlik-groups
|
|
|
|
- backend:
|
|
serviceName: qliksense-groups
|
|
servicePort: 8080
|
|
path: /api/v1/idp-groups
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
annotations:
|
|
prometheus.io/port: "8080"
|
|
prometheus.io/scrape: "true"
|
|
labels:
|
|
app: groups
|
|
chart: groups-3.0.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-groups
|
|
namespace: qliksense
|
|
spec:
|
|
ports:
|
|
- name: groups
|
|
port: 8080
|
|
protocol: TCP
|
|
targetPort: 8080
|
|
selector:
|
|
app: groups
|
|
release: qliksense
|
|
type: ClusterIP
|
|
|
|
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app: groups
|
|
chart: groups-3.0.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-groups
|
|
namespace: qliksense
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: groups
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
checksum/configs: 3ce3528a3a1895dae09f07d190842b064d5f631968fcc9d7d1182c104ccece24
|
|
checksum/secrets: 7e636723deb417369c2004b5dd0e25f2d38ae9b354e918d6437dd17130a0f368
|
|
labels:
|
|
app: groups
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- env:
|
|
- name: MONGODB_URI_FILE
|
|
value: /run/secrets/qlik.com/qliksense/mongodbUri
|
|
- name: TOKEN_AUTH_PRIVATE_KEY_FILE
|
|
value: /run/secrets/qlik.com/qliksense-groups/tokenAuthPrivateKey
|
|
- name: TOKEN_AUTH_PRIVATE_KEY_ID_FILE
|
|
value: /run/secrets/qlik.com/qliksense-groups/tokenAuthPrivateKeyId
|
|
- name: INGRESS_AUTH_URL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: ingressAuthUrl
|
|
name: qliksense-groups-configs
|
|
- name: KEYS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: keysUri
|
|
name: qliksense-groups-configs
|
|
- name: LOG_LEVEL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: logLevel
|
|
name: qliksense-groups-configs
|
|
- name: REDIS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: redisUri
|
|
name: qliksense-groups-configs
|
|
- name: TOKEN_AUTH_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: tokenAuthUri
|
|
name: qliksense-groups-configs
|
|
- name: ENVIRONMENT
|
|
value: qliksense
|
|
- name: REGION
|
|
value: example
|
|
image: ghcr.io/qlik-download/groups:3.1.0
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /live
|
|
port: http
|
|
name: groups
|
|
ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: http
|
|
resources:
|
|
|
|
|
|
volumeMounts:
|
|
- mountPath: /run/secrets/qlik.com/qliksense-groups
|
|
name: qliksense-groups-secrets
|
|
readOnly: true
|
|
- mountPath: /run/secrets/qlik.com/qliksense
|
|
name: qliksense-secrets
|
|
readOnly: true
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
volumes:
|
|
- name: qliksense-groups-secrets
|
|
secret:
|
|
secretName: qliksense-groups-secrets
|
|
- name: qliksense-secrets
|
|
secret:
|
|
secretName: qliksense-secrets
|
|
|
|
|
|
---
|
|
|
|
|
|
---
|
|
---
|
|
|
|
---
|
|
# Source: qliksense/charts/keys/templates/configmap.yaml
|
|
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: qliksense-keys-configmap
|
|
data:
|
|
qlik.api.internal-api-keys: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"GR4BOyUiWkDpR1SGrquOymiuKSMdrYE4uuDBIkYnjyo\",\"crv\":\"P-384\",\"x\":\"I6klmP30Hl4QLEJdDve5eTiOvyIECXS-WQfFlcMq-mFqI82S6pOO57643k50l5aL\",\"y\":\"csshnKq3RpKGMaDuBNLJjiG3WqXyAKhYP4P4JfEJR8yDqKuuNG69xag2nlzKdK4G\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEI6klmP30Hl4QLEJdDve5eTiOvyIECXS+\\nWQfFlcMq+mFqI82S6pOO57643k50l5aLcsshnKq3RpKGMaDuBNLJjiG3WqXyAKhY\\nP4P4JfEJR8yDqKuuNG69xag2nlzKdK4G\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-audit: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"V5uEI2x2sYjIq0Ezz7NlqoExS1Y4dvwhdt3iakflxGY\",\"crv\":\"P-384\",\"x\":\"7NySyRC9cu6VEOrtXjoSdzOQVUT2UUOHbqLkbETP8JAG_jpTALMhWQrhILQxdeBv\",\"y\":\"9kWOIHqVJAEQRQoBDtBN1mq0hB0DEtuqTX5ERxxFAGjr0-rz-PgaoEJoftDG0rSi\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE7NySyRC9cu6VEOrtXjoSdzOQVUT2UUOH\\nbqLkbETP8JAG/jpTALMhWQrhILQxdeBv9kWOIHqVJAEQRQoBDtBN1mq0hB0DEtuq\\nTX5ERxxFAGjr0+rz+PgaoEJoftDG0rSi\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-chronos-worker: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"BKIz36TOxYe2wf6sB2f2pA5sb9GIDOZZXmWHDYG-pwQ\",\"crv\":\"P-384\",\"x\":\"jKPw2LipVXTTGU9IdWMVXaHraZkTFzw-rDyV46lzdSi9UhWJPW_70BGWCVrlqwK0\",\"y\":\"xHoMjZjTj72j1Ji498c7ebFJ3hmNC5UPMn9lLw4mJpRnLCd-aHdYJHDkNsJN5Wjc\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEjKPw2LipVXTTGU9IdWMVXaHraZkTFzw+\\nrDyV46lzdSi9UhWJPW/70BGWCVrlqwK0xHoMjZjTj72j1Ji498c7ebFJ3hmNC5UP\\nMn9lLw4mJpRnLCd+aHdYJHDkNsJN5Wjc\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-collections: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"2gMxQ_Xn45K4P_UZK8QcQT72l1R9-zwQGnNTiDvx8VI\",\"crv\":\"P-384\",\"x\":\"gh2rEM1NVo611yqSY2HJkaZzclyrUuYFhsRUBTCXSElKij48E9V6ALxuy8apKi-I\",\"y\":\"-sU5Y9BxoIoVdA71LHbst004tQ_thYGXyYtYmGaxSr1Xe1-Jp47_OLD2afOhwIHJ\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgh2rEM1NVo611yqSY2HJkaZzclyrUuYF\\nhsRUBTCXSElKij48E9V6ALxuy8apKi+I+sU5Y9BxoIoVdA71LHbst004tQ/thYGX\\nyYtYmGaxSr1Xe1+Jp47/OLD2afOhwIHJ\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-data-connections: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"Imjw67kdScLNfPPragGwlTSZf4E_XvoNCR3IK6BETGk\",\"crv\":\"P-384\",\"x\":\"fCCpT_yrTX_rq175JJvRlfxGdxSizgg9UK7CWcmRO5jBnutLOfMVm68yjbWpMp5s\",\"y\":\"1FK4YAyVh5mOFp-Fg3sKChvAog33FNtI0AaVLbWoSZGRd-9Ei50zITWnnzTOEv-A\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEfCCpT/yrTX/rq175JJvRlfxGdxSizgg9\\nUK7CWcmRO5jBnutLOfMVm68yjbWpMp5s1FK4YAyVh5mOFp+Fg3sKChvAog33FNtI\\n0AaVLbWoSZGRd+9Ei50zITWnnzTOEv+A\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-data-engineering-exporter: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"Ekg75kPFEn8WzawPn59o5jr_BqcOkli-919rYn_VCmg\",\"crv\":\"P-384\",\"x\":\"t7HxljSnx4SCHE3eykDSxnE1yU0CBESJDAHVvCukyuvzcQALuqwwVXkfMOVtnVwf\",\"y\":\"qTL2PNQVqjCTHzj_FxVAS8w9YhiZSNDcw9y2aE_nYVbaH59hevkg0oBTTcnpcogh\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEt7HxljSnx4SCHE3eykDSxnE1yU0CBESJ\\nDAHVvCukyuvzcQALuqwwVXkfMOVtnVwfqTL2PNQVqjCTHzj/FxVAS8w9YhiZSNDc\\nw9y2aE/nYVbaH59hevkg0oBTTcnpcogh\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-edge-auth: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"ENTY6Jgmp49H6xPfogxepd-xXdbEgqvQsUu3e5cPkmI\",\"crv\":\"P-384\",\"x\":\"agf54BGVzQ1yooK8JvYVeCXB1Oham64QvVe33orqj8LrxlEurZnyfFdUKK1Q-0hX\",\"y\":\"_sTVgkhpeAic4anO2pfdoBTgndRJgm3GW_Z89FUjShI55fcgnE904Xa--cET2es6\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEagf54BGVzQ1yooK8JvYVeCXB1Oham64Q\\nvVe33orqj8LrxlEurZnyfFdUKK1Q+0hX/sTVgkhpeAic4anO2pfdoBTgndRJgm3G\\nW/Z89FUjShI55fcgnE904Xa++cET2es6\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-engine: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"uHxp0YvnYQx-AqQgHnxgKqTk_HmZiT67B8SYOlzSgoM\",\"crv\":\"P-384\",\"x\":\"kPiEXSJOQ1FSVvC7flId1pZYIxox10XyPmjQXJjONZ2MEZR72nVBseRmaphX-IOz\",\"y\":\"L-uxUeqMiLUQ5j7bfUDg5tgT8gN2n7jzaaDxHOgy4Dvbba2Ex1jpHnB2P2Tm6h9q\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEkPiEXSJOQ1FSVvC7flId1pZYIxox10Xy\\nPmjQXJjONZ2MEZR72nVBseRmaphX+IOzL+uxUeqMiLUQ5j7bfUDg5tgT8gN2n7jz\\naaDxHOgy4Dvbba2Ex1jpHnB2P2Tm6h9q\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-eventing: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"_a9lgpnajgIAPxZIrOfyJ2O_xFyEP0QyywWewyYNoWo\",\"crv\":\"P-384\",\"x\":\"cKoZW3g0aMq85UkPgTnTEKKoiw8BD5u5kN-dJwCt4hItEGvSnKDlTq97f-teXvkw\",\"y\":\"HdF8BxSQTdSjV_LrDMspP_B5Mtyvs-oCJ6nZb_o-P0EKMSZT1fGXfQh7kTvUu5HF\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEcKoZW3g0aMq85UkPgTnTEKKoiw8BD5u5\\nkN+dJwCt4hItEGvSnKDlTq97f+teXvkwHdF8BxSQTdSjV/LrDMspP/B5Mtyvs+oC\\nJ6nZb/o+P0EKMSZT1fGXfQh7kTvUu5HF\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-generic-links: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"z4YaArQ3CzF9748arHaNfJkHjPTB2nCoBLeN-Zbdle0\",\"crv\":\"P-384\",\"x\":\"u9hZCyiVTPdhEFGBWwx4yozNQGXDItPQcEAgzYaAG0tjuHqeU4bBEgE-58PyqAzd\",\"y\":\"WzB8k0OlmEQdKekhfe5lm6PRlCWbI-k_jZA1prsz5OiNf7A4OZDKlay0LAF419RB\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEu9hZCyiVTPdhEFGBWwx4yozNQGXDItPQ\\ncEAgzYaAG0tjuHqeU4bBEgE+58PyqAzdWzB8k0OlmEQdKekhfe5lm6PRlCWbI+k/\\njZA1prsz5OiNf7A4OZDKlay0LAF419RB\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-geo-operations: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"N0I3roEVoh1utSb1JFkqklahRXmGikq8FIkxLLuEpcU\",\"crv\":\"P-384\",\"x\":\"ypbW9AEZdYOPOFJhrUUzWGTEuPqT0rOYzSP2bSa2-ISKuJen25cCMQ2bzJTOWpMn\",\"y\":\"G-4DaOWXMKM6WW_ufgnhf-cDGpcitGvlWThgmfNLUsbgO3Aeq8ADmjt2IZqJZL-G\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEypbW9AEZdYOPOFJhrUUzWGTEuPqT0rOY\\nzSP2bSa2+ISKuJen25cCMQ2bzJTOWpMnG+4DaOWXMKM6WW/ufgnhf+cDGpcitGvl\\nWThgmfNLUsbgO3Aeq8ADmjt2IZqJZL+G\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-groups: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"-zq2j2DUp6FisDDITRjytFCNj7ieIySuThHIz_TthR0\",\"crv\":\"P-384\",\"x\":\"4K52XYrU0GK-pYu-ZtkDU-5P1-jsuovRa8aCqwd_JdFb4EpZEepCTXWg1Vs_M2SV\",\"y\":\"tAoENNE39uCVJx9_wWZN8YoDgEoryd8pbhsPkf6uSYEsMnnAOC8KctNosBk6CbfI\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4K52XYrU0GK+pYu+ZtkDU+5P1+jsuovR\\na8aCqwd/JdFb4EpZEepCTXWg1Vs/M2SVtAoENNE39uCVJx9/wWZN8YoDgEoryd8p\\nbhsPkf6uSYEsMnnAOC8KctNosBk6CbfI\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-identity-providers: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"JYJ4SoPYPN8JWQR7UBuE2orr1rZEFSc53ARC0e1ldVo\",\"crv\":\"P-384\",\"x\":\"cdOgdRskL4yQccelknZPICzsjpjekBiUfBzBG4cRHQ3spcDp_s05yBkiiH4e1y2d\",\"y\":\"BerNrxRqxYEotHKNdzDdi-qcnA1jJULdPT9nWF5wzWsYweAYS-lbuqWzjC7uab78\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEcdOgdRskL4yQccelknZPICzsjpjekBiU\\nfBzBG4cRHQ3spcDp/s05yBkiiH4e1y2dBerNrxRqxYEotHKNdzDdi+qcnA1jJULd\\nPT9nWF5wzWsYweAYS+lbuqWzjC7uab78\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-insights: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"a6TNsX_wYGt2ADVrUf7E2mtc3dHYVGB4smiuluDfAnc\",\"crv\":\"P-384\",\"x\":\"Lj0RX4o0OTcXxsg07antpqr5GZAsFU_FOGVVlpa7y3yxGDThCgqQ-ECvWyxWUVT-\",\"y\":\"PB5DoV63jWxdpnBN1XWKSWZeIZz0CBswirORAFduHLG2wZm9QrYPP6JfSrry6zXW\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAELj0RX4o0OTcXxsg07antpqr5GZAsFU/F\\nOGVVlpa7y3yxGDThCgqQ+ECvWyxWUVT+PB5DoV63jWxdpnBN1XWKSWZeIZz0CBsw\\nirORAFduHLG2wZm9QrYPP6JfSrry6zXW\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-invite: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"JtyhhqJOLBf8_-vRTthOdYW4ZsPC_sVn14eYRwrZbIw\",\"crv\":\"P-384\",\"x\":\"DhDSolF2fxuHGcySnczwSnhE97GgD8trtQeaCnmHTqoEkRPgHCNDdRW7KCecWKCL\",\"y\":\"_zkjdDKwOVDwHtFe_9aPTb56YypPGTpXpPTC4Zaf0ODKmpMynwS8wDLgS__rIjMQ\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEDhDSolF2fxuHGcySnczwSnhE97GgD8tr\\ntQeaCnmHTqoEkRPgHCNDdRW7KCecWKCL/zkjdDKwOVDwHtFe/9aPTb56YypPGTpX\\npPTC4Zaf0ODKmpMynwS8wDLgS//rIjMQ\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-licenses: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"_WChJV76hqP6rsnPFV44TNYUR1l4jweS612XuTMopz0\",\"crv\":\"P-384\",\"x\":\"tiFoWOHCY4Sr_6wlauuDkUNNWOej76Ajt1YNtwHbji3vzdCCj3nZIu7ll-96J12c\",\"y\":\"-ciEthokwFipGqaANkC5x1jqwt8HJM-wFgIybYIHqAr01ISZhui2PUgiQMBDvMbj\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEtiFoWOHCY4Sr/6wlauuDkUNNWOej76Aj\\nt1YNtwHbji3vzdCCj3nZIu7ll+96J12c+ciEthokwFipGqaANkC5x1jqwt8HJM+w\\nFgIybYIHqAr01ISZhui2PUgiQMBDvMbj\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-nl-app-search: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"DihESBr-pTkPlMcowSp_jGL2XEdd8ndeynJ_Kqeqs84\",\"crv\":\"P-384\",\"x\":\"p0UWVG3tMa93UGjHun4SS5C25TNHx9zE2tMjWevEWTRN3YhklhfF5b2niYigf2dV\",\"y\":\"p4H8drK5X-VmLyIhSm1g8rrg8_DIiYOCum-kxrFSmZeyJHQMffhuKkGqvOcmG6Jg\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEp0UWVG3tMa93UGjHun4SS5C25TNHx9zE\\n2tMjWevEWTRN3YhklhfF5b2niYigf2dVp4H8drK5X+VmLyIhSm1g8rrg8/DIiYOC\\num+kxrFSmZeyJHQMffhuKkGqvOcmG6Jg\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-nl-parser: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"F3nEYPcWVLOjvqqeb8oMl-qk0xbMkV6j1sNb3w5DZ5Y\",\"crv\":\"P-384\",\"x\":\"Vg6b4TpqaqRYYY27lQWoIdN03Keo9a97ji68cA9hUMuNCdTMlsSCQgeLeVEmhg9p\",\"y\":\"uGQIKuqadGyhceptJnxCG20jTrOqZoFm0HJIQDvHuje9t_V2cXvUsCmBXefry9u8\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEVg6b4TpqaqRYYY27lQWoIdN03Keo9a97\\nji68cA9hUMuNCdTMlsSCQgeLeVEmhg9puGQIKuqadGyhceptJnxCG20jTrOqZoFm\\n0HJIQDvHuje9t/V2cXvUsCmBXefry9u8\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-notification-prep: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"oy6oficqj3Os7ZLLNKIDeKPOzQDoKdhGQa-w0e6YQvI\",\"crv\":\"P-384\",\"x\":\"OJxJX7aWqfSnnBsiLeNW_QTNB1Kws1IYToSvw7fA_pLbB9Ezqbfre7maIOLoM1pc\",\"y\":\"pktSxFQbYaqFkNDkqCs6iOOApZLU0pzxiaQoa0enGjZnBjmb3pfKKKoDcJZE9kvP\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOJxJX7aWqfSnnBsiLeNW/QTNB1Kws1IY\\nToSvw7fA/pLbB9Ezqbfre7maIOLoM1pcpktSxFQbYaqFkNDkqCs6iOOApZLU0pzx\\niaQoa0enGjZnBjmb3pfKKKoDcJZE9kvP\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-odag: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"J-QC62aBDJrkbJXxEiZixY1wlPwAjJDeZHIgE_DjnXw\",\"crv\":\"P-384\",\"x\":\"uaEyYzjoRKYqhLOwlwWOXR4KDk6wMAlhlOBbzi0HZZeu25jThv1V3uEdXhIFH87e\",\"y\":\"dkoVK3-zFA3BOYDHAp22_1oejwURjUR5BpHbAuXoU7wGrqPjch8Psd7gpF5WH8XO\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEuaEyYzjoRKYqhLOwlwWOXR4KDk6wMAlh\\nlOBbzi0HZZeu25jThv1V3uEdXhIFH87edkoVK3+zFA3BOYDHAp22/1oejwURjUR5\\nBpHbAuXoU7wGrqPjch8Psd7gpF5WH8XO\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-onboarding: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"9xviu78nWGhTSjKTUIKAWkTCQsYJ4g19iQMix8tl068\",\"crv\":\"P-384\",\"x\":\"WnXApdbD0fTwXSZQPHlurOFaDJe-_Qi33Q7nJM8iQJfoUBacJomm_b_7OgfEG3sy\",\"y\":\"nZlo-lTKgwLDh7zG7DBkMItzYCOTSyNpkT5Alh5F6RI0QJWPvxYCMsqG43nO5Mev\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEWnXApdbD0fTwXSZQPHlurOFaDJe+/Qi3\\n3Q7nJM8iQJfoUBacJomm/b/7OgfEG3synZlo+lTKgwLDh7zG7DBkMItzYCOTSyNp\\nkT5Alh5F6RI0QJWPvxYCMsqG43nO5Mev\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-policy-decisions: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"xXqGdDQhJWPRmWxQP0UONJMbYt8Q4faDzBENg9qGU5M\",\"crv\":\"P-384\",\"x\":\"ghU9Vsui8PVPogqzcAUFwTschaqyHbeQcSSf6fC0PLy4yxQmmAMpYmH8stdFYBtH\",\"y\":\"f9s7uy5KYooCf7FRiEVrOJnGCTuSvS04A52CraxHW1TTG8wWXkS4lpbwvaY9wrBb\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEghU9Vsui8PVPogqzcAUFwTschaqyHbeQ\\ncSSf6fC0PLy4yxQmmAMpYmH8stdFYBtHf9s7uy5KYooCf7FRiEVrOJnGCTuSvS04\\nA52CraxHW1TTG8wWXkS4lpbwvaY9wrBb\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-precedents: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"GrvbBlHIXFBB7vrpoOl4VyrGIYl_1kUgKSfNqBoh0ds\",\"crv\":\"P-384\",\"x\":\"CQFHkVIKx1pnS4BsE5Agwft7VicXrdE9PSYevBnRuuF_4G4A17Q0lZbVGeiffC9Y\",\"y\":\"-1nOPkQrjZctPbI63Key_qRUOJVg1gOPYWvexNDjE_SwW3R7WFk8a-5_OM4Oe8Dr\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAECQFHkVIKx1pnS4BsE5Agwft7VicXrdE9\\nPSYevBnRuuF/4G4A17Q0lZbVGeiffC9Y+1nOPkQrjZctPbI63Key/qRUOJVg1gOP\\nYWvexNDjE/SwW3R7WFk8a+5/OM4Oe8Dr\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-qix-data-connection: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"Imjw67kdScLNfPPragGwlTSZf4E_XvoNCR3IK6BETGk\",\"crv\":\"P-384\",\"x\":\"fCCpT_yrTX_rq175JJvRlfxGdxSizgg9UK7CWcmRO5jBnutLOfMVm68yjbWpMp5s\",\"y\":\"1FK4YAyVh5mOFp-Fg3sKChvAog33FNtI0AaVLbWoSZGRd-9Ei50zITWnnzTOEv-A\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEfCCpT/yrTX/rq175JJvRlfxGdxSizgg9\\nUK7CWcmRO5jBnutLOfMVm68yjbWpMp5s1FK4YAyVh5mOFp+Fg3sKChvAog33FNtI\\n0AaVLbWoSZGRd+9Ei50zITWnnzTOEv+A\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-qix-data-reload: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"QtiFtx-5MCcsnHb-xmWGgjwoJuEZYYkYHblN2I_Bibo\",\"crv\":\"P-384\",\"x\":\"tcecGYbktKzY2UACFHyM3V8iatPsxMk7TU-vyvsqBQqW13x8QXxM5oWHoUT2ffAn\",\"y\":\"vrrEcsMbhqVGtzHgfu5UALLkurJrgdhnEVAbid8nivhC0kOMjjbMHHB9OsavQJsB\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEtcecGYbktKzY2UACFHyM3V8iatPsxMk7\\nTU+vyvsqBQqW13x8QXxM5oWHoUT2ffAnvrrEcsMbhqVGtzHgfu5UALLkurJrgdhn\\nEVAbid8nivhC0kOMjjbMHHB9OsavQJsB\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-qix-datafiles: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"zpiZ-klS65lfcq1K0-o29Sa0AAZYYr4ON_1VCtAbMEA\",\"crv\":\"P-384\",\"x\":\"W12TTwY7C8tuZl19O0ornUq6yPI87vJA4mSF1YKmWC9XvF32-ZRoerstW1j6Aisw\",\"y\":\"Aphoey39y2s-_NDkrtevp-Yoy-OMC8O-9b-rFEJbBdFKT_xycepciTPUCG5HXDpr\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEW12TTwY7C8tuZl19O0ornUq6yPI87vJA\\n4mSF1YKmWC9XvF32+ZRoerstW1j6AiswAphoey39y2s+/NDkrtevp+Yoy+OMC8O+\\n9b+rFEJbBdFKT/xycepciTPUCG5HXDpr\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-qix-sessions: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"Wybd2-X3hcBpqDIjd3NwZahTsjpP1BqegTYVhx_KN1o\",\"crv\":\"P-384\",\"x\":\"oDr1snacUnZCEZ8ML4QhcTra9YOj-NLqJTKOHoUuZ9ovB_iSrNHyQjxseTtaL3lN\",\"y\":\"Bx2nXRul753mPWyzQQpXK-n_K9dP7gMzLVMW9uTmsA8ftLtUFA2ubp13xkpb88bU\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEoDr1snacUnZCEZ8ML4QhcTra9YOj+NLq\\nJTKOHoUuZ9ovB/iSrNHyQjxseTtaL3lNBx2nXRul753mPWyzQQpXK+n/K9dP7gMz\\nLVMW9uTmsA8ftLtUFA2ubp13xkpb88bU\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-quotas: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"1Kyk7eZuL_cTcwK-n0IgGcupF9vdQnvgeov5fpxugCY\",\"crv\":\"P-384\",\"x\":\"TrlITZjHltbmQd11Vb9hKEsoSmYiXhhfkBIPa94chNtUbyF3CLjYOqZzUo0kCIKE\",\"y\":\"70Ro89RtnRW8iBKEVJhs3P69aU7Gh0Ac6oRXRj0f_MVVzHBZI_pI1caEv8MdF1Hx\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETrlITZjHltbmQd11Vb9hKEsoSmYiXhhf\\nkBIPa94chNtUbyF3CLjYOqZzUo0kCIKE70Ro89RtnRW8iBKEVJhs3P69aU7Gh0Ac\\n6oRXRj0f/MVVzHBZI/pI1caEv8MdF1Hx\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-reload-tasks: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"tGqCjbBab4T5LCzwDKkOsYUtTDanLJrFrtoQm9PRSxE\",\"crv\":\"P-384\",\"x\":\"aehmMnoPo5KIYeBRUxPDEnxhNL9RCMGhAbx8iztSNSApjyPUapXJwj1bfQtc02Qk\",\"y\":\"9PfdU7ViP5Aez6swlZygPIGhv1Uz8IC26PKhLN0LxpYuyBxd675NtVXptiwZVZp9\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEaehmMnoPo5KIYeBRUxPDEnxhNL9RCMGh\\nAbx8iztSNSApjyPUapXJwj1bfQtc02Qk9PfdU7ViP5Aez6swlZygPIGhv1Uz8IC2\\n6PKhLN0LxpYuyBxd675NtVXptiwZVZp9\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-reporting: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"7nHZ6rfrzzjxuhqByuIrLTWg4HnNzgMMQdURgUQKOvg\",\"crv\":\"P-384\",\"x\":\"OljjAsqkMTxBiNr6Gxwbo27gCP0NtaOE-Z-AEedIY97nOdcWaVIxBEPJK_6ubfcY\",\"y\":\"p42QA1FsAKtN76TQF3vOa0hqMuaf0seBYoryhb8CQDbboLxKC1H4M07vWdYpwKRA\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOljjAsqkMTxBiNr6Gxwbo27gCP0NtaOE\\n+Z+AEedIY97nOdcWaVIxBEPJK/6ubfcYp42QA1FsAKtN76TQF3vOa0hqMuaf0seB\\nYoryhb8CQDbboLxKC1H4M07vWdYpwKRA\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-resource-library: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"m_1HJQ4CKk1CGdjahppB9TE-ijXzfeZbPyEaPdrZ7q0\",\"crv\":\"P-384\",\"x\":\"RjVZgoQaUfAVxEiI8VGtbsz6ph64__XddAkj8pa6jNmNw5Ojnx_TVC7tHIMU9YYJ\",\"y\":\"Rr5yaCSDwQouF4mlAC8hqiOirhYWNdovJlFzOn19A9sU1rnWTlVOMlBzVNrLmjdF\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAERjVZgoQaUfAVxEiI8VGtbsz6ph64//Xd\\ndAkj8pa6jNmNw5Ojnx/TVC7tHIMU9YYJRr5yaCSDwQouF4mlAC8hqiOirhYWNdov\\nJlFzOn19A9sU1rnWTlVOMlBzVNrLmjdF\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-sharing: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"nt7vrIzpznLm1wGRS7U7TF_4p4GEm5OEFmmuVJKy7Lc\",\"crv\":\"P-384\",\"x\":\"MyFvn6pcsJ2rdMfuNWcK3hbcLv4Bg9q0zt7Xcyapf7zT4b0G9um6bV-mRMpXNqjr\",\"y\":\"2MXi0RajsQTY2T1VmOPF-uZqQs6vMCUnCZRI0zYKe8D-DeVMdq_lMdUlgJkCQnNp\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEMyFvn6pcsJ2rdMfuNWcK3hbcLv4Bg9q0\\nzt7Xcyapf7zT4b0G9um6bV+mRMpXNqjr2MXi0RajsQTY2T1VmOPF+uZqQs6vMCUn\\nCZRI0zYKe8D+DeVMdq/lMdUlgJkCQnNp\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-spaces: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"j3MbBtOiEib3tLcVbvscwehV3K0WAZVFBp3ysfsdksg\",\"crv\":\"P-384\",\"x\":\"ep7pduYemcRVVqWKe--V7m-kacwIKC18A2yuBVbBQGLUKCTBAO23fR6QGf_U5y-w\",\"y\":\"l9n9QlF5fgqyfk8PckpPKq_zXvGTMNg_uoN1sB-KYgPjr0jQsHdRO_JgxbGEI_bq\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEep7pduYemcRVVqWKe++V7m+kacwIKC18\\nA2yuBVbBQGLUKCTBAO23fR6QGf/U5y+wl9n9QlF5fgqyfk8PckpPKq/zXvGTMNg/\\nuoN1sB+KYgPjr0jQsHdRO/JgxbGEI/bq\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-subscriptions: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"iUsv5s2Q5CXHPTFn-mHEnr5CIPrW5-KUrfuJPKlpyCE\",\"crv\":\"P-384\",\"x\":\"1vyDjEuHHM-Bvo-oO4ZKd6dRS5NazHM-qcl_2T1UGtAl6bIBUD9a6MMMfIxG1yOh\",\"y\":\"6LTPElvI3DIF1Gmj6xlZELdafczq2eZoCG1NutlsOxXzG4gRVVNhwohDrhGbOj0C\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE1vyDjEuHHM+Bvo+oO4ZKd6dRS5NazHM+\\nqcl/2T1UGtAl6bIBUD9a6MMMfIxG1yOh6LTPElvI3DIF1Gmj6xlZELdafczq2eZo\\nCG1NutlsOxXzG4gRVVNhwohDrhGbOj0C\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-temporary-contents: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"ckZJbjOzS1zWHMV8XqX5Q_YKWx2A4FIuGM-Ac8PF4aA\",\"crv\":\"P-384\",\"x\":\"Dr1eUA8DovqLG6h1rzkEyuUoU2nnuQP6poSg4PKYx7SkC2wgWp3ru2BOGrCFGLq-\",\"y\":\"O29e6ZKUxvV5_bOCTL8zuvOXCkvdA-DIgLZ3iF-RSc91UZxnU4odMjDwvXwKnbKy\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEDr1eUA8DovqLG6h1rzkEyuUoU2nnuQP6\\npoSg4PKYx7SkC2wgWp3ru2BOGrCFGLq+O29e6ZKUxvV5/bOCTL8zuvOXCkvdA+DI\\ngLZ3iF+RSc91UZxnU4odMjDwvXwKnbKy\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-tenants: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"Mf9AcMRQ-bLHduxLoE-POyozm6Ze6yfvW1Pyq3Fv1Bo\",\"crv\":\"P-384\",\"x\":\"sGQYXzx6jEU8pAzDBOjS6JJM3jqvW1MBOlWpm3AqagOErOjzI_l6C_6Z0NxuguKx\",\"y\":\"BK8fuZsLY7UQ9QoHctUqxjImtgMTqpkgKo1C4zA5Ybo5lnUtIDffFsKIuSMhvA-F\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEsGQYXzx6jEU8pAzDBOjS6JJM3jqvW1MB\\nOlWpm3AqagOErOjzI/l6C/6Z0NxuguKxBK8fuZsLY7UQ9QoHctUqxjImtgMTqpkg\\nKo1C4zA5Ybo5lnUtIDffFsKIuSMhvA+F\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-transport: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"hPe8ng6iIeKvQFVtzehbgjGKH4uFu9uKyCgGQ1SjjCU\",\"crv\":\"P-384\",\"x\":\"BuvlyzGB6xKtZlIgu34QP77aVYW8Xt50YrqTfLCf9N8NNPU140ejg6zlJgiZKTaK\",\"y\":\"50dgd8JzjTknMe3YGgG-C-mlAoHY6pGkpOrE42MzBN-U-p5qGOxfdYhy4NkE3xoM\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBuvlyzGB6xKtZlIgu34QP77aVYW8Xt50\\nYrqTfLCf9N8NNPU140ejg6zlJgiZKTaK50dgd8JzjTknMe3YGgG+C+mlAoHY6pGk\\npOrE42MzBN+U+p5qGOxfdYhy4NkE3xoM\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-users: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"jhnbOw3nZwHlAfz4FRjEPgo5CG_Tw0uezR2VsyagBzY\",\"crv\":\"P-384\",\"x\":\"JhGD0ZR_tBKSIChkAWlYE1C2kVuCF4gHUTEZcvzh1i77WeSJbMofOsLaPQ68EkC8\",\"y\":\"FtULlIOHnafa8dZDY9aLnpo-Th3hklEQYnMNBHkIU-nUpuR2RQ84o0bj8Gsfb1dW\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEJhGD0ZR/tBKSIChkAWlYE1C2kVuCF4gH\\nUTEZcvzh1i77WeSJbMofOsLaPQ68EkC8FtULlIOHnafa8dZDY9aLnpo+Th3hklEQ\\nYnMNBHkIU+nUpuR2RQ84o0bj8Gsfb1dW\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-web-notifications: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"YUiIenAWJzwQHexnMp5gqMm7-JzlAx5JhnoeqLHLvmo\",\"crv\":\"P-384\",\"x\":\"KbUjCkZdqhK0IEV_fI04AeVGs1Aa_Oe_Y6fop4GHgWZCQIY0l3-0lQTYc7_nUSyH\",\"y\":\"fncz7kPKWLdhR76urjIFj2cmlm907t3ywfI8awrMVpCX8oV5LSDfL69_Jox7QPWo\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKbUjCkZdqhK0IEV/fI04AeVGs1Aa/Oe/\\nY6fop4GHgWZCQIY0l3+0lQTYc7/nUSyHfncz7kPKWLdhR76urjIFj2cmlm907t3y\\nwfI8awrMVpCX8oV5LSDfL69/Jox7QPWo\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
qlik.api.internal-web-security: "{\"keys\":[{\"kty\":\"EC\",\"kid\":\"ySG-VC4hiYm9Jm00JN4TEroq_CekjreqZoRgSiNjSqU\",\"crv\":\"P-384\",\"x\":\"6UvLQHfGVio2X5MEwLNOt1Bntpvj1AljLpLQn3xpWotLRPg-9JRSFna0PI5ks27e\",\"y\":\"-bgNUf3350XYVkVqt7PRzMOmAiPsKnvfPDLTBifMgwWcEkS_ve7ZMFXfABGugto2\",\"pem\":\"-----BEGIN PUBLIC KEY-----\\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE6UvLQHfGVio2X5MEwLNOt1Bntpvj1Alj\\nLpLQn3xpWotLRPg+9JRSFna0PI5ks27e+bgNUf3350XYVkVqt7PRzMOmAiPsKnvf\\nPDLTBifMgwWcEkS/ve7ZMFXfABGugto2\\n-----END PUBLIC KEY-----\\n\"}]}"
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats/templates/configmap.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
labels:
|
|
app: "nats"
|
|
chart: "nats-1.0.6"
|
|
heritage: "Tiller"
|
|
release: "qliksense"
|
|
name: qliksense-nats
|
|
data:
|
|
gnatsd.conf: |-
|
|
listen: 0.0.0.0:4222
|
|
http: 0.0.0.0:8222
|
|
client_advertise: qliksense-nats-client:4222
|
|
|
|
# Authorization for client connections
|
|
authorization {
|
|
timeout: 1
|
|
users: [
|
|
{
|
|
user: "natsClient",
|
|
password: "clientPass",
|
|
}
|
|
]
|
|
}
|
|
|
|
# Logging options
|
|
debug: false
|
|
trace: false
|
|
logtime: false
|
|
|
|
# Pid file
|
|
pid_file: "/tmp/gnatsd.pid"
|
|
|
|
# Some system overides
|
|
|
|
|
|
# Clustering definition
|
|
cluster {
|
|
listen: 0.0.0.0:6222
|
|
|
|
no_advertise: false
|
|
|
|
# Authorization for cluster connections
|
|
|
|
# Routes are actively solicited and connected to from this server.
|
|
# Other servers can connect to us if they supply the correct credentials
|
|
# in their routes definitions from above
|
|
routes = [
|
|
nats://qliksense-nats-cluster:6222
|
|
]
|
|
}
|
|
users.json: "[{\"stanPermissions\":{\"subscribe\":[\"system-events.odag.request\",\"system-events.engine.app\",\"system-events.user-session\",\"system-events.spaces\",\"system-events.licenses\",\"system-events.generic-links\",\"system-events.api-keys\",\"system-events.user-identity\",\"system-events.web-security\",\"system-events.tenants\"]},\"user\":\"audit\"},{\"stanPermissions\":{\"publish\":[\"chronos-worker.\\u003e\"]},\"user\":\"chronos-worker\"},{\"stanPermissions\":{\"subscribe\":[\"system-events.\\u003e\"]},\"user\":\"data-engineering-exporter\"},{\"stanPermissions\":{\"publish\":[\"system-events.user-session\",\"system-events.user-identity\"],\"subscribe\":[\"system-events.users\",\"system-events.user-session\",\"system-events.identity-providers\",\"private.idp-sync\"]},\"user\":\"edge-auth\"},{\"stanPermissions\":{\"publish\":[\"com.qlik.app\",\"com.qlik.engine.session\",\"com.qlik.engine.system\",\"system-events.engine.app\",\"system-events.engine.session\",\"system-events.engine.system\"]},\"user\":\"engine\"},{\"stanPermissions\":{\"publish\":[\"private.idp-sync\",\"system-events.identity-providers\"]},\"user\":\"identity-providers\"},{\"stanPermissions\":{\"publish\":[\"system-events.invite\"],\"subscribe\":[\"system-events.users\"]},\"user\":\"invite\"},{\"stanPermissions\":{\"subscribe\":[\"system-events.engine.app\"]},\"user\":\"nl-parser\"},{\"stanPermissions\":{\"publish\":[\"system-events.odag.request\",\"odag.\\u003e\"],\"subscribe\":[\"odag.\\u003e\",\"system-events.engine.app\",\"system-events.reloadResults\"]},\"user\":\"odag\"},{\"stanPermissions\":{\"publish\":[\"reload\",\"system-events.reloadResults\"],\"subscribe\":[\"reload\"]},\"user\":\"qix-data-reload\"},{\"stanPermissions\":{\"publish\":[\"system-events.resource-library\"]},\"user\":\"resource-library\"},{\"stanPermissions\":{\"publish\":[\"system-events.tenants\",\"system-events.web-integrations\"]},\"user\":\"tenants\"},{\"stanPermissions\":{\"publish\":[\"system-events.users\"]},\"user\":\"users\"},{\"stanPermissions\":{\"publish\":[\"system-events.api-keys\"],\"subscribe\":[\"system-events.users\"]},\"user\":\"api-keys\"},{\"stanPermissions\":{\"publish\":[\"system-events.items\"],\"subscribe\":[\"system-events.engine.app\",\"system-events.generic-links\"]},\"user\":\"collections\"},{\"stanPermissions\":{\"publish\":[\"system-events.licenses\"],\"subscribe\":[\"system-events.licenses\"]},\"user\":\"licenses\"},{\"stanPermissions\":{\"publish\":[\"system-events.spaces\"],\"subscribe\":[\"system-events.tenants\"]},\"user\":\"spaces\"},{\"stanPermissions\":{\"subscribe\":[\"system-events.engine.app\"]},\"user\":\"precedents\"},{\"stanPermissions\":{\"publish\":[\"system-events.notification-request\"],\"subscribe\":[\"system-events.engine.app\",\"system-events.spaces\",\"system-events.web-notifications\",\"system-events.sharing\"]},\"user\":\"eventing\"},{\"stanPermissions\":{\"subscribe\":[\"system-events.engine.app\",\"system-events.engine.session\",\"system-events.engine.system\",\"system-events.reloadResults\"]},\"user\":\"qix-sessions\"},{\"stanPermissions\":{\"subscribe\":[\"system-events.engine.app\",\"system-events.spaces\"]},\"user\":\"qix-datafiles\"},{\"stanPermissions\":{\"publish\":[\"system-events.notification-request\",\"system-events.sharing\"],\"subscribe\":[\"system-events.engine.app\"]},\"user\":\"sharing\"},{\"stanPermissions\":{\"subscribe\":[\"system-events.engine.app\"]},\"user\":\"subscriptions\"},{\"stanPermissions\":{\"publish\":[\"system-events.transport-request\"],\"subscribe\":[\"system-events.notification-request\"]},\"user\":\"notification-prep\"},{\"stanPermissions\":{\"publish\":[\"system-events.web-notifications\"],\"subscribe\":[\"system-events.transport-request\"]},\"user\":\"web-notifications\"},{\"stanPermissions\":{\"publish\":[\"system-events.generic-links\"]},\"user\":\"generic-links\"},{\"stanPermissions\":{\"subscribe\":[\"system-events.spaces\"]},\"user\":\"data-connections\"},{\"stanPermissions\":{\"publish\":[\"system-events.transport-response\",\"system-events.notification-request\"],\"subscribe\":[\"system-events.transport-request\"]},\"user\":\"transport\"},{\"stanPermissions\":{\"publish\":[\"system-events.web-security\"]},\"user\":\"web-security\"},{\"stanPermissions\":{\"subscribe\":[\"system-events.engine.app\"]},\"user\":\"reload-tasks\"},{\"stanPermissions\":{\"publish\":[\"reporting.\\u003e\"]},\"user\":\"reporting\"},{\"stanPermissions\":{\"publish\":[\"nl-app-search.\\u003e\"],\"subscribe\":[\"system-events.engine.app\",\"system-events.reloadResults\",\"nl-app-search.\\u003e\"]},\"user\":\"nl-app-search\"},{\"stanPermissions\":{\"subscribe\":[\"system-events.spaces\"]},\"user\":\"policy-decisions\"}]"
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-sessions/templates/configmaps.yaml
|
|
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: qliksense-qix-sessions-configmap
|
|
data:
|
|
appPlacement:
|
|
"selectors:\n- qlik.com/default\n"
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: qliksense-qix-sessions-tenant-quotas-configmap
|
|
data:
|
|
quotas:
|
|
"{}\n"
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/configmap.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: qliksense-redis
|
|
labels:
|
|
app: redis
|
|
chart: redis-10.5.6
|
|
heritage: Tiller
|
|
release: qliksense
|
|
data:
|
|
redis.conf: |-
|
|
# User-supplied configuration:
|
|
# Enable AOF https://redis.io/topics/persistence#append-only-file
|
|
appendonly yes
|
|
# Disable RDB persistence, AOF persistence already enabled.
|
|
save ""
|
|
master.conf: |-
|
|
dir /data
|
|
rename-command FLUSHDB ""
|
|
rename-command FLUSHALL ""
|
|
replica.conf: |-
|
|
dir /data
|
|
slave-read-only yes
|
|
rename-command FLUSHDB ""
|
|
rename-command FLUSHALL ""
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/health-configmap.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: qliksense-redis-health
|
|
labels:
|
|
app: redis
|
|
chart: redis-10.5.6
|
|
heritage: Tiller
|
|
release: qliksense
|
|
data:
|
|
ping_readiness_local.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h localhost \
|
|
-p $REDIS_PORT \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
ping_liveness_local.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h localhost \
|
|
-p $REDIS_PORT \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ] && [ "$response" != "LOADING Redis is loading the dataset in memory" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
ping_readiness_master.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h $REDIS_MASTER_HOST \
|
|
-p $REDIS_MASTER_PORT_NUMBER \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
ping_liveness_master.sh: |-
|
|
response=$(
|
|
timeout -s 9 $1 \
|
|
redis-cli \
|
|
-h $REDIS_MASTER_HOST \
|
|
-p $REDIS_MASTER_PORT_NUMBER \
|
|
ping
|
|
)
|
|
if [ "$response" != "PONG" ] && [ "$response" != "LOADING Redis is loading the dataset in memory" ]; then
|
|
echo "$response"
|
|
exit 1
|
|
fi
|
|
ping_readiness_local_and_master.sh: |-
|
|
script_dir="$(dirname "$0")"
|
|
exit_status=0
|
|
"$script_dir/ping_readiness_local.sh" $1 || exit_status=$?
|
|
"$script_dir/ping_readiness_master.sh" $1 || exit_status=$?
|
|
exit $exit_status
|
|
ping_liveness_local_and_master.sh: |-
|
|
script_dir="$(dirname "$0")"
|
|
exit_status=0
|
|
"$script_dir/ping_liveness_local.sh" $1 || exit_status=$?
|
|
"$script_dir/ping_liveness_master.sh" $1 || exit_status=$?
|
|
exit $exit_status
|
|
|
|
---
|
|
# Source: qliksense/charts/sense-client/templates/configmap.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: csp-configmap
|
|
data:
|
|
csp: >-
|
|
default-src 'none';
|
|
base-uri 'self';
|
|
img-src 'self' data: maps.qlikcloud.com services.arcgisonline.com ;
|
|
script-src 'self' 'unsafe-inline' 'unsafe-eval' maps.qlikcloud.com ;
|
|
style-src 'self' 'unsafe-inline' ;
|
|
font-src 'self' data: ;
|
|
frame-ancestors 'self';
|
|
frame-src 'self';
|
|
connect-src 'self' api.qlikdataengineering.com sqs.us-east-1.amazonaws.com maps.qlikcloud.com api.rollbar.com ;
|
|
block-all-mixed-content;
|
|
upgrade-insecure-requests;
|
|
|
|
---
|
|
# Source: qliksense/charts/tenants/templates/manifest.yaml
|
|
apiVersion: v1
|
|
data:
|
|
ingressAuthUrl: http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth
|
|
keysUri: http://qliksense-keys:8080/v1/keys/qlik.api.internal
|
|
licensesUri: http://qliksense-licenses:9200/v1
|
|
logLevel: verbose
|
|
natsStreamingClusterId: qliksense-nats-streaming-cluster
|
|
natsUri: nats://qliksense-nats-client:4222
|
|
tokenAuthUri: http://qliksense-edge-auth:8080/v1
|
|
usersUri: http://qliksense-users:8080/v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
labels:
|
|
app: tenants
|
|
chart: tenants-4.0.18
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-tenants-configs
|
|
namespace: qliksense
|
|
|
|
|
|
---
|
|
apiVersion: v1
|
|
data:
|
|
mongodbUri: bW9uZ29kYjovL3FsaWtzZW5zZS1tb25nb2RiOjI3MDE3L3FsaWtzZW5zZT9zc2w9ZmFsc2U=
|
|
tokenAuthPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkRDRzhtWEtObXRvMDhNWHY3dm85bExtNTkrYW00ankwRDBoZ3ZCS0JLWkZJSW5hK1QxVk5HTXoKcUNyZzlEKzhSZW1nQndZRks0RUVBQ0toWkFOaUFBU3daQmhmUEhxTVJUeWtETU1FNk5Mb2tremVPcTliVXdFNgpWYW1iY0NwcUE0U3M2UE1qK1hvTC9wblEzRzZDNHJFRXJ4KzVtd3RqdFJEMUNnZHkxU3JHTWlhMkF4T3FtU0FxCmpVTGpNRGxodWptV2RTMGdOOThXd29pNUl5RzhENFU9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
tokenAuthPrivateKeyId: TWY5QWNNUlEtYkxIZHV4TG9FLVBPeW96bTZaZTZ5ZnZXMVB5cTNGdjFCbw==
|
|
kind: Secret
|
|
metadata:
|
|
labels:
|
|
app: tenants
|
|
chart: tenants-4.0.18
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-tenants-secrets
|
|
namespace: qliksense
|
|
type: Opaque
|
|
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/auth-url: http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
set $host_and_uri $http_host$request_uri;
|
|
if ( $host_and_uri ~* "^.{2049,}$" ) { return 414; }
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
more_clear_input_headers "X-Forwarded-Host" "X-Forwarded-For" "X-Forwarded-Proto" "X-Original-URI" "X-Original-URL";
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
labels:
|
|
app: tenants
|
|
chart: tenants-4.0.18
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-tenants
|
|
namespace: qliksense
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- backend:
|
|
serviceName: qliksense-tenants
|
|
servicePort: 8080
|
|
path: /api/v1/tenants
|
|
|
|
- backend:
|
|
serviceName: qliksense-tenants
|
|
servicePort: 8080
|
|
path: /api/v1/web-integrations
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
annotations:
|
|
prometheus.io/port: "8080"
|
|
prometheus.io/scrape: "true"
|
|
labels:
|
|
app: tenants
|
|
chart: tenants-4.0.18
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-tenants
|
|
namespace: qliksense
|
|
spec:
|
|
ports:
|
|
- name: tenants
|
|
port: 8080
|
|
protocol: TCP
|
|
targetPort: 8080
|
|
selector:
|
|
app: tenants
|
|
release: qliksense
|
|
type: ClusterIP
|
|
|
|
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app: tenants
|
|
chart: tenants-4.0.18
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-tenants
|
|
namespace: qliksense
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: tenants
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
checksum/configs: f31f9105da5f784c4f469dab4922ee441a32f2cbd7d97bc1c812088e0c280ee4
|
|
checksum/secrets: 2c0d1ed3ac714cc1ceba2ba318c71b1216633ff44c9fda31cb5f6729cd851226
|
|
labels:
|
|
app: tenants
|
|
qliksense-nats-client: "true"
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- env:
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: MONGODB_URI_FILE
|
|
value: /run/secrets/qlik.com/qliksense/mongodbUri
|
|
- name: TOKEN_AUTH_PRIVATE_KEY_FILE
|
|
value: /run/secrets/qlik.com/qliksense-tenants/tokenAuthPrivateKey
|
|
- name: TOKEN_AUTH_PRIVATE_KEY_ID_FILE
|
|
value: /run/secrets/qlik.com/qliksense-tenants/tokenAuthPrivateKeyId
|
|
- name: INGRESS_AUTH_URL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: ingressAuthUrl
|
|
name: qliksense-tenants-configs
|
|
- name: KEYS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: keysUri
|
|
name: qliksense-tenants-configs
|
|
- name: LICENSES_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: licensesUri
|
|
name: qliksense-tenants-configs
|
|
- name: LOG_LEVEL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: logLevel
|
|
name: qliksense-tenants-configs
|
|
- name: NATS_STREAMING_CLUSTER_ID
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: natsStreamingClusterId
|
|
name: qliksense-tenants-configs
|
|
- name: NATS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: natsUri
|
|
name: qliksense-tenants-configs
|
|
- name: TOKEN_AUTH_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: tokenAuthUri
|
|
name: qliksense-tenants-configs
|
|
- name: USERS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: usersUri
|
|
name: qliksense-tenants-configs
|
|
- name: DATACENTER
|
|
value: example
|
|
- name: ENVIRONMENT
|
|
value: qliksense
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: NATS_TOKEN_AUTH_ENABLED
|
|
value: "true"
|
|
- name: REGION
|
|
value: example
|
|
image: ghcr.io/qlik-download/tenants:2.6.5
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /live
|
|
port: http
|
|
name: tenants
|
|
ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: http
|
|
resources: {}
|
|
|
|
|
|
volumeMounts:
|
|
- mountPath: /run/secrets/qlik.com/qliksense-tenants
|
|
name: qliksense-tenants-secrets
|
|
readOnly: true
|
|
- mountPath: /run/secrets/qlik.com/qliksense
|
|
name: qliksense-secrets
|
|
readOnly: true
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
volumes:
|
|
- name: qliksense-tenants-secrets
|
|
secret:
|
|
secretName: qliksense-tenants-secrets
|
|
- name: qliksense-secrets
|
|
secret:
|
|
secretName: qliksense-secrets
|
|
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/users/templates/manifest.yaml
|
|
apiVersion: v1
|
|
data:
|
|
featureFlagsUri: http://qliksense-feature-flags:8080/v1
|
|
ingressAuthUrl: http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth
|
|
keysUri: http://qliksense-keys:8080/v1/keys
|
|
logLevel: verbose
|
|
natsStreamingClusterId: qliksense-nats-streaming-cluster
|
|
natsUri: nats://qliksense-nats-client:4222
|
|
tokenAuthUri: http://qliksense-edge-auth:8080/v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
labels:
|
|
app: users
|
|
chart: users-2.1.31
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-users-configs
|
|
namespace: qliksense
|
|
|
|
|
|
---
|
|
apiVersion: v1
|
|
data:
|
|
mongodbUri: bW9uZ29kYjovL3FsaWtzZW5zZS1tb25nb2RiOjI3MDE3L3FsaWtzZW5zZT9zc2w9ZmFsc2U=
|
|
tokenAuthPrivateKey: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1JR2tBZ0VCQkREaXBDZ0grNTZQcnNIZk43clpoZE15VW1xWUtPUTFBbnViM3Ryd01OdktiZHdUbXFtS0J1VU4KYVRRSUpaUkNsTjZnQndZRks0RUVBQ0toWkFOaUFBUW1FWVBSbEgrMEVwSWdLR1FCYVZnVFVMYVJXNElYaUFkUgpNUmx5L09IV0x2dFo1SWxzeWg4Nnd0bzlEcndTUUx3VzFRdVVnNGVkcDlyeDFrTmoxb3VlbWo1T0hlR1NVUkJpCmN3MEVlUWhUNmRTbTVIWkZEemlqUnVQd2F4OXZWMVk9Ci0tLS0tRU5EIEVDIFBSSVZBVEUgS0VZLS0tLS0K
|
|
tokenAuthPrivateKeyId: amhuYk93M25ad0hsQWZ6NEZSakVQZ281Q0dfVHcwdWV6UjJWc3lhZ0J6WQ==
|
|
kind: Secret
|
|
metadata:
|
|
labels:
|
|
app: users
|
|
chart: users-2.1.31
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-users-secrets
|
|
namespace: qliksense
|
|
type: Opaque
|
|
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/auth-url: http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
set $host_and_uri $http_host$request_uri;
|
|
if ( $host_and_uri ~* "^.{2049,}$" ) { return 414; }
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
more_clear_input_headers "X-Forwarded-Host" "X-Forwarded-For" "X-Forwarded-Proto" "X-Original-URI" "X-Original-URL";
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
labels:
|
|
app: users
|
|
chart: users-2.1.31
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-users
|
|
namespace: qliksense
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- backend:
|
|
serviceName: qliksense-users
|
|
servicePort: 8080
|
|
path: /api/v1/users
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
annotations:
|
|
prometheus.io/port: "8080"
|
|
prometheus.io/scrape: "true"
|
|
labels:
|
|
app: users
|
|
chart: users-2.1.31
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-users
|
|
namespace: qliksense
|
|
spec:
|
|
ports:
|
|
- name: users
|
|
port: 8080
|
|
protocol: TCP
|
|
targetPort: 8080
|
|
selector:
|
|
app: users
|
|
release: qliksense
|
|
type: ClusterIP
|
|
|
|
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app: users
|
|
chart: users-2.1.31
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-users
|
|
namespace: qliksense
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: users
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
checksum/configs: 0ea09f1e20913bdb137ae91730db6e4939c7e692ed42c99b540b4b80beb3044f
|
|
checksum/secrets: 1458ff4ed1ee322120ad970a3dd7b7bfb5233000769bf0397b82dd64e3e879d0
|
|
labels:
|
|
app: users
|
|
qliksense-nats-client: "true"
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- env:
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: MONGODB_URI_FILE
|
|
value: /run/secrets/qlik.com/qliksense/mongodbUri
|
|
- name: TOKEN_AUTH_PRIVATE_KEY_FILE
|
|
value: /run/secrets/qlik.com/qliksense-users/tokenAuthPrivateKey
|
|
- name: TOKEN_AUTH_PRIVATE_KEY_ID_FILE
|
|
value: /run/secrets/qlik.com/qliksense-users/tokenAuthPrivateKeyId
|
|
- name: FEATURE_FLAGS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: featureFlagsUri
|
|
name: qliksense-users-configs
|
|
- name: INGRESS_AUTH_URL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: ingressAuthUrl
|
|
name: qliksense-users-configs
|
|
- name: KEYS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: keysUri
|
|
name: qliksense-users-configs
|
|
- name: LOG_LEVEL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: logLevel
|
|
name: qliksense-users-configs
|
|
- name: NATS_STREAMING_CLUSTER_ID
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: natsStreamingClusterId
|
|
name: qliksense-users-configs
|
|
- name: NATS_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: natsUri
|
|
name: qliksense-users-configs
|
|
- name: TOKEN_AUTH_URI
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
key: tokenAuthUri
|
|
name: qliksense-users-configs
|
|
- name: ENVIRONMENT
|
|
value: qliksense
|
|
- name: MONGO_MAX_TIME_MS
|
|
value: "2000"
|
|
- name: MONGO_TIMEOUT_ENABLED
|
|
value: "true"
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: REGION
|
|
value: example
|
|
image: ghcr.io/qlik-download/users:2.7.5
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /live
|
|
port: http
|
|
name: users
|
|
ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: http
|
|
resources:
|
|
|
|
|
|
volumeMounts:
|
|
- mountPath: /run/secrets/qlik.com/qliksense-users
|
|
name: qliksense-users-secrets
|
|
readOnly: true
|
|
- mountPath: /run/secrets/qlik.com/qliksense
|
|
name: qliksense-secrets
|
|
readOnly: true
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
volumes:
|
|
- name: qliksense-users-secrets
|
|
secret:
|
|
secretName: qliksense-users-secrets
|
|
- name: qliksense-secrets
|
|
secret:
|
|
secretName: qliksense-secrets
|
|
|
|
|
|
---
|
|
|
|
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-serviceaccount.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
labels:
|
|
app: nginx-ingress
|
|
chart: nginx-ingress-1.36.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-nginx-ingress
|
|
---
|
|
# Source: qliksense/charts/licenses/templates/serviceaccount.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: qliksense-licenses
|
|
labels:
|
|
app: licenses
|
|
chart: licenses-1.21.0
|
|
release: qliksense
|
|
heritage: Tiller
|
|
|
|
---
|
|
# Source: qliksense/charts/odag/templates/sa.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: qliksense-odag
|
|
labels:
|
|
app: odag
|
|
chart: odag-1.9.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-sessions/templates/sa.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: qliksense-qix-sessions
|
|
labels:
|
|
app: qix-sessions
|
|
chart: qix-sessions-6.4.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
---
|
|
|
|
# Source: qliksense/charts/chronos/templates/sa.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: qliksense-chronos
|
|
labels:
|
|
app: chronos
|
|
chart: chronos-1.6.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/chronos/templates/rbac.yaml
|
|
kind: Role
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
metadata:
|
|
name: qliksense-chronos
|
|
namespace: qliksense
|
|
labels:
|
|
app: chronos
|
|
chart: chronos-1.6.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
rules:
|
|
# Required for leader election
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- endpoints
|
|
verbs:
|
|
- "get"
|
|
- "update"
|
|
|
|
---
|
|
|
|
kind: RoleBinding
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
metadata:
|
|
name: qliksense-chronos
|
|
namespace: qliksense
|
|
labels:
|
|
app: chronos
|
|
chart: chronos-1.6.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: qliksense-chronos
|
|
roleRef:
|
|
kind: Role
|
|
name: qliksense-chronos
|
|
apiGroup: rbac.authorization.k8s.io
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-role.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
labels:
|
|
app: nginx-ingress
|
|
chart: nginx-ingress-1.36.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-nginx-ingress
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- namespaces
|
|
verbs:
|
|
- get
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- configmaps
|
|
- pods
|
|
- secrets
|
|
- endpoints
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- services
|
|
verbs:
|
|
- get
|
|
- list
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- extensions
|
|
- "networking.k8s.io" # k8s 1.14+
|
|
resources:
|
|
- ingresses
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- apiGroups:
|
|
- extensions
|
|
- "networking.k8s.io" # k8s 1.14+
|
|
resources:
|
|
- ingresses/status
|
|
verbs:
|
|
- update
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- configmaps
|
|
resourceNames:
|
|
- ingress-controller-leader-qlik-nginx
|
|
verbs:
|
|
- get
|
|
- update
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- configmaps
|
|
verbs:
|
|
- create
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- endpoints
|
|
verbs:
|
|
- create
|
|
- get
|
|
- update
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- events
|
|
verbs:
|
|
- create
|
|
- patch
|
|
---
|
|
# Source: qliksense/charts/licenses/templates/rbac.yaml
|
|
kind: Role
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
metadata:
|
|
name: qliksense-licenses
|
|
namespace: qliksense
|
|
labels:
|
|
app: licenses
|
|
chart: licenses-1.21.0
|
|
release: qliksense
|
|
heritage: Tiller
|
|
rules:
|
|
# Required for leader election
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- endpoints
|
|
verbs:
|
|
- "get"
|
|
- "update"
|
|
|
|
---
|
|
|
|
kind: RoleBinding
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
metadata:
|
|
name: qliksense-licenses
|
|
namespace: qliksense
|
|
labels:
|
|
app: licenses
|
|
chart: licenses-1.21.0
|
|
release: qliksense
|
|
heritage: Tiller
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: qliksense-licenses
|
|
roleRef:
|
|
kind: Role
|
|
name: qliksense-licenses
|
|
apiGroup: rbac.authorization.k8s.io
|
|
|
|
---
|
|
# Source: qliksense/charts/odag/templates/rbac.yaml
|
|
kind: Role
|
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
|
metadata:
|
|
name: qliksense-odag
|
|
namespace: qliksense
|
|
labels:
|
|
app: odag
|
|
chart: odag-1.9.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
rules:
|
|
# Required for leader election
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- endpoints
|
|
verbs:
|
|
- "get"
|
|
- "update"
|
|
|
|
---
|
|
|
|
kind: RoleBinding
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
metadata:
|
|
name: odag
|
|
namespace: qliksense
|
|
labels:
|
|
app: odag
|
|
chart: odag-1.9.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: qliksense-odag
|
|
roleRef:
|
|
kind: Role
|
|
name: qliksense-odag
|
|
apiGroup: rbac.authorization.k8s.io
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-sessions/templates/rbac.yaml
|
|
kind: Role
|
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
|
metadata:
|
|
name: qliksense-qix-sessions
|
|
namespace: qliksense
|
|
labels:
|
|
app: qix-sessions
|
|
chart: qix-sessions-6.4.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
rules:
|
|
# these permissions are required for replicasets and deployments and pod creation/deletion and leader elections
|
|
- apiGroups:
|
|
- "*"
|
|
# - extensions
|
|
# - apps
|
|
# - autoscaling
|
|
resources:
|
|
- deployments
|
|
- pods
|
|
- configmaps
|
|
- events
|
|
- horizontalpodautoscalers
|
|
verbs:
|
|
- "*"
|
|
- apiGroups:
|
|
- ""
|
|
- extensions
|
|
- apps
|
|
resources:
|
|
- replicasets
|
|
verbs:
|
|
- get
|
|
- list
|
|
- watch
|
|
- "delete"
|
|
|
|
|
|
#these permissions are required for engine custom resources
|
|
- apiGroups:
|
|
- qixmanager.qlik.com
|
|
resources:
|
|
- engines
|
|
- engines/finalizers
|
|
verbs:
|
|
- "*"
|
|
- apiGroups:
|
|
- qixengine.qlik.com
|
|
resources:
|
|
- engines
|
|
- engines/finalizers
|
|
- engines/status
|
|
- enginevariants
|
|
- enginevariants/status
|
|
- enginevariants/finalizers
|
|
- enginetemplates
|
|
- enginetemplates/finalizers
|
|
verbs:
|
|
- "*"
|
|
|
|
---
|
|
|
|
kind: RoleBinding
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
metadata:
|
|
name: qliksense-qix-sessions
|
|
namespace: qliksense
|
|
labels:
|
|
app: qix-sessions
|
|
chart: qix-sessions-6.4.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: qliksense-qix-sessions
|
|
roleRef:
|
|
kind: Role
|
|
name: qliksense-qix-sessions
|
|
apiGroup: rbac.authorization.k8s.io
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-rolebinding.yaml
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
labels:
|
|
app: nginx-ingress
|
|
chart: nginx-ingress-1.36.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-nginx-ingress
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: qliksense-nginx-ingress
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: qliksense-nginx-ingress
|
|
namespace: qliksense
|
|
---
|
|
# Source: qliksense/charts/chronos-worker/templates/svc.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-chronos-worker
|
|
labels:
|
|
app: chronos-worker
|
|
chart: chronos-worker-1.4.10
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
ports:
|
|
- name: chronos-worker
|
|
port: 8080
|
|
targetPort: 8080
|
|
selector:
|
|
app: chronos-worker
|
|
|
|
---
|
|
# Source: qliksense/charts/chronos/templates/svc.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-chronos
|
|
labels:
|
|
app: chronos
|
|
chart: chronos-1.6.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8585"
|
|
spec:
|
|
ports:
|
|
- name: chronos
|
|
port: 8585
|
|
targetPort: 8585
|
|
selector:
|
|
app: chronos
|
|
|
|
---
|
|
# Source: qliksense/charts/collections/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-collections
|
|
labels:
|
|
app: collections
|
|
chart: collections-2.8.55
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: collections
|
|
selector:
|
|
app: collections
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connections/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-connections
|
|
labels:
|
|
app: data-connections
|
|
chart: data-connections-1.7.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9011"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 9011
|
|
targetPort: 9011
|
|
protocol: TCP
|
|
name: data-connections
|
|
selector:
|
|
app: data-connections
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-odbc/templates/service-cmd.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-connector-odbc-cmd
|
|
labels:
|
|
app: data-connector-odbc
|
|
chart: data-connector-odbc-1.4.10
|
|
action: "command"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "3005"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 50060
|
|
targetPort: 50060
|
|
protocol: TCP
|
|
name: grpc
|
|
- port: 3005
|
|
targetPort: 3005
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: data-connector-odbc
|
|
release: qliksense
|
|
action: "command"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-odbc/templates/service-rld.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-connector-odbc-rld
|
|
labels:
|
|
app: data-connector-odbc
|
|
chart: data-connector-odbc-1.4.10
|
|
action: "reload"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "3005"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 50060
|
|
targetPort: 50060
|
|
protocol: TCP
|
|
name: grpc
|
|
- port: 3005
|
|
targetPort: 3005
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: data-connector-odbc
|
|
release: qliksense
|
|
action: "reload"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-qwc/templates/service-cmd.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-connector-qwc-cmd
|
|
labels:
|
|
app: data-connector-qwc
|
|
chart: data-connector-qwc-3.0.3
|
|
action: "command"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "3005"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 50060
|
|
targetPort: 50060
|
|
protocol: TCP
|
|
name: grpc
|
|
- port: 3005
|
|
targetPort: 3005
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: data-connector-qwc
|
|
release: qliksense
|
|
action: "command"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-qwc/templates/service-rld.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-connector-qwc-rld
|
|
labels:
|
|
app: data-connector-qwc
|
|
chart: data-connector-qwc-3.0.3
|
|
action: "reload"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "3005"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 50060
|
|
targetPort: 50060
|
|
protocol: TCP
|
|
name: grpc
|
|
- port: 3005
|
|
targetPort: 3005
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: data-connector-qwc
|
|
release: qliksense
|
|
action: "reload"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-qwc/templates/service-web.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-connector-qwc-web
|
|
labels:
|
|
app: data-connector-qwc
|
|
chart: data-connector-qwc-3.0.3
|
|
action: "web"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9121"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 6384
|
|
targetPort: 6384
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: data-connector-qwc
|
|
release: qliksense
|
|
action: "web"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-rest/templates/service-cmd.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-connector-rest-cmd
|
|
labels:
|
|
app: data-connector-rest
|
|
chart: data-connector-rest-1.2.9
|
|
action: "command"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "3005"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 50060
|
|
targetPort: 50060
|
|
protocol: TCP
|
|
name: grpc
|
|
- port: 3005
|
|
targetPort: 3005
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: data-connector-rest
|
|
release: qliksense
|
|
action: "command"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-rest/templates/service-rld.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-connector-rest-rld
|
|
labels:
|
|
app: data-connector-rest
|
|
chart: data-connector-rest-1.2.9
|
|
action: "reload"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "3005"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 50060
|
|
targetPort: 50060
|
|
protocol: TCP
|
|
name: grpc
|
|
- port: 3005
|
|
targetPort: 3005
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: data-connector-rest
|
|
release: qliksense
|
|
action: "reload"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-sap-sql/templates/service-cmd.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-connector-sap-sql-cmd
|
|
labels:
|
|
app: data-connector-sap-sql
|
|
chart: data-connector-sap-sql-1.1.18
|
|
action: "command"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "3005"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 50060
|
|
targetPort: 50060
|
|
protocol: TCP
|
|
name: grpc
|
|
- port: 3005
|
|
targetPort: 3005
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: data-connector-sap-sql
|
|
release: qliksense
|
|
action: "command"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-sap-sql/templates/service-rld.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-connector-sap-sql-rld
|
|
labels:
|
|
app: data-connector-sap-sql
|
|
chart: data-connector-sap-sql-1.1.18
|
|
action: "reload"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "3005"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 50060
|
|
targetPort: 50060
|
|
protocol: TCP
|
|
name: grpc
|
|
- port: 3005
|
|
targetPort: 3005
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: data-connector-sap-sql
|
|
release: qliksense
|
|
action: "reload"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-sfdc/templates/service-cmd.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-connector-sfdc-cmd
|
|
labels:
|
|
app: data-connector-sfdc
|
|
chart: data-connector-sfdc-1.6.3
|
|
action: "command"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "3005"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 50060
|
|
targetPort: 50060
|
|
protocol: TCP
|
|
name: grpc
|
|
- port: 3005
|
|
targetPort: 3005
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: data-connector-sfdc
|
|
release: qliksense
|
|
action: "command"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-sfdc/templates/service-rld.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-connector-sfdc-rld
|
|
labels:
|
|
app: data-connector-sfdc
|
|
chart: data-connector-sfdc-1.6.3
|
|
action: "reload"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "3005"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 50060
|
|
targetPort: 50060
|
|
protocol: TCP
|
|
name: grpc
|
|
- port: 3005
|
|
targetPort: 3005
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: data-connector-sfdc
|
|
release: qliksense
|
|
action: "reload"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-prep/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-prep
|
|
labels:
|
|
app: data-prep
|
|
chart: data-prep-2.0.7
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9072"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 9072
|
|
targetPort: 9072
|
|
protocol: TCP
|
|
name: qliksense-data-prep
|
|
selector:
|
|
app: data-prep
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/data-rest-source/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-data-rest-source
|
|
labels:
|
|
app: data-rest-source
|
|
chart: data-rest-source-1.2.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: data-rest-source
|
|
selector:
|
|
app: data-rest-source
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas-web/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-dcaas-web
|
|
labels:
|
|
app: dcaas-web
|
|
chart: dcaas-web-1.1.92
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9180"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 6384
|
|
targetPort: 6384
|
|
protocol: TCP
|
|
name: dcaas-web
|
|
selector:
|
|
app: dcaas-web
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/headless-svc.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-dcaas-redis-headless
|
|
labels:
|
|
app: dcaas-redis
|
|
chart: dcaas-redis-10.5.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
type: ClusterIP
|
|
clusterIP: None
|
|
ports:
|
|
- name: redis
|
|
port: 6379
|
|
targetPort: redis
|
|
selector:
|
|
app: dcaas-redis
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/redis-master-svc.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-dcaas-redis-master
|
|
labels:
|
|
app: dcaas-redis
|
|
chart: dcaas-redis-10.5.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- name: redis
|
|
port: 6379
|
|
targetPort: redis
|
|
selector:
|
|
app: dcaas-redis
|
|
release: qliksense
|
|
role: master
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-dcaas
|
|
labels:
|
|
app: dcaas
|
|
chart: dcaas-1.7.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/scrape_high_cardinality: "true"
|
|
prometheus.io/port: "9026"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 9026
|
|
targetPort: http
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: dcaas
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-metrics-service.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
annotations:
|
|
prometheus.io/port: "10254"
|
|
prometheus.io/scrape: "true"
|
|
labels:
|
|
app: nginx-ingress
|
|
chart: nginx-ingress-1.36.2
|
|
component: "controller"
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-nginx-ingress-controller-metrics
|
|
spec:
|
|
ports:
|
|
- name: metrics
|
|
port: 9913
|
|
targetPort: metrics
|
|
selector:
|
|
app: nginx-ingress
|
|
release: qliksense
|
|
app.kubernetes.io/component: controller
|
|
type: "ClusterIP"
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-service.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
labels:
|
|
app: nginx-ingress
|
|
chart: nginx-ingress-1.36.2
|
|
component: "controller"
|
|
heritage: Tiller
|
|
release: qliksense
|
|
name: qliksense-nginx-ingress-controller
|
|
spec:
|
|
clusterIP: ""
|
|
ports:
|
|
- name: http
|
|
nodePort: 30033
|
|
port: 80
|
|
protocol: TCP
|
|
targetPort: http
|
|
- name: https
|
|
nodePort: 32662
|
|
port: 443
|
|
protocol: TCP
|
|
targetPort: https
|
|
selector:
|
|
app: nginx-ingress
|
|
release: qliksense
|
|
app.kubernetes.io/component: controller
|
|
type: "NodePort"
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/headless-svc.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-redis-user-state-headless
|
|
labels:
|
|
app: redis-user-state
|
|
chart: redis-user-state-10.5.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
type: ClusterIP
|
|
clusterIP: None
|
|
ports:
|
|
- name: redis
|
|
port: 6379
|
|
targetPort: redis
|
|
- name: redis-sentinel
|
|
port: 26379
|
|
targetPort: redis-sentinel
|
|
selector:
|
|
app: redis-user-state
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/redis-with-sentinel-svc.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-redis-user-state
|
|
labels:
|
|
app: redis-user-state
|
|
chart: redis-user-state-10.5.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- name: redis
|
|
port: 6379
|
|
targetPort: redis
|
|
- name: redis-sentinel
|
|
port: 26379
|
|
targetPort: redis-sentinel
|
|
selector:
|
|
app: redis-user-state
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-engine
|
|
labels:
|
|
app: qliksense-engine
|
|
chart: engine-1.68.13
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 9076
|
|
protocol: TCP
|
|
name: qliksense-engine
|
|
selector:
|
|
app: qliksense-engine
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/eventing/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-eventing
|
|
labels:
|
|
app: eventing
|
|
chart: eventing-1.3.3
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: eventing
|
|
selector:
|
|
app: eventing
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/feature-flags/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-feature-flags
|
|
labels:
|
|
app: feature-flags
|
|
chart: feature-flags-2.0.8
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: feature-flags
|
|
selector:
|
|
app: feature-flags
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/generic-links/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-generic-links
|
|
labels:
|
|
app: generic-links
|
|
chart: generic-links-1.1.18
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "6080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 6080
|
|
targetPort: 6080
|
|
protocol: TCP
|
|
name: generic-links
|
|
selector:
|
|
app: generic-links
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/geo-operations/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-geo-operations
|
|
labels:
|
|
app: qliksense-geo-operations
|
|
chart: geo-operations-1.1.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "40072"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 50072
|
|
targetPort: 50072
|
|
protocol: TCP
|
|
name: grpc
|
|
- port: 40072
|
|
targetPort: 40072
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: qliksense-geo-operations
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/hub/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-hub
|
|
labels:
|
|
app: hub
|
|
chart: hub-1.3.109
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9180"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 3023
|
|
targetPort: 3023
|
|
protocol: TCP
|
|
name: hub
|
|
selector:
|
|
app: hub
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/identity-providers/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-identity-providers
|
|
labels:
|
|
app: identity-providers
|
|
chart: identity-providers-1.8.32
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: identity-providers
|
|
selector:
|
|
app: identity-providers
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/insights/templates/insights.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-insights
|
|
labels:
|
|
app: insights
|
|
chart: insights-1.9.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9292"
|
|
spec:
|
|
ports:
|
|
- name: insights
|
|
port: 9292
|
|
targetPort: 9292
|
|
selector:
|
|
app: insights
|
|
|
|
---
|
|
# Source: qliksense/charts/keys/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-keys
|
|
labels:
|
|
app: keys
|
|
chart: keys-1.5.11
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: keys
|
|
selector:
|
|
app: keys
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/licenses/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-licenses
|
|
labels:
|
|
app: licenses
|
|
chart: licenses-1.21.0
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9200"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 9200
|
|
targetPort: 9200
|
|
protocol: TCP
|
|
name: licenses
|
|
selector:
|
|
app: licenses
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/locale/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-locale
|
|
labels:
|
|
app: locale
|
|
chart: locale-1.3.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: locale
|
|
selector:
|
|
app: locale
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/management-console/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-management-console
|
|
labels:
|
|
app: management-console
|
|
chart: management-console-1.6.295
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9180"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 3024
|
|
targetPort: 3024
|
|
protocol: TCP
|
|
name: management-console
|
|
selector:
|
|
app: management-console
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats-streaming/templates/monitoring-svc.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-nats-streaming-monitoring
|
|
labels:
|
|
app: nats-streaming
|
|
chart: "nats-streaming-1.0.2"
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
annotations:
|
|
prometheus.io/port: "7777"
|
|
prometheus.io/scrape: "true"
|
|
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- name: monitoring
|
|
port: 8222
|
|
targetPort: monitoring
|
|
selector:
|
|
app: nats-streaming
|
|
release: "qliksense"
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats/templates/client-svc.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-nats-client
|
|
labels:
|
|
app: "nats"
|
|
chart: "nats-1.0.6"
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 4222
|
|
targetPort: client
|
|
name: client
|
|
selector:
|
|
app: "nats"
|
|
release: "qliksense"
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats/templates/cluster-svc.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-nats-cluster
|
|
labels:
|
|
app: "nats"
|
|
chart: "nats-1.0.6"
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 6222
|
|
targetPort: cluster
|
|
name: cluster
|
|
selector:
|
|
app: "nats"
|
|
release: "qliksense"
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats/templates/headless-svc.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-nats-headless
|
|
labels:
|
|
app: nats
|
|
chart: nats-1.0.6
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
spec:
|
|
type: ClusterIP
|
|
clusterIP: None
|
|
ports:
|
|
- name: client
|
|
port: 4222
|
|
targetPort: client
|
|
- name: cluster
|
|
port: 6222
|
|
targetPort: cluster
|
|
selector:
|
|
app: nats
|
|
release: "qliksense"
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats/templates/monitoring-svc.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-nats-monitoring
|
|
labels:
|
|
app: "nats"
|
|
chart: "nats-1.0.6"
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
annotations:
|
|
prometheus.io/port: "7777"
|
|
prometheus.io/scrape: "true"
|
|
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8222
|
|
targetPort: monitoring
|
|
name: monitoring
|
|
selector:
|
|
app: "nats"
|
|
release: "qliksense"
|
|
|
|
---
|
|
# Source: qliksense/charts/nl-broker/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-nl-broker
|
|
labels:
|
|
app: nl-broker
|
|
chart: nl-broker-1.2.3
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "30301"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 30301
|
|
targetPort: 30301
|
|
protocol: TCP
|
|
name: nl-broker
|
|
selector:
|
|
app: nl-broker
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/nl-parser/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-nl-parser
|
|
labels:
|
|
app: nl-parser
|
|
chart: nl-parser-1.3.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "30302"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 30302
|
|
targetPort: 30302
|
|
protocol: TCP
|
|
name: nl-parser
|
|
selector:
|
|
app: nl-parser
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/notification-prep/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-notification-prep
|
|
labels:
|
|
app: notification-prep
|
|
chart: notification-prep-1.0.10
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: notification-prep
|
|
selector:
|
|
app: notification-prep
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/odag/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-odag
|
|
labels:
|
|
app: odag
|
|
chart: odag-1.9.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9098"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 9098
|
|
protocol: TCP
|
|
name: qliksense-odag
|
|
selector:
|
|
app: odag
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/policy-decisions/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-policy-decisions
|
|
labels:
|
|
app: policy-decisions
|
|
chart: policy-decisions-2.0.0
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "5080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 5080
|
|
targetPort: 5080
|
|
protocol: TCP
|
|
name: policy-decisions
|
|
selector:
|
|
app: policy-decisions
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/precedents/templates/service-cayley.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-precedents-cayley
|
|
labels:
|
|
app: precedents
|
|
chart: precedents-1.1.32
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "50052"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 50052
|
|
targetPort: 50052
|
|
protocol: TCP
|
|
name: qliksense-precedents
|
|
selector:
|
|
app: precedents
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/precedents/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-precedents
|
|
labels:
|
|
app: precedents
|
|
chart: precedents-1.1.32
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9054"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 9054
|
|
targetPort: 9054
|
|
protocol: TCP
|
|
name: qliksense-precedents
|
|
selector:
|
|
app: precedents
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-data-connection/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-qix-data-connection
|
|
labels:
|
|
app: qix-data-connection
|
|
chart: qix-data-connection-1.8.9
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9011"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 9011
|
|
targetPort: 9011
|
|
protocol: TCP
|
|
name: qix-data-connection
|
|
selector:
|
|
app: qix-data-connection
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-datafiles/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-qix-datafiles
|
|
labels:
|
|
app: qix-datafiles
|
|
chart: qix-datafiles-1.10.42
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: qliksense-qix-datafiles
|
|
- port: 50051
|
|
targetPort: 50051
|
|
protocol: TCP
|
|
name: grpc
|
|
selector:
|
|
app: qix-datafiles
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-sessions/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-qix-sessions
|
|
labels:
|
|
app: qix-sessions
|
|
chart: qix-sessions-6.4.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/scrape_high_cardinality: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: qix-sessions
|
|
selector:
|
|
app: qix-sessions
|
|
release: qliksense
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-qix-sessions-operator-metrics
|
|
labels:
|
|
app: qix-sessions-operator-metrics
|
|
chart: qix-sessions-6.4.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9090"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 9090
|
|
targetPort: 9090
|
|
protocol: TCP
|
|
name: oper-metrics
|
|
selector:
|
|
app: qix-sessions
|
|
release: qliksense
|
|
|
|
---
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-qix-sessions-crd-metrics
|
|
labels:
|
|
app: qix-sessions-crd-metrics
|
|
chart: qix-sessions-6.4.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9091"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 9091
|
|
targetPort: 9091
|
|
protocol: TCP
|
|
name: crd-metrics
|
|
selector:
|
|
app: qix-sessions
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/qlikview-client/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-qlikview-client
|
|
labels:
|
|
app: qlikview-client
|
|
chart: qlikview-client-1.0.27
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9180"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 9003
|
|
targetPort: 9003
|
|
protocol: TCP
|
|
name: qlikview-client
|
|
selector:
|
|
app: qlikview-client
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/quotas/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-quotas
|
|
labels:
|
|
app: quotas
|
|
chart: quotas-1.0.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "6080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 6080
|
|
targetPort: 6080
|
|
protocol: TCP
|
|
name: quotas
|
|
selector:
|
|
app: quotas
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/headless-svc.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-redis-headless
|
|
labels:
|
|
app: redis
|
|
chart: redis-10.5.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
type: ClusterIP
|
|
clusterIP: None
|
|
ports:
|
|
- name: redis
|
|
port: 6379
|
|
targetPort: redis
|
|
selector:
|
|
app: redis
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/redis-master-svc.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-redis-master
|
|
labels:
|
|
app: redis
|
|
chart: redis-10.5.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- name: redis
|
|
port: 6379
|
|
targetPort: redis
|
|
selector:
|
|
app: redis
|
|
release: qliksense
|
|
role: master
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/redis-slave-svc.yaml
|
|
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-redis-slave
|
|
labels:
|
|
app: redis
|
|
chart: redis-10.5.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- name: redis
|
|
port: 6379
|
|
targetPort: redis
|
|
selector:
|
|
app: redis
|
|
release: qliksense
|
|
role: slave
|
|
|
|
---
|
|
# Source: qliksense/charts/reload-tasks/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-reload-tasks
|
|
labels:
|
|
app: reload-tasks
|
|
chart: reload-tasks-1.6.5
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: reload-tasks
|
|
selector:
|
|
app: reload-tasks
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/reloads/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-reloads
|
|
labels:
|
|
app: reloads
|
|
chart: reloads-1.7.10
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: reloads
|
|
selector:
|
|
app: reloads
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/reporting/templates/service-cmp.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-reporting-cmp
|
|
labels:
|
|
app: reporting
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8383"
|
|
spec:
|
|
ports:
|
|
- name: reporting-cmp
|
|
port: 8383
|
|
targetPort: 8383
|
|
selector:
|
|
app: reporting
|
|
|
|
---
|
|
# Source: qliksense/charts/reporting/templates/service-rpr.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-reporting-rpr
|
|
labels:
|
|
app: reporting
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8484"
|
|
spec:
|
|
ports:
|
|
- name: reporting-rpr
|
|
port: 8484
|
|
targetPort: 8484
|
|
selector:
|
|
app: reporting
|
|
|
|
---
|
|
# Source: qliksense/charts/reporting/templates/service-rwr.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-reporting-rwr
|
|
labels:
|
|
app: reporting
|
|
spec:
|
|
ports:
|
|
- name: reporting-rwr
|
|
port: 9288
|
|
targetPort: 9288
|
|
selector:
|
|
app: reporting
|
|
|
|
---
|
|
# Source: qliksense/charts/reporting/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-reporting
|
|
labels:
|
|
app: reporting
|
|
chart: reporting-1.18.25
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8282"
|
|
spec:
|
|
ports:
|
|
- name: reporting
|
|
port: 8282
|
|
targetPort: 8282
|
|
selector:
|
|
app: reporting
|
|
|
|
---
|
|
# Source: qliksense/charts/resource-library/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-resource-library
|
|
labels:
|
|
app: resource-library
|
|
chart: resource-library-1.10.11
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "21068"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 21068
|
|
targetPort: 21068
|
|
protocol: TCP
|
|
name: resource-library
|
|
selector:
|
|
app: resource-library
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/sense-client/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-sense-client
|
|
labels:
|
|
app: sense-client
|
|
chart: sense-client-1.7.112
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9180"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 9050
|
|
targetPort: http
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app: sense-client
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/sharing/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-sharing
|
|
labels:
|
|
app: sharing
|
|
chart: sharing-1.4.7
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8787"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8787
|
|
targetPort: 8787
|
|
protocol: TCP
|
|
name: sharing
|
|
selector:
|
|
app: sharing
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/spaces/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-spaces
|
|
labels:
|
|
app: spaces
|
|
chart: spaces-2.8.32
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "6080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 6080
|
|
targetPort: 6080
|
|
protocol: TCP
|
|
name: spaces
|
|
selector:
|
|
app: spaces
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/subscriptions/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-subscriptions
|
|
labels:
|
|
app: subscriptions
|
|
chart: subscriptions-1.0.3
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: subscriptions
|
|
selector:
|
|
app: subscriptions
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/temporary-contents/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-temporary-contents
|
|
labels:
|
|
app: temporary-contents
|
|
chart: temporary-contents-1.3.15
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "6080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 6080
|
|
targetPort: 6080
|
|
protocol: TCP
|
|
name: temporary-contents
|
|
selector:
|
|
app: temporary-contents
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/transport/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-transport
|
|
labels:
|
|
app: transport
|
|
chart: transport-1.4.0
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: transport
|
|
selector:
|
|
app: transport
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/web-notifications/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-web-notifications
|
|
labels:
|
|
app: web-notifications
|
|
chart: web-notifications-1.5.13
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "8080"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
name: web-notifications
|
|
selector:
|
|
app: web-notifications
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/web-security/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: qliksense-web-security
|
|
labels:
|
|
app: web-security
|
|
chart: web-security-1.4.18
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "6263"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 6263
|
|
targetPort: 6263
|
|
protocol: TCP
|
|
name: web-security
|
|
selector:
|
|
app: web-security
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/chronos-worker/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-chronos-worker
|
|
labels:
|
|
app: chronos-worker
|
|
chart: chronos-worker-1.4.10
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: chronos-worker
|
|
release: qliksense
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: chronos-worker
|
|
chart: chronos-worker-1.4.10
|
|
release: qliksense
|
|
heritage: Tiller
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
containers:
|
|
- image: ghcr.io/qlik-download/chronos-worker:0.8.0
|
|
name: chronos-worker
|
|
imagePullPolicy: IfNotPresent
|
|
args:
|
|
- -natsURI=nats://qliksense-nats-client:4222
|
|
- -stanClusterID=qliksense-nats-streaming-cluster
|
|
- -jwtTokenAuthEnabled=true
|
|
- -jwtTokenAuthURL=http://qliksense-edge-auth:8080/v1/internal-tokens
|
|
- -jwtKid=BKIz36TOxYe2wf6sB2f2pA5sb9GIDOZZXmWHDYG-pwQ
|
|
- -headerManagerEnabled=true
|
|
#resources:
|
|
# limits: {}
|
|
# requests: {}
|
|
ports:
|
|
- containerPort: 8080
|
|
env:
|
|
- name: REDIS_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-redis-secret
|
|
key: redis-addr
|
|
# - name: REDIS_PWD
|
|
# valueFrom:
|
|
# secretKeyRef:
|
|
# name: qliksense-redis-secret
|
|
# key: redis-password
|
|
- name: JWT_PRIVATE_KEY
|
|
value: "-----BEGIN EC PRIVATE KEY-----\nMIGkAgEBBDC3dOGDv3m5X/6y8dp1pQQBegCavKZCwUmI1l4p/HjaUEDZunScZ1mv\nVceTcH2/g4ugBwYFK4EEACKhZANiAASMo/DYuKlVdNMZT0h1YxVdoetpmRMXPD6s\nPJXjqXN1KL1SFYk9b/vQEZYJWuWrArTEegyNmNOPvaPUmLj3xzt5sUneGY0LlQ8y\nf2UvDiYmlGcsJ35od1gkcOQ2wk3laNw=\n-----END EC PRIVATE KEY-----\n"
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8080
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 30
|
|
timeoutSeconds: 5
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8080
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 30
|
|
timeoutSeconds: 5
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/chronos/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-chronos
|
|
labels:
|
|
app: chronos
|
|
chart: chronos-1.6.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: chronos
|
|
release: qliksense
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: chronos
|
|
chart: chronos-1.6.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
serviceAccountName: qliksense-chronos
|
|
containers:
|
|
- image: ghcr.io/qlik-download/leader-elector:1.8.0
|
|
name: "election"
|
|
imagePullPolicy: IfNotPresent
|
|
args:
|
|
- --election=qliksense-chronos
|
|
- --election-namespace=qliksense
|
|
- --http=0.0.0.0:4040
|
|
ports:
|
|
- containerPort: 4040
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 4040
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 30
|
|
timeoutSeconds: 5
|
|
|
|
- image: ghcr.io/qlik-download/chronos:0.14.0
|
|
name: chronos
|
|
imagePullPolicy: IfNotPresent
|
|
args:
|
|
- server
|
|
- --environment=k8s
|
|
- --disableapi=false
|
|
- --listenport=8585
|
|
- --svc=qliksense-chronos
|
|
- --nojwtvalidation=false
|
|
- --jwksuri=http://qliksense-keys:8080/v1/keys/qlik.api.internal
|
|
- --jwtaud=qlik.api.internal
|
|
- --jwtiss=qlik.api.internal
|
|
- --loglevel=info
|
|
#resources:
|
|
# limits: {}
|
|
# requests: {}
|
|
|
|
ports:
|
|
- containerPort: 8585
|
|
env:
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: REDIS_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-redis-secret
|
|
key: redis-addr
|
|
#- name: REDIS_PASSWORD
|
|
# valueFrom:
|
|
# secretKeyRef:
|
|
# name: qliksense-redis-secret
|
|
# key: redis-password
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 8585
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 30
|
|
timeoutSeconds: 5
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8585
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 30
|
|
timeoutSeconds: 5
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/collections/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-collections
|
|
labels:
|
|
app: collections
|
|
chart: collections-2.8.55
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: collections
|
|
chart: collections-2.8.55
|
|
release: qliksense
|
|
heritage: Tiller
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
containers:
|
|
- name: collections
|
|
image: ghcr.io/qlik-download/collections:1.6.6
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 8080
|
|
#resources:
|
|
# limits: {}
|
|
#requests: {}
|
|
|
|
env:
|
|
- name: TERMINATION_GRACE_PERIOD_SECONDS
|
|
value: "30"
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: PDS_URI
|
|
value: "http://qliksense-policy-decisions:5080"
|
|
- name: ACCESS_CONTROL_ENABLED
|
|
value: "true"
|
|
- name: AUTH_ENABLED
|
|
value: "true"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: LEGACY_ROUTER_ENABLED
|
|
value: "false"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: ROLLBAR_ENABLED
|
|
value: "false"
|
|
- name: MESSAGING_ENABLED
|
|
value: "true"
|
|
- name: NATS_ADDR
|
|
value: "nats://qliksense-nats-client:4222"
|
|
- name: NATS_CONNECT_WAIT_SECONDS
|
|
value:
|
|
- name: NATS_STREAMING_CLUSTER_ID
|
|
value: "qliksense-nats-streaming-cluster"
|
|
- name: NATS_STREAMING_CHANNEL
|
|
value: "system-events.engine.app,system-events.generic-links"
|
|
- name: NATS_TOKEN_AUTH_ENABLED
|
|
value: "true"
|
|
- name: NATS_TOKEN_AUTH_PRIVATE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-collections-tokenconfig
|
|
key: token-privateKey
|
|
- name: NATS_TOKEN_AUTH_KID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-collections-tokenconfig
|
|
key: token-kid
|
|
- name: NATS_TOKEN_AUTH_URL
|
|
value: "http://qliksense-edge-auth:8080/v1/internal-tokens"
|
|
- name: ACCESS_CONTROL_QUERY_TIMEOUT
|
|
value: "30"
|
|
- name: ACCESS_CONTROL_EVALUATE_TIMEOUT
|
|
value: "30"
|
|
- name: ENV
|
|
value:
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8080
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 8080
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
terminationGracePeriodSeconds: 30
|
|
selector:
|
|
matchLabels:
|
|
app: collections
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connections/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-connections
|
|
labels:
|
|
app: data-connections
|
|
chart: data-connections-1.7.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: data-connections
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-connections
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
containers:
|
|
- name: data-connections
|
|
image: ghcr.io/qlik-download/data-connections:0.5.0
|
|
imagePullPolicy:
|
|
volumeMounts:
|
|
- name: dc-storage
|
|
mountPath: "/mnt/key"
|
|
readOnly: true
|
|
env:
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: BYPASS_QUERY
|
|
value: "Qlik123456"
|
|
- name: ENABLE_CRYPTO
|
|
value: "false"
|
|
- name: ENABLE_JWT_AUTH
|
|
value: "true"
|
|
- name: ENABLE_INDEX_BUILD
|
|
value: "dataconnections:true,datacredentials:true,credmapping:true"
|
|
- name: JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: E2S_ADDR
|
|
value: "http://qliksense-encryption:8080"
|
|
- name: DATAFILES_URI
|
|
value: "http://qliksense-qix-datafiles:8080"
|
|
- name: NFS_ADDR
|
|
value: "qliksense-data-connector-nfs:50051"
|
|
- name: SPACE_URI
|
|
value: "http://qliksense-spaces:6080"
|
|
- name: AUTH_URI
|
|
value: "http://qliksense-edge-auth:8080"
|
|
- name: FEATURE_FLAG_ADDR
|
|
value: "http://qliksense-feature-flags:8080"
|
|
- name: PDS_ADDR
|
|
value: "http://qliksense-policy-decisions:5080"
|
|
- name: PRIVATE_KEY
|
|
value: /mnt/key/jwtPrivateKey
|
|
- name: KEY_ID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-keysconfig
|
|
key: jwksKeyID
|
|
- name: LOG_LEVEL
|
|
value: "info"
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: NATS_ADDR
|
|
value: "nats://qliksense-nats-client:4222"
|
|
- name: NATS_CLUSTER_ID
|
|
value: "qliksense-nats-streaming-cluster"
|
|
- name: REDIS_ADDR
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-dcaas-redis-secret
|
|
key: redis-addr
|
|
#- name: REDIS_PASSWORD
|
|
# valueFrom:
|
|
# secretKeyRef:
|
|
# name: qliksense-dcaas-redis-secret
|
|
# key: redis-password
|
|
- name: REDIS_ENCRYPTION_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-encryptionconfig
|
|
key: redisEncryptionKey
|
|
ports:
|
|
- name: http
|
|
containerPort: 9011
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 9011
|
|
#resources: {}
|
|
|
|
volumes:
|
|
- name: dc-storage
|
|
secret:
|
|
secretName: qliksense-keysconfig
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-odbc/templates/deployment-cmd.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-connector-odbc-cmd
|
|
labels:
|
|
app: data-connector-odbc
|
|
chart: data-connector-odbc-1.4.10
|
|
action: "command"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: data-connector-odbc
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-connector-odbc
|
|
release: qliksense
|
|
action: "command"
|
|
spec:
|
|
containers:
|
|
- name: data-connector-odbc
|
|
image: ghcr.io/qlik-download/data-connector-odbc:6.54.0
|
|
imagePullPolicy:
|
|
env:
|
|
- name: STANDALONE
|
|
value: "false"
|
|
- name: DATA_HOST
|
|
value: 0.0.0.0
|
|
- name: DATA_PORT_RANGE_START
|
|
value: "50060"
|
|
- name: DATA_PORT_RANGE_END
|
|
value: "50060"
|
|
- name: CONFIG
|
|
value: /opt/runner/Odbc_dotnetcore.json
|
|
- name: LOG_LEVEL
|
|
value: "INFO"
|
|
- name: SERVICE_MODE
|
|
value: "true"
|
|
- name: QS_ENVIRONMENT
|
|
value: "QLIKSENSE"
|
|
ports:
|
|
- name: grpc
|
|
containerPort: 50060
|
|
protocol: TCP
|
|
- name: http
|
|
containerPort: 3005
|
|
protocol: TCP
|
|
volumeMounts:
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 3005
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
securityContext:
|
|
supplementalGroups:
|
|
- 13000
|
|
volumes:
|
|
# selector:
|
|
# matchLabels:
|
|
# app: data-connector-odbc
|
|
# release: qliksense
|
|
# action: "command"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-odbc/templates/deployment-rld.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-connector-odbc-rld
|
|
labels:
|
|
app: data-connector-odbc
|
|
chart: data-connector-odbc-1.4.10
|
|
action: "reload"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: data-connector-odbc
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-connector-odbc
|
|
release: qliksense
|
|
action: "reload"
|
|
spec:
|
|
containers:
|
|
- name: data-connector-odbc
|
|
image: ghcr.io/qlik-download/data-connector-odbc:6.54.0
|
|
imagePullPolicy:
|
|
env:
|
|
- name: STANDALONE
|
|
value: "false"
|
|
- name: DATA_HOST
|
|
value: 0.0.0.0
|
|
- name: DATA_PORT_RANGE_START
|
|
value: "50060"
|
|
- name: DATA_PORT_RANGE_END
|
|
value: "50060"
|
|
- name: CONFIG
|
|
value: /opt/runner/Odbc_dotnetcore.json
|
|
- name: LOG_LEVEL
|
|
value: "INFO"
|
|
- name: SERVICE_MODE
|
|
value: "true"
|
|
- name: QS_ENVIRONMENT
|
|
value: "QLIKSENSE"
|
|
- name: ENABLE_SHUTDOWN_DRAIN
|
|
value: "false"
|
|
- name: SHUTDOWN_TIMEOUT
|
|
value: "30"
|
|
#volumeMounts:
|
|
ports:
|
|
- name: grpc
|
|
containerPort: 50060
|
|
protocol: TCP
|
|
- name: http
|
|
containerPort: 3005
|
|
protocol: TCP
|
|
volumeMounts:
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 3005
|
|
#resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
securityContext:
|
|
supplementalGroups:
|
|
- 13000
|
|
terminationGracePeriodSeconds: 30
|
|
volumes:
|
|
selector:
|
|
matchLabels:
|
|
app: data-connector-odbc
|
|
release: qliksense
|
|
action: "reload"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-qwc/templates/deployment-cmd.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-connector-qwc-cmd
|
|
labels:
|
|
app: data-connector-qwc
|
|
chart: data-connector-qwc-3.0.3
|
|
action: "command"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: data-connector-qwc
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-connector-qwc
|
|
release: qliksense
|
|
action: "command"
|
|
spec:
|
|
volumes:
|
|
containers:
|
|
- name: data-connector-qwc
|
|
image: ghcr.io/qlik-download/data-connector-qwc:0.80.0
|
|
imagePullPolicy:
|
|
volumeMounts:
|
|
env:
|
|
- name: DATA_HOST
|
|
value: 0.0.0.0
|
|
- name: DATA_PORT_RANGE_START
|
|
value: "50060"
|
|
- name: DATA_PORT_RANGE_END
|
|
value: "50060"
|
|
- name: QWC_REDIS_CONFIG_STRING
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-dcaas-redis-secret
|
|
key: redis-addr
|
|
- name: QWC_REDIS_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-dcaas-redis-secret
|
|
key: redis-password
|
|
- name: QWC_LOG_LEVEL
|
|
value: "INFO"
|
|
- name: QWC_ALLOW_REFERENCE_CONNECTOR
|
|
value: "true"
|
|
ports:
|
|
- name: grpc
|
|
containerPort: 50060
|
|
protocol: TCP
|
|
- name: http
|
|
containerPort: 3005
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 3005
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
#selector:
|
|
# matchLabels:
|
|
# app: data-connector-qwc
|
|
# release: qliksense
|
|
# action: "command"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-qwc/templates/deployment-rld.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-connector-qwc-rld
|
|
labels:
|
|
app: data-connector-qwc
|
|
chart: data-connector-qwc-3.0.3
|
|
action: "reload"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: data-connector-qwc
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-connector-qwc
|
|
release: qliksense
|
|
action: "reload"
|
|
spec:
|
|
volumes:
|
|
containers:
|
|
- name: data-connector-qwc
|
|
image: ghcr.io/qlik-download/data-connector-qwc:0.80.0
|
|
imagePullPolicy:
|
|
volumeMounts:
|
|
env:
|
|
- name: DATA_HOST
|
|
value: 0.0.0.0
|
|
- name: DATA_PORT_RANGE_START
|
|
value: "50060"
|
|
- name: DATA_PORT_RANGE_END
|
|
value: "50060"
|
|
- name: MAX_ACTIVE_RELOADS
|
|
value: "3"
|
|
- name: FILE_TRANSFER_ABOVE_MAX_ALLOWANCE
|
|
value: "2"
|
|
- name: QWC_REDIS_CONFIG_STRING
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-dcaas-redis-secret
|
|
key: redis-addr
|
|
- name: QWC_REDIS_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-dcaas-redis-secret
|
|
key: redis-password
|
|
- name: QWC_LOG_LEVEL
|
|
value: "INFO"
|
|
- name: QWC_ALLOW_REFERENCE_CONNECTOR
|
|
value: "true"
|
|
- name: ENABLE_SHUTDOWN_DRAIN
|
|
value: "false"
|
|
- name: SHUTDOWN_TIMEOUT
|
|
value: "30"
|
|
ports:
|
|
- name: grpc
|
|
containerPort: 50060
|
|
protocol: TCP
|
|
- name: http
|
|
containerPort: 3005
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 3005
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /readiness
|
|
port: 3005
|
|
initialDelaySeconds: 2
|
|
periodSeconds: 10
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
terminationGracePeriodSeconds: 30
|
|
#selector:
|
|
## matchLabels:
|
|
# app: data-connector-qwc
|
|
# release: qliksense
|
|
# action: "reload"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-qwc/templates/deployment-web.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-connector-qwc-web
|
|
labels:
|
|
app: data-connector-qwc
|
|
chart: data-connector-qwc-3.0.3
|
|
action: "web"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: data-connector-qwc
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-connector-qwc
|
|
release: qliksense
|
|
action: "web"
|
|
spec:
|
|
containers:
|
|
- name: data-connector-qwc
|
|
image: ghcr.io/qlik-download/data-connector-qwc-web:0.80.0
|
|
imagePullPolicy:
|
|
ports:
|
|
- name: http
|
|
containerPort: 6384
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 6384
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
# selector:
|
|
# matchLabels:
|
|
# app: data-connector-qwc
|
|
# release: qliksense
|
|
# action: "web"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-rest/templates/deployment-cmd.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-connector-rest-cmd
|
|
labels:
|
|
app: data-connector-rest
|
|
chart: data-connector-rest-1.2.9
|
|
action: "command"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-connector-rest
|
|
release: qliksense
|
|
action: "command"
|
|
spec:
|
|
containers:
|
|
- name: data-connector-rest
|
|
image: ghcr.io/qlik-download/data-connector-rest:2.39.0
|
|
imagePullPolicy:
|
|
env:
|
|
- name: STANDALONE
|
|
value: "false"
|
|
- name: DATA_HOST
|
|
value: 0.0.0.0
|
|
- name: DATA_PORT_RANGE_START
|
|
value: "50060"
|
|
- name: DATA_PORT_RANGE_END
|
|
value: "50060"
|
|
- name: CONFIG
|
|
value: /opt/runner/Rest_dotnetcore.json
|
|
- name: LOG_LEVEL
|
|
value: "INFO"
|
|
- name: SERVICE_MODE
|
|
value: "true"
|
|
- name: QS_ENVIRONMENT
|
|
value: "QLIKSENSE"
|
|
volumeMounts:
|
|
ports:
|
|
- name: grpc
|
|
containerPort: 50060
|
|
protocol: TCP
|
|
- name: http
|
|
containerPort: 3005
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 3005
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
securityContext:
|
|
supplementalGroups:
|
|
- 13100
|
|
volumes:
|
|
selector:
|
|
matchLabels:
|
|
app: data-connector-rest
|
|
release: qliksense
|
|
action: "command"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-rest/templates/deployment-rld.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-connector-rest-rld
|
|
labels:
|
|
app: data-connector-rest
|
|
chart: data-connector-rest-1.2.9
|
|
action: "reload"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-connector-rest
|
|
release: qliksense
|
|
action: "reload"
|
|
spec:
|
|
containers:
|
|
- name: data-connector-rest
|
|
image: ghcr.io/qlik-download/data-connector-rest:2.39.0
|
|
imagePullPolicy:
|
|
env:
|
|
- name: STANDALONE
|
|
value: "false"
|
|
- name: DATA_HOST
|
|
value: 0.0.0.0
|
|
- name: DATA_PORT_RANGE_START
|
|
value: "50060"
|
|
- name: DATA_PORT_RANGE_END
|
|
value: "50060"
|
|
- name: CONFIG
|
|
value: /opt/runner/Rest_dotnetcore.json
|
|
- name: LOG_LEVEL
|
|
value: "INFO"
|
|
- name: SERVICE_MODE
|
|
value: "true"
|
|
- name: MAX_ACTIVE_RELOADS
|
|
value: "3"
|
|
- name: QS_ENVIRONMENT
|
|
value: "QLIKSENSE"
|
|
- name: ENABLE_SHUTDOWN_DRAIN
|
|
value: "false"
|
|
- name: SHUTDOWN_TIMEOUT
|
|
value: "30"
|
|
volumeMounts:
|
|
ports:
|
|
- name: grpc
|
|
containerPort: 50060
|
|
protocol: TCP
|
|
- name: http
|
|
containerPort: 3005
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 3005
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /readiness
|
|
port: 3005
|
|
initialDelaySeconds: 2
|
|
periodSeconds: 10
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
securityContext:
|
|
supplementalGroups:
|
|
- 13100
|
|
terminationGracePeriodSeconds: 30
|
|
volumes:
|
|
selector:
|
|
matchLabels:
|
|
app: data-connector-rest
|
|
release: qliksense
|
|
action: "reload"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-sap-sql/templates/deployment-cmd.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-connector-sap-sql-cmd
|
|
labels:
|
|
app: data-connector-sap-sql
|
|
chart: data-connector-sap-sql-1.1.18
|
|
action: "command"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-connector-sap-sql
|
|
release: qliksense
|
|
action: "command"
|
|
spec:
|
|
containers:
|
|
- name: data-connector-sap-sql
|
|
image: ghcr.io/qlik-download/data-connector-sap-sql:7.0.18
|
|
imagePullPolicy: IfNotPresent
|
|
env:
|
|
- name: STANDALONE
|
|
value: "false"
|
|
- name: LICENSES_URL
|
|
value: "http://qliksense-licenses:9200"
|
|
- name: DATA_HOST
|
|
value: 0.0.0.0
|
|
- name: DATA_PORT_RANGE_START
|
|
value: "50060"
|
|
- name: DATA_PORT_RANGE_END
|
|
value: "50060"
|
|
- name: CONFIG
|
|
value: /opt/runner/SAP-sql_dotnetcore.json
|
|
- name: LOG_LEVEL
|
|
value: "INFO"
|
|
- name: SERVICE_MODE
|
|
value: "true"
|
|
volumeMounts:
|
|
ports:
|
|
- name: grpc
|
|
containerPort: 50060
|
|
protocol: TCP
|
|
- name: http
|
|
containerPort: 3005
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 3005
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
volumes:
|
|
selector:
|
|
matchLabels:
|
|
app: data-connector-sap-sql
|
|
release: qliksense
|
|
action: "command"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-sap-sql/templates/deployment-rld.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-connector-sap-sql-rld
|
|
labels:
|
|
app: data-connector-sap-sql
|
|
chart: data-connector-sap-sql-1.1.18
|
|
action: "reload"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-connector-sap-sql
|
|
release: qliksense
|
|
action: "reload"
|
|
spec:
|
|
containers:
|
|
- name: data-connector-sap-sql
|
|
image: ghcr.io/qlik-download/data-connector-sap-sql:7.0.18
|
|
imagePullPolicy: IfNotPresent
|
|
env:
|
|
- name: STANDALONE
|
|
value: "false"
|
|
- name: LICENSES_URL
|
|
value: "http://qliksense-licenses:9200"
|
|
- name: DATA_HOST
|
|
value: 0.0.0.0
|
|
- name: DATA_PORT_RANGE_START
|
|
value: "50060"
|
|
- name: DATA_PORT_RANGE_END
|
|
value: "50060"
|
|
- name: CONFIG
|
|
value: /opt/runner/SAP-sql_dotnetcore.json
|
|
- name: LOG_LEVEL
|
|
value: "INFO"
|
|
- name: SERVICE_MODE
|
|
value: "true"
|
|
- name: MAX_ACTIVE_RELOADS
|
|
value: "3"
|
|
volumeMounts:
|
|
ports:
|
|
- name: grpc
|
|
containerPort: 50060
|
|
protocol: TCP
|
|
- name: http
|
|
containerPort: 3005
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 3005
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /readiness
|
|
port: 3005
|
|
initialDelaySeconds: 2
|
|
periodSeconds: 10
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
volumes:
|
|
selector:
|
|
matchLabels:
|
|
app: data-connector-sap-sql
|
|
release: qliksense
|
|
action: "reload"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-sfdc/templates/deployment-cmd.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-connector-sfdc-cmd
|
|
labels:
|
|
app: data-connector-sfdc
|
|
chart: data-connector-sfdc-1.6.3
|
|
action: "command"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-connector-sfdc
|
|
release: qliksense
|
|
action: "command"
|
|
spec:
|
|
containers:
|
|
- name: data-connector-sfdc
|
|
image: ghcr.io/qlik-download/data-connector-sfdc:15.24.0
|
|
imagePullPolicy:
|
|
env:
|
|
- name: STANDALONE
|
|
value: "false"
|
|
- name: DATA_HOST
|
|
value: 0.0.0.0
|
|
- name: DATA_PORT_RANGE_START
|
|
value: "50060"
|
|
- name: DATA_PORT_RANGE_END
|
|
value: "50060"
|
|
- name: CONFIG
|
|
value: /opt/runner/Sfdc_dotnetcore.json
|
|
- name: LOG_LEVEL
|
|
value: "INFO"
|
|
- name: SERVICE_MODE
|
|
value: "true"
|
|
- name: QS_ENVIRONMENT
|
|
value: "QLIKSENSE"
|
|
volumeMounts:
|
|
ports:
|
|
- name: grpc
|
|
containerPort: 50060
|
|
protocol: TCP
|
|
- name: http
|
|
containerPort: 3005
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 3005
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
securityContext:
|
|
supplementalGroups:
|
|
- 13200
|
|
volumes:
|
|
selector:
|
|
matchLabels:
|
|
app: data-connector-sfdc
|
|
release: qliksense
|
|
action: "command"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-sfdc/templates/deployment-rld.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-connector-sfdc-rld
|
|
labels:
|
|
app: data-connector-sfdc
|
|
chart: data-connector-sfdc-1.6.3
|
|
action: "reload"
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
# selector:
|
|
# matchLabels:
|
|
# app: data-connector-sfdc
|
|
# action: "reload"
|
|
# release: qliksense
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-connector-sfdc
|
|
release: qliksense
|
|
action: "reload"
|
|
spec:
|
|
containers:
|
|
- name: data-connector-sfdc
|
|
image: ghcr.io/qlik-download/data-connector-sfdc:15.24.0
|
|
imagePullPolicy:
|
|
env:
|
|
- name: STANDALONE
|
|
value: "false"
|
|
- name: DATA_HOST
|
|
value: 0.0.0.0
|
|
- name: DATA_PORT_RANGE_START
|
|
value: "50060"
|
|
- name: DATA_PORT_RANGE_END
|
|
value: "50060"
|
|
- name: CONFIG
|
|
value: /opt/runner/Sfdc_dotnetcore.json
|
|
- name: LOG_LEVEL
|
|
value: "INFO"
|
|
- name: SERVICE_MODE
|
|
value: "true"
|
|
- name: MAX_ACTIVE_RELOADS
|
|
value: "3"
|
|
- name: QS_ENVIRONMENT
|
|
value: "QLIKSENSE"
|
|
- name: ENABLE_SHUTDOWN_DRAIN
|
|
value: "false"
|
|
- name: SHUTDOWN_TIMEOUT
|
|
value: ""
|
|
volumeMounts:
|
|
ports:
|
|
- name: grpc
|
|
containerPort: 50060
|
|
protocol: TCP
|
|
- name: http
|
|
containerPort: 3005
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 3005
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /readiness
|
|
port: 3005
|
|
initialDelaySeconds: 2
|
|
periodSeconds: 10
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
securityContext:
|
|
supplementalGroups:
|
|
- 13200
|
|
terminationGracePeriodSeconds:
|
|
volumes:
|
|
selector:
|
|
matchLabels:
|
|
app: data-connector-sfdc
|
|
release: qliksense
|
|
action: "reload"
|
|
|
|
---
|
|
# Source: qliksense/charts/data-prep/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-prep
|
|
labels:
|
|
app: data-prep
|
|
chart: data-prep-2.0.7
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: data-prep
|
|
release: qliksense
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-prep
|
|
release: qliksense
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
containers:
|
|
- name: data-prep
|
|
image: ghcr.io/qlik-download/data-prep-service:2.194.0
|
|
imagePullPolicy:
|
|
env:
|
|
- name: PORT
|
|
value: "9072"
|
|
- name: BINDADDRESS
|
|
value: "::"
|
|
- name: ENGINEPORT
|
|
value: "8080"
|
|
- name: TTL
|
|
value: "10000"
|
|
- name: KEEPALIVE
|
|
value: "30000"
|
|
- name: DATAFILESHOST
|
|
value: "qliksense-datafiles"
|
|
- name: DATAFILESPORT
|
|
value: "8080"
|
|
- name: QIXDATAFILESHOST
|
|
value: "qliksense-qix-datafiles"
|
|
- name: QIXDATAFILESPORT
|
|
value: "8080"
|
|
- name: PRECEDENTSHOST
|
|
value: "qliksense-precedents"
|
|
- name: PRECEDENTSPORT
|
|
value: "9054"
|
|
- name: LOGICALAPPSFOLDER
|
|
value: /qlik/apps
|
|
- name: LOGICALGEOFOLDER
|
|
value: /geo
|
|
- name: ENGINEADDRESS
|
|
value: "qliksense-qix-sessions"
|
|
- name: LOGPATH
|
|
value: /logs
|
|
- name: DATAPATH
|
|
value: /
|
|
- name: LOGLEVEL
|
|
value: verbose
|
|
- name: MODE
|
|
value: elastic
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: FEATURE_FLAG_URL
|
|
value: "http://qliksense-feature-flags.qlik:8080/v1/features"
|
|
- name: DPS_REDIS_URL
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-redis-secret
|
|
key: redis-addr
|
|
- name: DPS_REDIS_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-redis-secret
|
|
key: redis-password
|
|
- name: SPACES_URI
|
|
value: "http://qliksense-spaces:6080"
|
|
ports:
|
|
- containerPort: 9072
|
|
volumeMounts:
|
|
- mountPath: /qlik/apps
|
|
name: apps-storage
|
|
- mountPath: /Apps
|
|
name: apps-storage
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 9072
|
|
failureThreshold:
|
|
periodSeconds:
|
|
# resources: {}
|
|
|
|
volumes:
|
|
- name: apps-storage
|
|
emptyDir: {}
|
|
|
|
---
|
|
# Source: qliksense/charts/data-rest-source/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-data-rest-source
|
|
labels:
|
|
app: data-rest-source
|
|
chart: data-rest-source-1.2.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: data-rest-source
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: data-rest-source
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- name: data-rest-source
|
|
image: ghcr.io/qlik-download/data-rest-source:1.0.6
|
|
imagePullPolicy:
|
|
env:
|
|
- name: HOST_PORT
|
|
value: "8080"
|
|
- name: PROMETHEUS_PORT
|
|
value: "8080"
|
|
ports:
|
|
- name: http
|
|
containerPort: 8080
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8080
|
|
# resources: {}
|
|
|
|
volumeMounts:
|
|
volumes:
|
|
- name: data-rest-source-prestop-hook
|
|
configMap:
|
|
name: qliksense-data-rest-source-prestop-hook
|
|
defaultMode: 0755
|
|
optional: true
|
|
terminationGracePeriodSeconds: 30
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas-web/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-dcaas-web
|
|
labels:
|
|
app: dcaas-web
|
|
chart: dcaas-web-1.1.92
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: dcaas-web
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: dcaas-web
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- name: dcaas-web
|
|
image: ghcr.io/qlik-download/dcaas-web:1.1.88
|
|
imagePullPolicy:
|
|
ports:
|
|
- name: http
|
|
containerPort: 6384
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 6384
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-dcaas
|
|
labels:
|
|
app: dcaas
|
|
chart: dcaas-1.7.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: dcaas
|
|
release: qliksense
|
|
spec:
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
|
|
containers:
|
|
- name: dcaas
|
|
image: ghcr.io/qlik-download/dcaas:1.8.3
|
|
imagePullPolicy:
|
|
env:
|
|
- name: NODE_ENV
|
|
value: enterprise
|
|
- name: LOG_LEVEL
|
|
value: info
|
|
- name: CONNECTOR_SERVICE
|
|
value: "qliksense-data-connector-rest-rld:qliksense-data-connector-rest-cmd:50060 qliksense-data-connector-qwc-rld:qliksense-data-connector-qwc-cmd:50060 qliksense-data-connector-odbc-rld:qliksense-data-connector-odbc-cmd:50060 qliksense-data-connector-sap-sql-rld:qliksense-data-connector-sap-sql-cmd:50060 qliksense-data-connector-sap-bw-rld:qliksense-data-connector-sap-bw-cmd:50060 qliksense-qix-datafiles:50051"
|
|
- name: DATA_CONNECTION_SERVICE
|
|
value: "http://qliksense-qix-data-connection:9011"
|
|
- name: NEW_DATA_CONNECTION_SERVICE
|
|
value: "http://qliksense-data-connections:9011"
|
|
- name: SPACE_SERVICE
|
|
value: "http://qliksense-spaces:6080"
|
|
- name: EMULATE_STORAGE_PROVIDER
|
|
value: "true"
|
|
- name: ENABLE_JWT_AUTH
|
|
value: "true"
|
|
- name: ENABLE_POD_LOADBALANCING
|
|
value: "false"
|
|
- name: JWKS_ENDPOINT
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: ENABLE_FEATUREFLAG_FILTERING
|
|
value: "true"
|
|
- name: FEATUREFLAG_URL
|
|
value: "http://qliksense-feature-flags:8080"
|
|
ports:
|
|
- name: http
|
|
containerPort: 9026
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 9026
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
selector:
|
|
matchLabels:
|
|
app: dcaas
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-deployment.yaml
|
|
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app: nginx-ingress
|
|
chart: nginx-ingress-1.36.2
|
|
heritage: Tiller
|
|
release: qliksense
|
|
app.kubernetes.io/component: controller
|
|
name: qliksense-nginx-ingress-controller
|
|
annotations:
|
|
{}
|
|
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: nginx-ingress
|
|
release: qliksense
|
|
replicas: 1
|
|
revisionHistoryLimit: 10
|
|
strategy:
|
|
{}
|
|
|
|
minReadySeconds: 0
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: nginx-ingress
|
|
release: qliksense
|
|
component: "controller"
|
|
app.kubernetes.io/component: controller
|
|
spec:
|
|
dnsPolicy: ClusterFirst
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
containers:
|
|
- name: nginx-ingress-controller
|
|
image: ghcr.io/qlik-download/nginx-ingress-controller:2.1.1
|
|
imagePullPolicy: "IfNotPresent"
|
|
lifecycle:
|
|
preStop:
|
|
exec:
|
|
command:
|
|
- /wait-shutdown
|
|
|
|
args:
|
|
- /nginx-ingress-controller
|
|
- --election-id=ingress-controller-leader
|
|
- --ingress-class=qlik-nginx
|
|
- --configmap=qliksense/qliksense-nginx-ingress-controller
|
|
- --watch-namespace=qliksense
|
|
- --update-status=false
|
|
- --default-ssl-certificate=default/elastic-infra-elastic-infra-tls-secret
|
|
- --metrics-per-host=false
|
|
securityContext:
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
add:
|
|
- NET_BIND_SERVICE
|
|
runAsUser: 101
|
|
allowPrivilegeEscalation: true
|
|
env:
|
|
- name: POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: POD_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
- name: JAEGER_AGENT_HOST
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: status.hostIP
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: 10254
|
|
scheme: HTTP
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
timeoutSeconds: 1
|
|
successThreshold: 1
|
|
failureThreshold: 3
|
|
ports:
|
|
- name: http
|
|
containerPort: 80
|
|
protocol: TCP
|
|
- name: https
|
|
containerPort: 443
|
|
protocol: TCP
|
|
- name: metrics
|
|
containerPort: 10254
|
|
protocol: TCP
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /healthz
|
|
port: 10254
|
|
scheme: HTTP
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 10
|
|
timeoutSeconds: 1
|
|
successThreshold: 1
|
|
failureThreshold: 3
|
|
# resources: {}
|
|
|
|
hostNetwork: false
|
|
serviceAccountName: qliksense-nginx-ingress
|
|
terminationGracePeriodSeconds: 300
|
|
|
|
---
|
|
# Source: qliksense/charts/eventing/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-eventing
|
|
labels:
|
|
app: eventing
|
|
chart: eventing-1.3.3
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: eventing
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: eventing
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
containers:
|
|
- name: eventing
|
|
image: ghcr.io/qlik-download/eventing:0.0.19
|
|
imagePullPolicy:
|
|
ports:
|
|
- name: http
|
|
containerPort: 8080
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: http
|
|
env:
|
|
- name: LOG_LEVEL
|
|
value: "debug"
|
|
- name: JWKS_ENDPOINT
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: KEY_ID
|
|
value: "_a9lgpnajgIAPxZIrOfyJ2O_xFyEP0QyywWewyYNoWo"
|
|
- name: PRIVATE_KEY_FILE
|
|
value: "/run/secret/eventing/jwtPrivateKey"
|
|
- name: INTERNAL_TOKENS_RESOURCE
|
|
value: "http://qliksense-edge-auth:8080/v1"
|
|
- name: FEATURE_FLAGS_RESOURCE
|
|
value: "http://qliksense-feature-flags:8080/v1"
|
|
- name: SUBSCRIPTIONS_RESOURCE
|
|
value: "http://qliksense-subscriptions:8080/v1"
|
|
- name: USERS_RESOURCE
|
|
value: "http://qliksense-users:8080/v1"
|
|
- name: SPACES_RESOURCE
|
|
value: "http://qliksense-spaces:6080/v1"
|
|
- name: ROLLBAR_ENABLED
|
|
value: "false"
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: NATS_URL
|
|
value: "http://qliksense-nats-client:4222"
|
|
- name: NATS_CLUSTER_ID
|
|
value: qliksense-nats-streaming-cluster
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
volumeMounts:
|
|
- name: qliksense-eventing-secret
|
|
mountPath: "/run/secret/eventing"
|
|
readOnly: true
|
|
# resources: {}
|
|
|
|
volumes:
|
|
- name: qliksense-eventing-secret
|
|
secret:
|
|
secretName: qliksense-eventing-secret
|
|
|
|
---
|
|
# Source: qliksense/charts/feature-flags/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-feature-flags
|
|
labels:
|
|
app: feature-flags
|
|
chart: feature-flags-2.0.8
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: feature-flags
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: feature-flags
|
|
release: qliksense
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
|
|
containers:
|
|
- name: feature-flags
|
|
image: ghcr.io/qlik-download/feature-flags:2.0.1
|
|
imagePullPolicy:
|
|
env:
|
|
- name: FEATURES_FILE_PATH
|
|
value: "/etc/config/feature-flags/featuresConfig"
|
|
- name: FEATURES_POLL_INTERVAL
|
|
value: "120000"
|
|
- name: JWKS_ENDPOINT
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: ENVIRONMENT
|
|
value: "example"
|
|
- name: REGION
|
|
value: "example"
|
|
- name: ROLLBAR_ENABLED
|
|
value: "false"
|
|
- name: LOG_LEVEL
|
|
value: verbose
|
|
ports:
|
|
- name: http
|
|
containerPort: 8080
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
volumeMounts:
|
|
- name: qliksense-feature-flags
|
|
mountPath: "/etc/config/feature-flags"
|
|
readOnly: true
|
|
# resources: {}
|
|
|
|
volumes:
|
|
- name: qliksense-feature-flags
|
|
configMap:
|
|
# Provide the name of the ConfigMap containing the files you want
|
|
# to add to the container
|
|
name: qliksense-feature-flags-configmap
|
|
|
|
---
|
|
# Source: qliksense/charts/generic-links/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-generic-links
|
|
labels:
|
|
app: generic-links
|
|
chart: generic-links-1.1.18
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: generic-links
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
containers:
|
|
- name: generic-links
|
|
image: ghcr.io/qlik-download/generic-links:1.0.1
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 6080
|
|
# resources: {}
|
|
|
|
env:
|
|
- name: TERMINATION_GRACE_PERIOD
|
|
value: "30"
|
|
- name: LOG_LEVEL
|
|
value: "info"
|
|
- name: AUTH_ENABLED
|
|
value: "true"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: MESSAGING_ENABLED
|
|
value: "true"
|
|
- name: MESSAGING_AUTH_ENABLED
|
|
value: "true"
|
|
- name: MESSAGING_NATS_ADDR
|
|
value: "nats://qliksense-nats-client:4222"
|
|
- name: MESSAGING_STAN_CLUSTER_ID
|
|
value: "qliksense-nats-streaming-cluster"
|
|
- name: TOKEN_PRIVATE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-generic-links-tokenconfig
|
|
key: token-privateKey
|
|
- name: TOKEN_KID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-generic-links-tokenconfig
|
|
key: token-kid
|
|
- name: TOKEN_URI
|
|
value: "http://qliksense-edge-auth:8080/v1/internal-tokens"
|
|
- name: WEB_RISK_ENABLED
|
|
value: "false"
|
|
- name: ITEMS_ENABLED
|
|
value: "true"
|
|
- name: ITEMS_URI
|
|
value: "http://qliksense-collections:8080"
|
|
- name: ACCESS_CONTROL_ENABLED
|
|
value: "true"
|
|
- name: PDS_URL
|
|
value: "http://qliksense-policy-decisions:5080"
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 6080
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 6080
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
|
|
terminationGracePeriodSeconds: 30
|
|
selector:
|
|
matchLabels:
|
|
app: generic-links
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/geo-operations/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-geo-operations
|
|
labels:
|
|
app: qliksense-geo-operations
|
|
chart: geo-operations-1.1.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: qliksense-geo-operations
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: qliksense-geo-operations
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- name: qliksense-geo-operations
|
|
image: ghcr.io/qlik-download/geo-operations-service:1.3.0
|
|
imagePullPolicy: IfNotPresent
|
|
ports:
|
|
- name: grpc
|
|
containerPort: 50072
|
|
protocol: TCP
|
|
- name: http
|
|
containerPort: 40072
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 40072
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /readiness
|
|
port: 40072
|
|
# resources: {}
|
|
|
|
env:
|
|
- name: LOG_LEVEL
|
|
value: "debug"
|
|
- name: SERVER_URL
|
|
value: "https://ga.qlikcloud.com"
|
|
- name: SERVER_KEY
|
|
value: ""
|
|
- name: FEATUREFLAG_URL
|
|
value: "http://qliksense-feature-flags:8080"
|
|
- name: LICENSES_URL
|
|
value: "http://qliksense-licenses:9200"
|
|
- name: EDGEAUTH_URL
|
|
value: "http://qliksense-edge-auth:8080"
|
|
- name: MAX_DATASET_ROWS
|
|
value: ""
|
|
- name: MAX_DATASET_BYTES
|
|
value: ""
|
|
- name: THROTTLING_MAX_CONCURRENT
|
|
value: "3"
|
|
- name: THROTTLING_MAX_QUEUE
|
|
value: "5"
|
|
- name: THROTTLING_TIMEOUT
|
|
value: "180000"
|
|
- name: JWT_KEY_ID
|
|
value: "N0I3roEVoh1utSb1JFkqklahRXmGikq8FIkxLLuEpcU"
|
|
- name: JWT_PRIVATE_KEY
|
|
value: "-----BEGIN PRIVATE KEY-----\nMIG2AgEAMBAGByqGSM49AgEGBSuBBAAiBIGeMIGbAgEBBDDt5IxHuof7bdi4TT3/\nx1KC2tPJPHQl3m+Sqnl4S3HumVtfrHPpMUYDO/9e6afgayuhZANiAATKltb0ARl1\ng484UmGtRTNYZMS4+pPSs5jNI/ZtJrb4hIq4l6fblwIxDZvMlM5akycb7gNo5Zcw\nozpZb+5+CeF/5wMalyK0a+VZOGCZ80tSxuA7cB6rwAOaO3Yhmolkv4Y=\n-----END PRIVATE KEY-----\n"
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/hub/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-hub
|
|
labels:
|
|
app: hub
|
|
chart: hub-1.3.109
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: hub
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- name: hub
|
|
image: ghcr.io/qlik-download/hub:1.0.185
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 3023
|
|
# resources: {}
|
|
|
|
volumeMounts:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
volumes:
|
|
selector:
|
|
matchLabels:
|
|
app: hub
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/identity-providers/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-identity-providers
|
|
labels:
|
|
app: identity-providers
|
|
chart: identity-providers-1.8.32
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: identity-providers
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: identity-providers
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
|
|
containers:
|
|
- name: identity-providers
|
|
image: ghcr.io/qlik-download/identity-providers:0.3.1
|
|
imagePullPolicy: IfNotPresent
|
|
ports:
|
|
- name: http
|
|
containerPort: 8080
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: http
|
|
env:
|
|
- name: LOG_LEVEL
|
|
value: verbose
|
|
- name: JWKS_ENDPOINT
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: IDP_CONFIGS_FILE
|
|
value: "/run/secret/identity-providers/idpConfigs"
|
|
- name: ACCOUNT
|
|
value:
|
|
- name: ENVIRONMENT
|
|
value: example
|
|
- name: REGION
|
|
value: example
|
|
- name: ROLLBAR_ENABLED
|
|
value: "false"
|
|
- name: KEY_ID
|
|
value: "JYJ4SoPYPN8JWQR7UBuE2orr1rZEFSc53ARC0e1ldVo"
|
|
- name: PRIVATE_KEY_FILE
|
|
value: "/run/secret/identity-providers/jwtPrivateKey"
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: NATS_URL
|
|
value: "http://qliksense-nats-client:4222"
|
|
- name: NATS_CLUSTER_ID
|
|
value: qliksense-nats-streaming-cluster
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: INTERNAL_TOKENS_RESOURCE
|
|
value: "http://qliksense-edge-auth:8080/v1"
|
|
volumeMounts:
|
|
- name: qliksense-identity-providers
|
|
mountPath: "/run/secret/identity-providers"
|
|
readOnly: true
|
|
# resources: {}
|
|
|
|
|
|
volumes:
|
|
- name: qliksense-identity-providers
|
|
secret:
|
|
secretName: qliksense-identity-providers
|
|
|
|
---
|
|
# Source: qliksense/charts/insights/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-insights
|
|
labels:
|
|
app: insights
|
|
chart: insights-1.9.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: insights
|
|
chart: insights-1.9.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
containers:
|
|
- image: ghcr.io/qlik-download/insights:2.0.11
|
|
name: insights
|
|
resources:
|
|
limits:
|
|
cpu: 400m
|
|
memory: 600Mi
|
|
requests:
|
|
cpu: 250m
|
|
memory: 300Mi
|
|
|
|
ports:
|
|
- containerPort: 9292
|
|
env:
|
|
- name: ENVIRONMENT
|
|
value: "k8s"
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: NO_JWT_VALIDATION
|
|
value: "false"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: REPORTING_URL
|
|
value: "http://qliksense-reporting:8282"
|
|
- name: PDS_URL
|
|
value: "http://qliksense-policy-decisions:5080"
|
|
- name: COLLECTIONS_URL
|
|
value: "http://qliksense-collections:8080"
|
|
- name: REPORTING_SERVICE_DISABLED
|
|
value:
|
|
- name: JWT_AUTH_URL
|
|
value: "http://edge-auth:8080/v1/internal-tokens"
|
|
- name: JWT_PRIVATE_KEY
|
|
value:
|
|
- name: JWT_KID
|
|
value:
|
|
- name: ENCRYPTION_URL
|
|
value: "http://qliksense-encryption:8080"
|
|
- name: FEATURE_FLAGS_URL
|
|
value: "http://qliksense-feature-flags:8080"
|
|
- name: TENANTS_URL
|
|
value: "http://qliksense-tenants:8080"
|
|
- name: ENGINE_URL
|
|
value: "http://qliksense-engine:9076"
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 9292
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 30
|
|
timeoutSeconds: 5
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 9292
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 30
|
|
timeoutSeconds: 5
|
|
|
|
imagePullPolicy:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
selector:
|
|
matchLabels:
|
|
app: insights
|
|
|
|
---
|
|
# Source: qliksense/charts/keys/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-keys
|
|
labels:
|
|
app: keys
|
|
chart: keys-1.5.11
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: keys
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: keys
|
|
release: qliksense
|
|
annotations:
|
|
checksum/config: 3d405ffc62ab108a155264854dc86861dce25b23d17a0184d9d8bf4b466b1349
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
|
|
containers:
|
|
- name: keys
|
|
image: ghcr.io/qlik-download/keys:1.0.7
|
|
imagePullPolicy:
|
|
env:
|
|
- name: KEY_FILES_PATH
|
|
value: "/etc/config/keys"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: ENVIRONMENT
|
|
value: "example"
|
|
- name: REGION
|
|
value: "example"
|
|
- name: ROLLBAR_ENABLED
|
|
value: "false"
|
|
ports:
|
|
- name: http
|
|
containerPort: 8080
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
volumeMounts:
|
|
- name: qliksense-keys
|
|
mountPath: "/etc/config/keys"
|
|
readOnly: true
|
|
# resources: {}
|
|
|
|
volumes:
|
|
- name: qliksense-keys
|
|
configMap:
|
|
# Provide the name of the ConfigMap containing the files you want
|
|
# to add to the container
|
|
name: qliksense-keys-configmap
|
|
items:
|
|
- key: qlik.api.internal-api-keys
|
|
path: qlik.api.internal/api-keys
|
|
- key: qlik.api.internal-audit
|
|
path: qlik.api.internal/audit
|
|
- key: qlik.api.internal-chronos-worker
|
|
path: qlik.api.internal/chronos-worker
|
|
- key: qlik.api.internal-collections
|
|
path: qlik.api.internal/collections
|
|
- key: qlik.api.internal-data-connections
|
|
path: qlik.api.internal/data-connections
|
|
- key: qlik.api.internal-data-engineering-exporter
|
|
path: qlik.api.internal/data-engineering-exporter
|
|
- key: qlik.api.internal-edge-auth
|
|
path: qlik.api.internal/edge-auth
|
|
- key: qlik.api.internal-engine
|
|
path: qlik.api.internal/engine
|
|
- key: qlik.api.internal-eventing
|
|
path: qlik.api.internal/eventing
|
|
- key: qlik.api.internal-generic-links
|
|
path: qlik.api.internal/generic-links
|
|
- key: qlik.api.internal-geo-operations
|
|
path: qlik.api.internal/geo-operations
|
|
- key: qlik.api.internal-groups
|
|
path: qlik.api.internal/groups
|
|
- key: qlik.api.internal-identity-providers
|
|
path: qlik.api.internal/identity-providers
|
|
- key: qlik.api.internal-insights
|
|
path: qlik.api.internal/insights
|
|
- key: qlik.api.internal-invite
|
|
path: qlik.api.internal/invite
|
|
- key: qlik.api.internal-licenses
|
|
path: qlik.api.internal/licenses
|
|
- key: qlik.api.internal-nl-app-search
|
|
path: qlik.api.internal/nl-app-search
|
|
- key: qlik.api.internal-nl-parser
|
|
path: qlik.api.internal/nl-parser
|
|
- key: qlik.api.internal-notification-prep
|
|
path: qlik.api.internal/notification-prep
|
|
- key: qlik.api.internal-odag
|
|
path: qlik.api.internal/odag
|
|
- key: qlik.api.internal-onboarding
|
|
path: qlik.api.internal/onboarding
|
|
- key: qlik.api.internal-policy-decisions
|
|
path: qlik.api.internal/policy-decisions
|
|
- key: qlik.api.internal-precedents
|
|
path: qlik.api.internal/precedents
|
|
- key: qlik.api.internal-qix-data-connection
|
|
path: qlik.api.internal/qix-data-connection
|
|
- key: qlik.api.internal-qix-data-reload
|
|
path: qlik.api.internal/qix-data-reload
|
|
- key: qlik.api.internal-qix-datafiles
|
|
path: qlik.api.internal/qix-datafiles
|
|
- key: qlik.api.internal-qix-sessions
|
|
path: qlik.api.internal/qix-sessions
|
|
- key: qlik.api.internal-quotas
|
|
path: qlik.api.internal/quotas
|
|
- key: qlik.api.internal-reload-tasks
|
|
path: qlik.api.internal/reload-tasks
|
|
- key: qlik.api.internal-reporting
|
|
path: qlik.api.internal/reporting
|
|
- key: qlik.api.internal-resource-library
|
|
path: qlik.api.internal/resource-library
|
|
- key: qlik.api.internal-sharing
|
|
path: qlik.api.internal/sharing
|
|
- key: qlik.api.internal-spaces
|
|
path: qlik.api.internal/spaces
|
|
- key: qlik.api.internal-subscriptions
|
|
path: qlik.api.internal/subscriptions
|
|
- key: qlik.api.internal-temporary-contents
|
|
path: qlik.api.internal/temporary-contents
|
|
- key: qlik.api.internal-tenants
|
|
path: qlik.api.internal/tenants
|
|
- key: qlik.api.internal-transport
|
|
path: qlik.api.internal/transport
|
|
- key: qlik.api.internal-users
|
|
path: qlik.api.internal/users
|
|
- key: qlik.api.internal-web-notifications
|
|
path: qlik.api.internal/web-notifications
|
|
- key: qlik.api.internal-web-security
|
|
path: qlik.api.internal/web-security
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/licenses/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-licenses
|
|
labels:
|
|
app: licenses
|
|
chart: licenses-1.21.0
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: licenses
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
serviceAccountName: qliksense-licenses
|
|
containers:
|
|
- name: "election"
|
|
image: ghcr.io/qlik-download/leader-elector:1.8.0
|
|
args:
|
|
- --election=qliksense-licenses
|
|
- --election-namespace=qliksense
|
|
- --http=0.0.0.0:4040
|
|
ports:
|
|
- containerPort: 4040
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 4040
|
|
resources:
|
|
{}
|
|
|
|
- name: licenses
|
|
image: ghcr.io/qlik-download/licenses:3.20.0
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 9200
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 9200
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 9200
|
|
# resources: {}
|
|
|
|
env:
|
|
- name: ENVIRONMENT
|
|
value: ""
|
|
- name: LICENSES_SERIAL_NBR
|
|
value: ""
|
|
- name: LICENSES_CONTROL_NBR
|
|
value: ""
|
|
- name: LICENSE_KEY
|
|
value: ""
|
|
- name: TENANT_ID
|
|
value:
|
|
- name: LICENSES_LOG_LEVEL
|
|
value:
|
|
- name: LICENSES_TRACING_ENABLED
|
|
value: "false"
|
|
- name: LICENSES_TEST_MODE
|
|
value: ""
|
|
- name: IS_QCS
|
|
value: ""
|
|
- name: JWKS_ENDPOINT
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: PDS_URI
|
|
value: "http://qliksense-policy-decisions:5080"
|
|
- name: LICENSES_FEATURES_URI
|
|
value: "http://qliksense-feature-flags:8080/v1/features"
|
|
- name: LICENSES_FEATURES_CACHE
|
|
value: "false"
|
|
- name: LICENSES_MONGODB_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: ASS_SYNC_ENABLED
|
|
value: "true"
|
|
- name: EXCESS_ENABLED
|
|
value: "true"
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: NATS_SERVERS
|
|
value: "nats://qliksense-nats-client:4222"
|
|
- name: NATS_CLUSTER
|
|
value: "qliksense-nats-streaming-cluster"
|
|
- name: NATS_CONNECT_ATTEMPTS
|
|
value: "3"
|
|
- name: TOKEN_AUTH_ENABLED
|
|
value: "true"
|
|
- name: TOKEN_AUTH_PRIVATE_KEY
|
|
value: "-----BEGIN EC PRIVATE KEY-----\nMIGkAgEBBDD5BGFKQX981pUj+dwaJqn3TlMeSfPQxHVCKJlfKwBnhr6xjWaEH0ej\npS3nTQwNmUSgBwYFK4EEACKhZANiAAS2IWhY4cJjhKv/rCVq64ORQ01Y56PvoCO3\nVg23AduOLe/N0IKPedki7uWX73onXZz5yIS2GiTAWKkapoA2QLnHWOrC3wckz7AW\nAjJtggeoCvTUhJmG6LY9SCJAwEO8xuM=\n-----END EC PRIVATE KEY-----\n"
|
|
- name: TOKEN_AUTH_KID
|
|
value: "_WChJV76hqP6rsnPFV44TNYUR1l4jweS612XuTMopz0"
|
|
- name: TOKEN_AUTH_URL
|
|
value: "http://qliksense-edge-auth:8080/v1/internal-tokens"
|
|
- name: SQS_ENABLED
|
|
value: "false"
|
|
- name: SQS_QUEUE_URI
|
|
value:
|
|
- name: AWS_REGION
|
|
value:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
|
|
selector:
|
|
matchLabels:
|
|
app: licenses
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/locale/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-locale
|
|
labels:
|
|
app: locale
|
|
chart: locale-1.3.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: locale
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- name: locale
|
|
image: ghcr.io/qlik-download/locale:1.0.9
|
|
imagePullPolicy:
|
|
# resources: {}
|
|
|
|
ports:
|
|
- containerPort: 8080
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
selector:
|
|
matchLabels:
|
|
app: locale
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/management-console/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-management-console
|
|
labels:
|
|
app: management-console
|
|
chart: management-console-1.6.295
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: management-console
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- name: management-console
|
|
image: ghcr.io/qlik-download/management-console:2.409.1
|
|
imagePullPolicy:
|
|
env:
|
|
- name: PRODUCT_INFO
|
|
value: "{ \"composition\": { \"deploymentEnvironment\": \"qsefe\" } }"
|
|
ports:
|
|
- containerPort: 3024
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 3024
|
|
initialDelaySeconds: 15
|
|
periodSeconds: 15
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 3024
|
|
initialDelaySeconds: 15
|
|
periodSeconds: 15
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
selector:
|
|
matchLabels:
|
|
app: management-console
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/nl-broker/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-nl-broker
|
|
labels:
|
|
app: nl-broker
|
|
chart: nl-broker-1.2.3
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: nl-broker
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- name: nl-broker
|
|
image: ghcr.io/qlik-download/nl-broker:1.14.0
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 30301
|
|
# resources: {}
|
|
|
|
env:
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: PARSER_URI
|
|
value: "http://qliksense-nl-parser:30302"
|
|
- name: DPS_URI
|
|
value: "http://qliksense-data-prep:9072"
|
|
- name: DPS_ROUTING
|
|
value: "true"
|
|
- name: REPORTING_URI
|
|
value: "http://qliksense-reporting:8282"
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
volumeMounts:
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 30301
|
|
failureThreshold: 3
|
|
periodSeconds: 10
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 30301
|
|
failureThreshold: 3
|
|
periodSeconds: 10
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
volumes:
|
|
selector:
|
|
matchLabels:
|
|
app: nl-broker
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/nl-parser/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-nl-parser
|
|
labels:
|
|
app: nl-parser
|
|
chart: nl-parser-1.3.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: nl-parser
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- name: nl-parser
|
|
image: ghcr.io/qlik-download/nl-parser:0.59.0
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 30302
|
|
# resources: {}
|
|
|
|
env:
|
|
- name: LOG_LEVEL
|
|
value:
|
|
- name: DPS_URI
|
|
value: "http://qliksense-data-prep:9072"
|
|
- name: DPS_ROUTING_ENABLED
|
|
value: "true"
|
|
- name: NLU_MULTI_LINGUAL
|
|
value: "false"
|
|
- name: NL_APP_SEARCH_URI
|
|
value: "http://qliksense-nl-app-search:9085"
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 30302
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 3
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
selector:
|
|
matchLabels:
|
|
app: nl-parser
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/notification-prep/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-notification-prep
|
|
labels:
|
|
app: notification-prep
|
|
chart: notification-prep-1.0.10
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: notification-prep
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
containers:
|
|
- name: notification-prep
|
|
image: ghcr.io/qlik-download/notification-prep:1.0.9
|
|
imagePullPolicy:
|
|
ports:
|
|
- name: http
|
|
containerPort: 8080
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: http
|
|
env:
|
|
|
|
- name: USERS_SERVICE_URL
|
|
value: "http://qliksense-users:8080"
|
|
- name: INTERNAL_TOKENS_RESOURCE
|
|
value: "http://qliksense-edge-auth:8080"
|
|
- name: JWKS_ENDPOINT
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: PRIVATE_KEY
|
|
value: "-----BEGIN EC PRIVATE KEY-----\nMIGkAgEBBDAqcwIMWYkjCAmoLFZOvhmMtMWS51FoEOUcQmW/NN7cfWiX9hqL52cK\nxk1ZMbTSQhigBwYFK4EEACKhZANiAAQ4nElftpap9KecGyIt41b9BM0HUrCzUhhO\nhK/Dt8D+ktsH0TOpt+t7uZog4ugzWlymS1LEVBthqoWQ0OSoKzqI44ClktTSnPGJ\npChrR6caNmcGOZvel8ooqgNwlkT2S88=\n-----END EC PRIVATE KEY-----\n"
|
|
- name: KEY_ID
|
|
value: oy6oficqj3Os7ZLLNKIDeKPOzQDoKdhGQa-w0e6YQvI
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: NATS_URL
|
|
value: "http://qliksense-nats-client:4222"
|
|
- name: NATS_CLUSTER_ID
|
|
value: qliksense-nats-streaming-cluster
|
|
- name: NATS_TOKEN_AUTH_ENABLED
|
|
value: "true"
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: ROLLBAR_ENABLED
|
|
value: "false"
|
|
- name: ROLLBAR_ENV
|
|
value: "dev"
|
|
- name: ROLLBAR_REGION
|
|
value: "local"
|
|
volumeMounts:
|
|
resources:
|
|
limits: {}
|
|
requests: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
volumes:
|
|
selector:
|
|
matchLabels:
|
|
app: notification-prep
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/odag/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-odag
|
|
labels:
|
|
app: odag
|
|
chart: odag-1.9.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: odag
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: odag
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
serviceAccountName: qliksense-odag
|
|
containers:
|
|
- name: "election"
|
|
image: ghcr.io/qlik-download/leader-elector:1.8.0
|
|
args:
|
|
- --election=qliksense-odag
|
|
- --election-namespace=qliksense
|
|
- --http=0.0.0.0:4040
|
|
ports:
|
|
- containerPort: 4040
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 4040
|
|
- name: odag
|
|
image: ghcr.io/qlik-download/odag:1.31.0
|
|
imagePullPolicy:
|
|
ports:
|
|
- name: http
|
|
containerPort: 9098
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: http
|
|
env:
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: AUTH_ENABLED
|
|
value: "true"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: SELF_SIGNING_PRIVATE_KEY
|
|
value: "-----BEGIN EC PRIVATE KEY-----\nMIGkAgEBBDDvsPODgxQg8clxdqlvPsIbwvNuBaCGbkaPjafU4IwVsW3r5fy4LsEI\nfK1YwpXah0KgBwYFK4EEACKhZANiAAS5oTJjOOhEpiqEs7CXBY5dHgoOTrAwCWGU\n4FvOLQdll67bmNOG/VXe4R1eEgUfzt52ShUrf7MUDcE5gMcCnbb/Wh6PBRGNRHkG\nkdsC5ehTvAauo+NyHw+x3uCkXlYfxc4=\n-----END EC PRIVATE KEY-----\n"
|
|
- name: KEY_IDENTIFIER
|
|
value: J-QC62aBDJrkbJXxEiZixY1wlPwAjJDeZHIgE_DjnXw
|
|
- name: EDGE_AUTH_URL
|
|
value: "http://qliksense-edge-auth:8080"
|
|
- name: ENGINE_URL
|
|
value: "http://qliksense-engine:9076"
|
|
- name: QIX_SESSION_URL
|
|
value: "http://qliksense-qix-sessions:8080"
|
|
- name: RELOAD_SERVICE_URL
|
|
value: "http://qliksense-reloads:8080"
|
|
- name: USER_SERVICE_URL
|
|
value: "http://qliksense-users:8080"
|
|
- name: COLLECTIONS_URL
|
|
value: "http://qliksense-collections:8080"
|
|
- name: FEATURE_FLAG_URL
|
|
value: "http://qliksense-feature-flags:8080"
|
|
- name: ENCRYPTION_URL
|
|
value: "http://qliksense-encryption:8080"
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: NATS_URL
|
|
value: nats://qliksense-nats-client:4222
|
|
- name: NATS_CLUSTER_ID
|
|
value: qliksense-nats-streaming-cluster
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: NATS_AUTH_ENABLED
|
|
value: "true"
|
|
- name: USE_INTERNAL_RELOAD
|
|
value: "true"
|
|
- name: RELOAD_WORKLOAD_TYPE
|
|
value: "odag"
|
|
# resources: {}
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/policy-decisions/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-policy-decisions
|
|
labels:
|
|
app: policy-decisions
|
|
chart: policy-decisions-2.0.0
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: policy-decisions
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
containers:
|
|
- name: policy-decisions
|
|
image: ghcr.io/qlik-download/policy-decision-service:1.74.0
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 5080
|
|
resources: {}
|
|
|
|
env:
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: RULESENGINE__ENABLE
|
|
value: "true"
|
|
- name: AUTHORIZATION__ENABLE
|
|
value: "true"
|
|
- name: SWAGGER__ENABLE
|
|
value: "false"
|
|
- name: JWTAUTHENTICATION__ENABLE
|
|
value: "true"
|
|
- name: JWKS_ENDPOINT
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: LICENSES__URL
|
|
value: "http://qliksense-licenses:9200/"
|
|
- name: TOKEN_URI
|
|
value: "http://qliksense-edge-auth:8080/v1/internal-tokens"
|
|
- name: NATSSTREAMING__ENABLED
|
|
value: "true"
|
|
- name: NATSSTREAMING__URL
|
|
value: "nats://qliksense-nats-client:4222"
|
|
- name: NATSSTREAMING__CLUSTERID
|
|
value: "qliksense-nats-streaming-cluster"
|
|
- name: NATSSTREAMING__HANDLEEVENTS
|
|
value: "true"
|
|
- name: JWTPROVIDER__PRIVATEKEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-policy-decisions-tokenconfig
|
|
key: token-privateKey
|
|
- name: JWTPROVIDER__KID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-policy-decisions-tokenconfig
|
|
key: token-kid
|
|
- name: SPACES__ENABLED
|
|
value: "true"
|
|
- name: SPACES__URL
|
|
value: "http://qliksense-spaces:6080/"
|
|
- name: REDIS__ENABLED
|
|
value: "false"
|
|
- name: RULESFROMFILE__ENABLED
|
|
value: "false"
|
|
- name: GROUPS__URL
|
|
value: "http://qliksense-groups:8080/"
|
|
- name: GROUPS__ENABLED
|
|
value: "true"
|
|
volumeMounts:
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 5080
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 5080
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
- name: single-request-reopen
|
|
|
|
volumes:
|
|
selector:
|
|
matchLabels:
|
|
app: policy-decisions
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/precedents/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-precedents
|
|
labels:
|
|
app: precedents
|
|
chart: precedents-1.1.32
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: precedents
|
|
|
|
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: precedents
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
containers:
|
|
- name: precedents
|
|
image: ghcr.io/qlik-download/precedents:0.81.0
|
|
imagePullPolicy: IfNotPresent
|
|
ports:
|
|
- containerPort: 9054
|
|
volumeMounts:
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 9054
|
|
failureThreshold:
|
|
periodSeconds:
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 9054
|
|
failureThreshold:
|
|
periodSeconds:
|
|
env:
|
|
- name: PORT
|
|
value: "9054"
|
|
- name: MODE
|
|
value: "elastic"
|
|
- name: ENGINEADDRESS
|
|
value: "http://qliksense-qix-sessions"
|
|
- name: ENGINEPORT
|
|
value: "8080"
|
|
- name: PROTOCOL
|
|
value: "http"
|
|
- name: SINGLE_PROCESS
|
|
value: "true"
|
|
- name: LOGLEVEL
|
|
value: ""
|
|
- name: GRPC
|
|
value: "true"
|
|
- name: CAYLEYSTART
|
|
value: "true"
|
|
- name: CAYLEYPORT
|
|
value: "50051"
|
|
- name: CAYLEYHTTPPORT
|
|
value: "50052"
|
|
- name: CAYLEYSTORE
|
|
value: "mongo"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: FEATURE_FLAG_URL
|
|
value: "http://qliksense-feature-flags.qliksense:8080/v1/features"
|
|
- name: EDGE_AUTH_URI
|
|
value: "http://qliksense-edge-auth:8080"
|
|
|
|
# NATS configuration
|
|
- name: NATS_URL
|
|
value: nats://qliksense-nats-client:4222
|
|
- name: NATS_CLUSTER_ID
|
|
value: qliksense-nats-streaming-cluster
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
|
|
# SPACES configuration
|
|
- name: SPACES_URI
|
|
value: "http://qliksense-spaces:6080"
|
|
|
|
# Set the mongo environment variable using the secret
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
|
|
# Private Signing Key
|
|
- name: SELF_SIGNING_PRIVATE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-precedents-secret
|
|
key: privatekey
|
|
- name: KEY_IDENTIFIER
|
|
value: GrvbBlHIXFBB7vrpoOl4VyrGIYl_1kUgKSfNqBoh0ds
|
|
# resources: {}
|
|
|
|
# volumes:
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-data-connection/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-qix-data-connection
|
|
labels:
|
|
app: qix-data-connection
|
|
chart: qix-data-connection-1.8.9
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: qix-data-connection
|
|
#release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: qix-data-connection
|
|
release: qliksense
|
|
spec:
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
|
|
containers:
|
|
- name: qix-data-connection
|
|
image: ghcr.io/qlik-download/qix-data-connection:1.12.29
|
|
imagePullPolicy:
|
|
volumeMounts:
|
|
- name: qdc-storage
|
|
mountPath: "/mnt/key"
|
|
readOnly: true
|
|
env:
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: MONGO_ENABLE_SSL_VALIDATE
|
|
value: "true"
|
|
- name: GET_USER_CONNECTIONS
|
|
value: "true"
|
|
- name: USER_ACCESS_CONTROL
|
|
value: "true"
|
|
- name: LOG_LEVEL
|
|
value: "info"
|
|
- name: ENABLE_JWT_AUTH
|
|
value: "true"
|
|
- name: JWKS_ENDPOINT
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: E2S_ADDR
|
|
value: "http://qliksense-encryption:8080"
|
|
- name: ENABLE_CRYPTO
|
|
value: "false"
|
|
- name: ENABLE_DATAFILES
|
|
value: "true"
|
|
- name: QIX_DATAFILES_URI
|
|
value: "http://qliksense-qix-datafiles:8080"
|
|
- name: ENABLE_GLOBAL_CONNECTIONS
|
|
value: "false"
|
|
- name: ENABLED_SPACE_CHECK
|
|
value: "true"
|
|
- name: SPACE_URI
|
|
value: "http://qliksense-spaces:6080"
|
|
- name: ENABLE_SERVICEJWT
|
|
value: "true"
|
|
- name: AUTH_URI
|
|
value: "http://qliksense-edge-auth:8080"
|
|
- name: KEY_ID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-qdc-keysconfig
|
|
key: jwksKeyID
|
|
- name: PRIVATE_KEY
|
|
value: /mnt/key/jwtPrivateKey
|
|
- name: ENABLE_PROXY
|
|
value: "false"
|
|
- name: DATA_CONNECTIONS_URI
|
|
value: "http://qliksense-data-connections:9011"
|
|
- name: FEATURE_FLAGS_URI
|
|
value: "http://qliksense-feature-flags:8080"
|
|
- name: BYPASS_TOKEN
|
|
value: "Qlik123456"
|
|
ports:
|
|
- name: http
|
|
containerPort: 9011
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 9011
|
|
# resources: {}
|
|
|
|
volumes:
|
|
- name: qdc-storage
|
|
secret:
|
|
secretName: qliksense-qdc-keysconfig
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-datafiles/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-qix-datafiles
|
|
labels:
|
|
app: qix-datafiles
|
|
chart: qix-datafiles-1.10.42
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: qix-datafiles
|
|
# release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: qix-datafiles
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
containers:
|
|
- name: qix-datafiles
|
|
image: ghcr.io/qlik-download/qix-datafiles:2.0.18
|
|
imagePullPolicy: IfNotPresent
|
|
ports:
|
|
- name: http
|
|
containerPort: 8080
|
|
protocol: TCP
|
|
- name: grpc
|
|
containerPort: 50051
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
env:
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: JWTAUTHENTICATION_ENABLE
|
|
value: "true"
|
|
- name: JWTAUTHENTICATION_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: DATA_DIRECTORY
|
|
value: /qlik/qix-datafiles
|
|
- name: USERS_URI
|
|
value: "http://qliksense-users:8080"
|
|
- name: SPACES_URI
|
|
value: "http://qliksense-spaces:6080"
|
|
- name: FEATUREFLAGS_URI
|
|
value: "http://qliksense-feature-flags:8080"
|
|
- name: POLICYDECISIONS_URI
|
|
value: "http://qliksense-policy-decisions:5080"
|
|
- name: ENCRYPTION_URI
|
|
value: "http://qliksense-encryption:8080"
|
|
- name: EDGEAUTH_TOKEN_PRIVATE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-qix-datafiles-tokenconfig
|
|
key: token-privateKey
|
|
- name: EDGEAUTH_TOKEN_KID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-qix-datafiles-tokenconfig
|
|
key: token-kid
|
|
- name: EDGEAUTH_TOKEN_URI
|
|
value: "http://qliksense-edge-auth:8080"
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: NATS_SPACEEVENTSENABLED
|
|
value: "true"
|
|
- name: NATS_URI
|
|
value: nats://qliksense-nats-client:4222
|
|
- name: NATS_CLUSTERID
|
|
value: qliksense-nats-streaming-cluster
|
|
- name: NATS_CLIENTID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: NATS_AUTHENABLED
|
|
value: "true"
|
|
volumeMounts:
|
|
- mountPath: /qlik/qix-datafiles
|
|
name: qix-datafiles-storage
|
|
- name: tmpdir
|
|
mountPath: /tmp
|
|
# resources: {}
|
|
|
|
volumes:
|
|
- name: qix-datafiles-storage
|
|
persistentVolumeClaim:
|
|
claimName: qliksense-qix-datafiles
|
|
- name: tmpdir
|
|
emptyDir: {}
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-sessions/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-qix-sessions
|
|
labels:
|
|
app: qix-sessions
|
|
chart: qix-sessions-6.4.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: qix-sessions
|
|
release: qliksense
|
|
spec:
|
|
serviceAccountName: qliksense-qix-sessions
|
|
containers:
|
|
- name: qix-sessions
|
|
image: ghcr.io/qlik-download/qix-sessions:5.7.4
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 8080
|
|
command:
|
|
- "/qix-sessions"
|
|
- "--logtostderr"
|
|
env:
|
|
- name: TERMINATION_GRACE_PERIOD_SECONDS
|
|
value: "30"
|
|
- name: AUTH_ENABLED
|
|
value: "true"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: ENGINE_PORT
|
|
value: "9076"
|
|
- name: DYNAMIC_RELOAD_ENABLED
|
|
value: "true"
|
|
- name: RELOAD_ENGINE_GLOBAL_QUOTA
|
|
value: "10"
|
|
- name: RELOAD_ENGINE_TENANT_QUOTA
|
|
value: "2"
|
|
- name: ENABLE_PER_TENANT_DYNAMIC_POD_METRICS
|
|
value: "false"
|
|
- name: CLEAN_UP_INTERVAL_SECONDS
|
|
value: "60"
|
|
- name: CLEAN_UP_GRACE_PERIOD_SECONDS
|
|
value: "120"
|
|
- name: CLEAN_UP_SCHEDULING_GRACE_PERIOD_SECONDS
|
|
value: "300"
|
|
- name: CLEAN_UP_TIMEOUT_SECONDS
|
|
value: "3600"
|
|
- name: CLEAN_UP_ORPHAN_REPLICA_SETS
|
|
value: "true"
|
|
- name: RELOAD_ENGINE_RESOURCE
|
|
value: "qliksense-engine-reload"
|
|
- name: REGISTER_DYNAMIC_ENGINE
|
|
value:
|
|
- name: QLIK_MANAGER_CONTROLLER_ENABLED
|
|
value: "true"
|
|
- name: KUBERNETES_CONTROLLER_ENABLED
|
|
value: "true"
|
|
- name: PROXY_ENABLED
|
|
value: "true"
|
|
- name: APP_SERVICE_URI
|
|
value: "http://qliksense-engine:9076"
|
|
- name: FEATURE_FLAGS_URI
|
|
value: "http://qliksense-feature-flags:8080"
|
|
- name: SELECTOR_TYPE
|
|
value: "deterministic"
|
|
- name: APP_SERVICE_READINESS_CHECK_ENABLED
|
|
value: "true"
|
|
- name: DEBUG_ENDPOINT_ENABLED
|
|
value: "false"
|
|
- name: DEPENDENCIES_HEALTHCHECK_TIMEOUT
|
|
value: "5000"
|
|
- name: MONITOR_UPDATE_FREQUENCY
|
|
value: "30"
|
|
- name: MONITOR_RETRIEVE_TIMEOUT
|
|
value: "20"
|
|
- name: MONITOR_ENGINE_ENTRY_EXPIRATION
|
|
value: "60"
|
|
- name: GET_ENGINE_HEALTH_TIMEOUT
|
|
value: "10"
|
|
- name: GET_ENGINE_HEALTH_RETRY_TIMEOUT
|
|
value: "30"
|
|
- name: GET_ENGINE_SESSIONS_TIMEOUT_SECONDS
|
|
value: "20"
|
|
- name: REDIS_ADDR
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-redis-secret
|
|
key: redis-addr
|
|
#- name: REDIS_PASSWORD
|
|
# valueFrom:
|
|
# secretKeyRef:
|
|
# name: qliksense-redis-secret
|
|
# key: redis-password
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: LOCK_MAX_RETRIES
|
|
value: "25"
|
|
- name: LOCK_RETRY_INTERVAL
|
|
value: "50"
|
|
- name: MESSAGING_ENABLED
|
|
value: "false"
|
|
- name: NATS_SERVER_ADDRESS
|
|
value: "nats://qliksense-nats-client:4222"
|
|
- name: NATS_TOKEN_AUTH_ENABLED
|
|
value: "true"
|
|
- name: NATS_CONNECT_WAIT_SECONDS
|
|
value:
|
|
- name: STAN_CLUSTER_ID
|
|
value: "{{ .Release.Name }}-nats-streaming-cluster"
|
|
- name: STAN_ENGINE_EVENT_CHANNEL
|
|
value: "system-events.engine.app"
|
|
- name: ENGINE_SELECTOR_QUERY_RESULT_EXPIRATION
|
|
value: "30"
|
|
- name: SELECTORS_CONFIGMAP_NAME
|
|
value: qliksense-qix-sessions-configmap
|
|
- name: TENANT_QUOTAS_CONFIGMAP_NAME
|
|
value: qliksense-qix-sessions-tenant-quotas-configmap
|
|
- name: ALLOW_EDITORS_ON_MULTI_ENGINES
|
|
value: "false"
|
|
- name: REUSABLE_ENGINE_MAX_SCORE_CONSUMERS
|
|
value: "50"
|
|
- name: REUSABLE_ENGINE_MAX_SCORE_EDITORS
|
|
value: "70"
|
|
- name: ENABLE_TRACING
|
|
value: "false"
|
|
- name: ENABLE_SELECTORS_ENDPOINT
|
|
value: "false"
|
|
- name: ENABLE_ENGINES_ENDPOINT
|
|
value: "false"
|
|
- name: ENGINE_SYNCHRONIZATION_INTERVAL_SECONDS
|
|
value: "30"
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /live
|
|
port: 8080
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 8080
|
|
volumeMounts:
|
|
- name: secrets
|
|
mountPath: "/secrets"
|
|
readOnly: true
|
|
volumes:
|
|
- name: qliksense-qix-sessions-configmap
|
|
configMap:
|
|
name: qliksense-qix-sessions-configmap
|
|
- name: secrets
|
|
secret:
|
|
secretName: qliksense-qix-sessions-secrets
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
terminationGracePeriodSeconds: 30
|
|
selector:
|
|
matchLabels:
|
|
app: qix-sessions
|
|
#release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/qlikview-client/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-qlikview-client
|
|
labels:
|
|
app: qlikview-client
|
|
chart: qlikview-client-1.0.27
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: qlikview-client
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- name: qlikview-client
|
|
image: ghcr.io/qlik-download/qlikview-client:12.62.0
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 9003
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 9003
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
selector:
|
|
matchLabels:
|
|
app: qlikview-client
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/quotas/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-quotas
|
|
labels:
|
|
app: quotas
|
|
chart: quotas-1.0.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: quotas
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- name: quotas
|
|
image: ghcr.io/qlik-download/quotas:0.9.0
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 6080
|
|
# resources: {}
|
|
|
|
env:
|
|
- name: TERMINATION_GRACE_PERIOD_SECONDS
|
|
value: "30"
|
|
- name: ENVIRONMENT
|
|
value:
|
|
- name: LOG_LEVEL
|
|
value: "debug"
|
|
- name: AUTH_ENABLED
|
|
value: "true"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: SERVICE_JWT_PRIVATE_KEY
|
|
value: "-----BEGIN EC PRIVATE KEY-----\nMIGkAgEBBDDNGKGUUID0quRZwa3D+ZM1Juozl+WKTLI/2GlCjalxDBq+Y/vQW9Rx\nCEqNKwwjNCegBwYFK4EEACKhZANiAAROuUhNmMeW1uZB3XVVv2EoSyhKZiJeGF+Q\nEg9r3hyE21RvIXcIuNg6pnNSjSQIgoTvRGjz1G2dFbyIEoRUmGzc/r1pTsaHQBzq\nhFdGPR/8xVXMcFkj+kjVxoS/wx0XUfE=\n-----END EC PRIVATE KEY-----\n"
|
|
- name: SERVICE_JWT_KEY_ID
|
|
value: "1Kyk7eZuL_cTcwK-n0IgGcupF9vdQnvgeov5fpxugCY"
|
|
- name: INTERNAL_TOKENS_URI
|
|
value: http://qliksense-edge-auth:8080/v1/internal-tokens
|
|
- name: LICENSES_ENABLED
|
|
value: "false"
|
|
- name: LICENSES_URI
|
|
value: http://qliksense-licenses:9200
|
|
- name: SPACES_ENABLED
|
|
value: "false"
|
|
- name: SPACES_URI
|
|
value: http://qliksense-spaces:6080
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 6080
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 6080
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
terminationGracePeriodSeconds: 30
|
|
selector:
|
|
matchLabels:
|
|
app: quotas
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/reload-tasks/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-reload-tasks
|
|
labels:
|
|
app: reload-tasks
|
|
chart: reload-tasks-1.6.5
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: reload-tasks
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
containers:
|
|
- name: reload-tasks
|
|
image: ghcr.io/qlik-download/reload-tasks:1.1.2
|
|
imagePullPolicy:
|
|
env:
|
|
- name: AUTH_ENABLED
|
|
value: "true"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: SELF_SIGNING_PRIVATE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-reload-tasks-privatekey
|
|
key: privatekey
|
|
- name: KEY_IDENTIFIER
|
|
value: tGqCjbBab4T5LCzwDKkOsYUtTDanLJrFrtoQm9PRSxE
|
|
- name: SINGING_ALGORITHM
|
|
value: ES384
|
|
- name: MESSAGING_ENABLED
|
|
value: "false"
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: STAN_CLUSTER_ID
|
|
value: "{{ .Release.Name }}-nats-streaming-cluster"
|
|
- name: CHRONOS_URI
|
|
value: "http://qliksense-chronos:8585"
|
|
- name: CHRONOS_ACTION_URI
|
|
value: "http://qliksense-reloads:8080/v1/scheduledreloads"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: CHRONOS_AUTH_JWT_AUD
|
|
value: "qlik.api.internal/qix-data-reload"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: MAX_CONSECUTIVE_FAILURES
|
|
value: "5"
|
|
- name: EXCLUDED_TENANTS
|
|
value:
|
|
ports:
|
|
- containerPort: 8080
|
|
volumeMounts:
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8080
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
volumes:
|
|
selector:
|
|
matchLabels:
|
|
app: reload-tasks
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/reloads/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-reloads
|
|
labels:
|
|
app: reloads
|
|
chart: reloads-1.7.10
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: reloads
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
containers:
|
|
- name: reloads
|
|
image: ghcr.io/qlik-download/qix-data-reload:1.4.6
|
|
imagePullPolicy:
|
|
env:
|
|
- name: LOG_LEVEL
|
|
value: "debug"
|
|
- name: MAX_SIMULTANEOUS_RELOADS
|
|
value: "100"
|
|
- name: AUTH_ENABLED
|
|
value: "true"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: QIX_SESSION_URL
|
|
value: "http://qliksense-qix-sessions:8080"
|
|
|
|
- name: RELOAD_TASKS_URL
|
|
value: "http://qliksense-reload-tasks:8080"
|
|
|
|
# NATS
|
|
- name: NATS_SERVICE_NAME
|
|
value: qliksense-nats-client
|
|
- name: NATS_CLUSTER_ID
|
|
value: qliksense-nats-streaming-cluster
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: NATS_AUTH_ENABLED
|
|
value: "true"
|
|
|
|
# MONGO
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
|
|
# METRICS
|
|
- name: PROMETHEUS_PORT
|
|
value: "8080"
|
|
|
|
# PRIVATE SIGNING KEY
|
|
- name: SELF_SIGNING_PRIVATE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-reloads-privatekey
|
|
key: privatekey
|
|
|
|
- name: KEY_IDENTIFIER
|
|
value: QtiFtx-5MCcsnHb-xmWGgjwoJuEZYYkYHblN2I_Bibo
|
|
|
|
- name: ENGINE_URL
|
|
value: "http://qliksense-engine:9076"
|
|
|
|
- name: USERS_URL
|
|
value: "http://qliksense-users:8080"
|
|
|
|
- name: EDGE_AUTH_URL
|
|
value: "http://qliksense-edge-auth:8080"
|
|
ports:
|
|
- containerPort: 8080
|
|
volumeMounts:
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8080
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 8080
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
terminationGracePeriodSeconds: 30
|
|
volumes:
|
|
- name: reloads-prestop-hook
|
|
configMap:
|
|
name: qliksense-reloads-prestop-hook
|
|
defaultMode: 0755
|
|
optional: true
|
|
selector:
|
|
matchLabels:
|
|
app: reloads
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/reporting/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-reporting
|
|
labels:
|
|
app: reporting
|
|
chart: reporting-1.18.25
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: reporting
|
|
chart: reporting-1.18.25
|
|
release: qliksense
|
|
heritage: Tiller
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
containers:
|
|
- image: ghcr.io/qlik-download/reporting-proxy:2.2.0
|
|
name: "rpr"
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8484
|
|
ports:
|
|
- containerPort: 8001
|
|
env:
|
|
- name: PROXY_HOST
|
|
value: "127.0.0.1"
|
|
- name: PROXY_PORT
|
|
value: "8001"
|
|
- name: PROXY_METRICS_PORT
|
|
value: "8484"
|
|
- name: ENGINE_HOST
|
|
value: "qliksense-engine"
|
|
- name: ENGINE_PORT
|
|
value: "9076"
|
|
- name: CLIENT_HOST
|
|
value: "qliksense-sense-client"
|
|
- name: CLIENT_PORT
|
|
value: "9050"
|
|
- name: FEATUREFLAGS_HOST
|
|
value: "qliksense-feature-flags"
|
|
- name: FEATUREFLAGS_PORT
|
|
value: "8080"
|
|
- name: RESOURCELIBRARY_HOST
|
|
value: "qliksense-resource-library"
|
|
- name: RESOURCELIBRARY_PORT
|
|
value: "21068"
|
|
- name: TEMPCONTENTS_HOST
|
|
value: "qliksense-temporary-contents"
|
|
- name: TEMPCONTENTS_PORT
|
|
value: "6080"
|
|
- name: LOCALE_HOST
|
|
value: "qliksense-locale"
|
|
- name: LOCALE_PORT
|
|
value: "8080"
|
|
- image: ghcr.io/qlik-download/reporting-web-renderer:2.22.4
|
|
name: "rwr"
|
|
args: [ -l=DEBUG , -http-server-enable=true , -http-server-host=0.0.0.0 , -http-server-port=9288]
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 9288
|
|
|
|
- image: ghcr.io/qlik-download/reporting-composer:3.4.3
|
|
name: "cmp"
|
|
args: [ -l debug]
|
|
readinessProbe:
|
|
exec:
|
|
command: ["/bin/grpc_health_probe", "-addr=:52052" , "-service=cmp"]
|
|
initialDelaySeconds: 5
|
|
livenessProbe:
|
|
exec:
|
|
command: ["/bin/grpc_health_probe", "-addr=:52052" , "-service=cmp"]
|
|
initialDelaySeconds: 10
|
|
- image: ghcr.io/qlik-download/reporting-service:9.3.6
|
|
name: "rep"
|
|
ports:
|
|
- containerPort: 8282
|
|
env:
|
|
- name: NO_JWT_VALIDATION
|
|
value: "false"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: SESSION_SERVICE_URL
|
|
value: "http://qliksense-qix-sessions:8080"
|
|
- name: ENGINE_PROXY_URL
|
|
value: "http://127.0.0.1:8001"
|
|
- name: CLIENT_URL
|
|
value: "http://127.0.0.1:8001"
|
|
- name: TEMP_CONTENTS_URL
|
|
value: "http://qliksense-temporary-contents:6080"
|
|
- name: FEATURE_FLAGS_URL
|
|
value: "http://qliksense-feature-flags:8080"
|
|
- name: REDIS_URL
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-redis-secret
|
|
key: redis-addr
|
|
- name: REDIS_AUTH_TOKEN
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-redis-secret
|
|
key: redis-password
|
|
- name: REDIS_ENCRYPTION
|
|
value: "false"
|
|
- name: RENDERER_QUERY_STRING
|
|
value: ""
|
|
- name: TOKEN_AUTH_ENABLED
|
|
value: "true"
|
|
- name: TOKEN_AUTH_PRIVATE_KEY
|
|
value: "-----BEGIN EC PRIVATE KEY-----\nMIGkAgEBBDCmcxTS498lVlRKI+xGoyOalMcOLe2TtLxeOMrsNNxxgPgNDCjuRM3M\n6kyxm2NBQb6gBwYFK4EEACKhZANiAAQ6WOMCyqQxPEGI2vobHBujbuAI/Q21o4T5\nn4AR50hj3uc51xZpUjEEQ8kr/q5t9xinjZADUWwAq03vpNAXe85rSGoy5p/Sx4Fi\nivKFvwJANtugvEoLUfgzTu9Z1inApEA=\n-----END EC PRIVATE KEY-----\n"
|
|
- name: TOKEN_AUTH_KID
|
|
value: "7nHZ6rfrzzjxuhqByuIrLTWg4HnNzgMMQdURgUQKOvg"
|
|
- name: TOKEN_AUTH_URL
|
|
value: "http://qliksense-edge-auth:8080/v1/internal-tokens"
|
|
- name: NATS_URI
|
|
value: nats://qliksense-nats-client:4222
|
|
- name: NATS_CLUSTER_ID
|
|
value: qliksense-nats-streaming-cluster
|
|
- name: MEM_LIMIT_MIBS
|
|
value:
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8282
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 15
|
|
timeoutSeconds: 5
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8282
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 15
|
|
timeoutSeconds: 5
|
|
|
|
imagePullPolicy:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
selector:
|
|
matchLabels:
|
|
app: reporting
|
|
|
|
---
|
|
# Source: qliksense/charts/resource-library/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-resource-library
|
|
labels:
|
|
app: resource-library
|
|
chart: resource-library-1.10.11
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: resource-library
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: resource-library
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
containers:
|
|
- name: resource-library
|
|
image: ghcr.io/qlik-download/resource-library:4.0.0
|
|
imagePullPolicy:
|
|
ports:
|
|
- name: http
|
|
containerPort: 21068
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: http
|
|
env:
|
|
- name: LOG_LEVEL
|
|
value: verbose
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: MONGO_SSL
|
|
value:
|
|
- name: MONGO_SSL_VALIDATE
|
|
value:
|
|
- name: MONGO_CHECK_SERVER_IDENTITY
|
|
value:
|
|
- name: PDS_URI
|
|
value: "http://qliksense-policy-decisions:5080"
|
|
- name: RESOURCE_VOLUME
|
|
value: /qlik/resources
|
|
- name: QCS
|
|
value: "false"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: KEY_ID
|
|
value: "m_1HJQ4CKk1CGdjahppB9TE-ijXzfeZbPyEaPdrZ7q0"
|
|
- name: PRIVATE_KEY_FILE
|
|
value: "/run/secret/resource-library/jwtPrivateKey"
|
|
- name: INTERNAL_TOKENS_RESOURCE
|
|
value: "http://qliksense-edge-auth:8080/v1"
|
|
- name: NATS_ENABLED
|
|
value: "false"
|
|
- name: NATS_URL
|
|
value: nats://qliksense-nats-client:4222
|
|
- name: NATS_CLUSTER_ID
|
|
value: qliksense-nats-streaming-cluster
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: DISABLE_OCTET_STREAM_CHECK
|
|
value: "false"
|
|
volumeMounts:
|
|
- mountPath: /qlik/resources
|
|
name: resource-storage
|
|
- mountPath: "/run/secret/resource-library"
|
|
name: qliksense-resource-library-secret
|
|
readOnly: true
|
|
- mountPath: "/usr/src/app/webroot"
|
|
name: webroot-path
|
|
- mountPath: "/usr/src/app/resources"
|
|
name: resources-path
|
|
resources:
|
|
limits:
|
|
cpu: 0.25
|
|
memory: 512Mi
|
|
requests:
|
|
cpu: 0.1
|
|
memory: 128Mi
|
|
|
|
volumes:
|
|
- name: qliksense-resource-library-secret
|
|
secret:
|
|
secretName: qliksense-resource-library-secret
|
|
- name: resource-storage
|
|
persistentVolumeClaim:
|
|
claimName: qliksense-resource-library
|
|
- name: webroot-path
|
|
emptyDir: {}
|
|
- name: resources-path
|
|
emptyDir: {}
|
|
|
|
---
|
|
# Source: qliksense/charts/sense-client/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-sense-client
|
|
labels:
|
|
app: sense-client
|
|
chart: sense-client-1.7.112
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: sense-client
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: sense-client
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- name: sense-client
|
|
image: ghcr.io/qlik-download/sense-client:6.394.0
|
|
imagePullPolicy: IfNotPresent
|
|
env:
|
|
- name: PRODUCT_INFO
|
|
value: "{ \"composition\": { \"productName\": \"Qlik Cloud Services\", \"senseId\": \"QlikCloudServices\", \"releaseLabel\": \"-\", \"deploymentEnvironment\": \"qsefe\" }, \"components\": [{ \"component\": \"Client\", \"version\": \"6.394.0\" }], \"externalUrls\": { \"serverHelpBaseUrl\": \"http://help.qlik.com/en-US/cloud-services/csh/\", \"personalHelpBaseUrl\": \"http://help.qlik.com/en-US/cloud-services/csh/\", \"cloudBaseUrl\": \"https://qlikcloud.com/\", \"cloudUploadUrl\": \"https://qlikcloud.com/upload?\", \"personalUpgradeBase\": \"qlik.com/QlikSenseDesktopUpgrade\", \"personalUpgradeUrl\": \"http://qlik.com/QlikSenseDesktopUpgrade\", \"qlikWebPageUrl\": \"https://www.qlik.com/\" } }"
|
|
- name: CSP_FALLBACK
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
name: csp-configmap
|
|
key: csp
|
|
- name: CSP_ENABLED
|
|
value: "true"
|
|
- name: CSP_FETCH_URL
|
|
value: http://qliksense-web-security:6263/v1/csp-header
|
|
- name: ASSETS_URL
|
|
value: "../resources/"
|
|
ports:
|
|
- name: http
|
|
containerPort: 9050
|
|
protocol: TCP
|
|
# resources: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/sharing/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-sharing
|
|
labels:
|
|
app: sharing
|
|
chart: sharing-1.4.7
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
|
|
selector:
|
|
matchLabels:
|
|
app: sharing
|
|
release: qliksense
|
|
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: sharing
|
|
chart: sharing-1.4.7
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
heritage: Tiller
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
|
|
containers:
|
|
- image: ghcr.io/qlik-download/sharing:3.0.63
|
|
name: sharing
|
|
imagePullPolicy: IfNotPresent
|
|
args:
|
|
- server
|
|
- --environment=k8s
|
|
- --disableapi=false
|
|
- --listenport=8787
|
|
- --svc=qliksense-sharing
|
|
- --nojwtvalidation=false
|
|
- --jwksuri=http://qliksense-keys:8080/v1/keys/qlik.api.internal
|
|
- --jwtaud=qlik.api.internal
|
|
- --jwtiss=qlik.api.internal
|
|
# resources: {}
|
|
|
|
|
|
ports:
|
|
- containerPort: 8787
|
|
|
|
env:
|
|
- name: ENVIRONMENT
|
|
value:
|
|
- name: MAX_RECIPIENTS
|
|
value: "25"
|
|
- name: MIN_RECIPIENTS
|
|
value: "0"
|
|
- name: LOG_LEVEL
|
|
value: debug
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: NATS_URL
|
|
value: nats://qliksense-nats-client:4222
|
|
- name: NATS_CLUSTER_ID
|
|
value: qliksense-nats-streaming-cluster
|
|
|
|
- name: SELF_SIGNING_PRIVATE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-sharing-tokenconfig
|
|
key: privateKey
|
|
|
|
- name: KEY_IDENTIFIER
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-sharing-tokenconfig
|
|
key: kid
|
|
- name: EDGE_AUTH_URL
|
|
value: http://qliksense-edge-auth:8080/v1/internal-tokens
|
|
- name: FEATURE_FLAGS_URL
|
|
value: "http://qliksense-feature-flags:8080"
|
|
- name: REPORTING_URL
|
|
value: "http://qliksense-reporting:8282"
|
|
- name: PDS_URL
|
|
value: "http://qliksense-policy-decisions:5080"
|
|
- name: INSIGHTS_URL
|
|
value: "http://qliksense-insights:9292"
|
|
- name: TEMP_CONTENT_URL
|
|
value: "http://qliksense-temporary-contents:6080"
|
|
- name: ENCRYPTION_URL
|
|
value: "http://qliksense-encryption:8080"
|
|
- name: TENANTS_URL
|
|
value: "http://qliksense-tenants:8080"
|
|
- name: STORAGE_PATH
|
|
value: "/qlik/sharingsvc-storage"
|
|
volumeMounts:
|
|
- mountPath: /qlik/sharingsvc-storage
|
|
name: sharing-files
|
|
readOnly: false
|
|
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 8787
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 30
|
|
timeoutSeconds: 5
|
|
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8787
|
|
failureThreshold: 10
|
|
initialDelaySeconds: 30
|
|
timeoutSeconds: 5
|
|
|
|
volumes:
|
|
- name: sharing-files
|
|
persistentVolumeClaim:
|
|
claimName: qliksense-sharing
|
|
|
|
---
|
|
# Source: qliksense/charts/spaces/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-spaces
|
|
labels:
|
|
app: spaces
|
|
chart: spaces-2.8.32
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: spaces
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
containers:
|
|
- name: spaces
|
|
image: ghcr.io/qlik-download/spaces:1.13.5
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 6080
|
|
# resources: {}
|
|
|
|
env:
|
|
- name: TERMINATION_GRACE_PERIOD_SECONDS
|
|
value: "30"
|
|
- name: ENVIRONMENT
|
|
value:
|
|
- name: LOG_LEVEL
|
|
value: "info"
|
|
- name: ROLLBAR_ENABLED
|
|
value: "false"
|
|
- name: MESSAGING_ENABLED
|
|
value: "true"
|
|
- name: MESSAGING_NATS_ADDR
|
|
value: "nats://qliksense-nats-client:4222"
|
|
- name: MESSAGING_STAN_CLUSTER_ID
|
|
value: "qliksense-nats-streaming-cluster"
|
|
- name: AUTH_ENABLED
|
|
value: "true"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: TOKEN_PRIVATE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-spaces-tokenconfig
|
|
key: token-privateKey
|
|
- name: TOKEN_KID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-spaces-tokenconfig
|
|
key: token-kid
|
|
- name: TOKEN_URI
|
|
value: "http://qliksense-edge-auth:8080/v1/internal-tokens"
|
|
- name: ACCESS_CONTROL_ENABLED
|
|
value: "true"
|
|
- name: ACCESS_CONTROL_PDS_URI
|
|
value: "http://qliksense-policy-decisions:5080"
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: GROUPS_ENABLED
|
|
value: "true"
|
|
- name: GROUPS_CLIENT_URI
|
|
value: "http://qliksense-groups:8080"
|
|
- name: QUOTAS_ENABLED
|
|
value: "false"
|
|
- name: QUOTAS_URI
|
|
value: "http://qliksense-quotas:6080"
|
|
- name: FEATURE_FLAGS_ENABLED
|
|
value: "true"
|
|
- name: FEATURE_FLAGS_URI
|
|
value: "http://qliksense-feature-flags:8080"
|
|
- name: JAEGER_DISABLED
|
|
value: "true"
|
|
- name: RAW_SPACES_LIMIT
|
|
value: "700"
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 6080
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 6080
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
|
|
terminationGracePeriodSeconds: 30
|
|
selector:
|
|
matchLabels:
|
|
app: spaces
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/subscriptions/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-subscriptions
|
|
labels:
|
|
app: subscriptions
|
|
chart: subscriptions-1.0.3
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: subscriptions
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: subscriptions
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
containers:
|
|
- name: subscriptions
|
|
image: ghcr.io/qlik-download/subscriptions:0.0.7
|
|
imagePullPolicy:
|
|
ports:
|
|
- name: http
|
|
containerPort: 8080
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: http
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: http
|
|
env:
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: MONGO_SSL
|
|
value:
|
|
- name: MONGO_SSL_VALIDATE
|
|
value:
|
|
- name: MONGO_CHECK_SERVER_IDENTITY
|
|
value:
|
|
- name: LOG_LEVEL
|
|
value: "debug"
|
|
- name: JWKS_ENDPOINT
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: KEY_ID
|
|
value: "iUsv5s2Q5CXHPTFn-mHEnr5CIPrW5-KUrfuJPKlpyCE"
|
|
- name: PRIVATE_KEY_FILE
|
|
value: "/run/secret/subscriptions/jwtPrivateKey"
|
|
- name: INTERNAL_TOKENS_RESOURCE
|
|
value: "http://qliksense-edge-auth:8080/v1"
|
|
- name: ROLLBAR_ENABLED
|
|
value: "false"
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: NATS_URL
|
|
value: "http://qliksense-nats-client:4222"
|
|
- name: NATS_CLUSTER_ID
|
|
value: qliksense-nats-streaming-cluster
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
volumeMounts:
|
|
- name: qliksense-subscriptions-secret
|
|
mountPath: "/run/secret/subscriptions"
|
|
readOnly: true
|
|
# resources: {}
|
|
|
|
volumes:
|
|
- name: qliksense-subscriptions-secret
|
|
secret:
|
|
secretName: qliksense-subscriptions-secret
|
|
|
|
---
|
|
# Source: qliksense/charts/temporary-contents/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-temporary-contents
|
|
labels:
|
|
app: temporary-contents
|
|
chart: temporary-contents-1.3.15
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: temporary-contents
|
|
release: qliksense
|
|
spec:
|
|
containers:
|
|
- name: temporary-contents
|
|
image: ghcr.io/qlik-download/temporary-contents:1.4.6
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 6080
|
|
env:
|
|
- name: TERMINATION_GRACE_PERIOD_SECONDS
|
|
value: "30"
|
|
- name: CONTENT_TIME_TO_LIVE
|
|
value: "10000"
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: LOG_LEVEL
|
|
value: "info"
|
|
- name: FEATURE_FLAGS_URI
|
|
value: "http://qliksense-feature-flags:8080"
|
|
- name: AUTH_ENABLED
|
|
value: "true"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: TOKEN_AUTH_ENABLED
|
|
value: "true"
|
|
- name: TOKEN_AUTH_PRIVATE_KEY
|
|
value: "-----BEGIN EC PRIVATE KEY-----\nMIGkAgEBBDACC8nAwmWgM7ozTUo3Kjsl6O5qbEj3OuXvF7BMbPirgevah1fuUs2l\n9xxOoQIMolugBwYFK4EEACKhZANiAAQOvV5QDwOi+osbqHWvOQTK5ShTaee5A/qm\nhKDg8pjHtKQLbCBaneu7YE4asIUYur47b17pkpTG9Xn9s4JMvzO685cKS90D4MiA\ntneIX5FJz3VRnGdTih0yMPC9fAqdsrI=\n-----END EC PRIVATE KEY-----\n"
|
|
- name: TOKEN_AUTH_KID
|
|
value: "ckZJbjOzS1zWHMV8XqX5Q_YKWx2A4FIuGM-Ac8PF4aA"
|
|
- name: TOKEN_AUTH_URL
|
|
value: "http://qliksense-edge-auth:8080/v1/internal-tokens"
|
|
- name: ENCRYPTION_CLIENT
|
|
value: "encryption"
|
|
- name: ENCRYPTION_URI
|
|
value: "http://qliksense-encryption:8080"
|
|
- name: ACCESS_CONTROL_ENABLED
|
|
value: "true"
|
|
- name: PDS_URI
|
|
value: "http://qliksense-policy-decisions:5080"
|
|
- name: STORAGE_PATH
|
|
value: "/qlik/temp-contents"
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 6080
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 6080
|
|
volumeMounts:
|
|
- mountPath: /qlik/temp-contents
|
|
name: temp-files
|
|
readOnly: false
|
|
volumes:
|
|
- name: temp-files
|
|
persistentVolumeClaim:
|
|
claimName: qliksense-temporary-contents
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
terminationGracePeriodSeconds: 30
|
|
selector:
|
|
matchLabels:
|
|
app: temporary-contents
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/transport/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-transport
|
|
labels:
|
|
app: transport
|
|
chart: transport-1.4.0
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: transport
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
containers:
|
|
- name: transport
|
|
image: ghcr.io/qlik-download/transport:1.0.10
|
|
imagePullPolicy:
|
|
ports:
|
|
- name: http
|
|
containerPort: 8080
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 8080
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 8080
|
|
env:
|
|
- name: JWKS_ENDPOINT
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: MONGO_SSL
|
|
value:
|
|
- name: MONGO_SSL_VALIDATE
|
|
value:
|
|
- name: MONGO_CHECK_SERVER_IDENTITY
|
|
value:
|
|
- name: PDS_URI
|
|
value: "http://qliksense-policy-decisions:5080"
|
|
- name: FEATURES_URI
|
|
value: "http://qliksense-feature-flags:8080/v1/features"
|
|
- name: ROLLBAR_ENABLED
|
|
value: "false"
|
|
- name: TEMPORARY_CONTENTS_RESOURCE
|
|
value: "http://qliksense-temporary-contents:6080"
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: NATS_URL
|
|
value: "http://qliksense-nats-client:4222"
|
|
- name: NATS_CLUSTER_ID
|
|
value: qliksense-nats-streaming-cluster
|
|
- name: NATS_TOKEN_AUTH_ENABLED
|
|
value: "true"
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: PRIVATE_KEY
|
|
value: "-----BEGIN EC PRIVATE KEY-----\nMIGkAgEBBDBnMMxxpupXyydYYjRpx0tRqnzwBhgThG01M+0WY22ooo9cU0/znZwf\nBjDPJjQpNTCgBwYFK4EEACKhZANiAAQG6+XLMYHrEq1mUiC7fhA/vtpVhbxe3nRi\nupN8sJ/03w009TXjR6ODrOUmCJkpNornR2B3wnONOScx7dgaAb4L6aUCgdjqkaSk\n6sTjYzME35T6nmoY7F91iHLg2QTfGgw=\n-----END EC PRIVATE KEY-----\n"
|
|
- name: KEY_ID
|
|
value: hPe8ng6iIeKvQFVtzehbgjGKH4uFu9uKyCgGQ1SjjCU
|
|
- name: INTERNAL_TOKENS_RESOURCE
|
|
value: "http://qliksense-edge-auth:8080"
|
|
- name: E2S_ADDR
|
|
value: "http://qliksense-encryption:8080"
|
|
resources:
|
|
limits: {}
|
|
requests: {}
|
|
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
selector:
|
|
matchLabels:
|
|
app: transport
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/web-notifications/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-web-notifications
|
|
labels:
|
|
app: web-notifications
|
|
chart: web-notifications-1.5.13
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: web-notifications
|
|
release: qliksense
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: web-notifications
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
containers:
|
|
- name: web-notifications
|
|
image: ghcr.io/qlik-download/web-notifications:0.0.22
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 8080
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /live
|
|
port: 8080
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 8080
|
|
env:
|
|
- name: LOG_LEVEL
|
|
value: "debug"
|
|
- name: JWKS_ENDPOINT
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: KEY_ID
|
|
value: "YUiIenAWJzwQHexnMp5gqMm7-JzlAx5JhnoeqLHLvmo"
|
|
- name: PRIVATE_KEY_FILE
|
|
value: "/run/secret/web-notifications/jwtPrivateKey"
|
|
- name: INTERNAL_TOKENS_RESOURCE
|
|
value: "http://qliksense-edge-auth:8080/v1"
|
|
- name: ROLLBAR_ENABLED
|
|
value: "false"
|
|
- name: MONGODB_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: MONGODB_SSL
|
|
value:
|
|
- name: MONGODB_SSL_VALIDATE
|
|
value:
|
|
- name: MONGODB_CHECK_SERVER_IDENTITY
|
|
value:
|
|
- name: NATS_ENABLED
|
|
value: "true"
|
|
- name: NATS_URL
|
|
value: "http://qliksense-nats-client:4222"
|
|
- name: NATS_CLUSTER_ID
|
|
value: qliksense-nats-streaming-cluster
|
|
- name: NATS_CLIENT_ID
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
volumeMounts:
|
|
- name: qliksense-web-notifications-secret
|
|
mountPath: "/run/secret/web-notifications"
|
|
readOnly: true
|
|
# resources: {}
|
|
|
|
volumes:
|
|
- name: qliksense-web-notifications-secret
|
|
secret:
|
|
secretName: qliksense-web-notifications-secret
|
|
|
|
---
|
|
# Source: qliksense/charts/web-security/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: qliksense-web-security
|
|
labels:
|
|
app: web-security
|
|
chart: web-security-1.4.18
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: web-security
|
|
release: qliksense
|
|
qliksense-nats-client: "true"
|
|
spec:
|
|
containers:
|
|
- name: web-security
|
|
image: ghcr.io/qlik-download/web-security:1.7.0
|
|
imagePullPolicy:
|
|
ports:
|
|
- containerPort: 6263
|
|
# resources: {}
|
|
|
|
env:
|
|
- name: ENVIRONMENT
|
|
value:
|
|
- name: TERMINATION_GRACE_PERIOD
|
|
value: "30"
|
|
- name: CSP_MAX_HEADER_LENGTH
|
|
value:
|
|
- name: CSP_MAX_ENTRIES_PER_TENANT
|
|
value:
|
|
- name: LOG_LEVEL
|
|
value: "info"
|
|
- name: AUTH_ENABLED
|
|
value: "true"
|
|
- name: AUTH_JWKS_URI
|
|
value: "http://qliksense-keys:8080/v1/keys/qlik.api.internal"
|
|
- name: AUTH_JWT_AUD
|
|
value: "qlik.api.internal"
|
|
- name: AUTH_JWT_ISS
|
|
value: "qlik.api.internal"
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
- name: MESSAGING_ENABLED
|
|
value: "true"
|
|
- name: MESSAGING_AUTH_ENABLED
|
|
value: "true"
|
|
- name: MESSAGING_NATS_ADDR
|
|
value: "nats://qliksense-nats-client:4222"
|
|
- name: MESSAGING_STAN_CLUSTER_ID
|
|
value: "qliksense-nats-streaming-cluster"
|
|
- name: TOKEN_PRIVATE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-web-security-tokenconfig
|
|
key: token-privateKey
|
|
- name: TOKEN_KID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-web-security-tokenconfig
|
|
key: token-kid
|
|
- name: TOKEN_URI
|
|
value: "http://qliksense-edge-auth:8080/v1/internal-tokens"
|
|
volumeMounts:
|
|
- mountPath: /etc/config
|
|
name: csp-volume
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /live
|
|
port: 6263
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /ready
|
|
port: 6263
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
|
|
volumes:
|
|
- name: csp-volume
|
|
configMap:
|
|
name: csp-configmap
|
|
items:
|
|
- key: csp
|
|
path: csp
|
|
terminationGracePeriodSeconds: 30
|
|
selector:
|
|
matchLabels:
|
|
app: web-security
|
|
release: qliksense
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/redis-master-statefulset.yaml
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: qliksense-dcaas-redis-master
|
|
labels:
|
|
app: dcaas-redis
|
|
chart: dcaas-redis-10.5.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: dcaas-redis
|
|
release: qliksense
|
|
role: master
|
|
serviceName: qliksense-dcaas-redis-headless
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: dcaas-redis
|
|
chart: dcaas-redis-10.5.6
|
|
release: qliksense
|
|
role: master
|
|
annotations:
|
|
checksum/health: c2d78ec595d935b414e71602fa4ade6562af3e5f7af9c11213faabe6dc7d8bd8
|
|
checksum/configmap: 281de8a922852a97ac24df4b05b943b6c4a1b125b6087adc0d330eff1f338aaa
|
|
checksum/secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
|
spec:
|
|
securityContext:
|
|
fsGroup: 1001
|
|
serviceAccountName: "default"
|
|
containers:
|
|
- name: qliksense-dcaas-redis
|
|
image: "docker.io/bitnami/redis:5.0.7-debian-10-r32"
|
|
imagePullPolicy: "IfNotPresent"
|
|
securityContext:
|
|
runAsUser: 1001
|
|
command:
|
|
- /bin/bash
|
|
- -c
|
|
- |
|
|
if [[ -n $REDIS_PASSWORD_FILE ]]; then
|
|
password_aux=`cat ${REDIS_PASSWORD_FILE}`
|
|
export REDIS_PASSWORD=$password_aux
|
|
fi
|
|
if [[ ! -f /opt/bitnami/redis/etc/master.conf ]];then
|
|
cp /opt/bitnami/redis/mounted-etc/master.conf /opt/bitnami/redis/etc/master.conf
|
|
fi
|
|
if [[ ! -f /opt/bitnami/redis/etc/redis.conf ]];then
|
|
cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf
|
|
fi
|
|
ARGS=("--port" "${REDIS_PORT}")
|
|
ARGS+=("--protected-mode" "no")
|
|
ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf")
|
|
ARGS+=("--include" "/opt/bitnami/redis/etc/master.conf")
|
|
/run.sh ${ARGS[@]}
|
|
env:
|
|
- name: REDIS_REPLICATION_MODE
|
|
value: master
|
|
- name: ALLOW_EMPTY_PASSWORD
|
|
value: "yes"
|
|
- name: REDIS_PORT
|
|
value: "6379"
|
|
ports:
|
|
- name: redis
|
|
containerPort: 6379
|
|
livenessProbe:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_liveness_local.sh 5
|
|
readinessProbe:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 1
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_readiness_local.sh 5
|
|
resources:
|
|
null
|
|
|
|
volumeMounts:
|
|
- name: health
|
|
mountPath: /health
|
|
- name: redis-data
|
|
mountPath: /data
|
|
subPath:
|
|
- name: config
|
|
mountPath: /opt/bitnami/redis/mounted-etc
|
|
- name: redis-tmp-conf
|
|
mountPath: /opt/bitnami/redis/etc/
|
|
volumes:
|
|
- name: health
|
|
configMap:
|
|
name: qliksense-dcaas-redis-health
|
|
defaultMode: 0755
|
|
- name: config
|
|
configMap:
|
|
name: qliksense-dcaas-redis
|
|
- name: redis-tmp-conf
|
|
emptyDir: {}
|
|
volumeClaimTemplates:
|
|
- metadata:
|
|
name: redis-data
|
|
labels:
|
|
app: dcaas-redis
|
|
release: qliksense
|
|
heritage: Tiller
|
|
component: master
|
|
spec:
|
|
accessModes:
|
|
- "ReadWriteOnce"
|
|
resources:
|
|
requests:
|
|
storage: "8Gi"
|
|
|
|
selector:
|
|
updateStrategy:
|
|
type: RollingUpdate
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/redis-master-statefulset.yaml
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: qliksense-redis-user-state-master
|
|
labels:
|
|
app: redis-user-state
|
|
chart: redis-user-state-10.5.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: redis-user-state
|
|
release: qliksense
|
|
role: master
|
|
serviceName: qliksense-redis-user-state-headless
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: redis-user-state
|
|
chart: redis-user-state-10.5.6
|
|
release: qliksense
|
|
role: master
|
|
annotations:
|
|
checksum/health: 5fc6e78178edeb014376fa425688b5a4e33ce35cf8d8bb300f01c9ddde5e78ba
|
|
checksum/configmap: 47b27d12b793e79ba194a080104d864799e61005d3b3294a68a7c9baa0b6d468
|
|
checksum/secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
|
spec:
|
|
serviceAccountName: "default"
|
|
containers:
|
|
- name: qliksense-redis-user-state
|
|
image: "docker.io/bitnami/redis:5.0.7-debian-10-r32"
|
|
imagePullPolicy: "IfNotPresent"
|
|
command:
|
|
- /bin/bash
|
|
- -c
|
|
- |
|
|
if [[ -n $REDIS_PASSWORD_FILE ]]; then
|
|
password_aux=`cat ${REDIS_PASSWORD_FILE}`
|
|
export REDIS_PASSWORD=$password_aux
|
|
fi
|
|
if [[ ! -f /opt/bitnami/redis/etc/master.conf ]];then
|
|
cp /opt/bitnami/redis/mounted-etc/master.conf /opt/bitnami/redis/etc/master.conf
|
|
fi
|
|
if [[ ! -f /opt/bitnami/redis/etc/redis.conf ]];then
|
|
cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf
|
|
fi
|
|
ARGS=("--port" "${REDIS_PORT}")
|
|
ARGS+=("--protected-mode" "no")
|
|
ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf")
|
|
ARGS+=("--include" "/opt/bitnami/redis/etc/master.conf")
|
|
/run.sh ${ARGS[@]}
|
|
env:
|
|
- name: REDIS_REPLICATION_MODE
|
|
value: master
|
|
- name: ALLOW_EMPTY_PASSWORD
|
|
value: "yes"
|
|
- name: REDIS_PORT
|
|
value: "6379"
|
|
ports:
|
|
- name: redis
|
|
containerPort: 6379
|
|
livenessProbe:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_liveness_local.sh 5
|
|
readinessProbe:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 1
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_readiness_local.sh 5
|
|
resources:
|
|
null
|
|
|
|
volumeMounts:
|
|
- name: health
|
|
mountPath: /health
|
|
- name: redis-data
|
|
mountPath: /data
|
|
subPath:
|
|
- name: config
|
|
mountPath: /opt/bitnami/redis/mounted-etc
|
|
- name: redis-tmp-conf
|
|
mountPath: /opt/bitnami/redis/etc/
|
|
- name: sentinel
|
|
image: "docker.io/bitnami/redis-sentinel:5.0.7-debian-10-r27"
|
|
imagePullPolicy: "IfNotPresent"
|
|
command:
|
|
- /bin/bash
|
|
- -c
|
|
- |
|
|
if [[ -n $REDIS_PASSWORD_FILE ]]; then
|
|
password_aux=`cat ${REDIS_PASSWORD_FILE}`
|
|
export REDIS_PASSWORD=$password_aux
|
|
fi
|
|
if [[ ! -f /opt/bitnami/redis-sentinel/etc/sentinel.conf ]];then
|
|
cp /opt/bitnami/redis-sentinel/mounted-etc/sentinel.conf /opt/bitnami/redis-sentinel/etc/sentinel.conf
|
|
fi
|
|
echo "Getting information about current running sentinels"
|
|
# Get information from existing sentinels
|
|
existing_sentinels=$(timeout -s 9 5 redis-cli --raw -h qliksense-redis-user-state -a "$REDIS_PASSWORD" -p 26379 SENTINEL sentinels engine-redis-user-state)
|
|
echo "$existing_sentinels" | awk -f /health/parse_sentinels.awk | tee -a /opt/bitnami/redis-sentinel/etc/sentinel.conf
|
|
|
|
redis-server /opt/bitnami/redis-sentinel/etc/sentinel.conf --sentinel
|
|
env:
|
|
- name: ALLOW_EMPTY_PASSWORD
|
|
value: "yes"
|
|
- name: REDIS_SENTINEL_PORT
|
|
value: "26379"
|
|
ports:
|
|
- name: redis-sentinel
|
|
containerPort: 26379
|
|
livenessProbe:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_sentinel.sh 5
|
|
readinessProbe:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 1
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_sentinel.sh 5
|
|
resources:
|
|
null
|
|
|
|
volumeMounts:
|
|
- name: health
|
|
mountPath: /health
|
|
- name: redis-data
|
|
mountPath: /data
|
|
subPath:
|
|
- name: config
|
|
mountPath: /opt/bitnami/redis-sentinel/mounted-etc
|
|
- name: sentinel-tmp-conf
|
|
mountPath: /opt/bitnami/redis-sentinel/etc/
|
|
volumes:
|
|
- name: health
|
|
configMap:
|
|
name: qliksense-redis-user-state-health
|
|
defaultMode: 0755
|
|
- name: config
|
|
configMap:
|
|
name: qliksense-redis-user-state
|
|
- name: redis-tmp-conf
|
|
emptyDir: {}
|
|
- name: sentinel-tmp-conf
|
|
emptyDir: {}
|
|
volumeClaimTemplates:
|
|
- metadata:
|
|
name: redis-data
|
|
labels:
|
|
app: redis-user-state
|
|
release: qliksense
|
|
heritage: Tiller
|
|
component: master
|
|
spec:
|
|
accessModes:
|
|
- "ReadWriteOnce"
|
|
resources:
|
|
requests:
|
|
storage: "8Gi"
|
|
|
|
selector:
|
|
updateStrategy:
|
|
type: RollingUpdate
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/redis-slave-statefulset.yaml
|
|
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: qliksense-redis-user-state-slave
|
|
labels:
|
|
app: redis-user-state
|
|
chart: redis-user-state-10.5.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 2
|
|
serviceName: qliksense-redis-user-state-headless
|
|
selector:
|
|
matchLabels:
|
|
app: redis-user-state
|
|
release: qliksense
|
|
role: slave
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: redis-user-state
|
|
release: qliksense
|
|
chart: redis-user-state-10.5.6
|
|
role: slave
|
|
annotations:
|
|
checksum/health: 5fc6e78178edeb014376fa425688b5a4e33ce35cf8d8bb300f01c9ddde5e78ba
|
|
checksum/configmap: 47b27d12b793e79ba194a080104d864799e61005d3b3294a68a7c9baa0b6d468
|
|
checksum/secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
|
spec:
|
|
serviceAccountName: "default"
|
|
containers:
|
|
- name: qliksense-redis-user-state
|
|
image: docker.io/bitnami/redis:5.0.7-debian-10-r32
|
|
imagePullPolicy: "IfNotPresent"
|
|
command:
|
|
- /bin/bash
|
|
- -c
|
|
- |
|
|
if [[ -n $REDIS_PASSWORD_FILE ]]; then
|
|
password_aux=`cat ${REDIS_PASSWORD_FILE}`
|
|
export REDIS_PASSWORD=$password_aux
|
|
fi
|
|
if [[ -n $REDIS_MASTER_PASSWORD_FILE ]]; then
|
|
password_aux=`cat ${REDIS_MASTER_PASSWORD_FILE}`
|
|
export REDIS_MASTER_PASSWORD=$password_aux
|
|
fi
|
|
if [[ ! -f /opt/bitnami/redis/etc/replica.conf ]];then
|
|
cp /opt/bitnami/redis/mounted-etc/replica.conf /opt/bitnami/redis/etc/replica.conf
|
|
fi
|
|
if [[ ! -f /opt/bitnami/redis/etc/redis.conf ]];then
|
|
cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf
|
|
fi
|
|
ARGS=("--port" "${REDIS_PORT}")
|
|
ARGS+=("--slaveof" "${REDIS_MASTER_HOST}" "${REDIS_MASTER_PORT_NUMBER}")
|
|
ARGS+=("--protected-mode" "no")
|
|
ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf")
|
|
ARGS+=("--include" "/opt/bitnami/redis/etc/replica.conf")
|
|
/run.sh "${ARGS[@]}"
|
|
env:
|
|
- name: REDIS_REPLICATION_MODE
|
|
value: slave
|
|
- name: REDIS_MASTER_HOST
|
|
value: qliksense-redis-user-state-master-0.qliksense-redis-user-state-headless.qliksense.svc.cluster.local
|
|
- name: REDIS_PORT
|
|
value: "6379"
|
|
- name: REDIS_MASTER_PORT_NUMBER
|
|
value: "6379"
|
|
- name: ALLOW_EMPTY_PASSWORD
|
|
value: "yes"
|
|
ports:
|
|
- name: redis
|
|
containerPort: 6379
|
|
livenessProbe:
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_liveness_local.sh 5
|
|
readinessProbe:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
timeoutSeconds: 10
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_readiness_local.sh 5
|
|
resources:
|
|
null
|
|
|
|
volumeMounts:
|
|
- name: health
|
|
mountPath: /health
|
|
- name: redis-data
|
|
mountPath: /data
|
|
- name: config
|
|
mountPath: /opt/bitnami/redis/mounted-etc
|
|
- name: redis-tmp-conf
|
|
mountPath: /opt/bitnami/redis/etc
|
|
- name: sentinel
|
|
image: "docker.io/bitnami/redis-sentinel:5.0.7-debian-10-r27"
|
|
imagePullPolicy: "IfNotPresent"
|
|
command:
|
|
- /bin/bash
|
|
- -c
|
|
- |
|
|
if [[ -n $REDIS_PASSWORD_FILE ]]; then
|
|
password_aux=`cat ${REDIS_PASSWORD_FILE}`
|
|
export REDIS_PASSWORD=$password_aux
|
|
fi
|
|
if [[ ! -f /opt/bitnami/redis-sentinel/etc/sentinel.conf ]];then
|
|
cp /opt/bitnami/redis-sentinel/mounted-etc/sentinel.conf /opt/bitnami/redis-sentinel/etc/sentinel.conf
|
|
fi
|
|
|
|
redis-server /opt/bitnami/redis-sentinel/etc/sentinel.conf --sentinel
|
|
env:
|
|
- name: ALLOW_EMPTY_PASSWORD
|
|
value: "yes"
|
|
- name: REDIS_SENTINEL_PORT
|
|
value: "26379"
|
|
ports:
|
|
- name: redis-sentinel
|
|
containerPort: 26379
|
|
livenessProbe:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_sentinel.sh 5
|
|
readinessProbe:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 1
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_sentinel.sh 5
|
|
resources:
|
|
null
|
|
|
|
volumeMounts:
|
|
- name: health
|
|
mountPath: /health
|
|
- name: redis-data
|
|
mountPath: /data
|
|
subPath:
|
|
- name: config
|
|
mountPath: /opt/bitnami/redis-sentinel/mounted-etc
|
|
- name: sentinel-tmp-conf
|
|
mountPath: /opt/bitnami/redis-sentinel/etc
|
|
volumes:
|
|
- name: health
|
|
configMap:
|
|
name: qliksense-redis-user-state-health
|
|
defaultMode: 0755
|
|
- name: config
|
|
configMap:
|
|
name: qliksense-redis-user-state
|
|
- name: sentinel-tmp-conf
|
|
emptyDir: {}
|
|
- name: redis-tmp-conf
|
|
emptyDir: {}
|
|
volumeClaimTemplates:
|
|
- metadata:
|
|
name: redis-data
|
|
labels:
|
|
app: redis-user-state
|
|
release: qliksense
|
|
heritage: Tiller
|
|
component: slave
|
|
spec:
|
|
accessModes:
|
|
- "ReadWriteOnce"
|
|
resources:
|
|
requests:
|
|
storage: "8Gi"
|
|
|
|
selector:
|
|
updateStrategy:
|
|
type: RollingUpdate
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats-streaming/templates/statefulset.yaml
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: qliksense-nats-streaming
|
|
labels:
|
|
app: "nats-streaming"
|
|
chart: "nats-streaming-1.0.2"
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
spec:
|
|
serviceName: nats-streaming
|
|
replicas: 3
|
|
updateStrategy:
|
|
type: RollingUpdate
|
|
selector:
|
|
matchLabels:
|
|
app: nats-streaming
|
|
release: "qliksense"
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: "nats-streaming"
|
|
chart: "nats-streaming-1.0.2"
|
|
release: qliksense
|
|
annotations:
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
affinity:
|
|
podAntiAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 1
|
|
podAffinityTerm:
|
|
topologyKey: kubernetes.io/hostname
|
|
labelSelector:
|
|
matchLabels:
|
|
app: "nats-streaming"
|
|
release: "qliksense"
|
|
containers:
|
|
- name: nats-streaming
|
|
image: ghcr.io/qlik-download/nats-streaming:0.14.2
|
|
imagePullPolicy: IfNotPresent
|
|
env:
|
|
- name: POD_NAME
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.name
|
|
- name: USER
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-nats-secret
|
|
key: client-user
|
|
- name: PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-nats-secret
|
|
key: client-password
|
|
args: [
|
|
"-cid", "qliksense-nats-streaming-cluster",
|
|
"-m", "8222",
|
|
"-ns", "nats://qliksense-nats-client:4222",
|
|
"-mc", "100",
|
|
"-msu", "1000",
|
|
"-mm", "1000000",
|
|
"-mb", "900mb",
|
|
"-ma", "2h",
|
|
"-hbi", "10s",
|
|
"-hbt", "10s",
|
|
"-hbf", "5",
|
|
"-clustered",
|
|
"--cluster_node_id", "$(POD_NAME)",
|
|
"--cluster_peers", "qliksense-nats-streaming-0,qliksense-nats-streaming-1,qliksense-nats-streaming-2",
|
|
"--cluster_log_path", "/nats/qliksense-nats-streaming-cluster/$(POD_NAME)/raft",
|
|
|
|
"--store", "file",
|
|
"--dir", "/nats/qliksense-nats-streaming-cluster/$(POD_NAME)/data",
|
|
"--file_compact_enabled",
|
|
"--file_compact_frag", "50",
|
|
"--file_compact_interval", "300",
|
|
"--file_compact_min_size", "1048576",
|
|
"--file_buffer_size", "2097152",
|
|
"--file_crc",
|
|
"--file_crc_poly", "3988292384",
|
|
"--file_sync",
|
|
"--file_slice_max_msgs", "0",
|
|
"--file_slice_max_bytes", "67108931",
|
|
"--file_slice_max_age", "0",
|
|
"--file_fds_limit", "0",
|
|
"--file_parallel_recovery", "1",
|
|
"--user", "$(USER)",
|
|
"--pass", "$(PASSWORD)",
|
|
"-SD",
|
|
]
|
|
ports:
|
|
- name: monitoring
|
|
containerPort: 8222
|
|
volumeMounts:
|
|
- name: datadir
|
|
mountPath: /nats
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: monitoring
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 6
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: monitoring
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 6
|
|
#resources: {}
|
|
|
|
volumes:
|
|
|
|
- name: datadir
|
|
emptyDir: {}
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats/templates/statefulset.yaml
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: qliksense-nats
|
|
labels:
|
|
app: "nats"
|
|
chart: "nats-1.0.6"
|
|
release: "qliksense"
|
|
heritage: "Tiller"
|
|
spec:
|
|
serviceName: qliksense-nats-headless
|
|
replicas: 1
|
|
updateStrategy:
|
|
type: RollingUpdate
|
|
selector:
|
|
matchLabels:
|
|
app: "nats"
|
|
release: "qliksense"
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: "nats"
|
|
chart: "nats-1.0.6"
|
|
release: "qliksense"
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
affinity:
|
|
podAntiAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 1
|
|
podAffinityTerm:
|
|
topologyKey: kubernetes.io/hostname
|
|
labelSelector:
|
|
matchLabels:
|
|
app: "nats"
|
|
release: "qliksense"
|
|
containers:
|
|
- name: nats
|
|
image: ghcr.io/qlik-download/qnatsd:0.3.3
|
|
imagePullPolicy: IfNotPresent
|
|
command:
|
|
- qnatsd
|
|
args:
|
|
- -c
|
|
- /opt/bitnami/nats/gnatsd.conf
|
|
- --jwt_users_file=/opt/bitnami/nats/users.json
|
|
- --jwt_auth_url=http://qliksense-keys:8080/v1/keys/qlik.api.internal
|
|
ports:
|
|
- name: client
|
|
containerPort: 4222
|
|
- name: cluster
|
|
containerPort: 6222
|
|
- name: monitoring
|
|
containerPort: 8222
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: monitoring
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 6
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: monitoring
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 6
|
|
# resources: {}
|
|
|
|
volumeMounts:
|
|
- name: config
|
|
mountPath: /opt/bitnami/nats
|
|
volumes:
|
|
- name: config
|
|
configMap:
|
|
name: qliksense-nats
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/redis-master-statefulset.yaml
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: qliksense-redis-master
|
|
labels:
|
|
app: redis
|
|
chart: redis-10.5.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: redis
|
|
release: qliksense
|
|
role: master
|
|
serviceName: qliksense-redis-headless
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: redis
|
|
chart: redis-10.5.6
|
|
release: qliksense
|
|
role: master
|
|
annotations:
|
|
checksum/health: 32cb8dbe139502874598d9bd5e699c524a30b84163b03d8a9e8a77a6da37dfc9
|
|
checksum/configmap: ab70fdea6b0006ade0fa9fb00cf049bb0dbf60cea383901fcf7237494e92248e
|
|
checksum/secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
|
spec:
|
|
securityContext:
|
|
fsGroup: 1001
|
|
serviceAccountName: "default"
|
|
containers:
|
|
- name: qliksense-redis
|
|
image: "docker.io/bitnami/redis:5.0.7-debian-10-r32"
|
|
imagePullPolicy: "IfNotPresent"
|
|
securityContext:
|
|
runAsUser: 1001
|
|
command:
|
|
- /bin/bash
|
|
- -c
|
|
- |
|
|
if [[ -n $REDIS_PASSWORD_FILE ]]; then
|
|
password_aux=`cat ${REDIS_PASSWORD_FILE}`
|
|
export REDIS_PASSWORD=$password_aux
|
|
fi
|
|
if [[ ! -f /opt/bitnami/redis/etc/master.conf ]];then
|
|
cp /opt/bitnami/redis/mounted-etc/master.conf /opt/bitnami/redis/etc/master.conf
|
|
fi
|
|
if [[ ! -f /opt/bitnami/redis/etc/redis.conf ]];then
|
|
cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf
|
|
fi
|
|
ARGS=("--port" "${REDIS_PORT}")
|
|
ARGS+=("--protected-mode" "no")
|
|
ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf")
|
|
ARGS+=("--include" "/opt/bitnami/redis/etc/master.conf")
|
|
/run.sh ${ARGS[@]}
|
|
env:
|
|
- name: REDIS_REPLICATION_MODE
|
|
value: master
|
|
- name: ALLOW_EMPTY_PASSWORD
|
|
value: "yes"
|
|
- name: REDIS_PORT
|
|
value: "6379"
|
|
#- name: REDIS_PASSWORD
|
|
# value: ""
|
|
ports:
|
|
- name: redis
|
|
containerPort: 6379
|
|
livenessProbe:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_liveness_local.sh 5
|
|
readinessProbe:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 5
|
|
timeoutSeconds: 1
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_readiness_local.sh 5
|
|
resources:
|
|
null
|
|
|
|
volumeMounts:
|
|
- name: health
|
|
mountPath: /health
|
|
- name: redis-data
|
|
mountPath: /data
|
|
subPath:
|
|
- name: config
|
|
mountPath: /opt/bitnami/redis/mounted-etc
|
|
- name: redis-tmp-conf
|
|
mountPath: /opt/bitnami/redis/etc/
|
|
volumes:
|
|
- name: health
|
|
configMap:
|
|
name: qliksense-redis-health
|
|
defaultMode: 0755
|
|
- name: config
|
|
configMap:
|
|
name: qliksense-redis
|
|
- name: redis-tmp-conf
|
|
emptyDir: {}
|
|
volumeClaimTemplates:
|
|
- metadata:
|
|
name: redis-data
|
|
labels:
|
|
app: redis
|
|
release: qliksense
|
|
heritage: Tiller
|
|
component: master
|
|
spec:
|
|
accessModes:
|
|
- "ReadWriteOnce"
|
|
resources:
|
|
requests:
|
|
storage: "8Gi"
|
|
|
|
selector:
|
|
updateStrategy:
|
|
type: RollingUpdate
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/redis-slave-statefulset.yaml
|
|
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: qliksense-redis-slave
|
|
labels:
|
|
app: redis
|
|
chart: redis-10.5.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
replicas: 2
|
|
serviceName: qliksense-redis-headless
|
|
selector:
|
|
matchLabels:
|
|
app: redis
|
|
release: qliksense
|
|
role: slave
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: redis
|
|
release: qliksense
|
|
chart: redis-10.5.6
|
|
role: slave
|
|
annotations:
|
|
checksum/health: 32cb8dbe139502874598d9bd5e699c524a30b84163b03d8a9e8a77a6da37dfc9
|
|
checksum/configmap: ab70fdea6b0006ade0fa9fb00cf049bb0dbf60cea383901fcf7237494e92248e
|
|
checksum/secret: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
|
spec:
|
|
securityContext:
|
|
fsGroup: 1001
|
|
serviceAccountName: "default"
|
|
containers:
|
|
- name: qliksense-redis
|
|
image: docker.io/bitnami/redis:5.0.7-debian-10-r32
|
|
imagePullPolicy: "IfNotPresent"
|
|
securityContext:
|
|
runAsUser: 1001
|
|
command:
|
|
- /bin/bash
|
|
- -c
|
|
- |
|
|
if [[ -n $REDIS_PASSWORD_FILE ]]; then
|
|
password_aux=`cat ${REDIS_PASSWORD_FILE}`
|
|
export REDIS_PASSWORD=$password_aux
|
|
fi
|
|
if [[ -n $REDIS_MASTER_PASSWORD_FILE ]]; then
|
|
password_aux=`cat ${REDIS_MASTER_PASSWORD_FILE}`
|
|
export REDIS_MASTER_PASSWORD=$password_aux
|
|
fi
|
|
if [[ ! -f /opt/bitnami/redis/etc/replica.conf ]];then
|
|
cp /opt/bitnami/redis/mounted-etc/replica.conf /opt/bitnami/redis/etc/replica.conf
|
|
fi
|
|
if [[ ! -f /opt/bitnami/redis/etc/redis.conf ]];then
|
|
cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf
|
|
fi
|
|
ARGS=("--port" "${REDIS_PORT}")
|
|
ARGS+=("--slaveof" "${REDIS_MASTER_HOST}" "${REDIS_MASTER_PORT_NUMBER}")
|
|
ARGS+=("--protected-mode" "no")
|
|
ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf")
|
|
ARGS+=("--include" "/opt/bitnami/redis/etc/replica.conf")
|
|
/run.sh "${ARGS[@]}"
|
|
env:
|
|
- name: REDIS_REPLICATION_MODE
|
|
value: slave
|
|
- name: REDIS_MASTER_HOST
|
|
value: qliksense-redis-master-0.qliksense-redis-headless.qliksense.svc.cluster.local
|
|
- name: REDIS_PORT
|
|
value: "6379"
|
|
- name: REDIS_MASTER_PORT_NUMBER
|
|
value: "6379"
|
|
- name: ALLOW_EMPTY_PASSWORD
|
|
value: "yes"
|
|
ports:
|
|
- name: redis
|
|
containerPort: 6379
|
|
livenessProbe:
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_liveness_local_and_master.sh 5
|
|
readinessProbe:
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
timeoutSeconds: 10
|
|
successThreshold: 1
|
|
failureThreshold: 5
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- /health/ping_readiness_local_and_master.sh 5
|
|
resources:
|
|
null
|
|
|
|
volumeMounts:
|
|
- name: health
|
|
mountPath: /health
|
|
- name: redis-data
|
|
mountPath: /data
|
|
- name: config
|
|
mountPath: /opt/bitnami/redis/mounted-etc
|
|
- name: redis-tmp-conf
|
|
mountPath: /opt/bitnami/redis/etc
|
|
volumes:
|
|
- name: health
|
|
configMap:
|
|
name: qliksense-redis-health
|
|
defaultMode: 0755
|
|
- name: config
|
|
configMap:
|
|
name: qliksense-redis
|
|
- name: sentinel-tmp-conf
|
|
emptyDir: {}
|
|
- name: redis-tmp-conf
|
|
emptyDir: {}
|
|
volumeClaimTemplates:
|
|
- metadata:
|
|
name: redis-data
|
|
labels:
|
|
app: redis
|
|
release: qliksense
|
|
heritage: Tiller
|
|
component: slave
|
|
spec:
|
|
accessModes:
|
|
- "ReadWriteOnce"
|
|
resources:
|
|
requests:
|
|
storage: "8Gi"
|
|
|
|
selector:
|
|
updateStrategy:
|
|
type: RollingUpdate
|
|
|
|
---
|
|
# Source: qliksense/charts/insights/templates/prune-graph-cronjob.yaml
|
|
|
|
|
|
apiVersion: batch/v1beta1
|
|
kind: CronJob
|
|
metadata:
|
|
name: qliksense-insights-pruning
|
|
spec:
|
|
schedule: "0 0 * * *"
|
|
concurrencyPolicy: Forbid
|
|
successfulJobsHistoryLimit: 1
|
|
failedJobsHistoryLimit: 1
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
containers:
|
|
- name: insights-pruning
|
|
image: ghcr.io/qlik-download/insights:2.0.11
|
|
imagePullPolicy: IfNotPresent
|
|
env:
|
|
- name: PRUNE_ONLY
|
|
value: "true"
|
|
- name: ENVIRONMENT
|
|
value: "k8s"
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
restartPolicy: Never
|
|
|
|
---
|
|
# Source: qliksense/charts/precedents/templates/prune-graph-cronjob.yaml
|
|
|
|
|
|
apiVersion: batch/v1beta1
|
|
kind: CronJob
|
|
metadata:
|
|
name: qliksense-precedents-pruning
|
|
spec:
|
|
schedule: "0 0 * * *"
|
|
concurrencyPolicy: Forbid
|
|
successfulJobsHistoryLimit: 1
|
|
failedJobsHistoryLimit: 1
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
containers:
|
|
- name: precedents-pruning
|
|
image: ghcr.io/qlik-download/precedents:0.81.0
|
|
imagePullPolicy: IfNotPresent
|
|
env:
|
|
- name: PRUNE_ONLY
|
|
value: "true"
|
|
- name: MODE
|
|
value: "elastic"
|
|
- name: LOGLEVEL
|
|
value: ""
|
|
- name: PRUNE_URL
|
|
value: "http://qliksense-precedents:9054/v1/graph/prune"
|
|
- name: EDGE_AUTH_URI
|
|
value: "http://qliksense-edge-auth:8080"
|
|
|
|
# Private Signing Key
|
|
- name: SELF_SIGNING_PRIVATE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-precedents-secret
|
|
key: privatekey
|
|
- name: KEY_IDENTIFIER
|
|
value: GrvbBlHIXFBB7vrpoOl4VyrGIYl_1kUgKSfNqBoh0ds
|
|
restartPolicy: Never
|
|
|
|
---
|
|
# Source: qliksense/charts/sharing/templates/prune-graph-cronjob.yaml
|
|
|
|
|
|
apiVersion: batch/v1beta1
|
|
kind: CronJob
|
|
metadata:
|
|
name: qliksense-sharing-pruning
|
|
spec:
|
|
schedule: "0 0 * * *"
|
|
concurrencyPolicy: Forbid
|
|
successfulJobsHistoryLimit: 1
|
|
failedJobsHistoryLimit: 1
|
|
jobTemplate:
|
|
spec:
|
|
template:
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
containers:
|
|
- name: sharing-pruning
|
|
image: ghcr.io/qlik-download/sharing:3.0.63
|
|
imagePullPolicy: IfNotPresent
|
|
env:
|
|
- name: PRUNE_ONLY
|
|
value: "true"
|
|
- name: ENVIRONMENT
|
|
value: "k8s"
|
|
- name: NATS_ENABLED
|
|
value: "false"
|
|
- name: MONGO_URI
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: qliksense-mongoconfig
|
|
key: mongodb-uri
|
|
restartPolicy: Never
|
|
|
|
---
|
|
# Source: qliksense/charts/collections/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-collections
|
|
labels:
|
|
app: collections
|
|
chart: collections-2.8.55
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/v1/(.*) /v1/$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/collections
|
|
backend:
|
|
serviceName: qliksense-collections
|
|
servicePort: 8080
|
|
- path: /api/v1/items
|
|
backend:
|
|
serviceName: qliksense-collections
|
|
servicePort: 8080
|
|
---
|
|
# Source: qliksense/charts/data-connections/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-data-connections
|
|
labels:
|
|
app: data-connections
|
|
chart: data-connections-1.7.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(v[0-9])/dc-(.*) /$1/$2 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/dc-dataconnections
|
|
backend:
|
|
serviceName: qliksense-data-connections
|
|
servicePort: 9011
|
|
- path: /api/v1/dc-datacredentials
|
|
backend:
|
|
serviceName: qliksense-data-connections
|
|
servicePort: 9011
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-qwc/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-data-connector-qwc-web
|
|
labels:
|
|
app: data-connector-qwc
|
|
chart: data-connector-qwc-3.0.3
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-signin: https://$host/login?returnto=$escaped_request_uri
|
|
nginx.ingress.kubernetes.io/rewrite-target: "/$1/$2"
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /customdata/64/(QvWebConnectorPackage)/(.+)
|
|
backend:
|
|
serviceName: qliksense-data-connector-qwc-web
|
|
servicePort: 6384
|
|
- path: /customdata/64/(QvWebStorageProviderConnectorPackage)/(.+)
|
|
backend:
|
|
serviceName: qliksense-data-connector-qwc-web
|
|
servicePort: 6384
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-prep/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-data-prep
|
|
labels:
|
|
app: data-prep
|
|
chart: data-prep-2.0.7
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/dataprepservice/(.*) /$1 break;
|
|
rewrite (?i)/dataprepservice/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/dataprepservice/v1/openapi
|
|
backend:
|
|
serviceName: qliksense-data-prep
|
|
servicePort: 9072
|
|
---
|
|
# Source: qliksense/charts/dcaas-web/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-dcaas-web
|
|
labels:
|
|
app: dcaas-web
|
|
chart: dcaas-web-1.1.92
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-signin: https://$host/login?returnto=$escaped_request_uri
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/customdata/64/?(.*) /$1 break;
|
|
nginx.ingress.kubernetes.io/rewrite-target: "/"
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /customdata/64
|
|
backend:
|
|
serviceName: qliksense-dcaas-web
|
|
servicePort: 6384
|
|
---
|
|
# Source: qliksense/charts/dcaas/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-dcaas
|
|
labels:
|
|
app: dcaas
|
|
chart: dcaas-1.7.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
|
|
nginx.ingress.kubernetes.io/auth-signin: "https://$host/login?returnto=$escaped_request_uri"
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/dcaas/(.*) /$1 break;
|
|
rewrite (?i)/dcaas/(.*) /$1 break;
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /dcaas
|
|
backend:
|
|
serviceName: qliksense-dcaas
|
|
servicePort: 9026
|
|
- path: /api/dcaas
|
|
backend:
|
|
serviceName: qliksense-dcaas
|
|
servicePort: 9026
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-elastic-infra-api-404
|
|
labels:
|
|
app: elastic-infra
|
|
chart: elastic-infra-3.0.5
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
more_set_headers 'Access-Control-Allow-Origin: $http_origin';
|
|
more_set_headers 'Access-Control-Allow-Methods: GET, PUT, POST, DELETE, PATCH, OPTIONS';
|
|
if ($request_method = 'OPTIONS') {
|
|
more_set_headers 'Access-Control-Max-Age: 1728000';
|
|
more_set_headers 'Content-Type: text/plain charset=UTF-8';
|
|
more_set_headers 'Content-Length: 0';
|
|
return 204;
|
|
}
|
|
return 404;
|
|
nginx.ingress.kubernetes.io/server-snippet: |
|
|
opentracing on;
|
|
gzip on;
|
|
gzip_min_length 10240;
|
|
gzip_proxied expired no-cache no-store private auth;
|
|
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/json application/xml;
|
|
gzip_disable msie6;
|
|
server_tokens off;
|
|
|
|
# Do not store anything in cache unless specific location overrides
|
|
more_set_headers "Cache-Control: no-store" "Pragma: no-cache";
|
|
|
|
# Enforce HSTS
|
|
more_set_headers "Strict-Transport-Security: max-age=15724800; includeSubDomains";
|
|
|
|
|
|
|
|
# The following custom auth block is required so we can have a reliable auth path for engine load balancing (below)
|
|
location = /_external-auth-engine {
|
|
internal;
|
|
|
|
proxy_pass_request_body off;
|
|
proxy_set_header X-Forwarded-Proto "";
|
|
|
|
proxy_set_header Host edge-auth.default.svc.cluster.local;
|
|
proxy_set_header X-Original-URL $scheme://$http_host$request_uri;
|
|
proxy_set_header X-Original-Method $request_method;
|
|
proxy_set_header X-Sent-From "nginx-ingress-controller";
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
|
|
proxy_set_header X-Forwarded-For $remote_addr;
|
|
|
|
proxy_set_header X-Auth-Request-Redirect $request_uri;
|
|
|
|
proxy_buffering off;
|
|
proxy_buffer_size 4k;
|
|
proxy_buffers 4 4k;
|
|
proxy_request_buffering on;
|
|
|
|
proxy_http_version 1.1;
|
|
proxy_ssl_server_name on;
|
|
proxy_pass_request_headers on;
|
|
|
|
client_max_body_size "1m";
|
|
|
|
# Pass the extracted client certificate to the auth provider
|
|
|
|
set $target http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth;
|
|
opentracing_propagate_context;
|
|
proxy_pass $target;
|
|
}
|
|
|
|
# The following is for dataprepservice as a load balancer
|
|
location = /_dataprepservice_special {
|
|
internal;
|
|
|
|
proxy_set_header Content-Type "application/json";
|
|
|
|
set $target http://qliksense-data-prep.qliksense.svc.cluster.local:9072/session/route;
|
|
opentracing_propagate_context;
|
|
proxy_pass $target;
|
|
}
|
|
|
|
# This block is for app open websocket upgrade requests. It calls qix-sessions to get an engine
|
|
# session and then proxies the websocket upgrade to the returned engine.
|
|
#
|
|
# Here are some example paths that would match this location.
|
|
# /app/%3Ftransient%3D
|
|
# /app/a774322d-8230-4688-b459-3e037d53a560
|
|
# /app/a774322d-8230-4688-b459-3e037d53a560/identity/36fec6a7-61c5-41ba-b9f5-76997a53a82c
|
|
# /app/SessionApp_a774322d-8230-4688-b459-3e037d53a560
|
|
# /app/SessionApp_a774322d-8230-4688-b459-3e037d53a560/identity/36fec6a7-61c5-41ba-b9f5-76997a53a82c
|
|
# /qvapp/a774322d-8230-4688-b459-3e037d53a560
|
|
# /qvapp/a774322d-8230-4688-b459-3e037d53a560/identity/36fec6a7-61c5-41ba-b9f5-76997a53a82c
|
|
#
|
|
# Note that location does not contain the query string (e.g. ?example1=true&example2=yes).
|
|
# This golang regex tester is good for testing changes to the localtion regex: https://regex101.com/.
|
|
#
|
|
# ^/app/(SessionApp_)?([a-zA-Z0-9\-]+|%3Ftransient%3D)(/identity/)?([a-zA-Z0-9\-]+)?.*|^/(qv)app/([a-zA-Z0-9\-])(/identity/)?([a-zA-Z0-9\-]+)?.*
|
|
#
|
|
location ~ ^/(qv)?app/(SessionApp_)?([a-zA-Z0-9\-]+|%3Ftransient%3D)(/identity/)?([a-zA-Z0-9\-]+)?.* {
|
|
set $engine_path '';
|
|
set $app_path $1;
|
|
set $session_app $2;
|
|
set $app_id $3;
|
|
set $session_id $5;
|
|
set $auth_path http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth;
|
|
set $qix_session_path http://qliksense-qix-sessions.qliksense.svc.cluster.local:8080/v1/engine-sessions;
|
|
|
|
access_by_lua_block {
|
|
local bridge_tracer = require("opentracing_bridge_tracer")
|
|
local tracer = bridge_tracer.new_from_global()
|
|
local parent_context = tracer:binary_extract(ngx.var.opentracing_binary_context)
|
|
local span = tracer:start_span("qix_sessions_lua_ws", {["references"] = { {"child_of", parent_context} } })
|
|
|
|
local http = require "resty.http"
|
|
local httpc = http.new()
|
|
|
|
local headers = {}
|
|
-- Copy incoming headers
|
|
for h,v in pairs(ngx.req.get_headers()) do
|
|
headers[h] = v
|
|
end
|
|
-- Set specific headers
|
|
headers["X-Forwarded-Proto"] = ""
|
|
headers["X-Original-URL"] = string.format("%s://%s%s", ngx.var.scheme, ngx.var.http_host, ngx.var.request_uri)
|
|
headers["X-Original-Method"] = ngx.var.request_method
|
|
headers["X-Original-Origin"] = ngx.var.http_origin
|
|
headers["X-Sent-From"] = "nginx-ingress-controller"
|
|
headers["X-Real-IP"] = ngx.var.the_real_ip
|
|
headers["X-Forwarded-For"] = ngx.var.the_real_ip
|
|
headers["X-Auth-Request-Redirect"] = ngx.var.request_uri
|
|
headers["Host"] = "edge-auth.default.svc.cluster.local"
|
|
headers["qlik-web-integration-id"] = ngx.req.get_uri_args()["qlik-web-integration-id"]
|
|
tracer:http_headers_inject(span:context(), headers)
|
|
|
|
-- Authenticate
|
|
local authres, err = httpc:request_uri(ngx.var.auth_path, { headers = headers })
|
|
|
|
if err then
|
|
ngx.log(ngx.ERR, "error calling edge_auth: " .. tostring(err))
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
|
return
|
|
end
|
|
|
|
span:set_tag("auth.status", authres.status)
|
|
if authres.status ~= ngx.HTTP_OK then
|
|
ngx.log(ngx.ERR, authres.status .. " received from edge_auth")
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
if authres.status == ngx.HTTP_UNAUTHORIZED or authres.status == ngx.HTTP_FORBIDDEN then
|
|
ngx.exit(authres.status)
|
|
return
|
|
else
|
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
|
return
|
|
end
|
|
end
|
|
|
|
-- Set upstream Authorization header
|
|
ngx.req.set_header("Authorization", authres.headers["Authorization"])
|
|
|
|
-- Find upstream engine
|
|
|
|
local engReqBody = "{\"appId\":\"" .. ngx.var.app_id .. "\","
|
|
|
|
if string.len(ngx.var.session_id) > 0 then
|
|
engReqBody = engReqBody .. "\"id\":\"" .. ngx.var.session_id .. "\","
|
|
end
|
|
|
|
if "SessionApp_" == ngx.var.session_app then
|
|
engReqBody = engReqBody .. "\"workloadType\":\"sessionapp\"}"
|
|
else
|
|
engReqBody = engReqBody .. "\"workloadType\":\"analyse\"}"
|
|
end
|
|
|
|
local reqHeaders = {}
|
|
reqHeaders["Content-Type"] = "application/json"
|
|
reqHeaders["Authorization"] = authres.headers["Authorization"]
|
|
tracer:http_headers_inject(span:context(), reqHeaders)
|
|
|
|
local qix_session_res, qix_session_err = httpc:request_uri(ngx.var.qix_session_path, {
|
|
method = "POST",
|
|
headers = reqHeaders,
|
|
body = engReqBody
|
|
})
|
|
|
|
if qix_session_err then
|
|
ngx.log(ngx.ERR, "error calling qix-sessions: " .. tostring(qix_session_err))
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
|
return
|
|
end
|
|
|
|
span:set_tag("qix.sessions.status", qix_session_res.status)
|
|
if qix_session_res.status ~= ngx.HTTP_CREATED then
|
|
ngx.log(ngx.ERR, qix_session_res.status .. " received from qix-sessions")
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
ngx.exit(qix_session_res.status)
|
|
return
|
|
end
|
|
|
|
local cjson = require "cjson";
|
|
local qix_sessions_route_data = cjson.decode(qix_session_res.body);
|
|
|
|
local engine_path = ""
|
|
if qix_sessions_route_data.links.engineUrl.href then
|
|
engine_path = qix_sessions_route_data.links.engineUrl.href .. "/TTL/120"
|
|
else
|
|
ngx.log(ngx.ERR, "invalid or empty engine path received from qix-sessions")
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
|
return
|
|
end
|
|
|
|
local app_placement_type = qix_sessions_route_data.placementDetails.appPlacementType
|
|
local selectors = qix_sessions_route_data.placementDetails.selectors
|
|
local selector_used = qix_sessions_route_data.placementDetails.selectorUsed
|
|
local from_cache = tostring(qix_sessions_route_data.fromCache)
|
|
local resp_value = ""
|
|
|
|
local parsed_selectors = "[";
|
|
if (type(selectors)) == "table" then
|
|
for i,selector in ipairs(selectors) do
|
|
parsed_selectors = parsed_selectors .. "\"" .. selector .. "\","
|
|
end
|
|
parsed_selectors = parsed_selectors:sub(1, -2)
|
|
end
|
|
parsed_selectors = parsed_selectors .. "]"
|
|
|
|
if app_placement_type and parsed_selectors and selector_used then
|
|
resp_value = "{\"appPlacementType\":\"" .. app_placement_type .. "\"," .. "\"selectors\":" .. parsed_selectors .. "," .. "\"selectorUsed\":\"" .. selector_used .. "\"," .. "\"fromCache\":\"" .. from_cache .. "\"}"
|
|
ngx.header["Placement-Details"] = resp_value
|
|
end
|
|
|
|
ngx.var.engine_path = engine_path
|
|
ngx.log(ngx.NOTICE, "forwarding request to url " .. engine_path)
|
|
|
|
-- Some of these span tags should be logs but as soon as span:log_kv is called the qix_sessions_lua_ws span
|
|
-- does not show up in jeager.
|
|
-- Some of these span tags shoulg be set much earlier but if we do that, unsuccessful spans to edge auth or
|
|
-- qix-sessions do not show up in jaeger.
|
|
span:set_tag("engine.path", engine_path)
|
|
span:set_tag("response.sessionId", qix_sessions_route_data.id)
|
|
span:set_tag("selector", selector_used)
|
|
span:set_tag("from.cache", from_cache)
|
|
|
|
if "qv" == ngx.var.app_path then
|
|
span:set_tag("resource.type", "qvapp")
|
|
else
|
|
span:set_tag("resource.type", "app")
|
|
end
|
|
span:set_tag("appId", ngx.var.app_id)
|
|
span:set_tag("request.sessionId", ngx.var.session_id)
|
|
if "SessionApp_" == ngx.var.session_app then
|
|
span:set_tag("session.app", true)
|
|
else
|
|
span:set_tag("session.app", false)
|
|
end
|
|
span:finish()
|
|
}
|
|
|
|
proxy_set_header X-Real-IP $proxy_protocol_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_protocol_addr;
|
|
proxy_set_header X-Forwarded-Port 80;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header Host $http_host;
|
|
proxy_set_header X-NginX-Proxy true;
|
|
proxy_set_header Connection $connection_upgrade;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_connect_timeout 7d;
|
|
proxy_read_timeout 7d;
|
|
proxy_send_timeout 7d;
|
|
proxy_http_version 1.1;
|
|
opentracing_propagate_context;
|
|
proxy_pass $engine_path;
|
|
}
|
|
|
|
# This block controls the data-prep websocket LB and proxying logic
|
|
location ~ ^/dataprepservice/app/(.+) {
|
|
set $dps_path '';
|
|
|
|
set $app_id $1;
|
|
|
|
access_by_lua_block {
|
|
local bridge_tracer = require("opentracing_bridge_tracer")
|
|
local tracer = bridge_tracer.new_from_global()
|
|
local parent_context = tracer:binary_extract(ngx.var.opentracing_binary_context)
|
|
local span = tracer:start_span("dataprep_lua_ws", {["references"] = { {"child_of", parent_context} } })
|
|
|
|
local headers = {}
|
|
for h,v in pairs(ngx.req.get_headers()) do
|
|
headers[h] = v
|
|
end
|
|
tracer:http_headers_inject(span:context(), headers)
|
|
|
|
local authres = ngx.location.capture("/_external-auth-engine", { headers = headers })
|
|
|
|
span:set_tag("auth.status", authres.status)
|
|
if authres.status ~= ngx.HTTP_OK then
|
|
ngx.log(ngx.ERR, authres.status .. " received from edge_auth")
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
if authres.status == ngx.HTTP_UNAUTHORIZED or authres.status == ngx.HTTP_FORBIDDEN then
|
|
ngx.exit(authres.status)
|
|
return
|
|
else
|
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
|
return
|
|
end
|
|
end
|
|
|
|
-- Set upstream Authorization header
|
|
ngx.req.set_header("Authorization", authres.header["Authorization"])
|
|
|
|
local dpsHeaders = {}
|
|
for h,v in pairs(ngx.req.get_headers()) do
|
|
dpsHeaders[h] = v
|
|
end
|
|
dpsHeaders["Authorization"] = authres.header["Authorization"]
|
|
tracer:http_headers_inject(span:context(), dpsHeaders)
|
|
|
|
local reqBody = "{\"appId\":\"" .. ngx.var.app_id .. "\"}"
|
|
local dps_res = ngx.location.capture("/_dataprepservice_special", {
|
|
method = ngx.HTTP_POST,
|
|
headers = dpsHeaders,
|
|
body = reqBody
|
|
})
|
|
|
|
span:set_tag("data.prep.status", dps_res.status)
|
|
if dps_res.status ~= ngx.HTTP_OK then
|
|
ngx.log(ngx.ERR, "error from dataprepservice route request = " .. dps_res.status)
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
|
return
|
|
end
|
|
|
|
local cjson = require "cjson";
|
|
local dps_route_data = cjson.decode(dps_res.body);
|
|
local dps_path = dps_route_data.url
|
|
if not dps_path then
|
|
ngx.log(ngx.ERR, "invalid or empty path received from dataprepservice")
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
|
return
|
|
end
|
|
|
|
ngx.var.dps_path = string.format("%s/app/%s", dps_path, ngx.var.app_id)
|
|
ngx.log(ngx.NOTICE, "forwarding dataprepservice WS request to url " .. ngx.var.dps_path)
|
|
span:set_tag("data.prep.path", ngx.var.dps_path)
|
|
span:finish()
|
|
}
|
|
|
|
proxy_set_header X-Real-IP $proxy_protocol_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_protocol_addr;
|
|
proxy_set_header X-Forwarded-Port 80;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header Host $http_host;
|
|
proxy_set_header X-NginX-Proxy true;
|
|
proxy_set_header Connection $connection_upgrade;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_connect_timeout 7d;
|
|
proxy_read_timeout 7d;
|
|
proxy_send_timeout 7d;
|
|
proxy_http_version 1.1;
|
|
opentracing_propagate_context;
|
|
proxy_pass $dps_path;
|
|
}
|
|
|
|
# This block controls the data-prep REST API LB and proxying logic
|
|
location ~ ^/api/dataprepservice/v1/apps/([^/]*)/(.*) {
|
|
set $dps_path '';
|
|
set $auth_path http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth;
|
|
set $dps_route_path http://qliksense-data-prep.qliksense.svc.cluster.local:9072/session/route;
|
|
|
|
set $app_id $1;
|
|
set $end_point $2;
|
|
|
|
set $redir https://$best_http_host$request_uri;
|
|
# enforce ssl on server side
|
|
access_by_lua_block {
|
|
local bridge_tracer = require("opentracing_bridge_tracer")
|
|
local tracer = bridge_tracer.new_from_global()
|
|
local parent_context = tracer:binary_extract(ngx.var.opentracing_binary_context)
|
|
local span = tracer:start_span("dataprep_lua_rest", {["references"] = { {"child_of", parent_context} } })
|
|
|
|
local function redirect_to_https()
|
|
return ngx.var.pass_access_scheme == "http" and (ngx.var.scheme == "http" or ngx.var.scheme == "https")
|
|
end
|
|
|
|
if redirect_to_https() then
|
|
span:finish()
|
|
ngx.redirect(ngx.var.redir, ngx.HTTP_MOVED_PERMANETLY)
|
|
return
|
|
end
|
|
|
|
local http = require "resty.http"
|
|
local httpc = http.new()
|
|
|
|
local random = math.random
|
|
|
|
local function guid()
|
|
local template ='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'
|
|
return string.gsub(template, '[xy]', function (found)
|
|
local gen = (found == 'x') and random(0, 0xf) or random(8, 0xb)
|
|
return string.format('%x', gen)
|
|
end)
|
|
end
|
|
|
|
local headers = {}
|
|
for h,v in pairs(ngx.req.get_headers()) do
|
|
headers[h] = v
|
|
end
|
|
headers["Host"] = "edge-auth.default.svc.cluster.local"
|
|
headers["X-Original-URL"] = string.format("%s://%s%s", ngx.var.scheme, ngx.var.http_host, ngx.var.request_uri)
|
|
headers["X-Original-Method"] = ngx.var.request_method
|
|
headers["X-Sent-From"] = "nginx-ingress-controller"
|
|
headers["X-Real-IP"] = ngx.var.the_real_ip
|
|
headers["X-Forwarded-For"] = ngx.var.the_real_ip
|
|
headers["X-Auth-Request-Redirect"] = ngx.var.request_uri
|
|
headers["X-DataPrep-Lua-Request-ID"] = guid()
|
|
tracer:http_headers_inject(span:context(), headers)
|
|
|
|
local res, err = httpc:request_uri(ngx.var.auth_path, {
|
|
headers = headers,
|
|
method = "GET",
|
|
version = 1.1,
|
|
keepalive_timeout = 60,
|
|
keepalive_pool = 10 })
|
|
|
|
if err then
|
|
local hdrStr = ""
|
|
for key,value in pairs(headers) do
|
|
if string.lower(key) ~= "cookie" then
|
|
hdrStr = hdrStr .. key .. ":" .. value .. " "
|
|
end
|
|
end
|
|
ngx.log(ngx.ERR, "error calling edge_auth " .. tostring(err) .. " auth headers: " .. hdrStr .. " edge_auth URI: " .. ngx.var.auth_path)
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
|
return
|
|
end
|
|
|
|
span:set_tag("auth.status", res.status)
|
|
if res.status ~= ngx.HTTP_OK then
|
|
ngx.log(ngx.ERR, res.status .. " received from edge_auth")
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
if res.status == ngx.HTTP_UNAUTHORIZED or res.status == ngx.HTTP_FORBIDDEN then
|
|
ngx.exit(res.status)
|
|
return
|
|
else
|
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
|
return
|
|
end
|
|
end
|
|
|
|
-- Set upstream Authorization header
|
|
ngx.req.set_header("Authorization", res.headers["Authorization"])
|
|
|
|
local reqHeaders = {}
|
|
reqHeaders["Content-Type"] = "application/json"
|
|
reqHeaders["Authorization"] = res.headers["Authorization"]
|
|
tracer:http_headers_inject(span:context(), reqHeaders)
|
|
|
|
local reqBody = "{\"appId\":\"" .. ngx.var.app_id .. "\"}"
|
|
|
|
local dps_res, dps_err = httpc:request_uri(ngx.var.dps_route_path, {
|
|
method = "POST",
|
|
headers = reqHeaders,
|
|
body = reqBody
|
|
})
|
|
|
|
if dps_err then
|
|
ngx.log(ngx.ERR, "error calling dataprepservice: " .. tostring(dps_err))
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
|
return
|
|
end
|
|
|
|
span:set_tag("data.prep.status", dps_res.status)
|
|
if dps_res.status ~= ngx.HTTP_OK then
|
|
ngx.log(ngx.ERR, "error from dataprepservice route request: " .. dps_res.status)
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
|
return
|
|
end
|
|
|
|
local cjson = require "cjson";
|
|
local dps_route_data = cjson.decode(dps_res.body);
|
|
local dps_path = dps_route_data.url
|
|
if not dps_path then
|
|
ngx.log(ngx.ERR, "invalid or empty path received from dataprepservice")
|
|
span:set_tag("error", true)
|
|
span:finish()
|
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
|
return
|
|
end
|
|
|
|
local query_params = ngx.encode_args(ngx.req.get_uri_args())
|
|
if query_params then
|
|
query_params = "?" .. query_params
|
|
end
|
|
|
|
ngx.var.dps_path = string.format("%s/v1/apps/%s/%s%s", dps_path, ngx.var.app_id, ngx.var.end_point, query_params)
|
|
ngx.log(ngx.NOTICE, "forwarding dataprepservice request to url " .. ngx.var.dps_path)
|
|
span:set_tag("data.prep.path", ngx.var.dps_path)
|
|
span:finish()
|
|
}
|
|
|
|
proxy_set_header X-Real-IP $proxy_protocol_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_protocol_addr;
|
|
proxy_set_header X-Forwarded-Port 80;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_set_header Host $http_host;
|
|
proxy_set_header X-NginX-Proxy true;
|
|
proxy_connect_timeout 7d;
|
|
proxy_read_timeout 7d;
|
|
proxy_send_timeout 7d;
|
|
opentracing_propagate_context;
|
|
proxy_pass $dps_path;
|
|
}
|
|
nginx.ingress.kubernetes.io/proxy-body-size: 500m
|
|
nginx.org/client-max-body-size: 500m
|
|
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths: # paths are required but we override above with a return 404 so as to not hit the default backend
|
|
- path: /api
|
|
|
|
backend:
|
|
serviceName: qliksense-nginx-ingress-controller
|
|
servicePort: 80
|
|
---
|
|
# Source: qliksense/charts/engine/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-engine
|
|
labels:
|
|
app: engine
|
|
chart: engine-1.68.13
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
nginx.ingress.kubernetes.io/proxy-body-size: 500m
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
|
|
nginx.org/client-max-body-size: 500m
|
|
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/apps/import
|
|
|
|
backend:
|
|
serviceName: qliksense-engine
|
|
servicePort: 9076
|
|
- path: /api/v1/apps
|
|
|
|
backend:
|
|
serviceName: qliksense-engine
|
|
servicePort: 9076
|
|
- path: /api/engine/openapi
|
|
|
|
backend:
|
|
serviceName: qliksense-engine
|
|
servicePort: 9076
|
|
- path: /api/engine/openrpc
|
|
|
|
backend:
|
|
serviceName: qliksense-engine
|
|
servicePort: 9076
|
|
- path: /api/engine/asyncapi
|
|
|
|
backend:
|
|
serviceName: qliksense-engine
|
|
servicePort: 9076
|
|
---
|
|
# Source: qliksense/charts/eventing/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-eventing
|
|
labels:
|
|
app: eventing
|
|
chart: eventing-1.3.3
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/events
|
|
|
|
backend:
|
|
serviceName: qliksense-eventing
|
|
servicePort: 8080
|
|
|
|
---
|
|
# Source: qliksense/charts/feature-flags/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-feature-flags
|
|
labels:
|
|
app: feature-flags
|
|
chart: feature-flags-2.0.8
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
set $host_and_uri $http_host$request_uri;
|
|
if ( $host_and_uri ~* "^.{2049,}$" ) { return 414; }
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
more_clear_input_headers "X-Forwarded-Host" "X-Forwarded-For" "X-Forwarded-Proto" "X-Original-URI" "X-Original-URL";
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/features
|
|
|
|
backend:
|
|
serviceName: qliksense-feature-flags
|
|
servicePort: 8080
|
|
|
|
---
|
|
# Source: qliksense/charts/generic-links/templates/ingress.yml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-generic-links
|
|
labels:
|
|
app: generic-links
|
|
chart: generic-links-1.1.18
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/v1/(.*) /v1/$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/generic-links
|
|
|
|
backend:
|
|
serviceName: qliksense-generic-links
|
|
servicePort: 6080
|
|
---
|
|
# Source: qliksense/charts/hub/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-hub
|
|
labels:
|
|
app: hub
|
|
chart: hub-1.3.109
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/rewrite-target: "/"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
if ( $request_method !~ ^(GET|HEAD)$ ) {
|
|
add_header Allow "GET, HEAD" always;
|
|
return 405;
|
|
}
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /
|
|
|
|
backend:
|
|
serviceName: qliksense-hub
|
|
servicePort: 3023
|
|
---
|
|
# Source: qliksense/charts/insights/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-insights-api
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
labels:
|
|
app: insights
|
|
chart: insights-1.9.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/insights
|
|
|
|
backend:
|
|
serviceName: qliksense-insights
|
|
servicePort: 9292
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-insights-insight
|
|
labels:
|
|
app: insights
|
|
chart: insights-1.9.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/rewrite-target: /insight
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-signin: https://$host/login?returnto=$escaped_request_uri
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /insight
|
|
|
|
backend:
|
|
serviceName: qliksense-insights
|
|
servicePort: 9292
|
|
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-insights-share
|
|
labels:
|
|
app: insights
|
|
chart: insights-1.9.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/rewrite-target: /share
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-signin: https://$host/login?returnto=$escaped_request_uri
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /share
|
|
|
|
backend:
|
|
serviceName: qliksense-insights
|
|
servicePort: 9292
|
|
|
|
---
|
|
# Source: qliksense/charts/licenses/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-licenses
|
|
labels:
|
|
app: licenses
|
|
chart: licenses-1.21.0
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/licenses
|
|
|
|
backend:
|
|
serviceName: qliksense-licenses
|
|
servicePort: 9200
|
|
---
|
|
|
|
|
|
# Source: qliksense/charts/locale/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-locale
|
|
labels:
|
|
app: locale
|
|
chart: locale-1.3.6
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/locale
|
|
|
|
backend:
|
|
serviceName: qliksense-locale
|
|
servicePort: 8080
|
|
|
|
---
|
|
# Source: qliksense/charts/management-console/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-management-console
|
|
labels:
|
|
app: management-console
|
|
chart: management-console-1.6.295
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite ^([^.]*[^/])$ $1/ permanent;
|
|
more_set_headers "Cache-Control" "Content-Security-Policy: frame-ancestors 'none'" "Pragma" "X-Content-Type-Options: nosniff" "X-Frame-Options: DENY" "X-XSS-Protection: 1; mode=block";
|
|
if ( $request_method !~ ^(GET|HEAD)$ ) {
|
|
add_header Allow "GET, HEAD" always;
|
|
return 405;
|
|
}
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /console
|
|
|
|
backend:
|
|
serviceName: qliksense-management-console
|
|
servicePort: 3024
|
|
---
|
|
# Source: qliksense/charts/nl-broker/templates/ingress.yaml
|
|
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-nl-broker
|
|
labels:
|
|
app: nl-broker
|
|
chart: nl-broker-1.2.3
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/v1/(.*) /v1/$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/sentences
|
|
|
|
backend:
|
|
serviceName: qliksense-nl-broker
|
|
servicePort: 30301
|
|
|
|
---
|
|
# Source: qliksense/charts/nl-parser/templates/ingress.yaml
|
|
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-nl-parser
|
|
labels:
|
|
app: nl-parser
|
|
chart: nl-parser-1.3.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/v1/(.*) /v1/$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/parse
|
|
|
|
backend:
|
|
serviceName: qliksense-nl-parser
|
|
servicePort: 30302
|
|
---
|
|
# Source: qliksense/charts/notification-prep/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-notification-prep
|
|
labels:
|
|
app: notification-prep
|
|
chart: notification-prep-1.0.10
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/notification-prep
|
|
|
|
backend:
|
|
serviceName: qliksense-notification-prep
|
|
servicePort: 8080
|
|
---
|
|
# Source: qliksense/charts/odag/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-odag
|
|
labels:
|
|
app: odag
|
|
chart: odag-1.9.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/odag/(.*) /$1 break;
|
|
nginx.ingress.kubernetes.io/rewrite-target: /
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/odag/openapi
|
|
|
|
backend:
|
|
serviceName: qliksense-odag
|
|
servicePort: 9098
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-odag-api
|
|
labels:
|
|
app: odag
|
|
chart: odag-1.9.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/v1/(.*) /v1/$1 break;
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/odag
|
|
|
|
backend:
|
|
serviceName: qliksense-odag
|
|
servicePort: 9098
|
|
- path: /api/v1/odaglinks
|
|
|
|
backend:
|
|
serviceName: qliksense-odag
|
|
servicePort: 9098
|
|
- path: /api/v1/odagisavailable4
|
|
|
|
backend:
|
|
serviceName: qliksense-odag
|
|
servicePort: 9098
|
|
- path: /api/v1/odagsettings
|
|
|
|
backend:
|
|
serviceName: qliksense-odag
|
|
servicePort: 9098
|
|
- path: /api/v1/odagrequests
|
|
|
|
backend:
|
|
serviceName: qliksense-odag
|
|
servicePort: 9098
|
|
|
|
---
|
|
# Source: qliksense/charts/policy-decisions/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-policy-decisions
|
|
labels:
|
|
app: policy-decisions
|
|
chart: policy-decisions-2.0.0
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/v1/(.*) /v1/$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/rules
|
|
|
|
backend:
|
|
serviceName: qliksense-policy-decisions
|
|
servicePort: 5080
|
|
- path: /api/v1/rulesets
|
|
|
|
backend:
|
|
serviceName: qliksense-policy-decisions
|
|
servicePort: 5080
|
|
- path: /api/v1/policies
|
|
|
|
backend:
|
|
serviceName: qliksense-policy-decisions
|
|
servicePort: 5080
|
|
|
|
---
|
|
# Source: qliksense/charts/precedents/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-precedents
|
|
labels:
|
|
app: precedents
|
|
chart: precedents-1.1.32
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/precedent/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/precedent
|
|
|
|
backend:
|
|
serviceName: qliksense-precedents
|
|
servicePort: 9054
|
|
---
|
|
# Source: qliksense/charts/qix-data-connection/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-qix-data-connection
|
|
labels:
|
|
app: qix-data-connection
|
|
chart: qix-data-connection-1.8.9
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/dataconnections
|
|
|
|
backend:
|
|
serviceName: qliksense-qix-data-connection
|
|
servicePort: 9011
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-datafiles/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-qix-datafiles
|
|
labels:
|
|
app: qix-datafiles
|
|
chart: qix-datafiles-1.10.42
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
nginx.ingress.kubernetes.io/proxy-body-size: 500m
|
|
nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
|
|
nginx.org/client-max-body-size: 500m
|
|
nginx.ingress.kubernetes.io/client-body-buffer-size: 10m
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/qix-datafiles
|
|
|
|
backend:
|
|
serviceName: qliksense-qix-datafiles
|
|
servicePort: 8080
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-sessions/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-qix-sessions
|
|
labels:
|
|
app: qix-sessions
|
|
chart: qix-sessions-6.4.1
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/selectors
|
|
|
|
backend:
|
|
serviceName: qliksense-qix-sessions
|
|
servicePort: 8080
|
|
- path: /api/v1/engines
|
|
|
|
backend:
|
|
serviceName: qliksense-qix-sessions
|
|
servicePort: 8080
|
|
---
|
|
# Source: qliksense/charts/qlikview-client/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-qlikview-client
|
|
labels:
|
|
app: qlikview-client
|
|
chart: qlikview-client-1.0.27
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
nginx.ingress.kubernetes.io/rewrite-target: /$1
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /qv/?(.*)
|
|
|
|
backend:
|
|
serviceName: qliksense-qlikview-client
|
|
servicePort: 9003
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-qlikview-client-ajax
|
|
labels:
|
|
app: qlikview-client
|
|
chart: qlikview-client-1.0.27
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /QvAjaxZfc
|
|
|
|
backend:
|
|
serviceName: qliksense-qlikview-client
|
|
servicePort: 9003
|
|
---
|
|
# Source: qliksense/charts/quotas/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-quotas
|
|
labels:
|
|
app: quotas
|
|
chart: quotas-1.0.4
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/v1/(.*) /v1/$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/quotas
|
|
|
|
backend:
|
|
serviceName: qliksense-quotas
|
|
servicePort: 6080
|
|
|
|
---
|
|
# Source: qliksense/charts/reload-tasks/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-reload-tasks
|
|
labels:
|
|
app: reload-tasks
|
|
chart: reload-tasks-1.6.5
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/reload-tasks
|
|
|
|
backend:
|
|
serviceName: qliksense-reload-tasks
|
|
servicePort: 8080
|
|
---
|
|
# Source: qliksense/charts/reloads/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-reloads
|
|
labels:
|
|
app: reloads
|
|
chart: reloads-1.7.10
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/reloads
|
|
|
|
backend:
|
|
serviceName: qliksense-reloads
|
|
servicePort: 8080
|
|
|
|
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/reporting/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-reporting
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/v1/(.*) /v1/$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/images
|
|
|
|
backend:
|
|
serviceName: qliksense-reporting
|
|
servicePort: 8282
|
|
- path: /api/v1/reports
|
|
|
|
backend:
|
|
serviceName: qliksense-reporting
|
|
servicePort: 8282
|
|
- path: /api/v1/files
|
|
|
|
backend:
|
|
serviceName: qliksense-reporting
|
|
servicePort: 8282
|
|
|
|
---
|
|
# Source: qliksense/charts/resource-library/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-resource-library
|
|
labels:
|
|
app: resource-library
|
|
chart: resource-library-1.10.11
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/extensions/?(.*) /v1/extensions/$1 break;
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
more_set_headers "Content-Security-Policy: default-src 'none';";
|
|
nginx.ingress.kubernetes.io/proxy-body-size: 250m
|
|
nginx.org/client-max-body-size: 250m
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /extensions
|
|
|
|
backend:
|
|
serviceName: qliksense-resource-library
|
|
servicePort: 21068
|
|
- path: /api/v1/extensions
|
|
|
|
backend:
|
|
serviceName: qliksense-resource-library
|
|
servicePort: 21068
|
|
- path: /api/v1/themes
|
|
|
|
backend:
|
|
serviceName: qliksense-resource-library
|
|
servicePort: 21068
|
|
|
|
---
|
|
# Source: qliksense/charts/sense-client/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-sense-client
|
|
labels:
|
|
app: sense-client
|
|
chart: sense-client-1.7.112
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-signin: https://$host/login?returnto=$escaped_request_uri
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
more_set_headers "Cache-Control" "Pragma" "X-XSS-Protection: 1; mode=block" "X-Content-Type-Options: nosniff";
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /sense
|
|
|
|
backend:
|
|
serviceName: qliksense-sense-client
|
|
servicePort: 905
|
|
- path: /dataloadeditor
|
|
|
|
backend:
|
|
serviceName: qliksense-sense-client
|
|
servicePort: 9050
|
|
- path: /datamodelviewer
|
|
|
|
backend:
|
|
serviceName: qliksense-sense-client
|
|
servicePort: 9050
|
|
- path: /single
|
|
|
|
backend:
|
|
serviceName: qliksense-sense-client
|
|
servicePort: 9050
|
|
---
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-sense-client-resources
|
|
labels:
|
|
app: sense-client
|
|
chart: sense-client-1.7.112
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
more_set_headers "Cache-Control" "Pragma" "Access-Control-Allow-Origin: *";
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /resources
|
|
|
|
backend:
|
|
serviceName: qliksense-sense-client
|
|
servicePort: 9050
|
|
---
|
|
# Source: qliksense/charts/sharing/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-sharing
|
|
labels:
|
|
app: sharing
|
|
chart: sharing-1.4.7
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
set $host_and_uri $http_host$request_uri;
|
|
if ( $host_and_uri ~* "^.{2049,}$" ) { return 414; }
|
|
if ( $request_uri ~* "^.*/files/.*$") {
|
|
more_set_headers 'Cache-Control: private, must-revalidate, max-age=0';
|
|
more_set_headers 'Expires: Mon, 01 Jan 0001 00:00:00 GMT';
|
|
more_set_headers 'Pragma: no-cache';
|
|
}
|
|
rewrite (?i)/api/v1/(.*) /v1/$1 break;
|
|
more_clear_input_headers "X-Forwarded-Host" "X-Forwarded-For" "X-Forwarded-Proto" "X-Original-URI" "X-Original-URL";
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/sharing
|
|
|
|
backend:
|
|
serviceName: qliksense-sharing
|
|
servicePort: 8787
|
|
- path: /api/v1/alerting
|
|
|
|
backend:
|
|
serviceName: qliksense-sharing
|
|
servicePort: 8787
|
|
|
|
---
|
|
# Source: qliksense/charts/spaces/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-spaces
|
|
labels:
|
|
app: spaces
|
|
chart: spaces-2.8.32
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/v1/(.*) /v1/$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/spaces
|
|
|
|
backend:
|
|
serviceName: qliksense-spaces
|
|
servicePort: 6080
|
|
|
|
---
|
|
|
|
---
|
|
# Source: qliksense/charts/subscriptions/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-subscriptions
|
|
labels:
|
|
app: subscriptions
|
|
chart: subscriptions-1.0.3
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/subscriptions
|
|
|
|
backend:
|
|
serviceName: qliksense-subscriptions
|
|
servicePort: 8080
|
|
|
|
---
|
|
# Source: qliksense/charts/temporary-contents/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-temporary-contents
|
|
labels:
|
|
app: temporary-contents
|
|
chart: temporary-contents-1.3.15
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.org/client-max-body-size: "0"
|
|
nginx.ingress.kubernetes.io/client-body-buffer-size: 10m
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "604800"
|
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "604800"
|
|
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
|
nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
# Only set if origin is sent as header
|
|
if ( $http_origin ) {
|
|
set $origin $http_origin;
|
|
set $Access_Control_Allow_Credentials "true";
|
|
set $Access_Control_Allow_Methods "GET, HEAD, POST, PATCH, OPTIONS";
|
|
set $Access_Control_Allow_Headers "DNT,Qlik-Web-Integration-ID,Qlik-CSRF-Token,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,Content-Location,Tus-Resumable,Upload-Length,Upload-Metadata,Upload-Offset";
|
|
set $Access_Control_Max_Age "1728000";
|
|
set $Access_Control_Expose_Headers "Qlik-CSRF-Token,Content-Location,Location,Upload-Length,Upload-Offset";
|
|
}
|
|
|
|
if ( $request_method = 'OPTIONS' ) {
|
|
more_set_headers 'Access-Control-Allow-Origin: $origin';
|
|
more_set_headers 'Access-Control-Allow-Credentials: $Access_Control_Allow_Credentials';
|
|
more_set_headers 'Access-Control-Allow-Methods: $Access_Control_Allow_Methods';
|
|
more_set_headers 'Access-Control-Allow-Headers: $Access_Control_Allow_Headers';
|
|
more_set_headers 'Access-Control-Expose-Headers: $Access_Control_Expose_Headers';
|
|
more_set_headers 'Access-Control-Max-Age: $Access_Control_Max_Age';
|
|
more_set_headers 'Tus-Resumable: 1.0.0';
|
|
more_set_headers 'Tus-Version: 1.0.0';
|
|
more_set_headers 'Tus-Extension: creation';
|
|
more_set_headers 'Content-Type: text/plain charset=UTF-8';
|
|
more_set_headers 'Content-Length: 0';
|
|
return 204;
|
|
}
|
|
|
|
more_set_headers 'Access-Control-Allow-Origin: $access_control_allow_origin';
|
|
more_set_headers 'Vary: $vary';
|
|
more_set_headers 'Access-Control-Allow-Credentials: $Access_Control_Allow_Credentials';
|
|
more_set_headers 'Access-Control-Allow-Methods: $Access_Control_Allow_Methods';
|
|
more_set_headers 'Access-Control-Allow-Headers: $Access_Control_Allow_Headers';
|
|
more_set_headers 'Access-Control-Expose-Headers: $Access_Control_Expose_Headers';
|
|
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/temp-contents
|
|
backend:
|
|
serviceName: qliksense-temporary-contents
|
|
servicePort: 6080
|
|
|
|
---
|
|
# Source: qliksense/charts/transport/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-transport
|
|
labels:
|
|
app: transport
|
|
chart: transport-1.4.0
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/transport
|
|
|
|
backend:
|
|
serviceName: qliksense-transport
|
|
servicePort: 8080
|
|
---
|
|
# Source: qliksense/charts/web-notifications/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-web-notifications
|
|
labels:
|
|
app: web-notifications
|
|
chart: web-notifications-1.5.13
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/(.*) /$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/web-notifications
|
|
|
|
backend:
|
|
serviceName: qliksense-web-notifications
|
|
servicePort: 8080
|
|
---
|
|
# Source: qliksense/charts/web-security/templates/ingress.yml
|
|
apiVersion: networking.k8s.io/v1beta1
|
|
kind: Ingress
|
|
metadata:
|
|
name: qliksense-web-security
|
|
labels:
|
|
app: web-security
|
|
chart: web-security-1.4.18
|
|
release: qliksense
|
|
heritage: Tiller
|
|
annotations:
|
|
kubernetes.io/ingress.class: qlik-nginx
|
|
nginx.ingress.kubernetes.io/auth-url: "http://qliksense-edge-auth.qliksense.svc.cluster.local:8080/v1/auth"
|
|
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
|
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
|
nginx.ingress.kubernetes.io/configuration-snippet: |
|
|
rewrite (?i)/api/v1/(.*) /v1/$1 break;
|
|
spec:
|
|
rules:
|
|
- http:
|
|
paths:
|
|
- path: /api/v1/csp-origins
|
|
backend:
|
|
serviceName: qliksense-web-security
|
|
servicePort: 6263
|
|
- path: /api/v1/csp-header
|
|
backend:
|
|
serviceName: qliksense-web-security
|
|
servicePort: 6263
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/engines.yaml
|
|
|
|
apiVersion: qixengine.qlik.com/v1
|
|
kind: Engine
|
|
metadata:
|
|
name: engine-default
|
|
labels:
|
|
chart: engine-1.68.13
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
controller: Deployment
|
|
engineVariantName: engine-variant-qliksense
|
|
labels:
|
|
qlik.com/default: "true"
|
|
replicas: 1
|
|
|
|
---
|
|
|
|
apiVersion: qixengine.qlik.com/v1
|
|
kind: Engine
|
|
metadata:
|
|
name: engine-qlikview-default
|
|
labels:
|
|
chart: engine-1.68.13
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
controller: Deployment
|
|
engineVariantName: engine-variant-qlikview
|
|
labels:
|
|
qlik.com/default: "true"
|
|
replicas: 1
|
|
|
|
---
|
|
---
|
|
# Source: qliksense/charts/engine/templates/engine-template.yaml
|
|
|
|
|
|
apiVersion: qixengine.qlik.com/v1
|
|
kind: EngineTemplate
|
|
metadata:
|
|
name: engine-template-default
|
|
labels:
|
|
chart: engine-1.68.13
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
labels:
|
|
app: qliksense-engine
|
|
release: qliksense
|
|
qix-engine: qix-engine
|
|
qlik.com/engine-type: "qliksense"
|
|
qliksense-nats-client: "true"
|
|
qix-engine-version: 12.687.0
|
|
qlik.com/engine-deployment-name: qliksense-engine-template-default
|
|
metricsPort: "9090"
|
|
port: "9076"
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9090"
|
|
prometheus.io/job: engine
|
|
podSpec:
|
|
imagePullSecrets:
|
|
- name: artifactory-docker-secret
|
|
|
|
dnsConfig:
|
|
options:
|
|
- name: timeout
|
|
value: "1"
|
|
- name: single-request-reopen
|
|
|
|
terminationGracePeriodSeconds: 30
|
|
containers:
|
|
- name: engine
|
|
image: ghcr.io/qlik-download/engine:12.687.0
|
|
args:
|
|
- -S
|
|
- BasePathPrefix=/api
|
|
- -S
|
|
- DocumentDirectory=/qlik/apps
|
|
- -S
|
|
- EnableNumericalAbbreviation=0
|
|
- -S
|
|
- EnableQvwRestImport=1
|
|
- -S
|
|
- EnableRestartOnSessionStall=1
|
|
- -S
|
|
- EnableWebSocketIdleManagement=1
|
|
- -S
|
|
- FolderConnectionInterface=0
|
|
- -S
|
|
- ShutdownWait=1
|
|
- -S
|
|
- AcceptEULA=yes
|
|
- -S
|
|
- PrometheusServicePort=9090
|
|
- -S
|
|
- DesktopPort=9076
|
|
- -S
|
|
- AuditLogVerbosity=0
|
|
- -S
|
|
- EnableExtServiceLogs=1
|
|
- -S
|
|
- EventBusLogVerbosity=4
|
|
- -S
|
|
- ExternalServicesLogVerbosity=4
|
|
- -S
|
|
- HttpTrafficLogVerbosity=4
|
|
- -S
|
|
- PerformanceLogVerbosity=0
|
|
- -S
|
|
- QixPerformanceLogVerbosity=0
|
|
- -S
|
|
- SSEVerbosity=4
|
|
- -S
|
|
- ScriptLogVerbosity=4
|
|
- -S
|
|
- SessionLogVerbosity=4
|
|
- -S
|
|
- SmartSearchIndexLogVerbosity=3
|
|
- -S
|
|
- SmartSearchQueryLogVerbosity=3
|
|
- -S
|
|
- SystemLogVerbosity=4
|
|
- -S
|
|
- TrafficLogVerbosity=0
|
|
- -S
|
|
- RestServiceRequestNbrOfRetries=5
|
|
- -S
|
|
- Autosave=1
|
|
- -S
|
|
- AutosaveInterval=5
|
|
- -S
|
|
- JWKSServiceUrl=http://qliksense-keys:8080/v1/keys/qlik.api.internal
|
|
- -S
|
|
- ValidateJsonWebTokens=2
|
|
- -S
|
|
- EnableRenewUserToken=1
|
|
- -S
|
|
- InternalTokenServiceUrl=http://qliksense-edge-auth:8080/v1
|
|
- -S
|
|
- JWTSignPrivateKeyId=uHxp0YvnYQx-AqQgHnxgKqTk_HmZiT67B8SYOlzSgoM
|
|
- -S
|
|
- JWTSignPrivateKeyPath=/etc/secrets/jwtPrivateKey
|
|
- -S
|
|
- EnableABAC=1
|
|
- -S
|
|
- EnableAccessControlTrace=1
|
|
- -S
|
|
- EnableFilePolling=1
|
|
- -S
|
|
- Gen3=1
|
|
- -S
|
|
- PersistenceMode=2
|
|
- -S
|
|
- SystemRules=/etc/config/rules.yaml
|
|
- -S
|
|
- ConnectivityServiceUrl=http://qliksense-qix-data-connection:9011
|
|
- -S
|
|
- ConnectorGetDataRetryCount=3
|
|
- -S
|
|
- ConnectorGetDataRetryIntervalInSeconds=10
|
|
- -S
|
|
- DataConnectorServiceUrl=http://qliksense-dcaas:9026
|
|
- -S
|
|
- EnableDataConnectivityService=1
|
|
- -S
|
|
- EnableGrpcFileStreamConnector=1
|
|
- -S
|
|
- HostedFileRetryCount=3
|
|
- -S
|
|
- HostedFileRetryIntervalInSeconds=10
|
|
- -S
|
|
- SSEPlugin=GeoOperations,qliksense-geo-operations:50072
|
|
- -S
|
|
- LicenseCacheTimeoutSeconds=3600
|
|
- -S
|
|
- LicenseServiceUrl=http://qliksense-licenses:9200
|
|
- -S
|
|
- EnableSpaces=1
|
|
- -S
|
|
- SpacesServiceUrl=http://qliksense-spaces:6080
|
|
- -S
|
|
- EnableEncryptData=1
|
|
- -S
|
|
- EncryptionServiceUrl=http://qliksense-encryption:8080
|
|
- -S
|
|
- UseEncryptionService=1
|
|
- -S
|
|
- EnableFeatureFlagService=1
|
|
- -S
|
|
- FeatureFlagServiceUrl=http://qliksense-feature-flags:8080
|
|
- -S
|
|
- EnableGroupsService=1
|
|
- -S
|
|
- GroupsServiceUrl=http://qliksense-groups:8080
|
|
- -S
|
|
- EnableAppExport=1
|
|
- -S
|
|
- EnableDownloadFromTCS=1
|
|
- -S
|
|
- EnableResumableUpload=1
|
|
- -S
|
|
- EnableTempContentService=1
|
|
- -S
|
|
- TempContentServiceUrl=http://qliksense-temporary-contents:6080
|
|
- -S
|
|
- STANCluster=qliksense-nats-streaming-cluster
|
|
- -S
|
|
- STANMaxReconnect=60
|
|
- -S
|
|
- STANReconnectWait=2
|
|
- -S
|
|
- STANTimeout=10
|
|
- -S
|
|
- STANUrl=nats://qliksense-nats-client:4222
|
|
- -S
|
|
- STANUseToken=1
|
|
- -S
|
|
- StatisticsEventIntervalMs=1000
|
|
- -S
|
|
- UseEventBus=1
|
|
- -S
|
|
- UseSTAN=1
|
|
- -S
|
|
- UseStatisticsEventProducer=1
|
|
- -S
|
|
- PersistUserState=1
|
|
- -S
|
|
- PersistedUserStateTTLSeconds=1800
|
|
- -S
|
|
- RedisConnectTimeoutMs=100
|
|
- -S
|
|
- RedisHost=qliksense-redis-user-state
|
|
- -S
|
|
- RedisPort=6379
|
|
- -S
|
|
- RedisSentinelConnectTimeoutMs=100
|
|
- -S
|
|
- RedisSentinelMasterSet=engine-redis-user-state
|
|
- -S
|
|
- RedisSentinelPort=26379
|
|
- -S
|
|
- RedisSentinelRetryIntervalMs=100
|
|
- -S
|
|
- RedisSentinelSocketTimeoutMs=100
|
|
- -S
|
|
- RedisSocketTimeoutMs=100
|
|
- -S
|
|
- UseRedis=1
|
|
- -S
|
|
- UseRedisSentinel=1
|
|
- -S
|
|
- EnvironmentName="example"
|
|
- -S
|
|
- RegionName="example"
|
|
- -S
|
|
- SessionTimeoutSec=1200
|
|
env:
|
|
- name: PROMETHEUS_PORT
|
|
value: "9090"
|
|
- name: GRPC_DNS_RESOLVER
|
|
value: "native"
|
|
ports:
|
|
- containerPort: 9076
|
|
- name: metrics
|
|
containerPort: 9090
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 9076
|
|
timeoutSeconds: 10
|
|
failureThreshold: 3
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /health
|
|
port: 9076
|
|
volumeMounts:
|
|
- mountPath: /qlik/apps
|
|
name: apps-storage
|
|
- name: secrets
|
|
mountPath: /etc/secrets
|
|
readOnly: true
|
|
- name: rules-volume
|
|
mountPath: /etc/config
|
|
- name: storagepath
|
|
mountPath: /home/engine/Qlik/Sense
|
|
- name: tmpdir
|
|
mountPath: /tmp
|
|
resources:
|
|
limits: {}
|
|
requests: {}
|
|
|
|
volumes:
|
|
- name: apps-storage
|
|
persistentVolumeClaim:
|
|
claimName: qliksense-engine
|
|
- name: secrets
|
|
secret:
|
|
secretName: qliksense-engine-secrets
|
|
- name: engine-prestop-hook
|
|
configMap:
|
|
name: qliksense-engine-prestop-hook
|
|
defaultMode: 0755
|
|
optional: true
|
|
- name: rules-volume
|
|
configMap:
|
|
name: qliksense-engine-rules-cm
|
|
- name: storagepath
|
|
emptyDir: {}
|
|
- name: tmpdir
|
|
emptyDir: {}
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/engine-variants.yaml
|
|
|
|
|
|
|
|
apiVersion: qixengine.qlik.com/v1
|
|
kind: EngineVariant
|
|
metadata:
|
|
name: engine-variant-qliksense
|
|
labels:
|
|
chart: engine-1.68.13
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
image: ghcr.io/qlik-download/engine:12.687.0
|
|
engineTemplateName: engine-template-default
|
|
labels:
|
|
qlik.com/engine-type: qliksense
|
|
|
|
args:
|
|
- -S
|
|
- BasePathPrefix=/api
|
|
- -S
|
|
- DocumentDirectory=/qlik/apps
|
|
- -S
|
|
- EnableNumericalAbbreviation=0
|
|
- -S
|
|
- EnableQvwRestImport=1
|
|
- -S
|
|
- EnableRestartOnSessionStall=1
|
|
- -S
|
|
- EnableWebSocketIdleManagement=1
|
|
- -S
|
|
- FolderConnectionInterface=0
|
|
- -S
|
|
- ShutdownWait=1
|
|
- -S
|
|
- AcceptEULA=yes
|
|
- -S
|
|
- PrometheusServicePort=9090
|
|
- -S
|
|
- DesktopPort=9076
|
|
- -S
|
|
- AuditLogVerbosity=0
|
|
- -S
|
|
- EnableExtServiceLogs=1
|
|
- -S
|
|
- EventBusLogVerbosity=4
|
|
- -S
|
|
- ExternalServicesLogVerbosity=4
|
|
- -S
|
|
- HttpTrafficLogVerbosity=4
|
|
- -S
|
|
- PerformanceLogVerbosity=0
|
|
- -S
|
|
- QixPerformanceLogVerbosity=0
|
|
- -S
|
|
- SSEVerbosity=4
|
|
- -S
|
|
- ScriptLogVerbosity=4
|
|
- -S
|
|
- SessionLogVerbosity=4
|
|
- -S
|
|
- SmartSearchIndexLogVerbosity=3
|
|
- -S
|
|
- SmartSearchQueryLogVerbosity=3
|
|
- -S
|
|
- SystemLogVerbosity=4
|
|
- -S
|
|
- TrafficLogVerbosity=0
|
|
- -S
|
|
- RestServiceRequestNbrOfRetries=5
|
|
- -S
|
|
- Autosave=1
|
|
- -S
|
|
- AutosaveInterval=5
|
|
- -S
|
|
- JWKSServiceUrl=http://qliksense-keys:8080/v1/keys/qlik.api.internal
|
|
- -S
|
|
- ValidateJsonWebTokens=2
|
|
- -S
|
|
- EnableRenewUserToken=1
|
|
- -S
|
|
- InternalTokenServiceUrl=http://qliksense-edge-auth:8080/v1
|
|
- -S
|
|
- JWTSignPrivateKeyId=uHxp0YvnYQx-AqQgHnxgKqTk_HmZiT67B8SYOlzSgoM
|
|
- -S
|
|
- JWTSignPrivateKeyPath=/etc/secrets/jwtPrivateKey
|
|
- -S
|
|
- EnableABAC=1
|
|
- -S
|
|
- EnableAccessControlTrace=1
|
|
- -S
|
|
- EnableFilePolling=1
|
|
- -S
|
|
- Gen3=1
|
|
- -S
|
|
- PersistenceMode=2
|
|
- -S
|
|
- SystemRules=/etc/config/rules.yaml
|
|
- -S
|
|
- ConnectivityServiceUrl=http://qliksense-qix-data-connection:9011
|
|
- -S
|
|
- ConnectorGetDataRetryCount=3
|
|
- -S
|
|
- ConnectorGetDataRetryIntervalInSeconds=10
|
|
- -S
|
|
- DataConnectorServiceUrl=http://qliksense-dcaas:9026
|
|
- -S
|
|
- EnableDataConnectivityService=1
|
|
- -S
|
|
- EnableGrpcFileStreamConnector=1
|
|
- -S
|
|
- HostedFileRetryCount=3
|
|
- -S
|
|
- HostedFileRetryIntervalInSeconds=10
|
|
- -S
|
|
- SSEPlugin=GeoOperations,qliksense-geo-operations:50072
|
|
- -S
|
|
- LicenseCacheTimeoutSeconds=3600
|
|
- -S
|
|
- LicenseServiceUrl=http://qliksense-licenses:9200
|
|
- -S
|
|
- EnableSpaces=1
|
|
- -S
|
|
- SpacesServiceUrl=http://qliksense-spaces:6080
|
|
- -S
|
|
- EnableEncryptData=1
|
|
- -S
|
|
- EncryptionServiceUrl=http://qliksense-encryption:8080
|
|
- -S
|
|
- UseEncryptionService=1
|
|
- -S
|
|
- EnableFeatureFlagService=1
|
|
- -S
|
|
- FeatureFlagServiceUrl=http://qliksense-feature-flags:8080
|
|
- -S
|
|
- EnableGroupsService=1
|
|
- -S
|
|
- GroupsServiceUrl=http://qliksense-groups:8080
|
|
- -S
|
|
- EnableAppExport=1
|
|
- -S
|
|
- EnableDownloadFromTCS=1
|
|
- -S
|
|
- EnableResumableUpload=1
|
|
- -S
|
|
- EnableTempContentService=1
|
|
- -S
|
|
- TempContentServiceUrl=http://qliksense-temporary-contents:6080
|
|
- -S
|
|
- STANCluster=qliksense-nats-streaming-cluster
|
|
- -S
|
|
- STANMaxReconnect=60
|
|
- -S
|
|
- STANReconnectWait=2
|
|
- -S
|
|
- STANTimeout=10
|
|
- -S
|
|
- STANUrl=nats://qliksense-nats-client:4222
|
|
- -S
|
|
- STANUseToken=1
|
|
- -S
|
|
- StatisticsEventIntervalMs=1000
|
|
- -S
|
|
- UseEventBus=1
|
|
- -S
|
|
- UseSTAN=1
|
|
- -S
|
|
- UseStatisticsEventProducer=1
|
|
- -S
|
|
- PersistUserState=1
|
|
- -S
|
|
- PersistedUserStateTTLSeconds=1800
|
|
- -S
|
|
- RedisConnectTimeoutMs=100
|
|
- -S
|
|
- RedisHost=qliksense-redis-user-state
|
|
- -S
|
|
- RedisPort=6379
|
|
- -S
|
|
- RedisSentinelConnectTimeoutMs=100
|
|
- -S
|
|
- RedisSentinelMasterSet=engine-redis-user-state
|
|
- -S
|
|
- RedisSentinelPort=26379
|
|
- -S
|
|
- RedisSentinelRetryIntervalMs=100
|
|
- -S
|
|
- RedisSentinelSocketTimeoutMs=100
|
|
- -S
|
|
- RedisSocketTimeoutMs=100
|
|
- -S
|
|
- UseRedis=1
|
|
- -S
|
|
- UseRedisSentinel=1
|
|
- -S
|
|
- EnvironmentName="example"
|
|
- -S
|
|
- RegionName="example"
|
|
- -S
|
|
- SessionTimeoutSec=1200
|
|
---
|
|
|
|
apiVersion: qixengine.qlik.com/v1
|
|
kind: EngineVariant
|
|
metadata:
|
|
name: engine-variant-qlikview
|
|
labels:
|
|
chart: engine-1.68.13
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
image: ghcr.io/qlik-download/engine-qv:12.687.0
|
|
annotations:
|
|
prometheus.io/job: engine-qlikview
|
|
engineTemplateName: engine-template-default
|
|
labels:
|
|
qlik.com/engine-type: qlikview
|
|
|
|
args:
|
|
- -S
|
|
- BasePathPrefix=/api
|
|
- -S
|
|
- DocumentDirectory=/qlik/apps
|
|
- -S
|
|
- EnableNumericalAbbreviation=0
|
|
- -S
|
|
- EnableQvwRestImport=1
|
|
- -S
|
|
- EnableRestartOnSessionStall=1
|
|
- -S
|
|
- EnableWebSocketIdleManagement=1
|
|
- -S
|
|
- FolderConnectionInterface=0
|
|
- -S
|
|
- ShutdownWait=1
|
|
- -S
|
|
- AcceptEULA=yes
|
|
- -S
|
|
- PrometheusServicePort=9090
|
|
- -S
|
|
- DesktopPort=9076
|
|
- -S
|
|
- AuditLogVerbosity=0
|
|
- -S
|
|
- EnableExtServiceLogs=1
|
|
- -S
|
|
- EventBusLogVerbosity=4
|
|
- -S
|
|
- ExternalServicesLogVerbosity=4
|
|
- -S
|
|
- HttpTrafficLogVerbosity=4
|
|
- -S
|
|
- PerformanceLogVerbosity=0
|
|
- -S
|
|
- QixPerformanceLogVerbosity=0
|
|
- -S
|
|
- SSEVerbosity=4
|
|
- -S
|
|
- ScriptLogVerbosity=4
|
|
- -S
|
|
- SessionLogVerbosity=4
|
|
- -S
|
|
- SmartSearchIndexLogVerbosity=3
|
|
- -S
|
|
- SmartSearchQueryLogVerbosity=3
|
|
- -S
|
|
- SystemLogVerbosity=4
|
|
- -S
|
|
- TrafficLogVerbosity=0
|
|
- -S
|
|
- RestServiceRequestNbrOfRetries=5
|
|
- -S
|
|
- Autosave=1
|
|
- -S
|
|
- AutosaveInterval=5
|
|
- -S
|
|
- JWKSServiceUrl=http://qliksense-keys:8080/v1/keys/qlik.api.internal
|
|
- -S
|
|
- ValidateJsonWebTokens=2
|
|
- -S
|
|
- EnableRenewUserToken=1
|
|
- -S
|
|
- InternalTokenServiceUrl=http://qliksense-edge-auth:8080/v1
|
|
- -S
|
|
- JWTSignPrivateKeyId=uHxp0YvnYQx-AqQgHnxgKqTk_HmZiT67B8SYOlzSgoM
|
|
- -S
|
|
- JWTSignPrivateKeyPath=/etc/secrets/jwtPrivateKey
|
|
- -S
|
|
- EnableABAC=1
|
|
- -S
|
|
- EnableAccessControlTrace=1
|
|
- -S
|
|
- EnableFilePolling=1
|
|
- -S
|
|
- Gen3=1
|
|
- -S
|
|
- PersistenceMode=2
|
|
- -S
|
|
- SystemRules=/etc/config/rules.yaml
|
|
- -S
|
|
- ConnectivityServiceUrl=http://qliksense-qix-data-connection:9011
|
|
- -S
|
|
- ConnectorGetDataRetryCount=3
|
|
- -S
|
|
- ConnectorGetDataRetryIntervalInSeconds=10
|
|
- -S
|
|
- DataConnectorServiceUrl=http://qliksense-dcaas:9026
|
|
- -S
|
|
- EnableDataConnectivityService=1
|
|
- -S
|
|
- EnableGrpcFileStreamConnector=1
|
|
- -S
|
|
- HostedFileRetryCount=3
|
|
- -S
|
|
- HostedFileRetryIntervalInSeconds=10
|
|
- -S
|
|
- SSEPlugin=GeoOperations,qliksense-geo-operations:50072
|
|
- -S
|
|
- LicenseCacheTimeoutSeconds=3600
|
|
- -S
|
|
- LicenseServiceUrl=http://qliksense-licenses:9200
|
|
- -S
|
|
- EnableSpaces=1
|
|
- -S
|
|
- SpacesServiceUrl=http://qliksense-spaces:6080
|
|
- -S
|
|
- EnableEncryptData=1
|
|
- -S
|
|
- EncryptionServiceUrl=http://qliksense-encryption:8080
|
|
- -S
|
|
- UseEncryptionService=1
|
|
- -S
|
|
- EnableFeatureFlagService=1
|
|
- -S
|
|
- FeatureFlagServiceUrl=http://qliksense-feature-flags:8080
|
|
- -S
|
|
- EnableGroupsService=1
|
|
- -S
|
|
- GroupsServiceUrl=http://qliksense-groups:8080
|
|
- -S
|
|
- EnableAppExport=1
|
|
- -S
|
|
- EnableDownloadFromTCS=1
|
|
- -S
|
|
- EnableResumableUpload=1
|
|
- -S
|
|
- EnableTempContentService=1
|
|
- -S
|
|
- TempContentServiceUrl=http://qliksense-temporary-contents:6080
|
|
- -S
|
|
- STANCluster=qliksense-nats-streaming-cluster
|
|
- -S
|
|
- STANMaxReconnect=60
|
|
- -S
|
|
- STANReconnectWait=2
|
|
- -S
|
|
- STANTimeout=10
|
|
- -S
|
|
- STANUrl=nats://qliksense-nats-client:4222
|
|
- -S
|
|
- STANUseToken=1
|
|
- -S
|
|
- StatisticsEventIntervalMs=1000
|
|
- -S
|
|
- UseEventBus=1
|
|
- -S
|
|
- UseSTAN=1
|
|
- -S
|
|
- UseStatisticsEventProducer=1
|
|
- -S
|
|
- PersistUserState=1
|
|
- -S
|
|
- PersistedUserStateTTLSeconds=1800
|
|
- -S
|
|
- RedisConnectTimeoutMs=100
|
|
- -S
|
|
- RedisHost=qliksense-redis-user-state
|
|
- -S
|
|
- RedisPort=6379
|
|
- -S
|
|
- RedisSentinelConnectTimeoutMs=100
|
|
- -S
|
|
- RedisSentinelMasterSet=engine-redis-user-state
|
|
- -S
|
|
- RedisSentinelPort=26379
|
|
- -S
|
|
- RedisSentinelRetryIntervalMs=100
|
|
- -S
|
|
- RedisSentinelSocketTimeoutMs=100
|
|
- -S
|
|
- RedisSocketTimeoutMs=100
|
|
- -S
|
|
- UseRedis=1
|
|
- -S
|
|
- UseRedisSentinel=1
|
|
- -S
|
|
- EnvironmentName="example"
|
|
- -S
|
|
- RegionName="example"
|
|
- -S
|
|
- SessionTimeoutSec=1200
|
|
- -S
|
|
- BasicQlikviewEnabled=1
|
|
- -S
|
|
- BundledContentsRootFolder=/usr/local/share/Bundled
|
|
- -S
|
|
- SkiaFontPaths=/usr/share/fonts
|
|
---
|
|
|
|
apiVersion: qixengine.qlik.com/v1
|
|
kind: EngineVariant
|
|
metadata:
|
|
name: sense-reload-engine-variant
|
|
labels:
|
|
chart: engine-1.68.13
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
image: ghcr.io/qlik-download/engine:12.687.0
|
|
annotations:
|
|
prometheus.io/job: engine-reload
|
|
engineTemplateName: engine-template-default
|
|
labels:
|
|
qlik.com/engine-type: qliksense
|
|
|
|
args:
|
|
- -S
|
|
- BasePathPrefix=/api
|
|
- -S
|
|
- DocumentDirectory=/qlik/apps
|
|
- -S
|
|
- EnableNumericalAbbreviation=0
|
|
- -S
|
|
- EnableQvwRestImport=1
|
|
- -S
|
|
- EnableRestartOnSessionStall=1
|
|
- -S
|
|
- EnableWebSocketIdleManagement=1
|
|
- -S
|
|
- FolderConnectionInterface=0
|
|
- -S
|
|
- ShutdownWait=1
|
|
- -S
|
|
- AcceptEULA=yes
|
|
- -S
|
|
- PrometheusServicePort=9090
|
|
- -S
|
|
- DesktopPort=9076
|
|
- -S
|
|
- AuditLogVerbosity=0
|
|
- -S
|
|
- EnableExtServiceLogs=1
|
|
- -S
|
|
- EventBusLogVerbosity=4
|
|
- -S
|
|
- ExternalServicesLogVerbosity=4
|
|
- -S
|
|
- HttpTrafficLogVerbosity=4
|
|
- -S
|
|
- PerformanceLogVerbosity=0
|
|
- -S
|
|
- QixPerformanceLogVerbosity=0
|
|
- -S
|
|
- SSEVerbosity=4
|
|
- -S
|
|
- ScriptLogVerbosity=4
|
|
- -S
|
|
- SessionLogVerbosity=4
|
|
- -S
|
|
- SmartSearchIndexLogVerbosity=3
|
|
- -S
|
|
- SmartSearchQueryLogVerbosity=3
|
|
- -S
|
|
- SystemLogVerbosity=4
|
|
- -S
|
|
- TrafficLogVerbosity=0
|
|
- -S
|
|
- RestServiceRequestNbrOfRetries=5
|
|
- -S
|
|
- Autosave=1
|
|
- -S
|
|
- AutosaveInterval=5
|
|
- -S
|
|
- JWKSServiceUrl=http://qliksense-keys:8080/v1/keys/qlik.api.internal
|
|
- -S
|
|
- ValidateJsonWebTokens=2
|
|
- -S
|
|
- EnableRenewUserToken=1
|
|
- -S
|
|
- InternalTokenServiceUrl=http://qliksense-edge-auth:8080/v1
|
|
- -S
|
|
- JWTSignPrivateKeyId=uHxp0YvnYQx-AqQgHnxgKqTk_HmZiT67B8SYOlzSgoM
|
|
- -S
|
|
- JWTSignPrivateKeyPath=/etc/secrets/jwtPrivateKey
|
|
- -S
|
|
- EnableABAC=1
|
|
- -S
|
|
- EnableAccessControlTrace=1
|
|
- -S
|
|
- EnableFilePolling=1
|
|
- -S
|
|
- Gen3=1
|
|
- -S
|
|
- PersistenceMode=2
|
|
- -S
|
|
- SystemRules=/etc/config/rules.yaml
|
|
- -S
|
|
- ConnectivityServiceUrl=http://qliksense-qix-data-connection:9011
|
|
- -S
|
|
- ConnectorGetDataRetryCount=3
|
|
- -S
|
|
- ConnectorGetDataRetryIntervalInSeconds=10
|
|
- -S
|
|
- DataConnectorServiceUrl=http://qliksense-dcaas:9026
|
|
- -S
|
|
- EnableDataConnectivityService=1
|
|
- -S
|
|
- EnableGrpcFileStreamConnector=1
|
|
- -S
|
|
- HostedFileRetryCount=3
|
|
- -S
|
|
- HostedFileRetryIntervalInSeconds=10
|
|
- -S
|
|
- SSEPlugin=GeoOperations,qliksense-geo-operations:50072
|
|
- -S
|
|
- LicenseCacheTimeoutSeconds=3600
|
|
- -S
|
|
- LicenseServiceUrl=http://qliksense-licenses:9200
|
|
- -S
|
|
- EnableSpaces=1
|
|
- -S
|
|
- SpacesServiceUrl=http://qliksense-spaces:6080
|
|
- -S
|
|
- EnableEncryptData=1
|
|
- -S
|
|
- EncryptionServiceUrl=http://qliksense-encryption:8080
|
|
- -S
|
|
- UseEncryptionService=1
|
|
- -S
|
|
- EnableFeatureFlagService=1
|
|
- -S
|
|
- FeatureFlagServiceUrl=http://qliksense-feature-flags:8080
|
|
- -S
|
|
- EnableGroupsService=1
|
|
- -S
|
|
- GroupsServiceUrl=http://qliksense-groups:8080
|
|
- -S
|
|
- EnableAppExport=1
|
|
- -S
|
|
- EnableDownloadFromTCS=1
|
|
- -S
|
|
- EnableResumableUpload=1
|
|
- -S
|
|
- EnableTempContentService=1
|
|
- -S
|
|
- TempContentServiceUrl=http://qliksense-temporary-contents:6080
|
|
- -S
|
|
- STANCluster=qliksense-nats-streaming-cluster
|
|
- -S
|
|
- STANMaxReconnect=60
|
|
- -S
|
|
- STANReconnectWait=2
|
|
- -S
|
|
- STANTimeout=10
|
|
- -S
|
|
- STANUrl=nats://qliksense-nats-client:4222
|
|
- -S
|
|
- STANUseToken=1
|
|
- -S
|
|
- StatisticsEventIntervalMs=1000
|
|
- -S
|
|
- UseEventBus=1
|
|
- -S
|
|
- UseSTAN=1
|
|
- -S
|
|
- UseStatisticsEventProducer=1
|
|
- -S
|
|
- PersistUserState=1
|
|
- -S
|
|
- PersistedUserStateTTLSeconds=1800
|
|
- -S
|
|
- RedisConnectTimeoutMs=100
|
|
- -S
|
|
- RedisHost=qliksense-redis-user-state
|
|
- -S
|
|
- RedisPort=6379
|
|
- -S
|
|
- RedisSentinelConnectTimeoutMs=100
|
|
- -S
|
|
- RedisSentinelMasterSet=engine-redis-user-state
|
|
- -S
|
|
- RedisSentinelPort=26379
|
|
- -S
|
|
- RedisSentinelRetryIntervalMs=100
|
|
- -S
|
|
- RedisSentinelSocketTimeoutMs=100
|
|
- -S
|
|
- RedisSocketTimeoutMs=100
|
|
- -S
|
|
- UseRedis=1
|
|
- -S
|
|
- UseRedisSentinel=1
|
|
- -S
|
|
- EnvironmentName="example"
|
|
- -S
|
|
- RegionName="example"
|
|
- -S
|
|
- SessionTimeoutSec=1200
|
|
---
|
|
---
|
|
# Source: qliksense/charts/chronos-worker/templates/deny-external-egress-traffic.yaml
|
|
|
|
|
|
# This network policy prevents chronos-worker from establishing connections to the
|
|
# external networks (= anything outside the cluster)
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: NetworkPolicy
|
|
metadata:
|
|
name: qliksense-chronos-worker-deny-external-egress
|
|
labels:
|
|
app: chronos-worker
|
|
chart: chronos-worker-1.4.10
|
|
release: qliksense
|
|
heritage: Tiller
|
|
spec:
|
|
podSelector:
|
|
matchLabels:
|
|
app: chronos-worker
|
|
policyTypes:
|
|
- Egress
|
|
egress:
|
|
- ports:
|
|
- port: 53 # DNS resolution
|
|
protocol: UDP
|
|
- port: 53 # DNS resolution
|
|
protocol: TCP
|
|
- to:
|
|
- namespaceSelector: {} # Allow outbount traffic to pods inside the cluster
|
|
|
|
---
|
|
# Source: qliksense/charts/chronos-worker/templates/redis-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/chronos/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/chronos/templates/redis-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/collections/templates/hpa.yml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/collections/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connections/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-odbc/templates/hpa-rld.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-odbc/templates/network.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-qwc/templates/hpa-rld.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-qwc/templates/network.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-qwc/templates/secrets-connector-cfg.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-qwc/templates/secrets-keys.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-rest/templates/hpa-rld.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-rest/templates/network.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-sap-sql/templates/hpa-rld.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-sap-sql/templates/network.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-sfdc/templates/hpa-rld.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-connector-sfdc/templates/network.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/data-prep/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-prep/templates/pvc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-prep/templates/redis-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-rest-source/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/data-rest-source/templates/pre-stop-hook.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/metrics-prometheus.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/metrics-svc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/networkpolicy.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/prometheusrule.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/psp.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/redis-role.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/redis-rolebinding.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/redis-serviceaccount.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/redis-slave-statefulset.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/redis-slave-svc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/redis-with-sentinel-svc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/dcaas/charts/dcaas-redis/templates/secret.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/addheaders-configmap.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/admission-webhooks/job-patch/clusterrole.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/admission-webhooks/job-patch/clusterrolebinding.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/admission-webhooks/job-patch/job-createSecret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/admission-webhooks/job-patch/job-patchWebhook.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/admission-webhooks/job-patch/psp.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/admission-webhooks/job-patch/role.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/admission-webhooks/job-patch/rolebinding.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/admission-webhooks/job-patch/serviceaccount.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/admission-webhooks/validating-webhook.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/clusterrole.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/clusterrolebinding.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-daemonset.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-poddisruptionbudget.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-prometheusrules.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-psp.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-servicemonitor.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/controller-webhook-service.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/default-backend-deployment.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/default-backend-poddisruptionbudget.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/default-backend-psp.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/default-backend-role.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/default-backend-rolebinding.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/default-backend-service.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/default-backend-serviceaccount.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/proxyheaders-configmap.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/tcp-configmap.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/charts/nginx-ingress/templates/udp-configmap.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/elastic-infra/templates/tlscert.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/metrics-prometheus.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/metrics-svc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/networkpolicy.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/prometheusrule.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/psp.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/redis-master-svc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/redis-role.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/redis-rolebinding.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/redis-serviceaccount.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/redis-slave-svc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/charts/redis-user-state/templates/secret.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/deployment-args.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/deployment-stateless.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/deployments.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/engine-reload.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/hpa-stateless.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/hpa.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/networkpolicy.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/pre-stop-hook-cm.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/engine/templates/sc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/feature-flags/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/generic-links/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/generic-links/templates/webrisk.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/geo-operations/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/geo-operations/templates/network.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/identity-providers/templates/ext-deployment.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/identity-providers/templates/ext-hpa.yaml
|
|
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/identity-providers/templates/ext-ingress.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/identity-providers/templates/ext-mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/identity-providers/templates/ext-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/identity-providers/templates/ext-service.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/identity-providers/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/insights/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/keys/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/licenses/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/licenses/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/licenses/templates/proxy-password-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/licenses/templates/rollbar-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats-streaming/templates/networkpolicy-nats-streaming.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats-streaming/templates/pvc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats-streaming/templates/sc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats/templates/ingress.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats/templates/networkpolicy-nats.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/messaging/charts/nats/templates/tls-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/nl-broker/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/notification-prep/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/notification-prep/templates/secret.yaml
|
|
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/odag/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/policy-decisions/templates/configmap.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/policy-decisions/templates/hpa.yml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/policy-decisions/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/policy-decisions/templates/redis-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/precedents/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/precedents/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-data-connection/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-datafiles/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-datafiles/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-datafiles/templates/sc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-sessions/templates/crd.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-sessions/templates/env-variables.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-sessions/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-sessions/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/qix-sessions/templates/redis-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/metrics-prometheus.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/metrics-svc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/networkpolicy.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/prometheusrule.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/psp.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/redis-role.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/redis-rolebinding.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/redis-serviceaccount.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/redis-with-sentinel-svc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/redis/templates/secret.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/reload-tasks/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/reload-tasks/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/reloads/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/reloads/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/reloads/templates/pre-stop-hook.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/reporting/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/reporting/templates/redis-network-policy.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/reporting/templates/redis-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/resource-library/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/resource-library/templates/sc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/sharing/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/sharing/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/sharing/templates/redis-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/sharing/templates/sc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/spaces/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/spaces/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/subscriptions/templates/mongo-secret.yml
|
|
|
|
---
|
|
# Source: qliksense/charts/temporary-contents/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/temporary-contents/templates/sc.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/transport/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/transport/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/transport/templates/network.yaml
|
|
|
|
---
|
|
# Source: qliksense/charts/web-notifications/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/web-security/templates/hpa.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/web-security/templates/mongo-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/charts/web-security/templates/rollbar-secret.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/templates/ca-cert-configmap.yaml
|
|
|
|
|
|
|
|
|
|
---
|
|
# Source: qliksense/templates/certs-job.yaml
|
|
|
|
|
|
---
|
|
# Source: qliksense/templates/certs-pvc.yaml
|
|
|
|
|
|
|
|
---
|
|
# Source: qliksense/templates/sc.yaml
|
|
|