Magic App (DEPRECATED: see https://git.autonomic.zone/autonomic-cooperative/abra)
static | ||
templates | ||
.gitignore | ||
first.py | ||
LICENSE | ||
README.md | ||
requirements.txt | ||
second.py |
Magic App
A swarm of dreams.
first.py
Ideas contained within...
- List apps from an
app.json
(points to https://git.autonomic.zone/compose-stacks) - Clone selected app template and parse configuration for inputs (env vars and secrets)
- Generate a form so those values can be filled out and allow it to be saved
- Save the form inputs to a
db.json
(as a start) - Deploy an applicaiton to a local swarm (assumes access to local docker socket)
- Create an "edit app" page where the
db.json
is re-called and can be updated - Make sure re-deploy works (taking care of updating secret and app versions)
second.py
More ideas...
- Don't try to be smart with the auto-generation, hard-code everything. We
maintain the app template (
compose.yml
) and this code anyway, so we just need to be aware of each other and keep in sync. This would optimise for trust and collaboration and not "smart" code. - Hard-code the secrets/configs required to make the code for generating versions simpler as well.
MVP screens
- App selection screen: a list of apps, you choose which one you want
- Install app screen:a form for installing the application
- Edit app screen: re-load the configuration for an app, ability to update it
- Delete app screen: remove the app
Development
$ python3 -m venv .venv
$ source .venv/bin/activate
$ pip install -r requirements.txt
$ python first.py / second.py / third.py