fix: production app domains drop customer infix

This commit is contained in:
emil
2026-10-20 15:03:14 +02:00
parent 0c26a288c9
commit 694daac64c
13 changed files with 24 additions and 24 deletions
+6 -6
View File
@@ -33,7 +33,7 @@ jobs:
build-and-push: build-and-push:
runs-on: docker runs-on: docker
container: container:
image: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-full:latest image: git.oblachno.fyi/oblachno-oss/runner-images/ci-full:latest
credentials: credentials:
username: ${{ vars.CI_GITEA_USERNAME }} username: ${{ vars.CI_GITEA_USERNAME }}
password: ${{ secrets.CI_GITEA_API_TOKEN }} password: ${{ secrets.CI_GITEA_API_TOKEN }}
@@ -68,7 +68,7 @@ jobs:
[ -z "$_TOKEN" ] && _TOKEN="$DEVELOPER_GITEA_API_TOKEN" [ -z "$_TOKEN" ] && _TOKEN="$DEVELOPER_GITEA_API_TOKEN"
[ -z "$_TOKEN" ] && _TOKEN="$CI_GITEA_TOKEN" [ -z "$_TOKEN" ] && _TOKEN="$CI_GITEA_TOKEN"
if [ -z "$_TOKEN" ]; then echo "Gitea API token not set — skipping Docker login"; exit 1; fi if [ -z "$_TOKEN" ]; then echo "Gitea API token not set — skipping Docker login"; exit 1; fi
echo "$_TOKEN" | docker login git.oblachno.oblachno.fyi -u "$CI_GITEA_USERNAME" --password-stdin echo "$_TOKEN" | docker login git.oblachno.fyi -u "$CI_GITEA_USERNAME" --password-stdin
- name: Build and push tier images - name: Build and push tier images
if: >- if: >-
github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_dispatch' ||
@@ -88,21 +88,21 @@ jobs:
--dockerfile docker/ci-base/Dockerfile \ --dockerfile docker/ci-base/Dockerfile \
--name oblachno-oss/runner-images/ci-base \ --name oblachno-oss/runner-images/ci-base \
--tag latest \ --tag latest \
--registry git.oblachno.oblachno.fyi \ --registry git.oblachno.fyi \
--push --pull --push --pull
# Build ci-quality (FROM ci-base-latest) # Build ci-quality (FROM ci-base-latest)
python3 -m devx.tools.build_image \ python3 -m devx.tools.build_image \
--dockerfile docker/ci-quality/Dockerfile \ --dockerfile docker/ci-quality/Dockerfile \
--name oblachno-oss/runner-images/ci-quality \ --name oblachno-oss/runner-images/ci-quality \
--tag latest \ --tag latest \
--registry git.oblachno.oblachno.fyi \ --registry git.oblachno.fyi \
--push --push
# Build ci-full (FROM ci-quality-latest) # Build ci-full (FROM ci-quality-latest)
python3 -m devx.tools.build_image \ python3 -m devx.tools.build_image \
--dockerfile docker/ci-full/Dockerfile \ --dockerfile docker/ci-full/Dockerfile \
--name oblachno-oss/runner-images/ci-full \ --name oblachno-oss/runner-images/ci-full \
--tag latest \ --tag latest \
--registry git.oblachno.oblachno.fyi \ --registry git.oblachno.fyi \
--push --push
- name: Notify on failure - name: Notify on failure
if: failure() if: failure()
@@ -124,7 +124,7 @@ jobs:
if: always() && needs.build-and-push.result == 'success' if: always() && needs.build-and-push.result == 'success'
runs-on: docker runs-on: docker
container: container:
image: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest image: git.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
credentials: credentials:
username: ${{ vars.CI_GITEA_USERNAME }} username: ${{ vars.CI_GITEA_USERNAME }}
password: ${{ secrets.CI_GITEA_API_TOKEN }} password: ${{ secrets.CI_GITEA_API_TOKEN }}
+2 -2
View File
@@ -19,7 +19,7 @@ jobs:
validate: validate:
runs-on: docker runs-on: docker
container: container:
image: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-full:latest image: git.oblachno.fyi/oblachno-oss/runner-images/ci-full:latest
credentials: credentials:
username: ${{ vars.CI_GITEA_USERNAME }} username: ${{ vars.CI_GITEA_USERNAME }}
password: ${{ secrets.CI_GITEA_API_TOKEN }} password: ${{ secrets.CI_GITEA_API_TOKEN }}
@@ -173,7 +173,7 @@ jobs:
needs.validate.result == 'success' needs.validate.result == 'success'
runs-on: docker runs-on: docker
container: container:
image: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest image: git.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
credentials: credentials:
username: ${{ vars.CI_GITEA_USERNAME }} username: ${{ vars.CI_GITEA_USERNAME }}
password: ${{ secrets.CI_GITEA_API_TOKEN }} password: ${{ secrets.CI_GITEA_API_TOKEN }}
+2 -2
View File
@@ -41,7 +41,7 @@ jobs:
detect-and-configure: detect-and-configure:
runs-on: docker runs-on: docker
container: container:
image: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest image: git.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
credentials: credentials:
username: ${{ vars.CI_GITEA_USERNAME }} username: ${{ vars.CI_GITEA_USERNAME }}
password: ${{ secrets.CI_GITEA_API_TOKEN }} password: ${{ secrets.CI_GITEA_API_TOKEN }}
@@ -109,7 +109,7 @@ jobs:
if: always() && needs.detect-and-configure.result == 'success' if: always() && needs.detect-and-configure.result == 'success'
runs-on: docker runs-on: docker
container: container:
image: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-full:latest image: git.oblachno.fyi/oblachno-oss/runner-images/ci-full:latest
credentials: credentials:
username: ${{ vars.CI_GITEA_USERNAME }} username: ${{ vars.CI_GITEA_USERNAME }}
password: ${{ secrets.CI_GITEA_API_TOKEN }} password: ${{ secrets.CI_GITEA_API_TOKEN }}
+1 -1
View File
@@ -7,7 +7,7 @@
# Layers on top of ci-quality: adds release tools, molecule, deploy deps, # Layers on top of ci-quality: adds release tools, molecule, deploy deps,
# git-cliff, and OpenTofu. # git-cliff, and OpenTofu.
FROM git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-quality:latest FROM git.oblachno.fyi/oblachno-oss/runner-images/ci-quality:latest
SHELL ["/bin/bash", "-o", "pipefail", "-c"] SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+1 -1
View File
@@ -5,7 +5,7 @@
# #
# Layers on top of ci-base: adds lint tools + actionlint + checkmake. # Layers on top of ci-base: adds lint tools + actionlint + checkmake.
FROM git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest FROM git.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
# Install devx[lint] from local source (adds ruff, pyright, bandit, etc.) # Install devx[lint] from local source (adds ruff, pyright, bandit, etc.)
COPY . /tmp/devx COPY . /tmp/devx
+1 -1
View File
@@ -117,7 +117,7 @@ def main() -> int:
parser.add_argument("--dry-run", action="store_true", help="List without cancelling") parser.add_argument("--dry-run", action="store_true", help="List without cancelling")
parser.add_argument( parser.add_argument(
"--base-url", "--base-url",
default=os.environ.get("GITEA_API_URL", "https://git.oblachno.oblachno.fyi"), default=os.environ.get("GITEA_API_URL", "https://git.oblachno.fyi"),
help="Gitea base URL", help="Gitea base URL",
) )
args = parser.parse_args() args = parser.parse_args()
+2 -2
View File
@@ -68,8 +68,8 @@ def _get_int(key: str, env_var: str, default: int) -> int:
# API endpoints — override via env vars for different Gitea/Vikunja instances # API endpoints — override via env vars for different Gitea/Vikunja instances
GITEA_API_URL = _get("gitea_api_url", "DEVX_GITEA_API_URL", "https://git.oblachno.oblachno.fyi/api/v1") GITEA_API_URL = _get("gitea_api_url", "DEVX_GITEA_API_URL", "https://git.oblachno.fyi/api/v1")
VIKUNJA_API_URL = _get("vikunja_api_url", "DEVX_VIKUNJA_API_URL", "https://work.oblachno.oblachno.fyi/api/v1") VIKUNJA_API_URL = _get("vikunja_api_url", "DEVX_VIKUNJA_API_URL", "https://tasks.oblachno.fyi/api/v1")
# Organization defaults — each project MUST set DEVX_REPO_OWNER explicitly. # Organization defaults — each project MUST set DEVX_REPO_OWNER explicitly.
# No default: prevents silent 404s when the wrong owner is used. # No default: prevents silent 404s when the wrong owner is used.
+4 -4
View File
@@ -35,7 +35,7 @@
# DEVX_TYPECHECK_PATHS — paths for pyright (default: empty — uses pyright config) # DEVX_TYPECHECK_PATHS — paths for pyright (default: empty — uses pyright config)
# DEVX_COV_PKG — coverage package name (default: src/devx) # DEVX_COV_PKG — coverage package name (default: src/devx)
# DEVX_TEST_PATHS — pytest paths (default: tests/) # DEVX_TEST_PATHS — pytest paths (default: tests/)
# DEVX_GITEA_PYPI_HOST — Gitea PyPI host (default: git.oblachno.oblachno.fyi) # DEVX_GITEA_PYPI_HOST — Gitea PyPI host (default: git.oblachno.fyi)
# DEVX_GITEA_PYPI_ORG — Gitea PyPI org (default: oblachno-oss) # DEVX_GITEA_PYPI_ORG — Gitea PyPI org (default: oblachno-oss)
# DEVX_ACTIONLINT_CFG — actionlint config file (default: .gitea/actionlint.yaml) # DEVX_ACTIONLINT_CFG — actionlint config file (default: .gitea/actionlint.yaml)
# DEVX_WORKFLOW_DIR — workflow directory (default: .gitea/workflows) # DEVX_WORKFLOW_DIR — workflow directory (default: .gitea/workflows)
@@ -50,7 +50,7 @@ DEVX_BIN ?= $(DEVX_VENV)/bin
DEVX_LINT_PATHS ?= src/ tests/ DEVX_LINT_PATHS ?= src/ tests/
DEVX_COV_PKG ?= src/devx DEVX_COV_PKG ?= src/devx
DEVX_TEST_PATHS ?= tests/ DEVX_TEST_PATHS ?= tests/
DEVX_GITEA_PYPI_HOST ?= git.oblachno.oblachno.fyi DEVX_GITEA_PYPI_HOST ?= git.oblachno.fyi
DEVX_GITEA_PYPI_ORG ?= oblachno-oss DEVX_GITEA_PYPI_ORG ?= oblachno-oss
DEVX_ACTIONLINT_CFG ?= .gitea/actionlint.yaml DEVX_ACTIONLINT_CFG ?= .gitea/actionlint.yaml
DEVX_WORKFLOW_DIR ?= .gitea/workflows DEVX_WORKFLOW_DIR ?= .gitea/workflows
@@ -445,11 +445,11 @@ devx-setup-image:
# ── Docker image build / push / cleanup ─────────────────────────────────────── # ── Docker image build / push / cleanup ───────────────────────────────────────
# #
# Variables: # Variables:
# DEVX_GITEA_REGISTRY — registry URL (default: git.oblachno.oblachno.fyi) # DEVX_GITEA_REGISTRY — registry URL (default: git.oblachno.fyi)
# DEVX_IMAGE_MANIFEST — path to JSON manifest (default: docker/images.json) # DEVX_IMAGE_MANIFEST — path to JSON manifest (default: docker/images.json)
# DEVX_IMAGE_OWNER — package owner for cleanup (default: oblachno-oss) # DEVX_IMAGE_OWNER — package owner for cleanup (default: oblachno-oss)
DEVX_GITEA_REGISTRY ?= git.oblachno.oblachno.fyi DEVX_GITEA_REGISTRY ?= git.oblachno.fyi
DEVX_IMAGE_MANIFEST ?= docker/images.json DEVX_IMAGE_MANIFEST ?= docker/images.json
DEVX_IMAGE_OWNER ?= oblachno-oss DEVX_IMAGE_OWNER ?= oblachno-oss
+1 -1
View File
@@ -20,7 +20,7 @@ from pathlib import Path
PLATFORMS: list[dict[str, str]] = [ PLATFORMS: list[dict[str, str]] = [
{ {
"name": "ubuntu-2604", "name": "ubuntu-2604",
"image": "git.oblachno.oblachno.fyi/oblachno/molecule-test-base:latest", "image": "git.oblachno.fyi/oblachno/molecule-test-base:latest",
"command": "sleep infinity", "command": "sleep infinity",
}, },
] ]
+1 -1
View File
@@ -22,7 +22,7 @@ Usage::
--dockerfile docker/ci-base/Dockerfile \\ --dockerfile docker/ci-base/Dockerfile \\
--tag ci-base:latest \\ --tag ci-base:latest \\
--tag ci-base:0.19.3 \\ --tag ci-base:0.19.3 \\
--registry git.oblachno.oblachno.fyi \\ --registry git.oblachno.fyi \\
--push --push
# Build multiple images (from a manifest file) # Build multiple images (from a manifest file)
+1 -1
View File
@@ -6,7 +6,7 @@ loading from environment variables. Supports required and optional modes.
Usage:: Usage::
python3 -m devx.tools.docker_login --registry git.oblachno.oblachno.fyi \\ python3 -m devx.tools.docker_login --registry git.oblachno.fyi \\
--token-env CI_GITEA_TOKEN --username-env CI_GITEA_USERNAME \\ --token-env CI_GITEA_TOKEN --username-env CI_GITEA_USERNAME \\
--default-username emil --default-username emil
+1 -1
View File
@@ -92,7 +92,7 @@ def _configure_tea_login() -> None:
click.echo("tea: Gitea API token not set — skipping login configuration.") click.echo("tea: Gitea API token not set — skipping login configuration.")
return return
api_url = os.environ.get("DEVX_GITEA_API_URL", "https://git.oblachno.oblachno.fyi/api/v1") api_url = os.environ.get("DEVX_GITEA_API_URL", "https://git.oblachno.fyi/api/v1")
gitea_url = api_url.replace("/api/v1", "") gitea_url = api_url.replace("/api/v1", "")
login_name = "devx" login_name = "devx"
+1 -1
View File
@@ -128,7 +128,7 @@ def _fallback_to_setup_ci() -> None:
) )
@click.option( @click.option(
"--gitea-host", "--gitea-host",
default="git.oblachno.oblachno.fyi", default="git.oblachno.fyi",
show_default=True, show_default=True,
help="Gitea host for the PyPI registry.", help="Gitea host for the PyPI registry.",
) )