Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/owainkenwayucl/ds4eng-infra
Terraform + Ansible code for standing up infrastructure for the Engineering for Data Scientists Course. Will be moved into ARC when ready.
https://github.com/owainkenwayucl/ds4eng-infra
Last synced: 22 days ago
JSON representation
Terraform + Ansible code for standing up infrastructure for the Engineering for Data Scientists Course. Will be moved into ARC when ready.
- Host: GitHub
- URL: https://github.com/owainkenwayucl/ds4eng-infra
- Owner: owainkenwayucl
- Created: 2024-08-05T14:15:25.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-17T15:23:04.000Z (about 2 months ago)
- Last Synced: 2024-09-18T12:52:49.151Z (about 2 months ago)
- Language: HCL
- Homepage:
- Size: 79.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Infrastructure for Engineering for Data Scientists course
## Generally:
## 1. Set up kube conf.
Either put the config file in `~/.kube/config` or `export KUBECONFIG=/path/to/file`.
## 2. Install Terraform
Depends on your platform - I've added the official Hashicorp repos to my Linux machines for Vault so I installed it from them. Note that the version in Homebrew is frozen at an old version from before the license change. Hashicorp do have a Homebrew tap though.
## 2. Set up SSH key.
Put your public key under the `ds4eng-ns` namespace
I've writte the Terraform scripts with the assumption that your key is named after your username which is probably what we should tell the students to do, the scripts then name your vm [username]-[purpose]-[number].
## 4. Deploy
Set user name and key name in `variables.tf`
To build an environment, set the number of servers (>= 2 for clusters!) in `variables.tf` then do:
```
terraform init
terraform apply
```(You may have to wait a little bit for cloudinit to finish setting up - I've started making the cloudinit bits as short as possible to avoid this)
```
ansible-playbook -i ./generate_inventory.py full.yaml
```(or individual playbooks)