Administration tool for development and devops, according to the 12factor principles as applied by GRRR.
Developed with ❤️ by GRRR
$ npm install -g 12g
$ 12g -h [command] [subcommand]
$ 12g env template
This will create a copy of your local .env
file, named .env.template
, with all values emptied.
$ 12g env get -e [target environment name] --var=DB_HOST
This will print the value from the environment variable set in the .env
file on the target.
Will return undefined
if the variable is not set.
$ 12g env list -e [target environment name]
This will list the variables from the .env
file on the target, without quotes or comments.
Target environment is probably development
, staging
, production
, etcetera,
depending on your setup.
If the targeted environment is remote, an SSH connection will be attempted, if Capistrano configuration can be found.
Default the values will be pretty-printed, but listing in JSON is also possible:
$ 12g env list -e [target environment name] -o json
-o
or --output
sets the output format.
$ 12g env name
This will print out the name of the current environment.
Use 12g dock [command]
to execute a Docker command directly on your Docker Compose webserver.
It has to be running and it will have to adhere to the naming standards as we use them at
@grrr-amsterdam, which is basically calling your httpd service 'web'.
Examples:
$ 12g dock bash
$ 12g dock g spawn
$ 12g dock g snippet create
You can use shorthand syntax in the provided argument for common environment names:
p
becomesproduction
s
becomesstaging
i
becomesintegration
d
becomesdevelopment
t
becomestesting
For instance:
$ 12g env list -e s
To list the environment for staging
.