Only follow the Development Guides if you will be configuring or deploying servers. If you are simply using services, read the User Guides.
1. Install dependencies#
Follow the Salt install guide to install Salt on your platform.
On at least macOS, you should stop the Salt minion service:
launchctl stop com.saltstack.salt.minion
and disable the Salt Stack, Inc. login item (System Settings… > General > Login Items).
Click must be available to Salt’s environment:
sudo salt-pip install click
2. Clone repositories#
You must first have access to three private repositories. Contact an owner of the open-contracting organization on GitHub for access. Then:
git clone firstname.lastname@example.org:open-contracting/deploy.git git clone email@example.com:open-contracting/deploy-pillar-private.git deploy/pillar/private git clone firstname.lastname@example.org:open-contracting/deploy-salt-private.git deploy/salt/private git clone email@example.com:open-contracting/dogsbody-maintenance.git deploy/salt/maintenance
3. Add your public SSH key to remote servers#
To generate an SSH key pair (if they do not already exist):
ssh-keygen -t rsa -b 4096 -C "firstname.lastname@example.org"
This creates both public (
~/.ssh/id_rsa.pub) and private (
Add your public SSH key to the
ssh.root list in the target’s Pillar file, or to the
ssh.admin list in the
pillar/common.sls file if you require root access to all servers. For example:
vi pillar/common.sls git commit pillar/common.sls -m "ssh: Add public key for Jane Doe" git push origin main
Then, ask James or Yohanna to deploy your public SSH key to the relevant servers. For example:
./run.py '*' state.sls_id root_authorized_keys core.sshd
4. Configure Salt for non-root user#
This overwrites the files:
On macOS, you might need to move
This script assumes your SSH key pair is
You’re now ready to Deploy a service.