Custom Deployments for Bamboo

Issue #8 resolved
Former user created an issue

We would like to use this add-on to help mimic the same behaviour "Build run customized" offers us.

I installed this plugin yesterday and need your support please.

  1. This plugin exposed ALL of our Global Environment Variables encrypted secrets and passwords - it did not respect Bamboo's encryption, and instead, provided text fields of actual plain value texts of sensitive information.

  2. This plugin listed ALL available environment variables - we only need to customize the local environment variables with a deploy job

  3. the docs here https://iuliusathome.blogspot.com/p/custom-deployments-for-bamboo.html - mentions "In case you don't like the idea of all variables being customized, under administration you will find the option to filter out some of the variables. " but there is no way for us as Bamboo Admins to predict what ALL dev teams need or use for environment variables within a deploy job.

The ideal way of behaviour is: 1. it runs exactly like Build run Customized option 2. does give us the option to only limit customizable env variables to those variables defined within a deploy job only. 3. it does not decrypt all of our encrypted values

Please advise on how we can use this plugin? and custom configure it in a secure way and in an optimized way similar to "Build run customized"

Comments (31)

  1. Hutuleac Iulius repo owner

    At the moment you can set the filter and limit the number of variables exposed to a subset of your choosing.

    Please set it under “Enter mask to filter custom deployment variables”.

    For additional features please submit a feature request and I will take care of it shortly.

    Kind regards,

    Julius

  2. Hutuleac Iulius repo owner

    I checked a bit deeper, at the moment the plugin is handling the password variables but I guess you would like to include secret,passphrase and sshkey. These should be easy to include.

    As for the global variables, I can add a checkbox to allow global variables for backwards compatibility.

    Julius

  3. Ahlam elakkad
    1. please provide a sample of filter.

    If I have a huge list of variables: one under global variables, then two custom variables within each deploy job?

    2. looks like I cannot attach image of how our passwords/secrets are now exposed in plain text for anyone to see.

    3. what new version and what new features?

    fyi - When I went to the marketplace, that was the version that was shown as the latest, even though yesterday, it showed from the Bamboo UI that there was another newer version.

    In other words, the default version to install initially was not the latest version.

  4. Ahlam elakkad

    In regards to
    As for the global variables, I can add a checkbox to allow global variables for backwards compatibility.

    that feature is already there by default. I would like you to please add a global checkbox to EXCLUDE global environment variables please.

    We really would like to get an official license and use this add-ons; but it needs to be secure and it needs to be a plugin we can use from “deploy environment” context.

  5. Hutuleac Iulius repo owner

    I think with the changes done in 1.4.8 you will be happy, global variables won't be available anymore unless specifically requested.

  6. Ahlam elakkad

    In regards to “but I guess you would like to include secret,passphrase and sshkey. These should be easy to include.”

    Bamboo states the following -

    Variables

    Variables substitute values in your task configuration and inline scripts. If a variable name contains any reference to a password, like "password", "sshKey", "secret", or "passphrase", its value will be masked with "********". For tasks configuration fields, use the syntax ${bamboo.myvariablename}

    then please, you should have similar support to similar keywords as well. Because that is the guide all bamboo users use. thanks

  7. Ahlam elakkad

    In regards to “won't be available anymore unless specifically requested.”

    can you please add, keep encrypted encrypted option please? That way, our secrets won’t be exposed?

  8. Hutuleac Iulius repo owner

    In version 1.4.8 the variables having in the name "password", "sshKey", "secret", or "passphrase" will not load anymore the values, you can only pass new values and as a global admin you under addons you will have a checkbox to restrict the variables displayed.

  9. Ahlam elakkad

    Hi there, thank you for such a quick turnaround.

    Is there away to add another option that says, enable “local deploy job environment variables” only?

  10. Ahlam elakkad

    Also, I would like to ask please -

    will this work if my environment variable contains dots?

    Example:

    the environment variable is:

    “app.dev.tlsCertificates.tlsCertKeySecretValue”

    what will the regex expression be? thank you very much!

  11. Ahlam elakkad

    In regards to “Can you tell me which version are you using right now ?”

    yes, bamboo UI shows:

    Installed version:

    1.4.4

    I will attach image too

  12. Hutuleac Iulius repo owner

    I think there is a missunderstanding, the filter box is to write which variables are allowed, not declined.

    For example if you want to allow VAR1 and VAR2 as customizable variables you would write:

    .*VAR1.*|.*VAR2.*

    The regular expression that you write there is to allow, not to deny.

  13. Hutuleac Iulius repo owner

    Please update the addon to 1.4.8 (if is not visible then the question is what bamboo version are you using).

  14. Ahlam elakkad

    In regards to “ think there is a missunderstanding,” ..

    No, I am saying the environment variable is ““app.dev.tlsCertificates.tlsCertKeySecretValue”

    to include this,

    1. what should the pattern be
    2. will this be encrypted?

    The next inquiry was, to have additional option to only allow local env variables within a deploy job. It will be similar to how “Build Run Customized” works.

    thanks

  15. Ahlam elakkad

    I will not be able to update this today, since it is a prod server, I will have to update it during a maintenance window. It was not visible at initial install of the plugin when I installed it. It is visible now as you can see from the image I uploaded.

  16. Hutuleac Iulius repo owner

    In the version 1.4.8 the default is only environment variables, no globals. You have to specifically request global variables to be added to the forms.

    Regarding “No, I am saying the environment variable is ““app.dev.tlsCertificates.tlsCertKeySecretValue”

    to include this,

    1. what should the pattern be
    2. will this be encrypted?

    ‌”

    Do you want this variable to displayed or do you want this variable to be hidden ?

  17. Hutuleac Iulius repo owner

    On the topic encryption I cannot comment. The storage of the variables is handled by Bamboo itself. The 4 Major classes of variables will be handled from 1.4.8 and addon should no longer display the values.

  18. Ahlam elakkad

    reply 1

    Thank you for the explanation, I will schedule upgrade and validate those new features. thanks

    reply2

    so in local environment variables in deploy/environment job, we have a variable

    variable name: app.dev.tlsCertificates.tlsCertKeySecretValue

    this variable name per Bamboo rules is encrypted.

    so if I use Deploy Customized, I would like to please keep this value encrypted.

    reply 3

    this is a request, do you know how build job, have Run Customized? Is there away to do that for Deploy Customized? as opposed to needing to go to the top bar menu? thanks you

  19. Hutuleac Iulius repo owner

    If you allow this variable to be customized it will appear in the list but empty. If you pass a value it will override, if you do not touch it the addon will just let Bamboo handle it

  20. Hutuleac Iulius repo owner

    In order to allow “app.dev.tlsCertificates.tlsCertKeySecretValue” to be customized the filter mask should look like “.*” or “.*app.dev.tlsCertificates.tlsCertKeySecretValue.*|.*OTHERVAR.*”

  21. Ahlam elakkad

    Here is a snapshot of where run customized is normally accessed -

    can deploy customized be the same?

  22. Log in to comment