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]
{{ 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
debug:
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:
state: absent
path: "{{ lookup('env', 'SPT_ITEMS_PATH') }}"
@ -46,7 +46,7 @@
- name: Initialize database
uri:
url: "https://{{ lookup('env', 'SPT_HOSTNAME') }}/api/refresh"
url: "https://{{ lookup('env', 'SPT_ITEM_HOSTNAME') }}/api/refresh"
method: GET
status_code: [200, 204]
timeout: 60

View File

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

View File

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

View File

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

View File

@ -6,7 +6,7 @@ concurrency:
limit: 1
environment:
SPT_ITEMS_PATH: /var/www/html/aki/spt-item-api
SPT_ITEMS_PATH: /var/www/html/aki/spt-items-api
trigger:
event:
@ -17,25 +17,19 @@ trigger:
- development
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
image: ubuntu:impish
environment:
DEPLOY_HOST:
from_secret: deploy_host
SPT_HOSTNAME:
from_secret: spt_hostname
DEPLOY_HOSTNAME:
from_secret: deploy_hostname
SPT_ITEMS_HOSTNAME:
from_secret: spt_items_hostname
DEPLOYMENT_USER:
from_secret: deploy_username
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
- 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
when:
branch:
@ -76,10 +70,10 @@ steps:
private_key:
from_secret: deploy_ssh_key
environment:
DEPLOY_HOST:
from_secret: deploy_host
SPT_HOSTNAME:
from_secret: spt_hostname
DEPLOY_HOSTNAME:
from_secret: deploy_hostname
SPT_ITEMS_HOSTNAME:
from_secret: spt_items_hostname
DEPLOYMENT_USER:
from_secret: deploy_username
when:

View File

@ -18,8 +18,8 @@
## Required secrets
| 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 |
| deploy_host | The remote server where to deploy <br> used by Ansible SSH | 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_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_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)
* [Apply ansible playbook](#apply-ansible-playbook)
* [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 PHP env file](#copy-php-env-file)
* [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
```yml
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.
@ -79,21 +79,21 @@ Fetching and updating [submodules](https://git-scm.com/book/en/v2/Git-Tools-Subm
- name: replace hosts and user variables
image: ubuntu:impish
environment:
DEPLOY_HOST:
from_secret: deploy_host
SPT_HOSTNAME:
from_secret: spt_hostname
DEPLOY_HOSTNAME:
from_secret: deploy_hostname
SPT_ITEMS_HOSTNAME:
from_secret: spt_items_hostname
DEPLOYMENT_USER:
from_secret: deploy_username
commands:
- sed -i 's/{{ SPT_HOSTNAME }}/'"$SPT_HOSTNAME"'/g' ./frontend/.env
- sed -i 's/{{ DEPLOY_HOST }}/'"$DEPLOY_HOST"'/g' ./.ansible/inventory
- sed -i 's/{{ SPT_ITEMS_HOSTNAME }}/'"$SPT_ITEMS_HOSTNAME"'/g' ./frontend/.env
- sed -i 's/{{ DEPLOY_HOSTNAME }}/'"$DEPLOY_HOSTNAME"'/g' ./.ansible/inventory
- sed -i 's/{{ DEPLOYMENT_USER }}/'"$DEPLOYMENT_USER"'/g' ./.ansible/inventory
```
Executed on every push. \
The following environment variables are injected using Drone secrets:
* `SPT_HOSTNAME` is used by the frontend to call the backend.
* `DEPLOY_HOST` is used by Ansible to connect to the remote server via SSH.
* `SPT_ITEMS_HOSTNAME` is used by the frontend to call the backend.
* `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.
* 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. \
@ -144,10 +144,10 @@ Check the Ansible syntax in [playbook.yml](../.ansible/playbook.yml), [inventory
private_key:
from_secret: deploy_ssh_key
environment:
DEPLOY_HOST:
from_secret: deploy_host
SPT_HOSTNAME:
from_secret: spt_hostname
DEPLOY_HOSTNAME:
from_secret: deploy_hostname
SPT_ITEMS_HOSTNAME:
from_secret: spt_items_hostname
DEPLOYMENT_USER:
from_secret: deploy_username
when:
@ -160,8 +160,8 @@ Executed only on promotion to production. \
This step actually deploys to the server. \
This step is [idempotent](https://en.wikipedia.org/wiki/Idempotence). \
The following environment variables are injected using Drone secrets:
* `SPT_HOSTNAME` is used by the PHP env file.
* `DEPLOY_HOST` is used to connect to the remote server via SSH.
* `SPT_ITEMS_HOSTNAME` is used by the PHP env file.
* `DEPLOY_HOSTNAME` 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))
@ -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`.
#### Delete old spt-item-finder
#### Delete old spt-items-api
```yml
- name: Delete spt-item-finder before adding everything again
- name: Delete spt-items-api before adding everything again
file:
state: absent
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). \
`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
```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_WORKSHOP=https://mods.sp-tarkov.com/
REACT_APP_SPTARKOV_DOCUMENTATION=https://docs.sp-tarkov.com/