pmint93 / helm-charts

My helm charts
https://pmint93.github.io/helm-charts/
Apache License 2.0
73 stars 72 forks source link

charts/metabase add sidecars for main deployment #90

Closed letronghoangminh closed 10 months ago

letronghoangminh commented 10 months ago

This addition allows to add the sidecars block to the main deployment, it allows bare customization so users can custom the sidecars based on Kubernetes manifest syntax

The Chart version has already been added as well as the documentation for variables

spartan-toannhan commented 10 months ago

LGTM

spartan-minhle commented 10 months ago

hi @pmint93, since we are urgent to use this feature of your helm chart, please help us review it, thank you very much :D

spartan-minhle commented 10 months ago

This is the value so that you can better review them

---
# Source: metabase/templates/config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: release-name-metabase-config
  namespace: default
  labels:
    app: metabase
    chart: metabase-2.10.1
    release: release-name
    heritage: Helm
data:
---
# Source: metabase/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  name: release-name-metabase
  namespace: default
  labels:
    app: metabase
    chart: metabase-2.10.1
    release: release-name
    heritage: Helm
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: 3000
      protocol: TCP
      name: metabase
  selector:
    app: metabase
    release: release-name
---
# Source: metabase/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: release-name-metabase
  namespace: default
  labels:
    app: metabase
    chart: metabase-2.10.1
    release: release-name
    heritage: Helm
spec:
  selector:
    matchLabels:
      app: metabase
  replicas: 1
  template:
    metadata:
      annotations:
        checksum/config: 979a58f215f05db182bf448ef00341b1f6975ccc0b148b732690b90eded62dd0
      labels:
        app: metabase
        release: release-name
    spec:
      containers:
        - name:  metabase
          image: "metabase/metabase:v0.47.2"
          imagePullPolicy: IfNotPresent
          env:
          - name: MB_JETTY_HOST
            value: "0.0.0.0"
          - name: MB_JETTY_PORT
            value: "3000"
          - name: MB_DB_TYPE
            value: h2
          - name: MB_PASSWORD_COMPLEXITY
            value: normal
          - name: MB_PASSWORD_LENGTH
            value: "6"
          - name: JAVA_TIMEZONE
            value: UTC
          - name: MB_EMOJI_IN_LOGS
            value: "true"
          - name: MB_COLORIZE_LOGS
            value: "true"
          ports:
            - containerPort: 3000
          livenessProbe:
            httpGet:
              path: /api/health
              port: 3000
            initialDelaySeconds: 120
            timeoutSeconds: 30
            failureThreshold: 6
          readinessProbe:
            httpGet:
              path: /api/health
              port: 3000
            initialDelaySeconds: 30
            timeoutSeconds: 3
            periodSeconds: 5
          resources:
            {}

        - args:
          - -c
          - while true; do echo hello; sleep 10;done
          command:
          - /bin/sh
          image: busybox
          name: busybox
          ports:
          - containerPort: 80
            name: http
          resources:
            limits:
              cpu: 10m
              memory: 100Mi
            requests:
              cpu: 10m
              memory: 100Mi
      serviceAccountName: default
      volumes:
pmint93 commented 10 months ago

@letronghoangminh What's the purpose of sidecar ? Can you share more about your use cases ?

spartan-minhle commented 10 months ago

hi @pmint93 , thank you for replying, specifically about my use case, we are installing Metabase on a EKS Fargate cluster, which make it required to use a Datadog Agent container as a sidecar for exporting metrics and logs to Datadog. That's why we need this feature to be implemented. Thank you very much