Can abra support VPS/DNS provider plugins for initial setup? #86
Labels
No Label
breaking-change
bug
CI/CD
design
documentation
duplicate
enhancement
help wanted
invalid
plugin
question
secrets
shell-completion
versioning
wontfix
No Milestone
No Assignees
2 Participants
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: coop-cloud/abra#86
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Cloudron makes initial setup real smooth.
abra
does a lot but leaves you in the cold for the first steps. Setting up a VPS and wiring up DNS. There is a lot of automation sitting around which we could plug in.I am thinking it would be good to support Hetnzer for VPS setup and Gandi for DNS in a first step. But I don't want to lump this all into the
abra
source, so I am thinking of a (drum-roll) plugin architecture! Anyone can support their own providers and we don't have to deal with it ourselves.We could write
abra-hetzner
andabra-gandi
plugins whichabra
can pull in. They will also be just bash scripts and have their own installer script automation which will make it easy to install them viaabra
.I could imagine the following commands (it prompts for an API token and other stuff):
This runs basically (see these docs):
abra server new
will error out if it cannot getabra-hetzner
downloaded.Then, after you have your server up, you can wire up DNS entries for that with:
Which will basically run (see these docs) and wire up two A records, the main one and wildcard one:
Whatcha think?
Amazing plans 👏👏
omg yes! let the bash-torturing continue 😁
We could maybe have an
~/.abra/plugins
dir, like~/.abra/apps
, with clones of the various plugins. Each one could have anabra.sh
defining the plugin functions.OK, away we go then!
I've made skeletons repos for them both:
I'll close off this ticket and break it down into specifics.
I think one promising thing about this is that we can then say to other co-ops, hey, listen, if you can give us API end-points for your infrastructure then we can start to have things like
abra server new --provider=<$your-co-op>
and really bring it off the corporate clouds.Oh yeah, super-fantastic 😍