rancher-partner-charts/charts/kubecost/cost-analyzer/2.3.2/templates/aggregator-statefulset.yaml

200 lines
7.7 KiB
YAML
Raw Normal View History

{{- if and (not .Values.agent) (not .Values.cloudAgent) }}
{{- if eq (include "aggregator.deployMethod" .) "statefulset" }}
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ template "aggregator.fullname" . }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "aggregator.commonLabels" . | nindent 4 }}
{{- with .Values.global.additionalLabels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
replicas: {{ .Values.kubecostAggregator.replicas }}
serviceName: {{ template "aggregator.serviceName" . }}
selector:
matchLabels:
{{- include "aggregator.selectorLabels" . | nindent 6 }}
volumeClaimTemplates:
- metadata:
name: aggregator-db-storage
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: {{ .Values.kubecostAggregator.aggregatorDbStorage.storageClass }}
resources:
requests:
storage: {{ .Values.kubecostAggregator.aggregatorDbStorage.storageRequest }}
- metadata:
# In the StatefulSet config, Aggregator should not share any filesystem
# state with the cost-model to maintain independence and improve
# stability (in the event of bad file-locking state). Still, there is
# a need to "mount" ConfigMap files (using the watcher) to a file system;
# that's what this per-replica Volume is used for.
name: persistent-configs
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: {{ .Values.kubecostAggregator.persistentConfigsStorage.storageClass }}
resources:
requests:
storage: {{ .Values.kubecostAggregator.persistentConfigsStorage.storageRequest }}
template:
metadata:
labels:
app.kubernetes.io/name: aggregator
app.kubernetes.io/instance: {{ .Release.Name }}
2024-04-03 19:02:06 +00:00
{{/* Force pod restarts on upgrades to ensure the nginx config is current */}}
{{- if not .Values.global.platforms.cicd.enabled }}
2024-04-03 19:02:06 +00:00
helm-rollout-restarter: {{ randAlphaNum 5 | quote }}
{{- end }}
app: aggregator
{{- with .Values.global.additionalLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
Charts CI ``` Updated: argo/argo-cd: - 5.52.1 bitnami/airflow: - 16.1.11 bitnami/cassandra: - 10.6.9 bitnami/kafka: - 26.6.3 bitnami/mariadb: - 15.0.1 bitnami/mysql: - 9.16.1 bitnami/postgresql: - 13.2.29 bitnami/redis: - 18.6.3 bitnami/spark: - 8.1.8 bitnami/tomcat: - 10.11.11 bitnami/wordpress: - 19.0.5 bitnami/zookeeper: - 12.4.4 cert-manager/cert-manager: - v1.13.3 clastix/kamaji: - 0.14.0 cockroach-labs/cockroachdb: - 11.2.3 confluent/confluent-for-kubernetes: - 0.824.40 crowdstrike/falcon-sensor: - 1.24.1 datadog/datadog: - 3.50.5 datadog/datadog-operator: - 1.4.1 dell/csi-isilon: - 2.9.0 dell/csi-powermax: - 2.9.0 dell/csi-powerstore: - 2.9.0 dell/csi-unity: - 2.9.0 dell/csi-vxflexos: - 2.9.0 digitalis/vals-operator: - 0.7.8 dynatrace/dynatrace-operator: - 0.15.0 external-secrets/external-secrets: - 0.9.11 f5/nginx-ingress: - 1.1.0 fairwinds/polaris: - 5.17.0 gluu/gluu: - 5.0.24 haproxy/haproxy: - 1.35.5 harbor/harbor: - 1.14.0 hashicorp/consul: - 1.3.1 instana/instana-agent: - 1.2.66 intel/intel-device-plugins-operator: - 0.29.0 intel/intel-device-plugins-qat: - 0.29.0 intel/intel-device-plugins-sgx: - 0.29.0 jenkins/jenkins: - 4.11.2 jfrog/artifactory-ha: - 107.71.11 jfrog/artifactory-jcr: - 107.71.11 kong/kong: - 2.33.3 kubecost/cost-analyzer: - 1.108.1 kuma/kuma: - 2.5.1 linkerd/linkerd-control-plane: - 1.16.9 mongodb/community-operator: - 0.9.0 nats/nats: - 1.1.6 new-relic/nri-bundle: - 5.0.58 nutanix/nutanix-csi-snapshot: - 6.3.2 nutanix/nutanix-csi-storage: - 2.6.6 openebs/openebs: - 3.10.0 percona/psmdb-db: - 1.15.1 percona/pxc-db: - 1.13.4 redpanda/redpanda: - 5.7.7 speedscale/speedscale-operator: - 2.0.2 stackstate/stackstate-k8s-agent: - 1.0.66 sysdig/sysdig: - 1.16.24 traefik/traefik: - 26.0.0 trilio/k8s-triliovault-operator: - 4.0.0 weka/csi-wekafsplugin: - 2.3.2 yugabyte/yugabyte: - 2.18.5 yugabyte/yugaware: - 2.18.5 ```
2024-01-12 17:13:39 +00:00
{{- with .Values.global.podAnnotations}}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
restartPolicy: Always
Charts CI ``` Updated: argo/argo-cd: - 5.52.1 bitnami/airflow: - 16.1.11 bitnami/cassandra: - 10.6.9 bitnami/kafka: - 26.6.3 bitnami/mariadb: - 15.0.1 bitnami/mysql: - 9.16.1 bitnami/postgresql: - 13.2.29 bitnami/redis: - 18.6.3 bitnami/spark: - 8.1.8 bitnami/tomcat: - 10.11.11 bitnami/wordpress: - 19.0.5 bitnami/zookeeper: - 12.4.4 cert-manager/cert-manager: - v1.13.3 clastix/kamaji: - 0.14.0 cockroach-labs/cockroachdb: - 11.2.3 confluent/confluent-for-kubernetes: - 0.824.40 crowdstrike/falcon-sensor: - 1.24.1 datadog/datadog: - 3.50.5 datadog/datadog-operator: - 1.4.1 dell/csi-isilon: - 2.9.0 dell/csi-powermax: - 2.9.0 dell/csi-powerstore: - 2.9.0 dell/csi-unity: - 2.9.0 dell/csi-vxflexos: - 2.9.0 digitalis/vals-operator: - 0.7.8 dynatrace/dynatrace-operator: - 0.15.0 external-secrets/external-secrets: - 0.9.11 f5/nginx-ingress: - 1.1.0 fairwinds/polaris: - 5.17.0 gluu/gluu: - 5.0.24 haproxy/haproxy: - 1.35.5 harbor/harbor: - 1.14.0 hashicorp/consul: - 1.3.1 instana/instana-agent: - 1.2.66 intel/intel-device-plugins-operator: - 0.29.0 intel/intel-device-plugins-qat: - 0.29.0 intel/intel-device-plugins-sgx: - 0.29.0 jenkins/jenkins: - 4.11.2 jfrog/artifactory-ha: - 107.71.11 jfrog/artifactory-jcr: - 107.71.11 kong/kong: - 2.33.3 kubecost/cost-analyzer: - 1.108.1 kuma/kuma: - 2.5.1 linkerd/linkerd-control-plane: - 1.16.9 mongodb/community-operator: - 0.9.0 nats/nats: - 1.1.6 new-relic/nri-bundle: - 5.0.58 nutanix/nutanix-csi-snapshot: - 6.3.2 nutanix/nutanix-csi-storage: - 2.6.6 openebs/openebs: - 3.10.0 percona/psmdb-db: - 1.15.1 percona/pxc-db: - 1.13.4 redpanda/redpanda: - 5.7.7 speedscale/speedscale-operator: - 2.0.2 stackstate/stackstate-k8s-agent: - 1.0.66 sysdig/sysdig: - 1.16.24 traefik/traefik: - 26.0.0 trilio/k8s-triliovault-operator: - 4.0.0 weka/csi-wekafsplugin: - 2.3.2 yugabyte/yugabyte: - 2.18.5 yugabyte/yugaware: - 2.18.5 ```
2024-01-12 17:13:39 +00:00
{{- if .Values.kubecostAggregator.securityContext }}
securityContext:
{{- toYaml .Values.kubecostAggregator.securityContext | nindent 8 }}
{{- else if and (.Values.global.platforms.openshift.enabled) (.Values.global.platforms.openshift.securityContext) }}
securityContext:
Charts CI ``` Updated: argo/argo-cd: - 5.52.1 bitnami/airflow: - 16.1.11 bitnami/cassandra: - 10.6.9 bitnami/kafka: - 26.6.3 bitnami/mariadb: - 15.0.1 bitnami/mysql: - 9.16.1 bitnami/postgresql: - 13.2.29 bitnami/redis: - 18.6.3 bitnami/spark: - 8.1.8 bitnami/tomcat: - 10.11.11 bitnami/wordpress: - 19.0.5 bitnami/zookeeper: - 12.4.4 cert-manager/cert-manager: - v1.13.3 clastix/kamaji: - 0.14.0 cockroach-labs/cockroachdb: - 11.2.3 confluent/confluent-for-kubernetes: - 0.824.40 crowdstrike/falcon-sensor: - 1.24.1 datadog/datadog: - 3.50.5 datadog/datadog-operator: - 1.4.1 dell/csi-isilon: - 2.9.0 dell/csi-powermax: - 2.9.0 dell/csi-powerstore: - 2.9.0 dell/csi-unity: - 2.9.0 dell/csi-vxflexos: - 2.9.0 digitalis/vals-operator: - 0.7.8 dynatrace/dynatrace-operator: - 0.15.0 external-secrets/external-secrets: - 0.9.11 f5/nginx-ingress: - 1.1.0 fairwinds/polaris: - 5.17.0 gluu/gluu: - 5.0.24 haproxy/haproxy: - 1.35.5 harbor/harbor: - 1.14.0 hashicorp/consul: - 1.3.1 instana/instana-agent: - 1.2.66 intel/intel-device-plugins-operator: - 0.29.0 intel/intel-device-plugins-qat: - 0.29.0 intel/intel-device-plugins-sgx: - 0.29.0 jenkins/jenkins: - 4.11.2 jfrog/artifactory-ha: - 107.71.11 jfrog/artifactory-jcr: - 107.71.11 kong/kong: - 2.33.3 kubecost/cost-analyzer: - 1.108.1 kuma/kuma: - 2.5.1 linkerd/linkerd-control-plane: - 1.16.9 mongodb/community-operator: - 0.9.0 nats/nats: - 1.1.6 new-relic/nri-bundle: - 5.0.58 nutanix/nutanix-csi-snapshot: - 6.3.2 nutanix/nutanix-csi-storage: - 2.6.6 openebs/openebs: - 3.10.0 percona/psmdb-db: - 1.15.1 percona/pxc-db: - 1.13.4 redpanda/redpanda: - 5.7.7 speedscale/speedscale-operator: - 2.0.2 stackstate/stackstate-k8s-agent: - 1.0.66 sysdig/sysdig: - 1.16.24 traefik/traefik: - 26.0.0 trilio/k8s-triliovault-operator: - 4.0.0 weka/csi-wekafsplugin: - 2.3.2 yugabyte/yugabyte: - 2.18.5 yugabyte/yugaware: - 2.18.5 ```
2024-01-12 17:13:39 +00:00
{{- toYaml .Values.global.platforms.openshift.securityContext | nindent 8 }}
{{- else if .Values.global.securityContext }}
securityContext:
Charts CI ``` Updated: argo/argo-cd: - 5.52.1 bitnami/airflow: - 16.1.11 bitnami/cassandra: - 10.6.9 bitnami/kafka: - 26.6.3 bitnami/mariadb: - 15.0.1 bitnami/mysql: - 9.16.1 bitnami/postgresql: - 13.2.29 bitnami/redis: - 18.6.3 bitnami/spark: - 8.1.8 bitnami/tomcat: - 10.11.11 bitnami/wordpress: - 19.0.5 bitnami/zookeeper: - 12.4.4 cert-manager/cert-manager: - v1.13.3 clastix/kamaji: - 0.14.0 cockroach-labs/cockroachdb: - 11.2.3 confluent/confluent-for-kubernetes: - 0.824.40 crowdstrike/falcon-sensor: - 1.24.1 datadog/datadog: - 3.50.5 datadog/datadog-operator: - 1.4.1 dell/csi-isilon: - 2.9.0 dell/csi-powermax: - 2.9.0 dell/csi-powerstore: - 2.9.0 dell/csi-unity: - 2.9.0 dell/csi-vxflexos: - 2.9.0 digitalis/vals-operator: - 0.7.8 dynatrace/dynatrace-operator: - 0.15.0 external-secrets/external-secrets: - 0.9.11 f5/nginx-ingress: - 1.1.0 fairwinds/polaris: - 5.17.0 gluu/gluu: - 5.0.24 haproxy/haproxy: - 1.35.5 harbor/harbor: - 1.14.0 hashicorp/consul: - 1.3.1 instana/instana-agent: - 1.2.66 intel/intel-device-plugins-operator: - 0.29.0 intel/intel-device-plugins-qat: - 0.29.0 intel/intel-device-plugins-sgx: - 0.29.0 jenkins/jenkins: - 4.11.2 jfrog/artifactory-ha: - 107.71.11 jfrog/artifactory-jcr: - 107.71.11 kong/kong: - 2.33.3 kubecost/cost-analyzer: - 1.108.1 kuma/kuma: - 2.5.1 linkerd/linkerd-control-plane: - 1.16.9 mongodb/community-operator: - 0.9.0 nats/nats: - 1.1.6 new-relic/nri-bundle: - 5.0.58 nutanix/nutanix-csi-snapshot: - 6.3.2 nutanix/nutanix-csi-storage: - 2.6.6 openebs/openebs: - 3.10.0 percona/psmdb-db: - 1.15.1 percona/pxc-db: - 1.13.4 redpanda/redpanda: - 5.7.7 speedscale/speedscale-operator: - 2.0.2 stackstate/stackstate-k8s-agent: - 1.0.66 sysdig/sysdig: - 1.16.24 traefik/traefik: - 26.0.0 trilio/k8s-triliovault-operator: - 4.0.0 weka/csi-wekafsplugin: - 2.3.2 yugabyte/yugabyte: - 2.18.5 yugabyte/yugaware: - 2.18.5 ```
2024-01-12 17:13:39 +00:00
{{- toYaml .Values.global.securityContext | nindent 8 }}
{{- end }}
serviceAccountName: {{ template "aggregator.serviceAccountName" . }}
volumes:
- name: aggregator-staging
emptyDir:
sizeLimit: {{ .Values.kubecostAggregator.stagingEmptyDirSizeLimit }}
{{- $etlBackupBucketSecret := "" }}
{{- if .Values.kubecostModel.federatedStorageConfigSecret }}
{{- $etlBackupBucketSecret = .Values.kubecostModel.federatedStorageConfigSecret }}
{{- end }}
{{- if $etlBackupBucketSecret }}
{{- if .Values.kubecostModel.federatedStorageConfigSecret }}
- name: federated-storage-config
secret:
defaultMode: 420
secretName: {{ .Values.kubecostModel.federatedStorageConfigSecret }}
{{- end }}
- name: etl-bucket-config
secret:
defaultMode: 420
secretName: {{ $etlBackupBucketSecret }}
Charts CI ``` Updated: argo/argo-cd: - 5.52.1 bitnami/airflow: - 16.1.11 bitnami/cassandra: - 10.6.9 bitnami/kafka: - 26.6.3 bitnami/mariadb: - 15.0.1 bitnami/mysql: - 9.16.1 bitnami/postgresql: - 13.2.29 bitnami/redis: - 18.6.3 bitnami/spark: - 8.1.8 bitnami/tomcat: - 10.11.11 bitnami/wordpress: - 19.0.5 bitnami/zookeeper: - 12.4.4 cert-manager/cert-manager: - v1.13.3 clastix/kamaji: - 0.14.0 cockroach-labs/cockroachdb: - 11.2.3 confluent/confluent-for-kubernetes: - 0.824.40 crowdstrike/falcon-sensor: - 1.24.1 datadog/datadog: - 3.50.5 datadog/datadog-operator: - 1.4.1 dell/csi-isilon: - 2.9.0 dell/csi-powermax: - 2.9.0 dell/csi-powerstore: - 2.9.0 dell/csi-unity: - 2.9.0 dell/csi-vxflexos: - 2.9.0 digitalis/vals-operator: - 0.7.8 dynatrace/dynatrace-operator: - 0.15.0 external-secrets/external-secrets: - 0.9.11 f5/nginx-ingress: - 1.1.0 fairwinds/polaris: - 5.17.0 gluu/gluu: - 5.0.24 haproxy/haproxy: - 1.35.5 harbor/harbor: - 1.14.0 hashicorp/consul: - 1.3.1 instana/instana-agent: - 1.2.66 intel/intel-device-plugins-operator: - 0.29.0 intel/intel-device-plugins-qat: - 0.29.0 intel/intel-device-plugins-sgx: - 0.29.0 jenkins/jenkins: - 4.11.2 jfrog/artifactory-ha: - 107.71.11 jfrog/artifactory-jcr: - 107.71.11 kong/kong: - 2.33.3 kubecost/cost-analyzer: - 1.108.1 kuma/kuma: - 2.5.1 linkerd/linkerd-control-plane: - 1.16.9 mongodb/community-operator: - 0.9.0 nats/nats: - 1.1.6 new-relic/nri-bundle: - 5.0.58 nutanix/nutanix-csi-snapshot: - 6.3.2 nutanix/nutanix-csi-storage: - 2.6.6 openebs/openebs: - 3.10.0 percona/psmdb-db: - 1.15.1 percona/pxc-db: - 1.13.4 redpanda/redpanda: - 5.7.7 speedscale/speedscale-operator: - 2.0.2 stackstate/stackstate-k8s-agent: - 1.0.66 sysdig/sysdig: - 1.16.24 traefik/traefik: - 26.0.0 trilio/k8s-triliovault-operator: - 4.0.0 weka/csi-wekafsplugin: - 2.3.2 yugabyte/yugabyte: - 2.18.5 yugabyte/yugaware: - 2.18.5 ```
2024-01-12 17:13:39 +00:00
{{- else }}
2024-04-03 19:02:06 +00:00
{{- fail "\n\nKubecost Aggregator Enterprise Config requires .Values.kubecostModel.federatedStorageConfigSecret" }}
{{- end }}
{{- if and ((.Values.kubecostProductConfigs).productKey).enabled ((.Values.kubecostProductConfigs).productKey).secretname }}
- name: productkey-secret
secret:
secretName: {{ .Values.kubecostProductConfigs.productKey.secretname }}
items:
- key: productkey.json
path: productkey.json
{{- end }}
{{- if .Values.saml }}
{{- if .Values.saml.enabled }}
{{- if .Values.saml.secretName }}
- name: secret-volume
secret:
secretName: {{ .Values.saml.secretName }}
{{- end }}
{{- if .Values.saml.encryptionCertSecret }}
- name: saml-encryption-cert
secret:
secretName: {{ .Values.saml.encryptionCertSecret }}
{{- end }}
{{- if .Values.saml.decryptionKeySecret }}
- name: saml-decryption-key
secret:
secretName: {{ .Values.saml.decryptionKeySecret }}
{{- end }}
{{- if .Values.saml.metadataSecretName }}
- name: metadata-secret-volume
secret:
secretName: {{ .Values.saml.metadataSecretName }}
{{- end }}
- name: saml-auth-secret
secret:
secretName: {{ .Values.saml.authSecretName | default "kubecost-saml-secret" }}
{{- if .Values.saml.rbac.enabled }}
- name: saml-roles
configMap:
name: {{ template "cost-analyzer.fullname" . }}-saml
{{- end }}
{{- end }}
{{- end }}
{{- if .Values.oidc }}
{{- if .Values.oidc.enabled }}
- name: oidc-config
configMap:
name: {{ template "cost-analyzer.fullname" . }}-oidc
{{- if and (not .Values.oidc.existingCustomSecret.enabled) .Values.oidc.secretName }}
- name: oidc-client-secret
secret:
secretName: {{ .Values.oidc.secretName }}
{{- end }}
{{- if .Values.oidc.existingCustomSecret.enabled }}
- name: oidc-client-secret
secret:
secretName: {{ .Values.oidc.existingCustomSecret.name }}
{{- end }}
{{- end }}
{{- end }}
{{- if .Values.global.integrations.postgres.enabled }}
- name: postgres-creds
secret:
{{- if not (eq .Values.global.integrations.postgres.databaseSecretName "") }}
secretName: {{ .Values.global.integrations.postgres.databaseSecretName }}
{{- else }}
secretName: kubecost-integrations-postgres
{{- end }}
- name: postgres-queries
configMap:
name: kubecost-integrations-postgres-queries
{{- end }}
2024-04-08 22:44:59 +00:00
{{- if .Values.kubecostAggregator.extraVolumes }}
{{- toYaml .Values.kubecostAggregator.extraVolumes | nindent 8 }}
{{- end }}
containers:
{{- include "aggregator.containerTemplate" . | nindent 8 }}
{{- if .Values.kubecostAggregator.jaeger.enabled }}
{{ include "aggregator.jaeger.sidecarContainerTemplate" . | nindent 8 }}
{{- end }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{ toYaml .Values.imagePullSecrets | indent 2 }}
{{- end }}
{{- if .Values.kubecostAggregator.priority }}
{{- if .Values.kubecostAggregator.priority.enabled }}
{{- if .Values.kubecostAggregator.priority.name }}
priorityClassName: {{ .Values.kubecostAggregator.priority.name }}
{{- else }}
priorityClassName: {{ template "cost-analyzer.fullname" . }}-aggregator-priority
{{- end }}
{{- end }}
{{- end }}
{{- with .Values.kubecostAggregator.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.kubecostAggregator.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.kubecostAggregator.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- end }}