Frank refactoring part 1
This commit is contained in:
@@ -1 +0,0 @@
|
|||||||
docker build --file /home/{{ user }}/dockerfile/app/frank.Dockerfile --tag frank:latest /home/{{ user }}/dockerfile/app
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
docker run --detach --name frank --env-file=/home/{{ user }}/frank.env --network=host --restart=no --device /dev/usb/lp0:/printer frank:latest
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
#################################################
|
|
||||||
# DO Community Playbooks: Docker
|
|
||||||
#################################################
|
|
||||||
---
|
|
||||||
- hosts: all
|
|
||||||
become: true
|
|
||||||
vars_files:
|
|
||||||
- vars/frank.yml
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
- name: Copy dockerfile
|
|
||||||
synchronize: src=app dest="/home/{{ user }}/dockerfile"
|
|
||||||
|
|
||||||
- name: Build frank image
|
|
||||||
docker_image:
|
|
||||||
name: frank:latest
|
|
||||||
build:
|
|
||||||
path: "/home/{{ user }}/dockerfile/app"
|
|
||||||
dockerfile: "/home/{{ user }}/dockerfile/app/frank.Dockerfile"
|
|
||||||
pull: yes
|
|
||||||
state: present
|
|
||||||
source: build
|
|
||||||
|
|
||||||
- name: Check if frank .env file exists
|
|
||||||
stat: path="/home/{{ user }}/frank.env"
|
|
||||||
register: status
|
|
||||||
|
|
||||||
- name: No need to upload the frank .env file
|
|
||||||
debug:
|
|
||||||
msg: "No need to upload the frank .env file as it already exists."
|
|
||||||
|
|
||||||
- name: Upload the frank .env file
|
|
||||||
when: status.stat.exists == false
|
|
||||||
template:
|
|
||||||
src: files/frank.env
|
|
||||||
dest: "/home/{{ user }}/frank.env"
|
|
||||||
group: "{{ user }}"
|
|
||||||
owner: "{{ user }}"
|
|
||||||
mode: 0644
|
|
||||||
|
|
||||||
- name: Create frank worker container
|
|
||||||
docker_container:
|
|
||||||
name: "frank"
|
|
||||||
image: frank:latest
|
|
||||||
state: started
|
|
||||||
restart_policy: "no"
|
|
||||||
env_file: "/home/{{ user }}/frank.env"
|
|
||||||
network_mode: "host"
|
|
||||||
devices:
|
|
||||||
- "{{ printer_port }}:/printer"
|
|
||||||
|
|
||||||
- name: Copy docker build script
|
|
||||||
template:
|
|
||||||
src: files/build-frank.sh
|
|
||||||
dest: "/home/{{ user }}/dockerfile/build-frank.sh"
|
|
||||||
group: "{{ user }}"
|
|
||||||
owner: "{{ user }}"
|
|
||||||
mode: 0644
|
|
||||||
|
|
||||||
- name: Copy docker run script
|
|
||||||
template:
|
|
||||||
src: files/frank.sh
|
|
||||||
dest: "/home/{{ user }}/dockerfile/frank.sh"
|
|
||||||
group: "{{ user }}"
|
|
||||||
owner: "{{ user }}"
|
|
||||||
mode: 0644
|
|
||||||
|
|
||||||
- name: install frank systemd unit file
|
|
||||||
template:
|
|
||||||
src: "files/frank.service"
|
|
||||||
dest: "/etc/systemd/system/frank.service"
|
|
||||||
|
|
||||||
- name: enable service frank and ensure it is not masked
|
|
||||||
systemd:
|
|
||||||
name: frank
|
|
||||||
enabled: yes
|
|
||||||
masked: no
|
|
||||||
|
|
||||||
- name: Make sure frank service is running
|
|
||||||
systemd:
|
|
||||||
state: started
|
|
||||||
name: frank
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" || exit ; pwd -P )
|
|
||||||
git push
|
|
||||||
git tag --delete latest
|
|
||||||
git tag latest
|
|
||||||
git push --delete origin latest
|
|
||||||
git push --tags
|
|
||||||
cd "$parent_path/docker" || exit
|
|
||||||
ansible-playbook --limit moh1 playbook-frank.yml
|
|
||||||
+3
-3
@@ -27,11 +27,11 @@ ENV PATH="/app/.venv/bin:$PATH"
|
|||||||
# Install dependencies
|
# Install dependencies
|
||||||
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers
|
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers
|
||||||
RUN --mount=type=cache,target=/root/.cache/uv \
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
||||||
--mount=type=bind,source=barker/uv.lock,target=uv.lock \
|
--mount=type=bind,source=uv.lock,target=uv.lock \
|
||||||
--mount=type=bind,source=barker/pyproject.toml,target=pyproject.toml \
|
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
|
||||||
uv sync --locked --no-install-project
|
uv sync --locked --no-install-project
|
||||||
|
|
||||||
COPY /frank ./
|
COPY . ./
|
||||||
|
|
||||||
# Sync the project
|
# Sync the project
|
||||||
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers
|
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
.PHONY: build-production
|
||||||
|
build-production: ## Build the production docker image.
|
||||||
|
@docker buildx build \
|
||||||
|
--platform linux/amd64,linux/arm64/v8 \
|
||||||
|
--tag registry.tanshu.com/frank:latest \
|
||||||
|
$(if $(TAG),--tag registry.tanshu.com/frank:$(TAG)) \
|
||||||
|
--pull \
|
||||||
|
--push \
|
||||||
|
git@git.tanshu.com:tanshu/barker.git#:frank
|
||||||
|
|
||||||
|
.PHONY: build-check
|
||||||
|
build-check: ## Multi-arch build without push (compile check)
|
||||||
|
@docker buildx build \
|
||||||
|
--platform linux/amd64,linux/arm64/v8 \
|
||||||
|
--tag frank:test \
|
||||||
|
--pull \
|
||||||
|
--progress=plain \
|
||||||
|
git@git.tanshu.com:tanshu/barker.git#:frank
|
||||||
|
|
||||||
|
.PHONY: build-check-local
|
||||||
|
build-check-local: ## Build local (compile check)
|
||||||
|
@git archive --format=tar HEAD:frank | docker buildx build \
|
||||||
|
--platform linux/amd64 \
|
||||||
|
--tag frank:test \
|
||||||
|
--pull \
|
||||||
|
--progress=plain \
|
||||||
|
--load \
|
||||||
|
-
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
[all:vars]
|
||||||
|
ansible_python_interpreter=/usr/bin/python3
|
||||||
|
|
||||||
|
[frank]
|
||||||
|
chd-bar ansible_host=clair var_file=vars/devices/chd-bar.yml
|
||||||
|
pkl1 ansible_host=clair var_file=vars/devices/pkl1.yml
|
||||||
|
pkl2 ansible_host=clair var_file=vars/devices/pkl2.yml
|
||||||
|
pkl3 ansible_host=clair var_file=vars/devices/pkl3.yml
|
||||||
|
pkl4 ansible_host=clair var_file=vars/devices/pkl4.yml
|
||||||
|
moz1 ansible_host=clair var_file=vars/devices/moz1.yml
|
||||||
|
moz2 ansible_host=clair var_file=vars/devices/moz2.yml
|
||||||
|
mhl1 ansible_host=clair var_file=vars/devices/mhl1.yml
|
||||||
|
mhl2 ansible_host=clair var_file=vars/devices/mhl2.yml
|
||||||
|
mhl3 ansible_host=clair var_file=vars/devices/mhl3.yml
|
||||||
|
mhl4 ansible_host=clair var_file=vars/devices/mhl4.yml
|
||||||
|
chd1 ansible_host=clair var_file=vars/devices/chd1.yml
|
||||||
|
chd2 ansible_host=clair var_file=vars/devices/chd2.yml
|
||||||
Executable
+19
@@ -0,0 +1,19 @@
|
|||||||
|
#################################################
|
||||||
|
# DO Community Playbooks: Docker
|
||||||
|
#################################################
|
||||||
|
---
|
||||||
|
- hosts: frank
|
||||||
|
become: true
|
||||||
|
vars_files:
|
||||||
|
- vars/registry.yml
|
||||||
|
- vars/pies.yml
|
||||||
|
|
||||||
|
pre_tasks:
|
||||||
|
- name: Load per-host vars file from inventory (var_file)
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: "{{ var_file }}"
|
||||||
|
when: var_file is defined
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- tunnels
|
||||||
|
- frank
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
---
|
||||||
|
- name: Check if frank .env file exists
|
||||||
|
stat: path="/home/{{ user }}/frank.env"
|
||||||
|
register: status
|
||||||
|
|
||||||
|
- name: No need to upload the frank .env file
|
||||||
|
debug:
|
||||||
|
msg: "No need to upload the frank .env file as it already exists."
|
||||||
|
|
||||||
|
- name: Upload the frank .env file
|
||||||
|
when: status.stat.exists == false
|
||||||
|
template:
|
||||||
|
src: files/frank.env
|
||||||
|
dest: "/home/{{ user }}/frank.env"
|
||||||
|
group: "{{ user }}"
|
||||||
|
owner: "{{ user }}"
|
||||||
|
mode: 0644
|
||||||
|
|
||||||
|
- name: Log into registry
|
||||||
|
docker_login:
|
||||||
|
registry: "{{ registry }}"
|
||||||
|
username: "{{ username }}"
|
||||||
|
password: "{{ password }}"
|
||||||
|
|
||||||
|
- name: Pull frank image
|
||||||
|
docker_image:
|
||||||
|
name: "registry.tanshu.com/frank:{{ frank_version | default('latest') }}"
|
||||||
|
source: pull
|
||||||
|
force_source: yes
|
||||||
|
|
||||||
|
- name: Create frank worker container
|
||||||
|
docker_container:
|
||||||
|
name: "frank"
|
||||||
|
image: "registry.tanshu.com/frank:{{ frank_version | default('latest') }}"
|
||||||
|
pull: true
|
||||||
|
state: started
|
||||||
|
restart_policy: "no"
|
||||||
|
env_file: "/home/{{ user }}/frank.env"
|
||||||
|
network_mode: "host"
|
||||||
|
devices:
|
||||||
|
- "{{ printer_port }}:/printer"
|
||||||
|
|
||||||
|
- name: install frank systemd unit file
|
||||||
|
template:
|
||||||
|
src: "files/frank.service"
|
||||||
|
dest: "/etc/systemd/system/frank.service"
|
||||||
|
|
||||||
|
- name: enable service frank and ensure it is not masked
|
||||||
|
systemd:
|
||||||
|
name: frank
|
||||||
|
enabled: yes
|
||||||
|
masked: no
|
||||||
|
|
||||||
|
- name: Make sure frank service is running
|
||||||
|
systemd:
|
||||||
|
state: started
|
||||||
|
name: frank
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
- name: install nats-tunnel systemd unit file
|
||||||
|
template:
|
||||||
|
src: "files/nats-tunnel.service"
|
||||||
|
dest: "/etc/systemd/system/nats-tunnel.service"
|
||||||
|
|
||||||
|
- name: enable service nats-tunnel and ensure it is not masked
|
||||||
|
systemd:
|
||||||
|
name: nats-tunnel
|
||||||
|
enabled: yes
|
||||||
|
masked: no
|
||||||
|
|
||||||
|
- name: Make sure nats-tunnel service is running
|
||||||
|
systemd:
|
||||||
|
state: started
|
||||||
|
name: nats-tunnel
|
||||||
|
|
||||||
|
- name: install leardal systemd unit file
|
||||||
|
template:
|
||||||
|
src: "files/leardal.service"
|
||||||
|
dest: "/etc/systemd/system/leardal.service"
|
||||||
|
|
||||||
|
- name: enable service leardal and ensure it is not masked
|
||||||
|
systemd:
|
||||||
|
name: leardal
|
||||||
|
enabled: yes
|
||||||
|
masked: no
|
||||||
|
|
||||||
|
- name: Make sure leardal service is running
|
||||||
|
systemd:
|
||||||
|
state: started
|
||||||
|
name: leardal
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
---
|
---
|
||||||
printer_port: "/dev/usb/lp0"
|
hostname: chd-bar
|
||||||
|
ssh_port: 22242
|
||||||
user: vari
|
user: vari
|
||||||
queue_name: moz-elante
|
queue_name: moz-elante
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
hostname: chd1
|
||||||
|
ssh_port: 22341
|
||||||
|
user: pi
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
hostname: chd2
|
||||||
|
ssh_port: 22342
|
||||||
|
user: pi
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
hostname: mhl1
|
||||||
|
ssh_port: 22441
|
||||||
|
user: pi
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
hostname: mhl2
|
||||||
|
ssh_port: 22442
|
||||||
|
user: pi
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
hostname: mhl3
|
||||||
|
ssh_port: 22443
|
||||||
|
user: pi
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
hostname: mhl4
|
||||||
|
ssh_port: 22444
|
||||||
|
user: pi
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
hostname: moz1
|
||||||
|
ssh_port: 22541
|
||||||
|
user: vari
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
hostname: moz2
|
||||||
|
ssh_port: 22542
|
||||||
|
user: vari
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
hostname: pkl1
|
||||||
|
ssh_port: 22241
|
||||||
|
user: pi
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
hostname: pkl2
|
||||||
|
ssh_port: 22242
|
||||||
|
user: pi
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
hostname: pkl3
|
||||||
|
ssh_port: 22243
|
||||||
|
user: pi
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
hostname: pkl4
|
||||||
|
ssh_port: 22244
|
||||||
|
user: pi
|
||||||
|
queue_name: moz-elante
|
||||||
|
printer_port: "/dev/usb/lp0"
|
||||||
@@ -1,7 +1,4 @@
|
|||||||
---
|
---
|
||||||
hostname: "moz2"
|
|
||||||
ssh_port: "22542"
|
|
||||||
user: "vari"
|
|
||||||
terminus_key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8WQHla0uCcNwmN0DUE49lbjNWa6+7A6OxrX3WEPQH0 tanshu@terminus 2023.01.08"
|
terminus_key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8WQHla0uCcNwmN0DUE49lbjNWa6+7A6OxrX3WEPQH0 tanshu@terminus 2023.01.08"
|
||||||
clair_key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBeTz3weHvjJRTlBg+ovP3KfQNDvyn9mVsekAGwX1HMn tanshu@clair 2025-06-30"
|
clair_key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBeTz3weHvjJRTlBg+ovP3KfQNDvyn9mVsekAGwX1HMn tanshu@clair 2025-06-30"
|
||||||
anjin_key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMlvalE0JqKyjpEsGTgtf/N1d9QK2MgNFJib+e8O2h9M tanshu@anjin 2024.09.28"
|
anjin_key: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMlvalE0JqKyjpEsGTgtf/N1d9QK2MgNFJib+e8O2h9M tanshu@anjin 2024.09.28"
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
registry: registry.tanshu.com
|
||||||
|
username: ta-registry
|
||||||
|
password: ff28a01f00c0f39315d94cd9dcb1e554968dba25676a8ea5f2be34e96a9a099f
|
||||||
Executable
+16
@@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" || exit ; pwd -P )
|
||||||
|
cd "$parent_path" || exit
|
||||||
|
|
||||||
|
#./lint.sh
|
||||||
|
|
||||||
|
if [ 1 -eq "$#" ]
|
||||||
|
then
|
||||||
|
./version_bump.sh "$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
current_version=$(grep -m 1 '^version = ' pyproject.toml | sed -E 's/version = "([^"]+)"/\1/')
|
||||||
|
make build-production TAG="$current_version"
|
||||||
|
cd "$parent_path/ansible" || exit
|
||||||
|
ansible-playbook --inventory=hosts playbook.yml --extra-vars "frank_version=$current_version"
|
||||||
Executable
+12
@@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -eEu -o pipefail
|
||||||
|
shopt -s extdebug
|
||||||
|
IFS=$'\n\t'
|
||||||
|
|
||||||
|
parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" || exit ; pwd -P )
|
||||||
|
cd "$parent_path" || exit
|
||||||
|
|
||||||
|
uv run ruff format .
|
||||||
|
uv run ruff check . --fix
|
||||||
|
uv run bandit --recursive .
|
||||||
|
uv run safety check
|
||||||
@@ -1,17 +1,16 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "frank"
|
name = "frank"
|
||||||
version = "14.5.1"
|
version = "2.0.0"
|
||||||
description = "Point of Sale for a restaurant"
|
description = "Point of Sale for a restaurant"
|
||||||
requires-python = ">=3.14"
|
requires-python = ">=3.14"
|
||||||
authors = [{ name = "tanshu", email = "git@tanshu.com" }]
|
authors = [{ name = "tanshu", email = "git@tanshu.com" }]
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aiohttp>=3.14.3",
|
"aiohttp>=3.14.3",
|
||||||
"pydantic-settings>=2.15.0",
|
|
||||||
"pydantic>=2.13.4",
|
"pydantic>=2.13.4",
|
||||||
|
"pydantic-settings>=2.15.0",
|
||||||
"taskiq>=0.12.4",
|
"taskiq>=0.12.4",
|
||||||
"taskiq-nats>=0.6.0",
|
"taskiq-nats>=0.6.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
[tool.uv]
|
[tool.uv]
|
||||||
package = false
|
package = false
|
||||||
|
|||||||
Executable
+47
@@ -0,0 +1,47 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" || exit ; pwd -P )
|
||||||
|
cd "$parent_path" || exit
|
||||||
|
|
||||||
|
last_commit_subject=$(git log -1 --format=%s)
|
||||||
|
if [[ "$last_commit_subject" =~ ^Version\ Bump ]]; then
|
||||||
|
echo "Last commit is already a version bump (\"$last_commit_subject\"). Nothing to do."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ 1 -eq "$#" ]
|
||||||
|
then
|
||||||
|
current_version=$(grep -m 1 '^version = ' pyproject.toml | sed -E 's/version = "([^"]+)"/\1/')
|
||||||
|
IFS='.' read -r major minor patch <<< "$current_version"
|
||||||
|
|
||||||
|
if [ "$1" == "major" ]; then
|
||||||
|
major=$((major + 1))
|
||||||
|
minor=0
|
||||||
|
patch=0
|
||||||
|
new_version="${major}.${minor}.${patch}"
|
||||||
|
elif [ "$1" == "minor" ]; then
|
||||||
|
minor=$((minor + 1))
|
||||||
|
patch=0
|
||||||
|
new_version="${major}.${minor}.${patch}"
|
||||||
|
elif [ "$1" == "patch" ]; then
|
||||||
|
patch=$((patch + 1))
|
||||||
|
new_version="${major}.${minor}.${patch}"
|
||||||
|
elif [[ "$1" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||||
|
new_version="$1"
|
||||||
|
else
|
||||||
|
echo "Invalid argument: must be 'major', 'minor', 'patch', or a specific version (e.g. 1.2.3)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Version bump from $current_version to $new_version"
|
||||||
|
sed --in-place --regexp-extended 's/version = "([0-9]{1,2}.[0-9]+.[0-9]+)"/version = "'"$new_version"'"/g' pyproject.toml
|
||||||
|
git add pyproject.toml
|
||||||
|
git commit -m "Version Bump v$new_version (frank)"
|
||||||
|
git tag "frank-v$new_version"
|
||||||
|
else
|
||||||
|
echo "No version bump"
|
||||||
|
echo "Usage: $0 <major|minor|patch|version_string>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
git push
|
||||||
|
git push --tags
|
||||||
@@ -1,105 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
if [ 2 -ne "$#" ]
|
|
||||||
then
|
|
||||||
dbname=petty
|
|
||||||
docker=0
|
|
||||||
doname=docker
|
|
||||||
else
|
|
||||||
dbname=$2
|
|
||||||
docker=1
|
|
||||||
doname=$1
|
|
||||||
fi
|
|
||||||
|
|
||||||
parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" || exit ; pwd -P )
|
|
||||||
mkdir "$parent_path"/csv -p || exit
|
|
||||||
|
|
||||||
if [ $docker -eq 0 ]
|
|
||||||
then
|
|
||||||
scp knox:csv.tar.zip "$parent_path"/csv || exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $docker -eq 1 ]
|
|
||||||
then
|
|
||||||
tar xvf "$parent_path"/csv.tar.zip -C "$parent_path"/csv || exit
|
|
||||||
else
|
|
||||||
echo tar xvf "$parent_path"/csv/csv.tar.zip -C "$parent_path"/csv
|
|
||||||
tar xvf "$parent_path"/csv/csv.tar.zip -C "$parent_path"/csv || exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $docker -eq 1 ]
|
|
||||||
then
|
|
||||||
docker stop "$doname" || exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
docker run -it --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres -c "drop database '"""$dbname"'"' || exit
|
|
||||||
docker run -it --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres -c "create database '"""$dbname"'"' || exit
|
|
||||||
docker run -it --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "CREATE EXTENSION btree_gist;"' || exit
|
|
||||||
|
|
||||||
if [ $docker -eq 1 ]
|
|
||||||
then
|
|
||||||
docker start "$doname" || exit
|
|
||||||
docker exec -it "$doname" poetry run alembic upgrade 8c06ac60d125 || exit
|
|
||||||
else
|
|
||||||
cd "$parent_path"/barker || exit
|
|
||||||
alembic upgrade 8c06ac60d125 || exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy roles(id, name) from /mnt/a-Roles.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy permissions(id, name) from /mnt/b-Permissions.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy role_permissions(id, permission_id, role_id) from /mnt/c-RolePermissions.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy users(id, name, password, locked_out) from /mnt/d-Users.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy user_roles(id, user_id, role_id) from /mnt/e-UserRoles.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy customers(id, name, address, phone) from /mnt/f-Customers.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy food_tables(id, name, seats, is_active, section_id, sort_order) from /mnt/g-FoodTables.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy taxes(id, name, rate, is_fixture) from /mnt/h-Taxes.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy menu_categories(id, name, is_active, is_fixture, sort_order) from /mnt/i-MenuCategories.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy sale_categories(id, name, discount_limit, tax_id) from /mnt/j-SaleCategories.csv"'
|
|
||||||
sed -i 's/\x0//g' "$parent_path"/csv/k-Products.csv
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy products(id, name, units, menu_category_id, sale_category_name, price, has_happy_hour, is_active, is_not_available, sort_order, quantity) from /mnt/k-Products.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy modifiers(id, name, show_in_bill, is_active, modifier_category_id, price) from /mnt/l-Modifiers.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy sections(id, name, is_fixture) from /mnt/m-Sections.csv"'
|
|
||||||
# sed -i ':a;N;$!ba;s/\n\r\n\r\n\r\n\r\n\r\n\r/\\n\\n\\n\\n\\n\\n/g' "$parent_path"/csv/n-Printers.csv
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy printers(id, name, address, cut_code) from /mnt/n-Printers.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy section_printers(id, menu_category_id, section_name, printer_name, copies) from /mnt/o-SectionPrinters.csv"'
|
|
||||||
|
|
||||||
if [ $docker -eq 1 ]
|
|
||||||
then
|
|
||||||
docker start "$doname" || exit
|
|
||||||
docker exec -it "$doname" poetry run alembic upgrade 34fe3d061c5f || exit
|
|
||||||
else
|
|
||||||
cd "$parent_path"/barker || exit
|
|
||||||
alembic upgrade 34fe3d061c5f || exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
sed -i 's/\x0/\\N/g' "$parent_path"/csv/p-Vouchers.csv
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy vouchers(id, date, pax, user_id, creation_date, last_edit_date, bill_id, food_table_id, customer_id, narration, reason, voucher_type, kot_id) from /mnt/p-Vouchers.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy kots(id, voucher_id, code, food_table_id, date, user_id) from /mnt/q-Kots.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy inventories(id, kot_id, product_id, sort_order, quantity, price, is_happy_hour, tax_rate, tax_id, discount) from /mnt/r-Inventories.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy inventory_modifiers(id, inventory_id, modifier_id, price) from /mnt/s-InventoryModifiers.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy overview(id, voucher_id, food_table_id, status) from /mnt/t-Overview.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy reprints(id, user_id, date, voucher_id) from /mnt/u-Reprints.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy settings(id, name, data) from /mnt/v-Settings.csv"'
|
|
||||||
docker run -it -v "$parent_path"/csv:/mnt --link postgres:db --rm --env PGPASSWORD="123456" postgres:alpine bash -c 'psql -h db -U postgres '"""$dbname"' -c "\copy settlements(id, voucher_id, settled, amount) from /mnt/w-VoucherSettlements.csv"'
|
|
||||||
|
|
||||||
if [ $docker -eq 1 ]
|
|
||||||
then
|
|
||||||
docker start "$doname" || exit
|
|
||||||
docker exec -it "$doname" poetry run alembic upgrade 48bc1c7c07ce || exit
|
|
||||||
docker exec -it "$doname" poetry run alembic upgrade e5e8acfc6495 || exit
|
|
||||||
docker exec -it "$doname" poetry run alembic upgrade c123dbf9c659 || exit
|
|
||||||
docker exec -it "$doname" poetry run alembic upgrade 81d94c5223a7 || exit
|
|
||||||
else
|
|
||||||
cd "$parent_path"/barker || exit
|
|
||||||
alembic upgrade 48bc1c7c07ce || exit
|
|
||||||
alembic upgrade e5e8acfc6495 || exit
|
|
||||||
alembic upgrade c123dbf9c659 || exit
|
|
||||||
alembic upgrade 81d94c5223a7 || exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -f "$parent_path"/csv/*.csv "$parent_path"/csv/csv.tar.zip || exit
|
|
||||||
rmdir "$parent_path"/csv || exit
|
|
||||||
|
|
||||||
|
|
||||||
# Show the file in code to see the hidden chars
|
|
||||||
# od -t c "$parent_path"/Programming/csv/n-Printers.csv
|
|
||||||
@@ -39,8 +39,6 @@ then
|
|||||||
sed --in-place --regexp-extended 's/version = "([0-9]{1,2}.[0-9]+.[0-9]+)"/version = "'"$new_version"'"/g' barker/pyproject.toml
|
sed --in-place --regexp-extended 's/version = "([0-9]{1,2}.[0-9]+.[0-9]+)"/version = "'"$new_version"'"/g' barker/pyproject.toml
|
||||||
(cd barker && uv lock)
|
(cd barker && uv lock)
|
||||||
git add barker/pyproject.toml
|
git add barker/pyproject.toml
|
||||||
sed --in-place --regexp-extended 's/version = "([0-9]{1,2}.[0-9]+.[0-9]+)"/version = "'"$new_version"'"/g' frank/pyproject.toml
|
|
||||||
git add frank/pyproject.toml
|
|
||||||
sed --in-place --regexp-extended 's/version: '\''([0-9]*.[0-9]+.[0-9]+)'\''/version: '\'"$new_version"\''/g' bookie/src/app/app.environment.ts
|
sed --in-place --regexp-extended 's/version: '\''([0-9]*.[0-9]+.[0-9]+)'\''/version: '\'"$new_version"\''/g' bookie/src/app/app.environment.ts
|
||||||
git add bookie/src/app/app.environment.ts
|
git add bookie/src/app/app.environment.ts
|
||||||
sed --in-place --regexp-extended 's/"version": "([0-9]{1,2}.[0-9]+.[0-9]+)"/"version": "'"$new_version"'"/g' bookie/package.json
|
sed --in-place --regexp-extended 's/"version": "([0-9]{1,2}.[0-9]+.[0-9]+)"/"version": "'"$new_version"'"/g' bookie/package.json
|
||||||
|
|||||||
Reference in New Issue
Block a user