BTHLABS-49: WIP

This commit is contained in:
2025-08-18 11:18:41 +02:00
parent d909391ee6
commit 0072dfd95d
16 changed files with 159 additions and 22 deletions

View File

@@ -23,6 +23,6 @@ CELERY_BEAT_SCHEDULE_FILENAME = 'run/celerybeat-schedule-docker'
UPLOADS_PATH = Path(
os.environ.get(
'HOTPOCKET_BACKEND_UPLOADS_PATH',
'/srv/run/uploads',
'/srv/app/run/uploads',
),
)

View File

@@ -855,6 +855,19 @@ python-dateutil = "2.9.0.post0"
type = "directory"
url = "../packages/testing"
[[package]]
name = "hotpocket-workspace-tools"
version = "1.0.0.dev0"
description = "HotPocket Workspace Tools"
optional = false
python-versions = "^3.12"
files = []
develop = true
[package.source]
type = "directory"
url = "../packages/workspace_tools"
[[package]]
name = "hvac"
version = "2.3.0"
@@ -2274,4 +2287,4 @@ brotli = ["brotli"]
[metadata]
lock-version = "2.0"
python-versions = "^3.12"
content-hash = "777763feee98b9615a284910e9fddc9477ab4bbe42f6766cb570319319b8c488"
content-hash = "3d8cf7ddb06917472eed4724058178f36c17f40db891a19d13f5d0d758e61102"

View File

@@ -33,6 +33,7 @@ flake8-commas = "4.0.0"
freezegun = "1.5.2"
hotpocket-backend-testing = {path = "testing", develop = true}
hotpocket-testing = {path = "../packages/testing", develop = true}
hotpocket-workspace-tools = {path = "../packages/workspace_tools", develop = true}
invoke = "2.2.0"
ipdb = "0.13.13"
ipython = "9.3.0"

View File

@@ -9,6 +9,9 @@ import os
from invoke import task
from invoke.exceptions import UnexpectedExit
from hotpocket_workspace_tools import get_workspace_mode
WORKSPACE_MODE = get_workspace_mode()
ENV = os.getenv('HOTPOCKET_BACKEND_ENV', 'docker')
@@ -105,11 +108,10 @@ def ci(ctx):
@task
def setup(ctx):
ctx.run('python manage.py migrate')
ctx.run('python manage.py migrate', env=dict(
DJANGO_SETTINGS_MODULE=f'hotpocket_backend.settings.{ENV}.admin',
HOTPOCKET_BACKEND_APP='admin',
))
ctx.run('mkdir -p run/uploads')
ctx.run('python manage.py create_initial_account hotpocket hotpocketm4st3r')
if WORKSPACE_MODE == WORKSPACE_MODE.METAL:
ctx.run('mkdir -p run/uploads')
@task

View File

@@ -221,6 +221,19 @@ python-dateutil = "2.9.0.post0"
type = "directory"
url = "testing"
[[package]]
name = "hotpocket-workspace-tools"
version = "1.0.0.dev0"
description = "HotPocket Workspace Tools"
optional = false
python-versions = "^3.12"
files = []
develop = true
[package.source]
type = "directory"
url = "workspace_tools"
[[package]]
name = "iniconfig"
version = "2.1.0"
@@ -889,4 +902,4 @@ files = [
[metadata]
lock-version = "2.0"
python-versions = "^3.12"
content-hash = "cb0ccd3db8ca24c4b439c880dbb6012bc7d9104fb59b45b9dd4738b8e975f1a8"
content-hash = "02c9f754b0dbe7e7b2f24d576f294be52027f4267b9a8ea3ac316f2eba1b881b"

View File

@@ -12,6 +12,7 @@ python = "^3.12"
hotpocket-common = {path = "common", develop = true}
hotpocket-soa = {path = "soa", develop = true}
hotpocket-testing = {path = "testing", develop = true}
hotpocket-workspace-tools = {path = "workspace_tools", develop = true}
[tool.poetry.group.dev.dependencies]
factory-boy = "3.3.3"

View File

@@ -3,12 +3,12 @@
from __future__ import annotations
import os
from invoke import task
from invoke.exceptions import UnexpectedExit
ENV = os.getenv('HOTPOCKET_COMMON_ENV', 'docker')
from hotpocket_workspace_tools import get_workspace_mode
WORKSPACE_MODE = get_workspace_mode()
@task
@@ -89,7 +89,7 @@ def ci(ctx):
@task
def setup(ctx):
raise NotImplementedError()
print('NOOP')
@task

View File

@@ -0,0 +1,3 @@
# HotPocket by BTHLabs
This repository contains the _HotPocket Workspace Tools_ project.

View File

@@ -0,0 +1,2 @@
from .constants import WorkspaceMode # noqa: F401
from .workspace_mode import get_workspace_mode # noqa: F401

View File

@@ -0,0 +1,11 @@
# -*- coding: utf-8 -*-
from __future__ import annotations
import enum
DEFAULT_WORKSPACE_MODE = 'docker'
class WorkspaceMode(enum.Enum):
DOCKER = 'docker'
METAL = 'metal'

View File

@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
from __future__ import annotations
import os
from .constants import DEFAULT_WORKSPACE_MODE, WorkspaceMode
def get_workspace_mode(default: str | None = None) -> WorkspaceMode:
return WorkspaceMode(os.getenv(
'HOTPOCKET_WORKSPACE_MODE',
(
default
if default is not None
else DEFAULT_WORKSPACE_MODE
),
))

View File

@@ -0,0 +1,14 @@
[tool.poetry]
name = "hotpocket-workspace-tools"
version = "1.0.0.dev0"
description = "HotPocket Workspace Tools"
authors = ["Tomek Wójcik <contact@bthlabs.pl>"]
license = "BTHLabs Source Available License Agreement"
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.12"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"