diff --git a/.github/workflows/github-actions-buildelectronmacos.yml b/.github/workflows/github-actions-buildelectronmacos.yml index 8f470c9..9d155b6 100644 --- a/.github/workflows/github-actions-buildelectronmacos.yml +++ b/.github/workflows/github-actions-buildelectronmacos.yml @@ -25,4 +25,4 @@ jobs: rm -rf dist/ npm install -g @quasar/cli yarn --force yarn install - EP_GH_IGNORE_TIME=true quasar build --mode electron --publish always -T darwin \ No newline at end of file + quasar build --mode electron --publish always -T darwin diff --git a/docker-compose.yml b/docker-compose.yml index cd19f83..5b4f99b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,8 +3,6 @@ services: uashield: build: . restart: always - container_name: uashield - image: uashield:latest environment: WORKERS: '256' USEPROXY: 'true' diff --git a/quasar.conf.js b/quasar.conf.js index a0be29f..b5c095f 100644 --- a/quasar.conf.js +++ b/quasar.conf.js @@ -231,7 +231,13 @@ module.exports = configure(function (ctx) { ] }, mac: { - target: 'dmg' + target: [ { + target: 'dmg', + arch: [ + "x64", "arm64" + ] + } + ] }, linux: { target: ['AppImage', 'tar.gz'] diff --git a/tools/terraform-do-uashield/Makefile b/tools/terraform-do-uashield/Makefile new file mode 100644 index 0000000..bc0dcae --- /dev/null +++ b/tools/terraform-do-uashield/Makefile @@ -0,0 +1,26 @@ +.PHONY: tf-deploy +tf-deploy: tf-init tf-apply + +.PHONY: tf-init +tf-init: + docker-compose -f docker-compose.yml run terraform init + +.PHONY: tf-fmt +tf-fmt: + docker-compose -f docker-compose.yml run terraform fmt + +.PHONY: tf-validate +tf-validate: + docker-compose -f docker-compose.yml run terraform validate + +.PHONY: tf-plan +tf-plan: + docker-compose -f docker-compose.yml run terraform plan + +.PHONY: tf-apply +tf-apply: + docker-compose -f docker-compose.yml run terraform apply -auto-approve -auto-approv + +.PHONY: tf-destroy +tf-destroy: + docker-compose -f docker-compose.yml run terraform destroy -auto-approve -auto-approv diff --git a/tools/terraform-do-uashield/README.md b/tools/terraform-do-uashield/README.md index ec1d9ca..0243a1a 100644 --- a/tools/terraform-do-uashield/README.md +++ b/tools/terraform-do-uashield/README.md @@ -4,33 +4,41 @@ ## Requirements -- [Instal terraform](https://www.terraform.io/downloads) -- [Add SSH key](https://docs.digitalocean.com/products/droplets/how-to/add-ssh-keys/to-account/) to DO with name `ssh` - +- docker +- docker-compose +- [DO PAT](https://docs.digitalocean.com/reference/api/create-personal-access-token/) +- [Add SSH key](https://docs.digitalocean.com/products/droplets/how-to/add-ssh-keys/to-account/) to DO with name `ssh` (TODO: hardcoded) ## Export environment vars -Extra logs ``` -export TF_LOG=INFO +# Create and export DO PAT +# https://docs.digitalocean.com/reference/api/create-personal-access-token/ +export DO_PAT="" + +# Provide and export ssh key +export SSH_KEY_PATH="$HOME/.ssh/id_ed25519" + +# Logs level +export TF_LOG="INFO" ``` -## Create and export DO PAT -- [DO PAT](https://docs.digitalocean.com/reference/api/create-personal-access-token/) +Use DROPLET_INSTANCE_NUMBER and DROPLET_INSTANCE_SIZE environment variables to change droplet number and size. ``` -export DO_PAT="" +export DROPLET_INSTANCE_NUMBER=5 ``` -## Init terraform +### Deploy the uashields infrastructure to DO ``` -terraform init +make tf-deploy ``` - +### Destroy the uashields infrastructure +``` +make tf-destroy ``` -terraform apply \ - -var "do_token=${DO_PAT}" \ - -var "pvt_key=$HOME/.ssh/id_ed25519" +>NOTE: Make do not work for Windows user, please use command below: ``` +# To deploy +> docker-compose -f docker-compose.yml run terraform init +> docker-compose -f docker-compose.yml run terraform apply +# To destroy +> docker-compose -f docker-compose.yml run terraform destroy ``` -terraform destroy \ - -var "do_token=${DO_PAT}" \ - -var "pvt_key=$HOME/.ssh/id_ed25519" -``` \ No newline at end of file diff --git a/tools/terraform-do-uashield/docker-compose.yml b/tools/terraform-do-uashield/docker-compose.yml new file mode 100644 index 0000000..f2b3414 --- /dev/null +++ b/tools/terraform-do-uashield/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3.8' + +services: + terraform: + image: hashicorp/terraform:1.1.7 + volumes: + - .:/infra + - ${SSH_KEY_PATH}:/root/.ssh/id_ed25519:ro + + working_dir: /infra + environment: + - TF_VAR_do_token=${DO_PAT} + - TF_VAR_pvt_key=/root/.ssh/id_ed25519 + - TF_LOG=${TF_LOG} + - TF_VAR_droplet_instance_number=$(DROPLET_INSTANCE_NUMBER) + - TF_VAR_droplet_instance_size=$(DROPLET_INSTANCE_SIZE) diff --git a/tools/terraform-do-uashield/scripts/uashield.sh b/tools/terraform-do-uashield/scripts/uashield.sh index cedca7e..ccc9f10 100644 --- a/tools/terraform-do-uashield/scripts/uashield.sh +++ b/tools/terraform-do-uashield/scripts/uashield.sh @@ -25,6 +25,9 @@ services: worker: image: ghcr.io/opengs/uashield:latest restart: always + environment: + WORKERS: '256' + USEPROXY: 'true' command: - \"7500\" - \"true\"" >> /home/docker-compose.yaml