| Commit message (Collapse) | Author | Files | Lines | ||
|---|---|---|---|---|---|
| 2019-06-05 | Script: rotate SSH keys | EuAndreh | 5 | -0/+0 | |
| 2019-06-05 | Script: rotate SSH keys | EuAndreh | 5 | -0/+0 | |
| 2019-06-05 | Script: rotate SSH keys | EuAndreh | 5 | -0/+0 | |
| 2019-06-05 | Fix git-crypt configuration | EuAndreh | 9 | -0/+0 | |
| 2019-06-05 | Add ./secrets/borg/meta.txt | EuAndreh | 1 | -0/+2 | |
| 2019-06-05 | Use specific known keys for connecting with the backup server | EuAndreh | 3 | -0/+2 | |
| 2019-06-05 | Use non-standard port for SSH | EuAndreh | 1 | -0/+0 | |
| 2019-06-05 | Use known-hosts.txt with public key from the rotated SSH key pair | EuAndreh | 1 | -0/+1 | |
| 2019-06-05 | Use Ansible instead of Bash for provisioning | EuAndreh | 12 | -0/+150 | |
| The deployment is not quite working, and I'm unable to test right now: DigitalOcean is returning 503 for my requests. As of this commit, I can run =ansible-playbook provider.yml= more than once and it will actually be idempotent. Notes: - SSH fingerprint are now taken from the public key file instead of manually supplying it in the terraform template using the =digitalocean_ssh_key= resource; - use Ansible instead of ad-hoc Bash scripts for provisioning the Droplets created by Terraform; - use the =filename.env.extension= to create the concrete files in CI; - use the =user_data= to add the know SSH key pair to the newly created Droplet; - add =rotate-ssh-keys.sh= utils; | |||||
| 2019-05-28 | Use Floating IP on Droplet | EuAndreh | 1 | -0/+0 | |
| 2019-05-28 | Remove git rev-parse from .envrc | EuAndreh | 1 | -0/+0 | |
| 2019-05-28 | Rotate secrets | EuAndreh | 1 | -0/+0 | |
| 2019-05-28 | Split Bash variable declaration from assignment (shellcheck offense) | EuAndreh | 1 | -0/+0 | |
| 2019-05-28 | Add backup routing before possibly tearing down machine | EuAndreh | 1 | -0/+0 | |
| Create a new backup entry before running =terraform apply=, which may (or may not) destroy the current machine. This shouldn't be an issue for the backup itself, since all of the data should be stored in a separate Block Storage Volume, but we can take advantage of the sevices already needing to be taken down in order to perform a full backup of the data. | |||||
| 2019-05-28 | Add secrets/borg_remote{.pub} SSH keypair | EuAndreh | 2 | -0/+0 | |
| 2019-05-28 | Rename ./secrets/id_rsa{.pub} -> ./secrets/vps_box{.pub} | EuAndreh | 2 | -0/+0 | |
| 2019-05-27 | Add variables to properly tag a backup | EuAndreh | 1 | -0/+0 | |
| 2019-05-27 | Add Nextcloud recipe to docker-compose.yaml | EuAndreh | 1 | -0/+0 | |
| 2019-05-27 | Use Bash variables for domain names and container ports | EuAndreh | 1 | -0/+0 | |
| 2019-05-26 | Use more robust Bash cd approach | EuAndreh | 1 | -0/+0 | |
| 2019-05-26 | Automate provisioning and deployment of VPS | EuAndreh | 2 | -0/+0 | |
| In order to perform that I had to remove Terraform's =.tfstate= files from the repository. Terraform does support "backends" for storing the state files, but I settled for storing it on a separate repo (vps-state). For now it solves the state management problem: - it has history of states; - all state files are GPG encrypted; - there's no coordination however, but only the CI should perform a deploy in order to avoid race conditions. I had to add GPG and SSH keys to sr.ht to achieve that: - SSH public key to my profile to authorize it to push to vps-state repo; - SSH private key to the secret builds.sr.ht environment to enable push to the repository from the pipeline; - GPG public key to git-crypt to make it possible for the pipeline to unlock the encrypted content; - GPG private key to the secret builds.sr.ht environment to enable decrypting git-crypt content from the pipeline. In order to avoid divergent environment from local and CI, the ./provision.sh script is ran through nix-shell. | |||||
| 2019-05-25 | Update .tfstate files | EuAndreh | 2 | -0/+0 | |
| 2019-05-25 | Restart docker-compose after deployment | EuAndreh | 1 | -0/+0 | |
| 2019-05-25 | Check-in Terraform .tfstate files using git-crypt | EuAndreh | 2 | -0/+0 | |
| 2019-05-25 | Don't use pub_key and pvt_key as input variables | EuAndreh | 2 | -0/+0 | |
| Embed SSH keypair directly into git-crypt. | |||||
| 2019-05-25 | Remove docker-compose.yml from git-crypt | EuAndreh | 2 | -0/+0 | |
| 2019-05-25 | Add simple DigitalOcean droplet skeleton for Terraform | EuAndreh | 1 | -0/+0 | |
| 2019-05-25 | Use specific folder for volumes | EuAndreh | 1 | -0/+0 | |
| 2019-05-25 | Start docker-compose.yml skeleton with Wallabag | EuAndreh | 2 | -0/+0 | |
| 2019-05-25 | Remove existing NixOps configuration | EuAndreh | 1 | -0/+0 | |
| 2019-05-25 | Test nixcloud-webservices | EuAndreh | 1 | -0/+0 | |
| 2019-05-25 | Add simple stub VM definition | EuAndreh | 2 | -0/+0 | |
