43 lines
1.4 KiB
Markdown
43 lines
1.4 KiB
Markdown
# 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
|
|
```
|