Hadron / carthage

Carthage is an Infrastructure as Code (IAC) framework
Other
7 stars 4 forks source link

Add carthage-layout #48

Closed srak289 closed 1 year ago

srak289 commented 1 year ago

It used to feel confusing for me to setup a CarthageLayout from scratch, now it feels a bit tedious. I'm proposing this as a starting point for a utility to create new layouts and perhaps grow in the future to manage plugins.

I'm open to opinions on what a "default" CarthageLayout should present.

hartmans commented 1 year ago

I'd definitely like to have something like this. I think there are a few types of layouts:

I think we don't want to hard code the templates in the carthage-new executable, but instead, have them live under carthage/resources/skel or the existing carthage/resources/templates.

I don't think we need a config.yml with a layout. A carthage_plugin.yml can include a config section, but unless you're setting plugins a generic layout doesn't even need that. (layout_name is not really required, and I wouldn't support setting base_dir and checkout_dir explicitly by default.)

hartmans commented 1 year ago

I wonder if ith would be better to call this carthage-new, and have it take a template like:

srak289 commented 1 year ago

I'm not quite sure what a default layout_function should look like. I'm happy to work against an example to implement.