|
|
## Step 1/4
|
|
|
1. Clone `workbench` project
|
|
|
`git clone https://gitlab.codeopensrc.com/os/workbench.git`
|
|
|
|
|
|
2. Download [Terraform](https://www.terraform.io/downloads.html) (used with 1.0.0, latest is 1.0.8)
|
|
|
|
|
|
3. Download[ Packer](https://www.packer.io/downloads) (used with 1.7.3, latest is 1.7.6)
|
|
|
3. Download [Packer](https://www.packer.io/downloads) (used with 1.7.3, latest is 1.7.6)
|
|
|
|
|
|
4. Create new ssh key (optional but recommended)
|
|
|
`ssh-keygen -t rsa -b 4096 -C "your_email@example.com"`
|
|
|
Remember the name/location of the private key as we'll have to specify it later.
|
|
|
The public key `~/.ssh/KEY.pub` will have to be uploaded to the cloud provider.
|
|
|
|
|
|
5. Copy the `envs/template_env` folder creating whatever name you want. Per domain for smaller setups, possibly per team for larger organizations. `envs/template_env` is in vcs while every other folder in `envs` is ignored by git. This is to prevent various tokens and other secrets such as those in `credentials.tf` from being caught by git.
|
|
|
`cp envs/template_env envs/your_env_folder`
|
|
|
|
|
|
>I personally have no experience using the following technology, but if its necessary to keep values in your env_folder version controlled (cross-team collab), mozilla has a very handy tool for that called [SOPS: Secrets OPerationS](https://github.com/mozilla/sops#sops-secrets-operations). This encrypts secrets/keys in a file and allows them to be commited and only certain individuals would be able to decrypt those values.
|
|
|
|
|
|
6. TODO: Explain some simple changes that can/need to be made to empty defaults in the various files in the template_env folder.
|
|
|
|
|
|
<br>
|
|
|
|
|
|
After your workstation is setup, you can move on to [configuring your cloud provider](cloud-provider)
|
|
|
|