# 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 ```bash $ python3 -m venv .venv $ source .venv/bin/activate $ pip install -r requirements.txt $ python first.py / second.py / third.py ```