aboutsummaryrefslogtreecommitdiff
path: root/servers/active/nixvps/infrastructure.tf (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-03-07Delete all old code and configuration to start from scratch with Guix onlyEuAndreh1-129/+0
Delete files related to: - Terraform - opt/* - scripts/deploy - secrets/* - git-crypt - Nix
2021-07-29WIP reactivate nixvps with Terraform and nixos-rebuild on VultrEuAndreh1-28/+18
2021-07-29mv servers{ => /active}/nixvpsEuAndreh1-0/+0
2021-02-25Add WIP servers/nixvps/EuAndreh1-0/+0
2021-02-21mv vps/ servers/vps/EuAndreh1-0/+0
2021-02-21Move VPS files into vps/EuAndreh1-0/+0
2021-02-21Add vps_ prefix to existing resourcesEuAndreh1-14/+14
2021-02-21git mv vultr.tf vps.tfEuAndreh1-0/+0
2021-01-18git mv vps.tf vultr.tfEuAndreh1-0/+0
2021-01-15Checkpoint: Working vps.tf declaration after Vultr migrationEuAndreh1-12/+14
2021-01-15vps.tf: Use UUID for snapshot_idEuAndreh1-6/+4
2021-01-15vps.tf: Migrate to vultr 2.1.2 (WIP)EuAndreh1-19/+18
The basic plan is working, but applying gives some errors due to API changes from Vultr.
2021-01-15vps.tf: terraform fmtEuAndreh1-1/+1
2021-01-15vps.tf: expandEuAndreh1-1/+1
2021-01-15Merge versions.tf into vps.tfEuAndreh1-0/+10
2020-11-28vps.tf: Add CNAME "*" subdomain aliasEuAndreh1-0/+7
2020-11-27vps.tf: Add IPv6 outputEuAndreh1-1/+5
2020-11-26Terraform: Add email DNS records (DKIM, DMARC, SPF)EuAndreh1-0/+67
2020-11-18Remove duplicated Vultr provider versionEuAndreh1-1/+0
2020-11-18Remove most Nix filesEuAndreh1-2/+1
2020-11-16Add base Guix configuration and start switching to itEuAndreh1-2/+2
- remove NixOS stateVersion from .envrc; - add guix-reconfigure.sh; - add vps.scm with initial Guix system configuration; - update vps.tf to use the new "base-guix" snapshot. The "base-guix" image doesn't need a password. The "andreh" users has one, but it is configured for not requiring it when running commands as "sudo". The expected minimal steps one has to go through for privilege scalation is via the SSH private key, and accessing the VPS via SSH. Since password login is disabled and root can't login via SSH either, only the private SSH key allows access to the server. After that, the attacker will be able to run commands as root.
2020-08-29Revert to old snapshot idEuAndreh1-2/+1
2020-08-29Build new VPS server from snapshot using bigger machineEuAndreh1-2/+3
I'm using the snapshot here because I don't have any backup system yet, ¯\_(ツ)_/¯ This should be reverted on vps.tf after applying, and I should get down to doing automatic backups.
2020-08-25Enable automatic backup for VPS serverEuAndreh1-0/+1
2020-08-15Use new image with ownership of /etc/nixos/configuration.nix by userEuAndreh1-1/+1
Useful reference: - https://discourse.nixos.org/t/can-i-move-etc-nixos-to-my-dotfiles-and-symlink-it-back-to-etc-nixos/4833/10
2020-08-10Semi working setup: Terraform and LetsEncrypt workingEuAndreh1-33/+2
2020-08-10Interactive Terraform plan -> apply cycleEuAndreh1-4/+4
2020-08-10Use new image with new SSH key and andreh userEuAndreh1-1/+1
2020-08-10WIP: Move to Vultr and NixOSEuAndreh1-68/+38
2020-08-06Remove gpodder.net sync software from the serverEuAndreh1-12/+0
2020-08-05Add gpodder container initial implementationEuAndreh1-0/+12
2020-08-02Remove all wallabag references leftEuAndreh1-12/+0
2020-08-02Use a name from the environment for the names of the host and the volumeEuAndreh1-2/+12
2020-08-02vps.tf: Name VPS volume derived from droplet nameEuAndreh1-1/+1
2020-08-02vps.tf: Add missing host to digitalocean_droplet due to updateEuAndreh1-0/+1
2020-08-02vps.tf: Update to new Terraform syntaxEuAndreh1-21/+21
2019-06-11Comment sections of vps.tfEuAndreh1-0/+8
2019-06-10Output all generated files on ./generated/, refactor .envrc variablesEuAndreh1-1/+1
2019-06-10Provision DNS entries using DigitalOcean instead of DNS registrarEuAndreh1-28/+50
This way we can implement dynamic (provision-time) Floating IP, instead of a hardcoded pre-created Floating IP address. Related changes: - remove =terraform-godaddy= provider, use =digitalocean_record= instead; - create =generated-known-hosts= after provisioning instead of during =setup.sh=: use the =$(terraform output public_floating_ip)= value to make this file dynamic; - remote the =$PINNED_IP= and =$TF_VAR_floating_ip= variables; - add type and descriptions to variable declarations in Terraform recipe.
2019-06-08Format vps.tf (terraform linter offense)EuAndreh1-3/+3
2019-06-08Use terraform-godaddy and Terraform 0.11EuAndreh1-8/+14
The =terraform-godaddy= package supports only Terraform 0.11 as of now. It is not packaged by default by nixpkgs, and the =postInstall= hook is required because Terraform looks for providers usinthe the =terraform-provider-$name= template, which the package doesn't follow. I had to remove the loop on vps.tf since it requires Terraform 0.12. I'll either wait for =terraform-godaddy= to upgrade to 0.12 or try to do it myself if it bothers me enough.
2019-06-08Provision DNS entries with Terraform! :tada:EuAndreh1-0/+22
Before all the DNS entries had to be entered manually on the web UI.
2019-06-05Format vps.tf (linter offense)EuAndreh1-1/+1
2019-06-05Add volume to VPSEuAndreh1-0/+13
Don't destroy everything on deploy. This would destroy the volume too.
2019-06-05Format vps.tf (linter offense)EuAndreh1-1/+1
2019-06-05Use Ansible instead of Bash for provisioningEuAndreh1-5/+11
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-28Fix vps.tf formatting (linter offense)EuAndreh1-1/+1
2019-05-28Use Floating IP on DropletEuAndreh1-0/+6
2019-05-28Use correct Droplet size slugEuAndreh1-1/+1
Taken from https://developers.digitalocean.com/documentation/v2/#list-all-sizes
2019-05-28Rename ./secrets/id_rsa{.pub} -> ./secrets/vps_box{.pub}EuAndreh1-1/+1