add README

This commit is contained in:
Jakub Sokołowski 2018-08-01 13:37:58 -04:00
parent d6a65b6444
commit 1eba3d3125
No known key found for this signature in database
GPG Key ID: 4EF064D0E6D63020
1 changed files with 62 additions and 0 deletions

62
README.md Normal file
View File

@ -0,0 +1,62 @@
# Description
[Swarm](https://github.com/ethersphere/swarm) clusters configuration.
# Requirements
In order to use this you will need secrets(passwords, certs, keys) contained within the [infra-pass](https://github.com/status-im/infra-pass) repository. If you can't see it ask jakub@status.im to get you access for it.
In order for this to work first you need to install necessary Terraform plugins and get the right secrets from the [infra-pass](https://github.com/status-im/infra-pass) repo, to do that simply run:
```
make
# alternatively
make plugins
make secrets
```
This will put the necessary certificates, keys, and passwords are in place so you can deploy and configure hosts.
# Usage
To provision a new fleet create a new Terraform workspace:
```
terraform workspace new bug-test
```
Then plan your fleet and if everything looks good provision it:
```
terraform plan
terraform apply
```
Once provisioned you can configure the hosts using Ansible:
```
ansible-playbook ansible/main.yml
```
Once finished your hosts should be accessible via SSH:
```
ssh ${USER}@node-01.bug-test.eth.f.status.im
```
# Workspaces
Each Terraform `workspace` has it's own path in the dynamic inventory and is a separate fleet of hosts.
You can see currently existing fleets using following command:
```
terraform workspace list
default
* devel
test
perf-test
```
You can select a fleet and see it's current state of the fleet:
```
terraform workspace select perf-test
terraform show
```
Or create a new workspace for yourself.
```
terraform workspace new bug-test-01
```
The name of your workspace will be used in the DNS names of your hosts, for example:
```
mail-01.bug-test-01.eth.f.status.im
```
And it's state will be saved in the [Consul](https://www.consul.io/) cluster managed by the [infra-hq](https://github.com/status-im/infra-hq) repo.