-
Notifications
You must be signed in to change notification settings - Fork 167
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
Support a configurable namespace delimiter #169
Support a configurable namespace delimiter #169
Conversation
Thanks @acmcelwee - can you add some documentation about this to https://github.com/remind101/stacker/blob/master/docs/config.rst since this adds a new top level key word? |
BTW, probably worth mentioning what characters are allowed for delimiters, since CloudFormation can be picky. |
Thanks! |
@phobologic quick question related to namespacing. Today, we're using a two-tiered approach to our namespacing in each of our AWS accounts. For our dev account, everything lives in the
Given the way stacker namespacing works today, it's impossible to do cross-namespace stack dependencies, so I've worked around it using a combination of yaml anchors and references plus environment files that contain those desired stack outputs. Would y'all be interested in a contribution to open up that functionality? So far, I'm thinking something along the lines of Ruby's double-colon operator. It fits the style that y'all use today, but would open up the possibility to have more dynamic dependencies that don't require manually capturing the outputs in a yaml file somewhere. I could see referencing things outside of your namespace with a leading |
Hey @acmcelwee - this is definitely a known weakness of stacker that I'd been thinking about, and I'd definitely be interested in seeing a PR for it. Are you thinking of just extending the double colon operator that we already use in Parameters? So that in a stack with the namespace 'myNamespace'
and
|
The tricky part about this to me is making it so if I'm building a specific namespace, say The current way of invoking build isn't going to handle this unless you make a lot of assumptions about where to look for the file specifying the resources in the other namespace. I would imagine you could have something like the following:
where i would invoke build with something like:
or some such way to indicate that stacker should build the if a stack within is that what you're going after? |
I don't think it has to be that complicated - the contract could be that if you specify a full stack name for an Output that it no longer guarantees much other than it's in a 'consistent' state (ie: UPDATE_COMPLETE, CREATE_COMPLETE, etc). |
@acmcelwee I'm going to go ahead and open an issue for this, since discussing it here isn't the best place. |
We're trying to adapt a lot of our existing troposphere stacks to stacker, and we've namespaced all of our stacks, but we've omitted the delimiter between the namespace and the stack name, in favor of simply camel casing our stack names. Some flexibility in the delimiter used there (including a blank string) would go a long way to providing some flexibility to start using stacker with stacks that might've been created by other methods.