feat: usage instructions
This commit is contained in:
parent
78dd6c7c61
commit
24fcb154eb
1 changed files with 78 additions and 0 deletions
78
README.md
Normal file
78
README.md
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
# Load-balanced libreddit deployment
|
||||||
|
|
||||||
|
Use KVM/QEMU, Docker, libvirt, Terraform, and Ansible to deploy
|
||||||
|
loadbalanced [libreddit](https://github.com/libreddit/libreddit/) and
|
||||||
|
verify deployment with Testinfra.
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
1. GNU/Linux host machine
|
||||||
|
2. KVM
|
||||||
|
3. QEMU
|
||||||
|
4. Libvirt
|
||||||
|
5. Terraform
|
||||||
|
6. Python 3
|
||||||
|
7. Ansible
|
||||||
|
8. Testinfra
|
||||||
|
9. Debian 11 Bullseye qcow2 bootable
|
||||||
|
|
||||||
|
## Usage instructions
|
||||||
|
|
||||||
|
### 1. Provision resources (VMs) on KVM using Terraform
|
||||||
|
|
||||||
|
1. Generate and verify deployment plan
|
||||||
|
|
||||||
|
```bash
|
||||||
|
terraform plan -out=libreddit
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Apply deployment plan
|
||||||
|
|
||||||
|
```bash
|
||||||
|
terraform apply "libreddit"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Verify VMs are reachable from host
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make configure.ping
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Configure VMs
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make configure
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. Test deployment
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make test
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. Take down deployment
|
||||||
|
|
||||||
|
```bash
|
||||||
|
terraform destroy
|
||||||
|
```
|
||||||
|
|
||||||
|
## Functions
|
||||||
|
|
||||||
|
Utility scripts exist for the following operations:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
19:46 atm@lab iac ±|master ✗|→ make help
|
||||||
|
configure Configure whole deployment
|
||||||
|
configure.ping Ping all VMs
|
||||||
|
configure.base Configure all VMs to base production configuration
|
||||||
|
configure.libreddit Configure libreddit
|
||||||
|
configure.loadbalance Configure loadbalancer
|
||||||
|
lint Lint source code
|
||||||
|
on Boot VMs
|
||||||
|
shutdown Shutdown VMs
|
||||||
|
test Run all tests
|
||||||
|
test.base Test base configuration on all VMs
|
||||||
|
test.loadbalance Test loadbalancer installation
|
||||||
|
test.libreddit Test libreddit installation
|
||||||
|
help Prints help for targets with comments
|
||||||
|
```
|
Loading…
Reference in a new issue