refacto: Rename variables and names containing item into items

This commit is contained in:
Mangiang 2021-10-28 18:23:54 -04:00
parent 22daa666fc
commit 6bfb64cf56
No known key found for this signature in database
GPG Key ID: DAE9B92A692CD55C
9 changed files with 51 additions and 58 deletions

View File

@ -1,2 +1,2 @@
[host] [host]
{{ DEPLOYMENT_USER }}@{{ DEPLOY_HOST }} ansible_connection=ssh ansible_user={{ DEPLOYMENT_USER }} {{ DEPLOYMENT_USER }}@{{ DEPLOY_HOSTNAME }} ansible_connection=ssh ansible_user={{ DEPLOYMENT_USER }}

View File

@ -6,7 +6,7 @@
- name: Debug - name: Debug
debug: debug:
msg: "{{ lookup('env', 'SPT_ITEMS_PATH') }}" msg: "{{ lookup('env', 'SPT_ITEMS_PATH') }}"
- name: Delete spt-item-finder before adding everything again - name: Delete spt-items-api before adding everything again
file: file:
state: absent state: absent
path: "{{ lookup('env', 'SPT_ITEMS_PATH') }}" path: "{{ lookup('env', 'SPT_ITEMS_PATH') }}"
@ -46,7 +46,7 @@
- name: Initialize database - name: Initialize database
uri: uri:
url: "https://{{ lookup('env', 'SPT_HOSTNAME') }}/api/refresh" url: "https://{{ lookup('env', 'SPT_ITEM_HOSTNAME') }}/api/refresh"
method: GET method: GET
status_code: [200, 204] status_code: [200, 204]
timeout: 60 timeout: 60

View File

@ -2,7 +2,7 @@ APP_NAME="Item Finder"
APP_ENV=production APP_ENV=production
APP_KEY= APP_KEY=
APP_DEBUG=false APP_DEBUG=false
APP_URL="https://{{ lookup('env', 'SPT_HOSTNAME') }}" APP_URL="https://{{ lookup('env', 'SPT_ITEMS_HOSTNAME') }}"
APP_TIMEZONE=UTC APP_TIMEZONE=UTC
LOG_CHANNEL=stack LOG_CHANNEL=stack

View File

@ -3,12 +3,11 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<link rel="icon" <link rel="icon" href="/favico.svg" />
href="data:image/png;base64,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" />
<meta name="viewport" content="width=device-width,initial-scale=1" /> <meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="theme-color" content="#000000" /> <meta name="theme-color" content="#000000" />
<meta name="description" content="item finder" /> <meta name="description" content="items finder" />
<link rel="apple-touch-icon" href="/logo192.png" /> <link rel="apple-touch-icon" href="/favico.ico" />
<link rel="manifest" href="/manifest.json" /> <link rel="manifest" href="/manifest.json" />
<title>Item Finder</title> <title>Item Finder</title>
</head> </head>

View File

@ -6,7 +6,7 @@ concurrency:
limit: 1 limit: 1
environment: environment:
SPT_ITEMS_PATH: /var/www/html/aki/spt-item-api SPT_ITEMS_PATH: /var/www/html/aki/spt-items-api
trigger: trigger:
event: event:
@ -23,15 +23,15 @@ steps:
- name: replace hosts and user variables - name: replace hosts and user variables
image: ubuntu:impish image: ubuntu:impish
environment: environment:
DEPLOY_HOST: DEPLOY_HOSTNAME:
from_secret: deploy_host from_secret: deploy_hostname
SPT_HOSTNAME: SPT_ITEMS_HOSTNAME:
from_secret: spt_hostname from_secret: spt_items_hostname
DEPLOYMENT_USER: DEPLOYMENT_USER:
from_secret: deploy_username from_secret: deploy_username
commands: commands:
- sed -i 's/{{ SPT_HOSTNAME }}/'"$SPT_HOSTNAME"'/g' ./frontend/.env - sed -i 's/{{ SPT_ITEMS_HOSTNAME }}/'"$SPT_ITEMS_HOSTNAME"'/g' ./frontend/.env
- sed -i 's/{{ DEPLOY_HOST }}/'"$DEPLOY_HOST"'/g' ./.ansible/inventory - sed -i 's/{{ DEPLOY_HOSTNAME }}/'"$DEPLOY_HOSTNAME"'/g' ./.ansible/inventory
- sed -i 's/{{ DEPLOYMENT_USER }}/'"$DEPLOYMENT_USER"'/g' ./.ansible/inventory - sed -i 's/{{ DEPLOYMENT_USER }}/'"$DEPLOYMENT_USER"'/g' ./.ansible/inventory
- name: build frontend - name: build frontend
@ -62,10 +62,10 @@ steps:
private_key: private_key:
from_secret: deploy_ssh_key from_secret: deploy_ssh_key
environment: environment:
DEPLOY_HOST: DEPLOY_HOSTNAME:
from_secret: deploy_host from_secret: deploy_hostname
SPT_HOSTNAME: SPT_ITEMS_HOSTNAME:
from_secret: spt_hostname from_secret: spt_items_hostname
DEPLOYMENT_USER: DEPLOYMENT_USER:
from_secret: deploy_username from_secret: deploy_username
when: when:

