We at Devtron strongly believe that a product is always incomplete without the contribution of it's community and the users. What else can be better than devtron users becoming a part of devtron team, the product they love and through this upcoming feature you can help other community members by sharing your own helm charts with devtron.
Very soon we are coming up with a new feature in the charts section of devtron which will be called Community Charts
where we'll upload the charts submitted by you for all the users who love to deploy and build pipelines on devtron. All of your charts will have your name associated with it for all users to know who made their life easier by uploading that chart. So what are you waiting for? Now is the time to do that
Devtron injects some variables in values.yaml in order to fully integrate with automatic CD capability. In Template you can use these variables wherever required.
Syntax | Output |
---|---|
server.deployment.image | Image repo populated by Devtron CI |
server.deployment.image_tag | Image tag populated by Devtron CI |
pipelineName | Devtron pipeline name |
releaseVersion | Release version of the chart |
deploymentType | Deployment strategy used for deployments |
app | Devtron App ID |
env | Devtron Environment ID |
appMetrics | Configuration for the metrics exposed by the app |
This is an example of deployment.yaml which will create a deployment named httpd-web
and it will identify the app to deploy using the appId and environment in which to deploy using envId both of which values will be taken from devtron dynamic variables and same is the case for image repo and tag to be used for deployment. This deployment will create a pod named myweb-pod
where our application will be up and running.
apiVersion: apps/v1
kind: Deployment
metadata:
name: httpd-web
labels:
app: myweb
spec:
replicas: 1
selector:
matchLabels:
app: myweb
template:
metadata:
labels:
app: myweb
appId: {{ $.Values.app | quote }}
envId: {{ $.Values.env | quote }}
spec:
containers:
- name: myweb-pod
image: "{{ $.Values.server.deployment.image }}:{{ $.Values.server.deployment.image_tag }}"
ports:
- containerPort: 80
- Fork the devtron-labs/devtron repository
- Upload your chart directory inside
chart-contrib
directory - Add a README file inside your chart describing it's use case and how to use
- Verify everything works fine by using the command
helm template --debug <template-dir-name>
- Generate a Pull Request on the branch
contribute-chart
of devtron-labs/devtron - Hold on till we verify everything and upload on the community charts section
The project uses discord for communication:
To join the conversation, simply join the discord and use the #contrib channel.