rtyler / otto

Otto is your friendly continuous delivery companion.
GNU Affero General Public License v3.0
80 stars 5 forks source link

How should projects be configured? #52

Open rtyler opened 3 years ago

rtyler commented 3 years ago

Related to #39

Now that things are moving far enough along, I need to create the means of defining projects. I'm thinking this should be separate from the main system configuration, and allow for configuration via a directory. For example:

projects.d
├── infra
│   ├── data-tier.yml
│   ├── ecs.yml
│   └── tf-modules.yml
├── mobile
│   ├── android.yml
│   └── ios.yml
├── monolith.yml
├── react
│   ├── frontend.yml
│   ├── lib1.yml
│   └── lib2.yml
└── tools
    ├── migrator.yml
    └── reaper.yml

4 directories, 11 files

I think this would ideally result in different folders for organization in an eventual frontend as well.

Each of these yaml files I think would need:

rtyler commented 3 years ago

It may be worth allowing the projects configuration to explicitly set the ottofile contents inside the YML, that way somebody could forcefully override whatever is defined in the repository (e.g. for deployment or high security use-cases)

rtyler commented 3 years ago

I've got a sketch out of this right now, but this will need to be completed with #63