View File

@ -6,7 +6,7 @@ concurrency:
limit: 1 limit: 1
environment: environment:
SPT_ITEMS_PATH: /var/www/html/aki/spt-item-api SPT_ITEMS_PATH: /var/www/html/aki/spt-items-api
trigger: trigger:
event: event:
@ -17,25 +17,19 @@ trigger:
- development - development
steps: steps:
- name: fetch and update submodules to the latest commit
image: alpine/git
commands:
- git submodule init
- git submodule update --recursive --remote
- name: replace hosts and user variables - name: replace hosts and user variables
image: ubuntu:impish image: ubuntu:impish
environment: environment:
DEPLOY_HOST: DEPLOY_HOSTNAME:
from_secret: deploy_host from_secret: deploy_hostname
SPT_HOSTNAME: SPT_ITEMS_HOSTNAME:
from_secret: spt_hostname from_secret: spt_items_hostname
DEPLOYMENT_USER: DEPLOYMENT_USER:
from_secret: deploy_username from_secret: deploy_username
commands: commands:
- sed -i 's/{{ SPT_HOSTNAME }}/'"$SPT_HOSTNAME"'/g' ./items/frontend/.env.example - sed -i 's/{{ SPT_ITEMS_HOSTNAME }}/'"$SPT_ITEMS_HOSTNAME"'/g' ./items/frontend/.env.example
- mv ./items/frontend/.env.example ./items/frontend/.env - mv ./items/frontend/.env.example ./items/frontend/.env
- sed -i 's/{{ DEPLOY_HOST }}/'"$DEPLOY_HOST"'/g' ./.ansible-items/inventory - sed -i 's/{{ DEPLOY_HOSTNAME }}/'"$DEPLOY_HOSTNAME"'/g' ./.ansible-items/inventory
- sed -i 's/{{ DEPLOYMENT_USER }}/'"$DEPLOYMENT_USER"'/g' ./.ansible-items/inventory - sed -i 's/{{ DEPLOYMENT_USER }}/'"$DEPLOYMENT_USER"'/g' ./.ansible-items/inventory
when: when:
branch: branch:
@ -76,10 +70,10 @@ steps:
private_key: private_key:
from_secret: deploy_ssh_key from_secret: deploy_ssh_key
environment: environment:
DEPLOY_HOST: DEPLOY_HOSTNAME:
from_secret: deploy_host from_secret: deploy_hostname
SPT_HOSTNAME: SPT_ITEMS_HOSTNAME:
from_secret: spt_hostname from_secret: spt_items_hostname
DEPLOYMENT_USER: DEPLOYMENT_USER:
from_secret: deploy_username from_secret: deploy_username
when: when:

View File

@ -18,8 +18,8 @@
## Required secrets ## Required secrets
| secret name | description | example | | secret name | description | example |
| :-----------------| :---------- | :------- | | :-----------------| :---------- | :------- |
| spt_hostname | The remote server where spt-items-finder will be reachable <br> used for the frontend resolution | spt-items.my.server.com | | spt_items_hostname | The remote server where spt-items-finder will be reachable <br> used for the frontend resolution | spt-items.my.server.com |
| deploy_host | The remote server where to deploy <br> used by Ansible SSH | my.server.com | | deploy_hostname | The remote server where to deploy <br> used by Ansible SSH | my.server.com |
| deploy_username | The default username on the remote server <br> used by Ansible SSH <br> This user must have sudo rights | myuser | | deploy_username | The default username on the remote server <br> used by Ansible SSH <br> This user must have sudo rights | myuser |
| deploy_ssh_key | The **content** of the ssh private key used to connect to the remote server <br> The key needs to be in RSA in "RSA PRIVATE KEY" format <br> The ssh publick key needs to already be in the user used in the remote server ~/.ssh/authorized_keys | -----BEGIN RSA PRIVATE KEY----- <br> The key <br> -----END RSA PRIVATE KEY----- | | deploy_ssh_key | The **content** of the ssh private key used to connect to the remote server <br> The key needs to be in RSA in "RSA PRIVATE KEY" format <br> The ssh publick key needs to already be in the user used in the remote server ~/.ssh/authorized_keys | -----BEGIN RSA PRIVATE KEY----- <br> The key <br> -----END RSA PRIVATE KEY----- |

