UNPKG

@arisan/data-api

Version:

The Universal Database API Gateway for CLIO's Modules

84 lines (83 loc) 3.38 kB
{ "variables": { "source_image": "", "project_id": "{{env `PROJECT_ID`}}", "zone": "{{env `ZONE`}}", "consul_version": "0.7.0", "target_image_name": "{{env `TARGET_IMAGE_NAME`}}", "gitlab_dns": "{{env `GITLAB_DNS`}}", "vault_version": "0.6.2", "vault_addr": "{{env `VAULT_ADDR`}}", "vault_backend": "{{env `VAULT_BACKEND`}}", "vault_namespace": "{{env `VAULT_NAMESPACE`}}", "vault_role_id": "{{env `VAULT_ROLE_ID`}}", "maintainer": "{{env `MAINTAINER`}}", "restore_timestamp": "{{env `RESTORE_TIMESTAMP`}}" }, "builders": [ { "type": "googlecompute", "project_id": "{{user `project_id`}}", "source_image": "{{user `source_image`}}", "zone": "{{user `zone`}}", "disk_type": "pd-ssd", "image_family": "{{user `vault_namespace`}}", "image_name": "{{user `target_image_name`}}" } ], "provisioners": [ { "type": "shell", "inline_shebang": "/bin/bash -ex", "inline": [ "sleep 30", "sudo timedatectl set-timezone Asia/Taipei", "echo 'GITLAB_DNS={{user `gitlab_dns`}}' | sudo tee -a /root/.profile", "echo 'VAULT_ADDR={{user `vault_addr`}}' | sudo tee -a /root/.profile", "echo 'VAULT_BACKEND={{user `vault_backend`}}' | sudo tee -a /root/.profile", "echo 'VAULT_NAMESPACE={{user `vault_namespace`}}' | sudo tee -a /root/.profile", "echo 'VAULT_ROLE_ID={{user `vault_role_id`}}' | sudo tee -a /root/.profile", "sudo apt-get update", "sudo apt-get upgrade -y", "sudo apt-get install -y curl openssh-server ca-certificates unzip git", "curl -#sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash", "sudo apt-get install gitlab-ce", "sudo gitlab-ctl reconfigure", "curl -O https://releases.hashicorp.com/vault/{{user `vault_version`}}/vault_{{user `vault_version`}}_linux_amd64.zip", "unzip *.zip; sudo mv vault /usr/local/bin/; rm *.zip", "bucket_url=$(gsutil ls gs://{{user `vault_namespace`}}/{{user `restore_timestamp`}}*); echo $bucket_url", "sudo gsutil cp $bucket_url /var/opt/gitlab/backups/", "sudo gitlab-ctl stop unicorn", "sudo gitlab-ctl stop sidekiq", "sudo gitlab-rake gitlab:backup:restore force=yes", "sudo gitlab-ctl start", "sudo gitlab-rake gitlab:check SANITIZE=true" ] }, { "type": "file", "source": "etc-gitlab.tar", "destination": "/tmp/etc-gitlab.tar" }, { "type": "file", "source": "home-{{user `maintainer`}}-ssh.tar", "destination": "/tmp/home-{{user `maintainer`}}-ssh.tar" }, { "type": "shell", "inline": [ "sudo adduser --disabled-password --gecos '' {{user `maintainer`}}", "sudo mv /etc/gitlab /etc/gitlab.default", "sudo tar -xvf /tmp/etc-gitlab.tar -C /", "sudo tar -xvf /tmp/home-{{user `maintainer`}}-ssh.tar -C /", "sudo rm /tmp/*.tar", "sudo gitlab-ctl reconfigure", "cd /home/{{user `maintainer`}}", "echo 'if [[ ! -d \"${HOME}/bin\" ]]; then' | sudo tee -a .profile", "echo ' git clone git@{{user `gitlab_dns`}}:utils/opskit.git ${HOME}/bin --recursive' | sudo tee -a .profile", "echo 'fi' | sudo tee -a .profile" ] } ] }