Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Devtron essentials chart added #169

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions charts/devtron-essentials/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
45 changes: 45 additions & 0 deletions charts/devtron-essentials/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
dependencies:
- name: keda
repository: https://kedacore.github.io/charts
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this file

version: 2.6.0
- name: rollout
repository: https://helm.devtron.ai
version: 0.14.5
- name: winter-soldier
repository: https://helm.devtron.ai
version: 0.10.4
- name: aws-ebs-csi-driver
repository: https://kubernetes-sigs.github.io/aws-ebs-csi-driver
version: 2.17.2
- name: flagger
repository: https://flagger.app
version: 1.30.0
- name: metrics-server
repository: https://kubernetes-sigs.github.io/metrics-server
version: 3.10.0
- name: external-secrets
repository: https://external-secrets.io/
version: 0.8.1
- name: kyverno
repository: https://kyverno.github.io/kyverno/
version: 3.0.0-alpha.2
- name: aws-load-balancer-controller
repository: https://aws.github.io/eks-charts
version: 1.5.2
- name: devtron-in-clustercd
repository: https://helm.devtron.ai
version: 0.10.0
- name: clair
repository: https://helm.devtron.ai
version: 0.1.10
- name: dt-postgresql
repository: https://devtron-charts.s3.us-east-2.amazonaws.com/charts
version: 5.3.3
- name: ingress-nginx
repository: https://kubernetes.github.io/ingress-nginx
version: 4.6.1
- name: cluster-autoscaler
repository: https://kubernetes.github.io/autoscaler/
version: 9.28.0
digest: sha256:7ef540a929698985cb5987b4fda6e5222d696e100df6e999b9f9415c648abf93
generated: "2023-05-16T23:25:21.910799+05:30"
92 changes: 92 additions & 0 deletions charts/devtron-essentials/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
apiVersion: v2
name: devtron
description: A Helm chart for Kubernetes
version: 0.1.0
maintaintainers:
- name: Kamal Acharya
email: [email protected]

sources:
- https://github.com/kedacore/keda
- https://github.com/devtron-labs/charts/tree/main/charts/rollout
- https://github.com/devtron-labs/charts/tree/main/charts/winter-soldier
- https://github.com/kubernetes-sigs/metrics-server
- https://github.com/kubernetes-sigs/aws-ebs-csi-driver
- https://github.com/fluxcd/flagger/tree/main/charts/flagger
- https://kyverno.github.io/kyverno/
- https://external-secrets.io/
- https://helm.devtron.ai
- https://devtron-charts.s3.us-east-2.amazonaws.com/charts
- https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler
appVersion: "1.16.0"

dependencies:
- name: keda
version: "2.6.0"
repository: https://kedacore.github.io/charts
condition: keda.enabled
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

User versions with x.x
don't fix it

- name: rollout
version: "0.14.5"
repository: https://helm.devtron.ai
condition: rollout.enabled
- name: winter-soldier
version: "0.10.4"
repository: https://helm.devtron.ai
condition: winter-soldier.enabled
- name: aws-ebs-csi-driver
version: "2.17.2"
repository: https://kubernetes-sigs.github.io/aws-ebs-csi-driver
condition: aws-ebs-csi-driver.enabled
- name: flagger
version: "1.30.0"
repository: https://flagger.app
condition: flagger.enabled
- name: metrics-server
version: "3.10.0"
repository: https://kubernetes-sigs.github.io/metrics-server
condition: metrics-server.enabled
- name: external-secrets
version: "0.8.1"
repository: https://external-secrets.io/
condition: external-secrets.enabled
- name: kyverno
version: "3.0.0-alpha.2"
repository: https://kyverno.github.io/kyverno/
condition: kyverno.enabled
- name: aws-load-balancer-controller
version: "1.5.2"
repository: https://aws.github.io/eks-charts
condition: "aws-load-balancer-controller.enabled"
- name: devtron-in-clustercd
version: " 0.10.0"
repository: https://helm.devtron.ai
condition: devtron-in-clustercd.enabled
- name: clair
version: "0.1.10"
repository: https://helm.devtron.ai
condition: clair.enabled
- name: dt-postgresql
version: "5.3.3"
repository: https://devtron-charts.s3.us-east-2.amazonaws.com/charts
condition: dt-postgresql.enabled
- name: ingress-nginx
version: "4.6.1"
repository: https://kubernetes.github.io/ingress-nginx
condition: ingress-nginx.enabled
- name: cluster-autoscaler
version: "9.28.0"
repository: https://kubernetes.github.io/autoscaler/
condition: cluster-autoscaler.enabled\
- name: argo-workflow
version: "0.1.4"
repository: https://helm.devtron.ai
condition: argo-workflow.enabled









212 changes: 212 additions & 0 deletions charts/devtron-essentials/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
keda:
enabled: false

metrics-server:
enabled: false
defaultArgs:
- --cert-dir=/tmp
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
- --kubelet-use-node-status-port
- --metric-resolution=15s
- --kubelet-insecure-tls

