Setting separate values for environment variable in HELM for DEV, PRESTAGING, STAGING and PROD
I am currently using Helm charts for deployment.
What I basically wanted to do is to set environment variables for different environments.
Use-case:
I am using Helm to deploy a Node JS application and based on the value of the environment variable NODE_ENV which will be set while deployment I wish to load specific config files.
Example:
env:
- name: NODE_ENV
value: production
...
I was going through HELM charts and I am unable to join the dots as to how we can use the templates/deployment.yaml, values.yaml and a deployment.yaml to establish the same.
Note:
It is the same environment variable which will hold separate values based on the deployment environment.
Any help would be helpful.
environment-variables kubernetes-helm helm
add a comment |
I am currently using Helm charts for deployment.
What I basically wanted to do is to set environment variables for different environments.
Use-case:
I am using Helm to deploy a Node JS application and based on the value of the environment variable NODE_ENV which will be set while deployment I wish to load specific config files.
Example:
env:
- name: NODE_ENV
value: production
...
I was going through HELM charts and I am unable to join the dots as to how we can use the templates/deployment.yaml, values.yaml and a deployment.yaml to establish the same.
Note:
It is the same environment variable which will hold separate values based on the deployment environment.
Any help would be helpful.
environment-variables kubernetes-helm helm
add a comment |
I am currently using Helm charts for deployment.
What I basically wanted to do is to set environment variables for different environments.
Use-case:
I am using Helm to deploy a Node JS application and based on the value of the environment variable NODE_ENV which will be set while deployment I wish to load specific config files.
Example:
env:
- name: NODE_ENV
value: production
...
I was going through HELM charts and I am unable to join the dots as to how we can use the templates/deployment.yaml, values.yaml and a deployment.yaml to establish the same.
Note:
It is the same environment variable which will hold separate values based on the deployment environment.
Any help would be helpful.
environment-variables kubernetes-helm helm
I am currently using Helm charts for deployment.
What I basically wanted to do is to set environment variables for different environments.
Use-case:
I am using Helm to deploy a Node JS application and based on the value of the environment variable NODE_ENV which will be set while deployment I wish to load specific config files.
Example:
env:
- name: NODE_ENV
value: production
...
I was going through HELM charts and I am unable to join the dots as to how we can use the templates/deployment.yaml, values.yaml and a deployment.yaml to establish the same.
Note:
It is the same environment variable which will hold separate values based on the deployment environment.
Any help would be helpful.
environment-variables kubernetes-helm helm
environment-variables kubernetes-helm helm
edited Nov 13 '18 at 0:01
asked Nov 12 '18 at 23:54
Radioactive
6810
6810
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You can use templating to set the value of the environment variable:
- name: NODE_ENV
value: {{ .Values.env | quote }}
Your chart's values.yaml
file should provide a default value:
env: production
When you actually go to deploy the chart, you can provide an additional YAML file of values (or more than one)
helm install --name my-chart ./charts/my-chart -f values.dev.yaml
And then that YAML file can provide values that override the chart's default
env: development
mysqlHost: mysql-dev.example.com
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53271799%2fsetting-separate-values-for-environment-variable-in-helm-for-dev-prestaging-st%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use templating to set the value of the environment variable:
- name: NODE_ENV
value: {{ .Values.env | quote }}
Your chart's values.yaml
file should provide a default value:
env: production
When you actually go to deploy the chart, you can provide an additional YAML file of values (or more than one)
helm install --name my-chart ./charts/my-chart -f values.dev.yaml
And then that YAML file can provide values that override the chart's default
env: development
mysqlHost: mysql-dev.example.com
add a comment |
You can use templating to set the value of the environment variable:
- name: NODE_ENV
value: {{ .Values.env | quote }}
Your chart's values.yaml
file should provide a default value:
env: production
When you actually go to deploy the chart, you can provide an additional YAML file of values (or more than one)
helm install --name my-chart ./charts/my-chart -f values.dev.yaml
And then that YAML file can provide values that override the chart's default
env: development
mysqlHost: mysql-dev.example.com
add a comment |
You can use templating to set the value of the environment variable:
- name: NODE_ENV
value: {{ .Values.env | quote }}
Your chart's values.yaml
file should provide a default value:
env: production
When you actually go to deploy the chart, you can provide an additional YAML file of values (or more than one)
helm install --name my-chart ./charts/my-chart -f values.dev.yaml
And then that YAML file can provide values that override the chart's default
env: development
mysqlHost: mysql-dev.example.com
You can use templating to set the value of the environment variable:
- name: NODE_ENV
value: {{ .Values.env | quote }}
Your chart's values.yaml
file should provide a default value:
env: production
When you actually go to deploy the chart, you can provide an additional YAML file of values (or more than one)
helm install --name my-chart ./charts/my-chart -f values.dev.yaml
And then that YAML file can provide values that override the chart's default
env: development
mysqlHost: mysql-dev.example.com
answered Nov 13 '18 at 0:22
David Maze
10.5k2921
10.5k2921
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53271799%2fsetting-separate-values-for-environment-variable-in-helm-for-dev-prestaging-st%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown