The public repository for Courier's Documentation
- Select your platform:
- Unzip the file
- Execute the Courier executable in the root of this folder
This tool supports both CLI interactions as well as a full GUI application. However, some administrative tasks can only be performed in the GUI application. These include things like creating an organization, or managing users.
Running courier --help
will get you help. If you want help on a specific command run courier <command> --help
. EX courier write --help
The first step is to create a key for your self to be able to read others secret.
- In the CLI:
courier keys generate --name=<key name>
- In the GUI:
keys > Create New
We don't suggest that you share keys. You should generate a new key for each user and machine that needs access.
Next you need to have to create an application for your organization:
- In the CLI:
courier application init
2: In the GUI:select organization > ... in the application list > create new
This command creates a courier.config file that locks the ID for the application and the name to the current directory. This can safely be added to source control
After you have an application you need to create an environment:
1: In the CLI: courier env new
courier config write -e <Env name> -n <Config Name EG: DB_PASSWORD> -v <Config Value EG: My password>
courier config read -e <Env name>
courier exec <ENV NAME> --key_id=<APPLICATION KEY ID> -- CMD
This command will also watch for updates. If someone (or you) updates the configuration, it will notify the command of updates by an OS signal (SIGHUP). If you fail to handle this command, Courier will just restart the command. You can also chose to handle the signal to reload the configuration your self if you chose to. If you want to request a reload, you could also send the parent PID a SIGHUP signal.
Courier is built to help you manage, share and deploy application configuratons easily. Each user is a seperate entity that can be invited to an organization. An organization is a collection of applications. An application is meant to be a unit of code that operates in different environments. An environment is a place that your code runs in. This could be a production, QA, dev, a personal environment, etc.