| Commit message (Collapse) | Author | Files | Lines | ||
|---|---|---|---|---|---|
| 2019-05-28 | Split $VPS_COMMIT_SHA variable declaration for exporting | EuAndreh | 1 | -1/+2 | |
| ShellCheck offense. | |||||
| 2019-05-28 | Rotate SSH key and use correct VPS_COMMIT_SHA on provisioning | EuAndreh | 1 | -4/+5 | |
| 2019-05-28 | Configure git for vps-state repo in ./scripts/ci/setup.sh | EuAndreh | 1 | -2/+0 | |
| 2019-05-28 | Add git config metadata to enable commiting in CI | EuAndreh | 1 | -0/+2 | |
| 2019-05-28 | Fix mixed usage of $PLAN_FILE variable | EuAndreh | 1 | -4/+5 | |
| Split $PLAN_FILE into $PLAN_FILE_NAME and $PLAN_FILE_PATH. | |||||
| 2019-05-28 | Store plan file in vps-state too | EuAndreh | 1 | -4/+18 | |
| 2019-05-28 | Fix shell.nix path in nix-shell custom shebang | EuAndreh | 1 | -1/+1 | |
| 2019-05-28 | Split scripts into CI and VPS box | EuAndreh | 1 | -1/+2 | |
| 2019-05-28 | Remove git rev-parse from .envrc | EuAndreh | 1 | -1/+1 | |
| 2019-05-28 | Add backup routing before possibly tearing down machine | EuAndreh | 1 | -2/+5 | |
| 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-27 | WIP: take a backup during deployment | EuAndreh | 1 | -2/+3 | |
| Before possibly tearing down the machine, while all services are stopped (after the =docker-compose down= command), create a new backup with the current data. The backup tag should include the commit SHA of the deployment. | |||||
| 2019-05-26 | Run terraform init before running terraform apply | EuAndreh | 1 | -0/+1 | |
| 2019-05-26 | ci dbg | EuAndreh | 1 | -0/+1 | |
| 2019-05-26 | Fix missing argument to ssh | EuAndreh | 1 | -1/+1 | |
| 2019-05-26 | Specify shell type to ShellCheck in nix-shell shebang files | EuAndreh | 1 | -0/+1 | |
| 2019-05-26 | Use more robust Bash cd approach | EuAndreh | 1 | -1/+1 | |
| 2019-05-26 | Use nix-shell shebang to run CI scripts | EuAndreh | 1 | -1/+2 | |
| 2019-05-26 | Prepare builds.sr.ht CI environment before running build tasks | EuAndreh | 1 | -5/+0 | |
| Make content of .envrc available to subsequent build jobs. | |||||
| 2019-05-26 | Unlock with git-crypt in setup phase | EuAndreh | 1 | -8/+2 | |
| 2019-05-26 | Disable shellcheck 2139 offense | EuAndreh | 1 | -0/+1 | |
| 2019-05-26 | Remove extra newline at "Done.\n" messages | EuAndreh | 1 | -5/+5 | |
| 2019-05-26 | Fix unexpected shell scaping | EuAndreh | 1 | -1/+1 | |
| 2019-05-26 | Automate provisioning and deployment of VPS | EuAndreh | 1 | -0/+36 | |
| 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 | Remove provisioning from Terraform | EuAndreh | 1 | -24/+0 | |
| 2019-05-25 | Use apt_wait before interacting with apt-get | EuAndreh | 1 | -3/+20 | |
| 2019-05-25 | Move provisioning code into provision.sh | EuAndreh | 1 | -0/+7 | |
