abra create/new/deploy: create a new application #24

Closed
opened 2020-10-26 18:00:20 +00:00 by decentral1se · 1 comment
Owner

We already have abra deploy but trying to come at this from a fresh angle with a brand new user in mind. We discussed deploy/update/upgrade as different ways of interacting with an app. All necessary for our thinking for implementation. For this ticket we focus on one user-centric flow: creating a new application.

CLI UX proposal

  • abra new
  • abra create
  • abra deploy

Let's choose one and it will mean to the user: "create a new application"

Implementation proposal

I imagine it to do this under-the-hood. The user runs abra new wordpress.

  • mkdir -p ~/.abra/clones/
  • git clone ...coop-cloud/wordpress ~/.abra/clones/wordpress
  • then abra reads the ~/.abra/clones/wordpress/package.yml (see coop-cloud/organising#33)
  • then abra displays a bunch of questions and stores the inputs in a ~/.abra/$context/$name/app.yml file where $name = the name given by the user (e.g. fashion-revolution, should be unique)
  • then abra run as a docker stack deploy and pipes in all the values, creates the secrets etc. and then stores

I kinda run out of steam now and Im not sure how this will pan out but I guess we just need to get started and then it will get clearer. There are loads of assumptions littered on this ticket but open to change any.

We already have `abra deploy` but trying to come at this from a fresh angle with a brand new user in mind. We discussed deploy/update/upgrade as different ways of interacting with an app. All necessary for our thinking for implementation. For this ticket we focus on one user-centric flow: creating a new application. ### CLI UX proposal - abra new - abra create - abra deploy Let's choose one and it will mean to the user: "create a new application" ### Implementation proposal I imagine it to do this under-the-hood. The user runs `abra new wordpress`. - `mkdir -p ~/.abra/clones/` - `git clone ...coop-cloud/wordpress ~/.abra/clones/wordpress` - then `abra` reads the `~/.abra/clones/wordpress/package.yml` (see https://git.autonomic.zone/coop-cloud/organising/issues/33) - then `abra` displays a bunch of questions and stores the inputs in a `~/.abra/$context/$name/app.yml` file where `$name` = the name given by the user (e.g. fashion-revolution, should be unique) - then `abra` run as a docker stack deploy and pipes in all the values, creates the secrets etc. and then stores I kinda run out of steam now and Im not sure how this will pan out but I guess we just need to get started and then it will get clearer. There are loads of assumptions littered on this ticket but open to change any.
decentral1se changed title from abra create/new: create a new application to abra create/new/deploy: create a new application 2020-10-26 18:03:33 +00:00
Author
Owner

Nice UX proposal coming in:

$ abra new wordpress
# (clones wordpress, asks questions, writes env file)
Your new wordpress site is ready for action:
 - Deploy it: `abra deploy intergalacticinsects.space`
 - Customise the configuration in `~/.abra/.../wordpress/intergalacticinsects.space.env`
$ abra deploy intergalacticinsects.space
(existing deploy stuff)
$ (edit config)
$ abra deploy intergalacticinsects.space
(existing deploy stuff)
$ abra apps
 - intergalacticinsects.space (Wordpress)
Nice UX proposal coming in: ``` $ abra new wordpress # (clones wordpress, asks questions, writes env file) Your new wordpress site is ready for action: - Deploy it: `abra deploy intergalacticinsects.space` - Customise the configuration in `~/.abra/.../wordpress/intergalacticinsects.space.env` $ abra deploy intergalacticinsects.space (existing deploy stuff) $ (edit config) $ abra deploy intergalacticinsects.space (existing deploy stuff) $ abra apps - intergalacticinsects.space (Wordpress) ```
This repo is archived. You cannot comment on issues.
No Milestone
No Assignees
1 Participants
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: coop-cloud/abra#24
No description provided.