-
Notifications
You must be signed in to change notification settings - Fork 628
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
Change Environment
tag to something else?
#1280
Comments
@npalm Any thoughts on this? Has the horse bolted at this point or is it worth considering moving to a more generic and less opinionated word? |
@toast-gear not yet had the time to make up my mind. Will do my best to come back asap |
This is actually something that is biting us currently. We have a global
I believe this is because IAM Roles are one of the few resources that don't follow the case sensitive nature of pretty much all other resource tagging in AWS (i.e. we only receive this error on |
Would it be an idea to see if we make the key used for the tag |
From my perspective the Would one approach be to have a toggle for whether the |
From my pespective the word environment when talking about runner infrastructure (including the runners) is problamatic and I would consider moving to something more neutral like If you do want to stick to |
@toast-gear I agree on most parts of you concerns, but just renaming environment to namespace would cause clashed for users allready applying that tag to rerources. I would first like to give a bit of background. When we started years ago using terraform we simply used So I would prefer that we update the module in such way that we make it possible to define the key we for the tag used as namespace (or environment). This won't be a simple update of the terraform code since some lamda's and the installation script of runner also using the namespace. @toast-gear are you interessted to help us with a PR? |
I've never written Typescript before so I can't promise anything but I can certainly try. The lambdas aren't massively complicated so I don't think you need to be a Typescript expert to do the PR, we'll see though! I'll try to get some time to take a look but if someone else knows a bit of Typescript feel free to do the PR! |
Closed #1328 following discussion that would break module. The approach described in that PR sounds sensible but not something I can look at right now. Opened #1346 which tags perhaps a more pragmatic approach by not tagging the IAM Roles with |
In #1444 I have started to enable the transition to tags prefixed with Currently it has both option to preserve any existing functionality and allow a smoother transition and removal of the |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed if no further activity occurs. Thank you for your contributions. |
solved in PR #1858 |
Hello again,
Great module, it's working really well so far from our testing.
One thing that confuses me slightly is that as far as I can tell, you are expected to deploy many stacks of this module if you are making use of runner groups, 1 stack per runner group. The GitHub Actions platform offers few server-side security features currently and so it's difficult to not make use of runner groups if security is important to your organisation. As a result of this, you often end up with multiple runner groups being implemented for any given environment (production being the most common). The
Environment
input causes problems because it not only gets used to namespace the stack, but also to create / set a tag calledEnvironment
. If you have to deploy multiple instances of this stack the set value for this tag can't be what someone would traditionally call an "environment" e.g. "production", as it needs to be unique to namespace the instance from other instances of the stack. Furthermore, the tagEnvironment
is extremely common and so you end up with a clash between your internal tagging standard, and this modules use of the tag, both in terms of what this tag ends up representing as well as a duplicate key clash.Would it be better to rename this key to
Namespace
and have the tag it creates also have the keyNamespace
so that people can still apply anEnvironment
tag as well as having its value make a bit more sense. Perhaps it seems like semantics but I would thinkEnvironment
is an extremely common key resulting in a clash in lots of organisations.Namespace
might also cause clashing issues but I would think for fewer. You could use something a bit more utilitarian instead likeActionsStackPrefix
or even continue with usingEnvironment
but have the tag creation as a configurable option if it isn't used by the module for something? If none of those work perhaps add a namespace to this tags key to differentiate it from an internalEnvironment
tag likephilips-labs/Environment
? You could argue that you should namespace your internal tags however that is much harder to implement once a strategy is in place already.Interested to hear your thoughts if this is a problem from your perspective. This modules concept of an
Environment
seems very blurry to me if you need to deploy multiple copies of the stack to support multiple runner groups. Perhaps in isolation it makes sense but when deploying this solution into an AWS organisation or running multiple instances of this stack due to the need for multiple runner groups to target the same "environment" e.g. production, this modules concept of an Environment breaks down.The text was updated successfully, but these errors were encountered: