Allow roles to be more easily added
I.e. extract them from the Amigo code so a deploy is not required to update the availble roles.
Some suggestions:
- Move ansible tasks into dynamo and editable in UI.
- Move ansible tasks per role into S3 and allow updating by pushing to S3 and an agent running within Amigo to update roles.
- Keep roles in a Github repo, but hook merges to master to some mechanism that updates Amigo with the new set of ansible tasks (possibly by pushing them into S3)
Ansible tasks are code. I'd rather that they were in a VCS than a datastore.
I'm not convinced this would make things easier enough to warrant the added complexity and deviation from normal deployment mechanisms.
Nah, they're YAML files :stuck_out_tongue:
In my opinion this is putting config in code - which is fine for things that don't change often, which is not true in this case.
^ but I would also advocate for keeping changes in version control.
Originally we said that roles etc should be in a different (possibly multiple) git repos. I agree with @philwills that it's still code, but it seems to make sense to me to decouple the amigo app from the roles.