rollout:
enabled: false
rollout:
image: "quay.io/devtron/rollout:v0.6.2"
resources:
limits:
memory: 200Mi
cpu: 250m
requests:
memory: 100Mi
cpu: 50m

winter-soldier:
enabled: false
replicaCount: 3
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi

aws-ebs-csi-driver:
enabled: false
region: "" #Specify your cluster region
image:
repository: public.ecr.aws/ebs-csi-driver/aws-ebs-csi-driver
tag: "1.17.2"
pullPolicy: IfNotPresent
serviceAccount:
# A service account will be created for you if set to true. Set to false if you want to use your own.
create: true
name: ebs-csi-controller-sa
annotations: {}
tolerations: []
# - key: CriticalAddonsOnly
# operator: Exists
# - effect: NoExecute
# operator: Exists
# tolerationSeconds: 300

flagger:
enabled: false
crd:
create: false

external-secrets:
enabled: false

kyverno:
enabled: false

aws-load-balancer-controller:
enabled: false
resources: {}
nodeSelector: {}
tolerations: []
# affinity specifies a custom affinity for the controller pods
affinity: {}
region:
# The VPC ID for the Kubernetes cluster. Set this manually when your pods are unable to use the metadata service to determine this automatically
vpcId: ""


devtron-in-clustercd:
enabled: false
workflow:
config:
parallelism: 50
artifactRepository:
archiveLogs: true
instanceID: devtron-runner
s3:
endpoint: s3.amazonaws.com
bucket: devtron-logs-test
region: us-east-1
keyFormat: "logs-v1/{{workflow.name}}"
#keep it uncommented if logs will pushing through AWS node role permission(recommended)
# accessKeySecret:
# name: workflow-minio-cred
# key: accessKey
# secretKeySecret:
# name: workflow-minio-cred
# key: secretKey
containerRuntimeExecutor: pns
executor:
imagePullPolicy: Always

# Access key and Secret key of AWS account to push logs to above S3 bucket if not provided it will use node role.
use_access_secret_key: false
#Keep it uncommented if logs will pushing through AWS node role permission , if you want to push logs using aws access and secret key please provide here access and secret key which is reflect on workflow-minio-cred secret .
# accesskey: XXXXXX
# secretkey: XXXXX

image: quay.io/argoproj/workflow-controller:v3.0.7
arguments: ["--configmap","workflow-controller-configmap","--executor-image","quay.io/argoproj/argoexec:v3.0.7"]
resources:
limits:
cpu: "0.3"
memory: "300Mi"
requests:
cpu: "0.3"
memory: "300Mi"
nodeSelector: {}

tolerations: []

affinity: {}


#Namespaces to execute in application environments for pre/post deployment on target clusters
execute_in_application_env:
namespaces:
- abc
- xyz

# Kubewatch configuration
kubewatch:
image: quay.io/devtron/kubewatch:b7c8b777-419-12558
env:
- name: DEFAULT_NAMESPACE
value: "devtron-ci"
- name: CI_INFORMER
value: "true"
- name: ACD_NAMESPACE
value: "devtroncd"
- name: ACD_INFORMER
value: "true"
- name: CD_EXTERNAL_LISTENER_URL # Note:- There must be connectivity from target cluster to devtron cluster.
value: http://test.devtron.com/orchestrator/webhook/msg/nats # Here provide the ORCH_HOST(This host is used kubewatch which is running on target cluster to hit api call to nats which is running on devtron cluster) and test.devtron.com is host name where we are accessing devtron dashboard.
- name: CD_EXTERNAL_ORCHESTRATOR_TOKEN # This is devtron token to call nats api from kubewatch running on target cluster . # To get this just exec into devtron pod and run ``printenv | grep ORCH_TOKEN`` . Just copy this token and put here.
value: XXXXXXXXX
- name: CD_EXTERNAL_REST_LISTENER
value: "true"
resources:
requests:
memory: 128Mi
cpu: 100m
limits:
memory: 128Mi
cpu: 100m
nodeSelector: {}
tolerations: []
affinity: {}
replicaCount: 1

# Kubewatch configuration
config:
handler:
webhook:
enabled: false
url: ""
resource:
daemonset: false
deployment: false
events: true
job: false
persistentvolume: false
pod: false
replicaset: false
replicationcontroller: false
services: false



clair:
enabled: false
config:
postgresServiceName: ""
postgresHost: ""
postgresPassword: ""

dt-postgresql:
enabled: false
fullnameOverride: ""
postgresqlPassword: ""

ingress-nginx:
enabled: true
fullnameoverride: "my-ingress"
controller:
service:
annotations:
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: ""
nginx.ingress.kubernetes.io/force-ssl-redirect: true
nginx.ingress.kubernetes.io/ssl-redirect: true

cluster-autoscaler:
enabled: false
awsRegion: ""
clusterName: ""

argo-workflow:
enabled: false
bucket: ""
keyformat: ""
region: ""