The lando-tandem
plugin provides automation commands for the Tandem agency.
ex.
lando welcome
// Welcome aboard new Tandemite!
Install from the internet:
Note to run this command you will need yarn
installed.
curl -H 'Accept: application/vnd.github.v3.raw' -o /tmp/get-plugin.sh https://api.github.com/repos/thinktandem/lando-tandem/contents/scripts/get-plugin.sh && \
chmod +x /tmp/get-plugin.sh && \
/tmp/get-plugin.sh
The MVP of the lando-tandem
plugin will lay the foundation on which most future improvements will be built. Generally it should follow the key points in this doc and...
- Provide a
lando init
plugin for extant Tandem sites - Provide a
lando new-project
command for new Tandem sites
Here are the MVP features for each
You should be able to run lando init --tandem
and easily pull down an extant Tandem project. This should be similar to how our Pantheon integration works. This will reduce setup time and also allow us to begin to consolidate our platform.sh integration, helpers, etc.
Generally the flow here should be something like
lando init --tandem
asks you to authenticate against the Tandem Hub- You get a list of Tandem sites and select one
- Tandem hub returns relevant metadata and secrets for that site (eg GitHub repo location, platform.sh auth, etc)
- Project is cloned down then
lando start
,lando pull
and you are off and running - Project contains useful Tandem commands/automations we use across projects
You should be able to run lando new-project
and spin up a new Tandem project from one of our start states. This should
Generally the flow here should be something like
-
lando new-project
asks you to authenticate against the Tandem Hub -
You get a list of Tandem start states and can select one
-
You give the project a name
-
Lando clones the start state locally and modifies Landofiles as needed (eg changes the project name)
-
Lando forks the start state into a different GitHub repo in the Tandem org (option for private/public repo?)
-
Lando sets up the platform.sh site, GitHub integration and automatic backups
-
Lando adds the project to the Tandem Hub so that other users can now pull it down
-
Fork a start state into a different GitHub repo
-
Setup platform.sh
A big consideration that will need to be figured out here is does Tandem Hub handle storage of relevant auth data for things like platform.sh/GitHub? If a user is starting from scratch they will need platform/github tokens, ssh keys posted to both, etc. Maybe on a first login Tandem hub asks the user for both tokens?
As a design principle it would be awesome to get things to "just work" as much as makes sense.
Here is a list of future things we will want to start adding into the mix but will not be part of the MVP
- Automatic population of GitHub issues thinktandem/tandem#95
- Automatic population of GitHub labels thinktandem/tandem#94
- Automatic setup of Travis, CircleCI etc,
- A fully fleshed out platform.sh integration