Setting separate values for environment variable in HELM for DEV, PRESTAGING, STAGING and PROD












0














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.










share|improve this question





























    0














    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.










    share|improve this question



























      0












      0








      0


      1





      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.










      share|improve this question















      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






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 13 '18 at 0:01

























      asked Nov 12 '18 at 23:54









      Radioactive

      6810




      6810
























          1 Answer
          1






          active

          oldest

          votes


















          2














          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





          share|improve this answer





















            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
            });


            }
            });














            draft saved

            draft discarded


















            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









            2














            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





            share|improve this answer


























              2














              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





              share|improve this answer
























                2












                2








                2






                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





                share|improve this answer












                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






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 13 '18 at 0:22









                David Maze

                10.5k2921




                10.5k2921






























                    draft saved

                    draft discarded




















































                    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.




                    draft saved


                    draft discarded














                    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





















































                    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







                    Popular posts from this blog

                    Bressuire

                    Vorschmack

                    Quarantine