Code Monkey home page Code Monkey logo

punjab-infraops's Introduction

Digit Helm Deployment Common Chart

The common library chart has templates which eases deployment of a service on to Digit with recommended platform defaults which can further be customized to service or environment needs while abstracting the need to know kubernetes manifest syntax.

This helps us push defaults and changes to most, if not all, services deployed onto Digit.

Requirements

The default values file values.yaml has defaults for all manifest files, which can be overrides by service values file or environment override file.

The service template file _service.yaml used for generating a service manifest.

The ingress template file _ingress.yaml used for generating ingress manifest.

The deployment template file _deployment.yaml used for generating a deployment manifest.

Values template

Parameter Description Default
namespace Default namespace for the service egov
replicas Number of Pods to be created 1
httpPort Default port number for the service 8080
appType Application Type to configure defaults for appType, "java-spring" only type with defaults for now. For more details check values.yaml
labels Labels for the service, for example,
app: "egov-mdms-service"
group: "core"
''
ingress.enabled To add ingress controller for the service false
ingress.zuul When ingress is enabled, routes the request via Zuul API gateway false
ingress.context When ingress is enabled, exposes the following context path to the internet, example user ``
ingress.waf.enabled When ingress is enabled, Enable Web Application Firewall for the service true
image.pullPolicy To pull a Docker image from Docker repository, By default skip pulling an image if it already exists IfNotPresent
image.tag Docker image tag for the service latest
affinity.preferSpreadAcrossAZ To spread deployment replicas across multiple availability zones in cloud environment true
initContainers.dbMigration.enabled Add Flyway DB migration container for the service, requires schemaTable configuration! false
initContainers.dbMigration.schemaTable Schema table for the flyway db migration, required, if db migration enabled, ''
initContainers.dbMigration.image.pullPolicy Pulls the DB migration docker images from Docker repository IfNotPresent
initContainers.dbMigration.image.tag Docker image tag for the initcontainer latest
initContainers.dbMigration.env Allows the specification of additional environment variables. Passed through the tpl function and thus to be configured a string For Eg:
env: |
        - name: "FLYWAY_USER"
            valueFrom:
                secretKeyRef:
                        name: db
                        key: flyway-username
For more details check values.yaml
initContainers.gitSync.enabled To add a gitSync init container which clones a repository using configured ssh read token false
initContainers.gitSync.repo Git repository to be checked out, required, if gitSync enabled, example, [email protected]:egovernments/egov-mdms-data ''
initContainers.gitSync.branch Git repository branch to be checked out, required, if gitSync enabled, example, master ''
gitSync.image.repository Docker image of the gitSync init container k8s.gcr.io/git-sync
gitSync.image.tag Docker image tag of the gitSync init container v3.1.1
gitSync.image.pullPolicy Docker image pull policy for gitSync init container IfNotPresent
gitSync.env Allows the specification of additional environment variables. Passed through the tpl function and thus to be configured a string For Eg:
env: |
        - name: "GIT_SYNC_REPO"
            value: "{{ .Values.initContainers.gitSync.repo }}"
For more details check values.yaml
healthChecks.enabled To enable/disable healthchecks [Liveness probes and Readiness probes] for a pod false
healthChecks.livenessProbe Allows the specification of additional environment variables. Passed through the tpl function and thus to be configured a string For Eg:
livenessProbe: |
        httpGet:
                path: "{{ .Values.healthChecks.livenessProbePath }}"
        initialDelaySeconds: 60
For more details check values.yaml
healthChecks.livenessProbe.httpGet.path Context path of the service to check the liveness of a pod {{ .Values.healthChecks.livenessProbePath }}
healthChecks.livenessProbe.httpGet.port Port number of the service to check the liveness of a pod {{ .Values.httpPort }}
healthChecks.readinessProbe Allows the specification of additional environment variables. Passed through the tpl function and thus to be configured a string For Eg:
readinessProbe: |
        httpGet:
                path: "{{ .Values.healthChecks.readinessProbePath }}"
        initialDelaySeconds: 60
For more details check values.yaml
healthChecks.readinessProbe.httpGet.path Context path of the service to check the readiness of a pod {{ .Values.healthChecks.readinessProbePath }}
healthChecks.readinessProbe.httpGet.port Port number of the service to check the readiness of a pod {{ .Values.httpPort }}
lifecycle.preStop.exec.command Executes the command in the pod before stopping - sh
- -c
- "sleep 10"
memory_limits To set the memory limit for the pod 512Mi
resources To set the resource limits for the pod. Allows the specification of additional environment variables. Passed through the tpl function and thus to be configured a string resources: |
    {{- if eq .Values.appType "java-spring" -}}
    requests:
        memory: {{ .Values.memory_limits | quote }}
    limits:
        memory: {{ .Values.memory_limits | quote }}
    {{- end -}}
extraEnv.java Allows the specification of additional environment variables for Java. Passed through the tpl function and thus to be configured a string For Eg:
java: |
        - name: SPRING_DATASOURCE_URL
            valueFrom:
                configMapKeyRef:
                    name: egov-config
                    key: db-url
For more details check values.yaml
jaeger Jaeger API tracing environment variables to send traces to Jaeger Agent. Allows the specification of additional environment variables. Passed through the tpl function and thus to be configured a string For Eg:
jaeger: |
        - name: JAEGER_AGENT_PORT
            port: 6831
For more details check values.yaml
extraVolumes To add additional volumes to the service. Allows the specification of additional environment variables. Passed through the tpl function and thus to be configured a string For Eg:
extraVolumes: |
    - name: new-volume
        configMap:
            name: service-new-volume
extraVolumeMounts To mount additional volumes to the service in a desired mount path. Allows the specification of additional environment variables. Passed through the tpl function and thus to be configured a string For Eg:
extraVolumeMounts: |
    - mountPath: /opt/service-path/file.conf
        configMap:
            name: new-volume
            subPath: file.conf
extraInitContainers Additional init containers, e. g. for providing themes, etc. Passed through the tpl function and thus to be configured a string ""
extraContainers Additional sidecar containers, e. g. for a database proxy, such as Google's cloudsql-proxy. Passed through the tpl function and thus to be configured a string ""

punjab-infraops's People

Contributors

sandeepkumaregov avatar vinothrallapalli-egov avatar abhithakur2 avatar kanikaegov avatar gowtham-egov avatar pradeepkumarcm-egov avatar shivam-egov avatar abhirana04 avatar shiva-egov avatar ashutoshegov avatar abhi-egov avatar pedireddysaikiranegov avatar rahul6234 avatar sravan-wt-egov avatar egovmis avatar gurpreetsinghkhanna avatar mahammadnizam-wt-egov avatar kabirmis avatar palamgarg avatar rakesh-wt-egov avatar uday-egov avatar hinamakhija-egov avatar mohammadrafeek-egov avatar poonam1512 avatar sandeepkumar1234 avatar deepgumber9996 avatar iffath-egov avatar nithya-egov avatar erramesh000 avatar simar1977 avatar

Watchers

James Cloos avatar  avatar  avatar  avatar Subhash-eGov avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.