aboutsummaryrefslogtreecommitdiff
path: root/scripts/ci/provision.sh (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Output all generated files on ./generated/, refactor .envrc variablesEuAndreh2019-06-101-99/+0
|
* Store updated Terraform files in case of failureEuAndreh2019-06-101-0/+8
|
* ci dbgEuAndreh2019-06-101-1/+1
|
* Fix missing stdout redirection '>' characterEuAndreh2019-06-101-1/+1
|
* Put terraform output in email logs.txtEuAndreh2019-06-101-3/+3
|
* Commit public key instead of downloading itEuAndreh2019-06-101-1/+1
|
* Import GPG key before provisioningEuAndreh2019-06-101-0/+1
|
* Change order of stderr -> stdout redirectionEuAndreh2019-06-101-2/+2
| | | | Thanks ShellCheck.
* Show in email subject if the run failedEuAndreh2019-06-101-1/+2
|
* Send logs via email after finishing provision.shEuAndreh2019-06-101-2/+9
| | | | The email will be send for both sucessfull and failed runs.
* Use create_known_hosts_file function instead of duplicating behaviourEuAndreh2019-06-101-3/+6
|
* Fail CI run if backup failsEuAndreh2019-06-101-3/+3
|
* Create generated-known-hosts.txt twiceEuAndreh2019-06-101-0/+1
| | | | | Since it can change after being destroyed by Terraform, we can't create it before and use it later.
* Allow shutdown process to failEuAndreh2019-06-101-2/+2
|
* Provision DNS entries using DigitalOcean instead of DNS registrarEuAndreh2019-06-101-1/+2
| | | | | | | | | | | | | 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.
* Revert "Create Terraform plan before shutting down running containers"EuAndreh2019-06-091-6/+6
| | | | This reverts commit c8963acd02a5095bafb46c79abd45eec45059707.
* Don't use terraform-full derivationEuAndreh2019-06-091-3/+1
|
* Create Terraform plan before shutting down running containersEuAndreh2019-06-091-8/+8
|
* Quote $() call (ShellCheck offense)EuAndreh2019-06-091-1/+1
|
* Make terraform-provider-godaddy available for TerraformEuAndreh2019-06-091-0/+3
|
* Revert "Add verbose logging for Ansible playbook command"EuAndreh2019-06-071-1/+1
| | | | This reverts commit 80ee903ac9f09c22b4ef3458393242fa929cff89.
* Add verbose logging for Ansible playbook commandEuAndreh2019-06-071-1/+1
|
* Fix boolean logic bug on ${DESTROY_VOLUME} usageEuAndreh2019-06-071-2/+2
|
* Add ${DESTROY_VOLUME} operational toggleEuAndreh2019-06-061-2/+6
| | | | | | | | | | | | | 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.
* Notify when backup fails instead od saying nothingEuAndreh2019-06-061-1/+1
|
* Allow backups to fail for nowEuAndreh2019-06-061-1/+1
|
* Fix ShellCheck offensesEuAndreh2019-06-051-0/+2
|
* Restore backup in Ansible instead of BashEuAndreh2019-06-051-6/+1
|
* Restore from backup in fresh volumeEuAndreh2019-06-051-9/+26
|
* Add volume to VPSEuAndreh2019-06-051-4/+0
| | | | Don't destroy everything on deploy. This would destroy the volume too.
* Always destroy infrastructure before applyingEuAndreh2019-06-051-0/+4
|
* Uncomment accidentally commented codeEuAndreh2019-06-051-6/+6
|
* Remove ansible-lintEuAndreh2019-06-051-6/+6
| | | | It wasn't trivial to configure: Ansible tried to work on /homeless-shelter :facepalm:
* Use specific known keys for connecting with the backup serverEuAndreh2019-06-051-2/+3
|
* Change permission of borg client keyEuAndreh2019-06-051-0/+1
|
* Uncomment phases from provision.shEuAndreh2019-06-051-13/+13
| | | | | I was letting it be commented during iteration, it shouldn't have been committed this way.
* TODOs.orgEuAndreh2019-06-051-13/+14
|
* Use Ansible instead of Bash for provisioningEuAndreh2019-06-051-5/+8
| | | | | | | | | | | | | | | | | | 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;
* Split $VPS_COMMIT_SHA variable declaration for exportingEuAndreh2019-05-281-1/+2
| | | | ShellCheck offense.
* Rotate SSH key and use correct VPS_COMMIT_SHA on provisioningEuAndreh2019-05-281-4/+5
|
* Configure git for vps-state repo in ./scripts/ci/setup.shEuAndreh2019-05-281-2/+0
|
* Add git config metadata to enable commiting in CIEuAndreh2019-05-281-0/+2
|
* Fix mixed usage of $PLAN_FILE variableEuAndreh2019-05-281-4/+5
| | | | Split $PLAN_FILE into $PLAN_FILE_NAME and $PLAN_FILE_PATH.
* Store plan file in vps-state tooEuAndreh2019-05-281-4/+18
|
* Fix shell.nix path in nix-shell custom shebangEuAndreh2019-05-281-1/+1
|
* Split scripts into CI and VPS boxEuAndreh2019-05-281-0/+35