aboutsummaryrefslogtreecommitdiff
path: root/secrets/envrc.sh (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-06-10Output all generated files on ./generated/, refactor .envrc variablesEuAndreh1-0/+0
2019-06-10Re enable $DESTROY_VOLUME toggleEuAndreh1-0/+0
2019-06-10Import GPG key before provisioningEuAndreh1-0/+0
2019-06-10Encrypt attached logEuAndreh1-0/+0
2019-06-10Send logs via email after finishing provision.shEuAndreh1-0/+0
The email will be send for both sucessfull and failed runs.
2019-06-10Disable $DESTROY_VOLUME operational toggleEuAndreh1-0/+0
2019-06-10Change SSH portEuAndreh1-0/+0
2019-06-10Provision DNS entries using DigitalOcean instead of DNS registrarEuAndreh1-0/+0
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-09Change $TLDEuAndreh1-0/+0
2019-06-09Rotate DNS registrar keysEuAndreh1-0/+0
2019-06-09Use same NIX_PATH locally and on the CIEuAndreh1-0/+0
2019-06-08Use terraform-godaddy and Terraform 0.11EuAndreh1-0/+0
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-08Add credentials for manipulating DNS entries.EuAndreh1-0/+0
2019-06-08Use nextcloud.${TLD} instead of cloud.${TLD} as CNAME for Nextcloud installationEuAndreh1-0/+0
2019-06-06Add ${DESTROY_VOLUME} operational toggleEuAndreh1-0/+0
This way I can dynamically control whether to destroy and recreate all the existing infrastructure entirely from scratch. The advantages of doing so are: - test the non-existence of local state on every deployment; - make sure I can always recreate everything from scratch. The disadvantages are: - slower deployment times; - longer downtime during deployments.
2019-06-05Use non-standard port for SSHEuAndreh1-0/+0
2019-06-05Use Ansible instead of Bash for provisioningEuAndreh1-0/+0
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-28Use Floating IP on DropletEuAndreh1-0/+0
2019-05-28Remove git rev-parse from .envrcEuAndreh1-0/+0
2019-05-28Rotate secretsEuAndreh1-0/+0
2019-05-28Split Bash variable declaration from assignment (shellcheck offense)EuAndreh1-0/+0
2019-05-28Add backup routing before possibly tearing down machineEuAndreh1-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-27Add variables to properly tag a backupEuAndreh1-0/+0
2019-05-27Add Nextcloud recipe to docker-compose.yamlEuAndreh1-0/+0
2019-05-27Use Bash variables for domain names and container portsEuAndreh1-0/+0
2019-05-26Use more robust Bash cd approachEuAndreh1-0/+0
2019-05-25Restart docker-compose after deploymentEuAndreh1-0/+0
2019-05-25Remove docker-compose.yml from git-cryptEuAndreh1-0/+0
2019-05-25Add simple DigitalOcean droplet skeleton for TerraformEuAndreh1-0/+0
2019-05-25Start docker-compose.yml skeleton with WallabagEuAndreh1-0/+0
2019-05-25Add simple stub VM definitionEuAndreh1-0/+0