View File

@ -13,7 +13,7 @@
* [Check ansible syntax](#check-ansible-syntax) * [Check ansible syntax](#check-ansible-syntax)
* [Apply ansible playbook](#apply-ansible-playbook) * [Apply ansible playbook](#apply-ansible-playbook)
* [Playbook definition](#playbook-definition) * [Playbook definition](#playbook-definition)
* [Delete old spt-item-finder](#delete-old-spt-item-finder) * [Delete old spt-items-api](#delete-old-spt-items-api)
* [Copy the project](#copy-the-project) * [Copy the project](#copy-the-project)
* [Copy PHP env file](#copy-php-env-file) * [Copy PHP env file](#copy-php-env-file)
* [Get JavaScript chunks name](#get-javascript-chunks-name) * [Get JavaScript chunks name](#get-javascript-chunks-name)
@ -49,7 +49,7 @@ The pipeline is set to only one build at a time (every subsequent build with be
## Environment variables ## Environment variables
```yml ```yml
environment: environment:
SPT_ITEMS_PATH: /var/www/html/aki/spt-item-api SPT_ITEMS_PATH: /var/www/html/aki/spt-items-api
``` ```
Here are the environment variables. They are automatically injected in every step. Here are the environment variables. They are automatically injected in every step.
@ -79,21 +79,21 @@ Fetching and updating [submodules](https://git-scm.com/book/en/v2/Git-Tools-Subm
- name: replace hosts and user variables - name: replace hosts and user variables
image: ubuntu:impish image: ubuntu:impish
environment: environment:
DEPLOY_HOST: DEPLOY_HOSTNAME:
from_secret: deploy_host from_secret: deploy_hostname
SPT_HOSTNAME: SPT_ITEMS_HOSTNAME:
from_secret: spt_hostname from_secret: spt_items_hostname
DEPLOYMENT_USER: DEPLOYMENT_USER:
from_secret: deploy_username from_secret: deploy_username
commands: commands:
- sed -i 's/{{ SPT_HOSTNAME }}/'"$SPT_HOSTNAME"'/g' ./frontend/.env - sed -i 's/{{ SPT_ITEMS_HOSTNAME }}/'"$SPT_ITEMS_HOSTNAME"'/g' ./frontend/.env
- sed -i 's/{{ DEPLOY_HOST }}/'"$DEPLOY_HOST"'/g' ./.ansible/inventory - sed -i 's/{{ DEPLOY_HOSTNAME }}/'"$DEPLOY_HOSTNAME"'/g' ./.ansible/inventory
- sed -i 's/{{ DEPLOYMENT_USER }}/'"$DEPLOYMENT_USER"'/g' ./.ansible/inventory - sed -i 's/{{ DEPLOYMENT_USER }}/'"$DEPLOYMENT_USER"'/g' ./.ansible/inventory
``` ```
Executed on every push. \ Executed on every push. \
The following environment variables are injected using Drone secrets: The following environment variables are injected using Drone secrets:
* `SPT_HOSTNAME` is used by the frontend to call the backend. * `SPT_ITEMS_HOSTNAME` is used by the frontend to call the backend.
* `DEPLOY_HOST` is used by Ansible to connect to the remote server via SSH. * `DEPLOY_HOSTNAME` is used by Ansible to connect to the remote server via SSH.
* `DEPLOYMENT_USER` is used by Ansible to connect to the remote server via SSH. * `DEPLOYMENT_USER` is used by Ansible to connect to the remote server via SSH.
* all environment variables at the pipeline level (see [Environment variables](#environment-variables)) * all environment variables at the pipeline level (see [Environment variables](#environment-variables))
Using `sed` makes temporary changes in the container/pod instead of commiting secrets in the repo in plain text. \ Using `sed` makes temporary changes in the container/pod instead of commiting secrets in the repo in plain text. \
@ -144,10 +144,10 @@ Check the Ansible syntax in [playbook.yml](../.ansible/playbook.yml), [inventory
private_key: private_key:
from_secret: deploy_ssh_key from_secret: deploy_ssh_key
environment: environment:
DEPLOY_HOST: DEPLOY_HOSTNAME:
from_secret: deploy_host from_secret: deploy_hostname
SPT_HOSTNAME: SPT_ITEMS_HOSTNAME:
from_secret: spt_hostname from_secret: spt_items_hostname
DEPLOYMENT_USER: DEPLOYMENT_USER:
from_secret: deploy_username from_secret: deploy_username
when: when:
@ -160,8 +160,8 @@ Executed only on promotion to production. \
This step actually deploys to the server. \ This step actually deploys to the server. \
This step is [idempotent](https://en.wikipedia.org/wiki/Idempotence). \ This step is [idempotent](https://en.wikipedia.org/wiki/Idempotence). \
The following environment variables are injected using Drone secrets: The following environment variables are injected using Drone secrets:
* `SPT_HOSTNAME` is used by the PHP env file. * `SPT_ITEMS_HOSTNAME` is used by the PHP env file.
* `DEPLOY_HOST` is used to connect to the remote server via SSH. * `DEPLOY_HOSTNAME` is used to connect to the remote server via SSH.
* `DEPLOYMENT_USER` is used to connect to the remote server via SSH. * `DEPLOYMENT_USER` is used to connect to the remote server via SSH.
* all environment variables at the pipeline level (see [Environment variables](#environment-variables)) * all environment variables at the pipeline level (see [Environment variables](#environment-variables))
@ -174,9 +174,9 @@ become_method: sudo
``` ```
Uses the host defined in [inventory](../.ansible/inventory). Remember, the step [Replace hosts and user variables](#replace-hosts-and-user-variables) already replaced the variables at this point. The playbook will be executed as `root` user using `sudo`. Uses the host defined in [inventory](../.ansible/inventory). Remember, the step [Replace hosts and user variables](#replace-hosts-and-user-variables) already replaced the variables at this point. The playbook will be executed as `root` user using `sudo`.
#### Delete old spt-item-finder #### Delete old spt-items-api
```yml ```yml
- name: Delete spt-item-finder before adding everything again - name: Delete spt-items-api before adding everything again
file: file:
state: absent state: absent
path: "{{ lookup('env', 'SPT_ITEMS_PATH') }}" path: "{{ lookup('env', 'SPT_ITEMS_PATH') }}"
@ -202,7 +202,7 @@ Copies the whole project (frontend and backend) from the [api](../api) folder in
``` ```
Uses [Jinja2](https://jinja2docs.readthedocs.io/en/stable/) to resolve the [template for the PHP .env file](../.ansible/templates/.php_env.j2). \ Uses [Jinja2](https://jinja2docs.readthedocs.io/en/stable/) to resolve the [template for the PHP .env file](../.ansible/templates/.php_env.j2). \
`SPT_ITEMS_PATH` is injected thanks to the pipeline level environment variables (see [Environment variables](#environment-variables)). \ `SPT_ITEMS_PATH` is injected thanks to the pipeline level environment variables (see [Environment variables](#environment-variables)). \
`SPT_HOSTNAME` is injected in the environments properties (see [Apply ansible playbook](#apply-ansible-playbook)) `SPT_ITEMS_HOSTNAME` is injected in the environments properties (see [Apply ansible playbook](#apply-ansible-playbook))
#### Get JavaScript chunks name #### Get JavaScript chunks name
```yml ```yml

View File

@ -1,4 +1,4 @@
REACT_APP_BACKEND_URL=https://{{ SPT_HOSTNAME }} REACT_APP_BACKEND_URL=https://{{ SPT_ITEMS_HOSTNAME }}
REACT_APP_SPTARKOV_HOME=https://www.sp-tarkov.com/ REACT_APP_SPTARKOV_HOME=https://www.sp-tarkov.com/
REACT_APP_SPTARKOV_WORKSHOP=https://mods.sp-tarkov.com/ REACT_APP_SPTARKOV_WORKSHOP=https://mods.sp-tarkov.com/
REACT_APP_SPTARKOV_DOCUMENTATION=https://docs.sp-tarkov.com/ REACT_APP_SPTARKOV_DOCUMENTATION=https://docs.sp-tarkov.com/