mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-01 01:00:24 +00:00
55 lines
2.4 KiB
Markdown
Executable File
55 lines
2.4 KiB
Markdown
Executable File
# Weaveworks provisioning
|
|
|
|
## Introduction
|
|
|
|
This project allows you to get hold of some machine either locally or on one of the below cloud providers:
|
|
|
|
* Amazon Web Services
|
|
* Digital Ocean
|
|
* Google Cloud Platform
|
|
|
|
You can then use these machines as is or run various Ansible playbooks from `../config_management` to set up Weave Net, Kubernetes, etc.
|
|
|
|
## Set up
|
|
|
|
* You will need [Vagrant](https://www.vagrantup.com) installed on your machine and added to your `PATH` in order to be able to provision local (virtual) machines automatically.
|
|
|
|
* On macOS: `brew install vagrant`
|
|
* On Linux (via Aptitude): `sudo apt install vagrant`
|
|
* For other platforms or more details, see [here](https://www.vagrantup.com/docs/installation/)
|
|
|
|
* You will need [Terraform](https://www.terraform.io) installed on your machine and added to your `PATH` in order to be able to provision cloud-hosted machines automatically.
|
|
|
|
* On macOS: `brew install terraform`
|
|
* On Linux (via Aptitude): `sudo apt install terraform`
|
|
* If you need a specific version:
|
|
|
|
curl -fsS https://releases.hashicorp.com/terraform/x.y.z/terraform_x.y.z_linux_amd64.zip | gunzip > terraform && chmod +x terraform && sudo mv terraform /usr/bin
|
|
* For other platforms or more details, see [here](https://www.terraform.io/intro/getting-started/install.html)
|
|
|
|
* Depending on the cloud provider, you may have to create an account, manually onboard, create and register SSH keys, etc.
|
|
Please refer to the `README.md` in each sub-folder for more details.
|
|
|
|
## Usage in scripts
|
|
|
|
Source `setup.sh`, set the `SECRET_KEY` environment variable, and depending on the cloud provider you want to use, call either:
|
|
|
|
* `gcp_on` / `gcp_off`
|
|
* `do_on` / `do_off`
|
|
* `aws_on` / `aws_off`
|
|
|
|
## Usage in shell
|
|
|
|
Source `setup.sh`, set the `SECRET_KEY` environment variable, and depending on the cloud provider you want to use, call either:
|
|
|
|
* `gcp_on` / `gcp_off`
|
|
* `do_on` / `do_off`
|
|
* `aws_on` / `aws_off`
|
|
|
|
Indeed, the functions defined in `setup.sh` are also exported as aliases, so you can call them from your shell directly.
|
|
|
|
Other aliases are also defined, in order to make your life easier:
|
|
|
|
* `tf_ssh`: to ease SSH-ing into the virtual machines, reading the username and IP address to use from Terraform, as well as setting default SSH options.
|
|
* `tf_ansi`: to ease applying an Ansible playbook to a set of virtual machines, dynamically creating the inventory, as well as setting default SSH options.
|