From e82ace6de3c0fde1a430931f8e10b6eeefb7bab7 Mon Sep 17 00:00:00 2001 From: Bastian de Byl Date: Sat, 6 Jun 2026 00:23:07 -0400 Subject: [PATCH] fulfillr-dev: staging back-office container + Turso store prep Add a second go-fulfillr container (fulfillr-dev) wired to the staging Turso store + EasyPost/Stripe test keys via dev.json, served at fulfillr-dev.debyltech.com (Caddy -> :9055), LAN-restricted like prod. - fulfillr-dev.yml + dev.json.j2: the staging container, volumes, config - defaults: fulfillr_dev_* vars; prod store URL stubbed off until cutover - Caddyfile + caddy.yml: fulfillr-dev site block and static mount - awsddns.yml: Route53 DDNS for the fulfillr-dev hostname - production.json.j2: add store_database_url/store_auth, rename stripe key var to fulfillr_stripe_api_key - vault.yml: dev + store/stripe secrets Co-Authored-By: Claude Opus 4.8 (1M context) --- ansible/roles/podman/defaults/main.yml | 12 ++++ .../podman/tasks/containers/base/awsddns.yml | 29 ++++++++ .../podman/tasks/containers/base/caddy.yml | 1 + .../containers/debyltech/fulfillr-dev.yml | 67 ++++++++++++++++++ .../roles/podman/templates/caddy/Caddyfile.j2 | 47 ++++++++++++ .../podman/templates/fulfillr/dev.json.j2 | 48 +++++++++++++ .../templates/fulfillr/production.json.j2 | 4 +- ansible/vars/vault.yml | Bin 23899 -> 27787 bytes 8 files changed, 207 insertions(+), 1 deletion(-) create mode 100644 ansible/roles/podman/tasks/containers/debyltech/fulfillr-dev.yml create mode 100644 ansible/roles/podman/templates/fulfillr/dev.json.j2 diff --git a/ansible/roles/podman/defaults/main.yml b/ansible/roles/podman/defaults/main.yml index 011c388..cfd1e54 100644 --- a/ansible/roles/podman/defaults/main.yml +++ b/ansible/roles/podman/defaults/main.yml @@ -9,6 +9,18 @@ factorio_path: "{{ podman_volumes }}/factorio" fulfillr_path: "{{ podman_volumes }}/fulfillr" fulfillr_cases_table: "debyltech-cases-prod" fulfillr_tickets_table: "debyltech-tickets-prod" +# Turso ecommerce store (self-hosted checkout). +# PROD store is OFF until cutover (empty URL -> store routes not registered). At +# cutover set this to libsql://debyltech-store-prod-debyltech.aws-us-east-1.turso.io +# and add `fulfillr_store_auth_token` (prod RW token) to the vault. +fulfillr_store_database_url: "" +fulfillr_store_auth_token: "" +# Staging back-office (fulfillr-dev.debyltech.com, port 9055) -> staging Turso store. +# Its RW token is `fulfillr_dev_store_auth_token` and EasyPost test key is +# `fulfillr_dev_easypost_api_key`, both in the encrypted vault. +fulfillr_dev_path: "{{ podman_volumes }}/fulfillr-dev" +fulfillr_dev_server_name: fulfillr-dev.debyltech.com +fulfillr_dev_store_database_url: "libsql://debyltech-store-staging-debyltech.aws-us-east-1.turso.io" gregtime_path: "{{ podman_volumes }}/gregtime" searxng_path: "{{ podman_volumes }}/searxng" hass_path: "{{ podman_volumes }}/hass" diff --git a/ansible/roles/podman/tasks/containers/base/awsddns.yml b/ansible/roles/podman/tasks/containers/base/awsddns.yml index 146340f..4970b0f 100644 --- a/ansible/roles/podman/tasks/containers/base/awsddns.yml +++ b/ansible/roles/podman/tasks/containers/base/awsddns.yml @@ -80,6 +80,35 @@ vars: container_name: awsddns-fulfillr +- import_tasks: podman/podman-check.yml + vars: + container_name: awsddns-fulfillr-dev + container_image: "{{ image }}" + +# Staging back-office DNS — same Route53 zone + creds as prod fulfillr, just a +# different hostname (-> same host IP; Caddy routes both by Host header). +- name: create fulfillr-dev.debyltech.com awsddns server container + become: true + become_user: "{{ podman_user }}" + diff: false + containers.podman.podman_container: + name: awsddns-fulfillr-dev + image: "{{ image }}" + restart_policy: on-failure:3 + log_driver: journald + env: + AWS_ZONE_TTL: 60 + AWS_ZONE_ID: "{{ fulfillr_zone_id }}" + AWS_ZONE_HOSTNAME: "{{ fulfillr_dev_server_name }}" + AWS_ACCESS_KEY_ID: "{{ fulfillr_dns_access_key }}" + AWS_SECRET_ACCESS_KEY: "{{ fulfillr_dns_secret_key }}" + AWS_DEFAULT_REGION: "{{ fulfillr_region }}" + +- name: create systemd startup job for awsddns-fulfillr-dev + include_tasks: podman/systemd-generate.yml + vars: + container_name: awsddns-fulfillr-dev + - import_tasks: podman/podman-check.yml vars: container_name: awsddns-debyl diff --git a/ansible/roles/podman/tasks/containers/base/caddy.yml b/ansible/roles/podman/tasks/containers/base/caddy.yml index 2b7981f..51878a8 100644 --- a/ansible/roles/podman/tasks/containers/base/caddy.yml +++ b/ansible/roles/podman/tasks/containers/base/caddy.yml @@ -25,6 +25,7 @@ # Legacy volume mounts removed - Caddy manages certificates automatically # Mount static site directories - "/usr/local/share/fulfillr-site:/usr/local/share/fulfillr-site:ro" + - "/usr/local/share/fulfillr-site-dev:/usr/local/share/fulfillr-site-dev:ro" - "/usr/local/share/test-site:/srv/test-site:ro" env: CADDY_ADMIN: "0.0.0.0:2019" diff --git a/ansible/roles/podman/tasks/containers/debyltech/fulfillr-dev.yml b/ansible/roles/podman/tasks/containers/debyltech/fulfillr-dev.yml new file mode 100644 index 0000000..d009108 --- /dev/null +++ b/ansible/roles/podman/tasks/containers/debyltech/fulfillr-dev.yml @@ -0,0 +1,67 @@ +--- +# Staging back-office: a second go-fulfillr container (same image as prod) wired to +# the STAGING Turso store + EasyPost test key via dev.json. Served at +# fulfillr-dev.debyltech.com (Caddy -> :9055), LAN-restricted like prod. +- import_tasks: gitea/podman-gitea-login.yml + +- name: create nginx fulfillr-site-dev directory + become: true + ansible.builtin.file: + path: /usr/local/share/fulfillr-site-dev + state: directory + owner: "fedora" + group: "wheel" + mode: 0755 + +- name: create fulfillr-dev host directory volumes + become: true + ansible.builtin.file: + path: "{{ item }}" + state: directory + owner: "{{ podman_user }}" + group: "{{ podman_user }}" + mode: 0755 + notify: restorecon podman + loop: + - "{{ fulfillr_dev_path }}" + +- name: template fulfillr-dev config + become: true + ansible.builtin.template: + src: "templates/fulfillr/{{ item }}.j2" + dest: "{{ fulfillr_dev_path }}/{{ item }}" + owner: "{{ podman_user }}" + group: "{{ podman_user }}" + mode: 0644 + loop: + - dev.json + notify: + - restorecon podman + +- name: flush handlers + ansible.builtin.meta: flush_handlers + +- import_tasks: podman/podman-check.yml + vars: + container_name: fulfillr-dev + container_image: "{{ image }}" + +- name: create fulfillr-dev server container + become: true + become_user: "{{ podman_user }}" + containers.podman.podman_container: + name: fulfillr-dev + image: "{{ image }}" + image_strict: true + command: --config /config/dev.json + restart_policy: on-failure:3 + log_driver: journald + volumes: + - "{{ fulfillr_dev_path }}:/config" + ports: + - 9055:8080/tcp + +- name: create systemd startup job for fulfillr-dev + include_tasks: podman/systemd-generate.yml + vars: + container_name: fulfillr-dev diff --git a/ansible/roles/podman/templates/caddy/Caddyfile.j2 b/ansible/roles/podman/templates/caddy/Caddyfile.j2 index 7161dac..048696f 100644 --- a/ansible/roles/podman/templates/caddy/Caddyfile.j2 +++ b/ansible/roles/podman/templates/caddy/Caddyfile.j2 @@ -389,6 +389,53 @@ } } +# Fulfillr DEV/staging - {{ fulfillr_dev_server_name }} (Static + API with IP restrictions) +{{ fulfillr_dev_server_name }} { +{{ ip_restricted_site() }} + + @api { + path /api/* + } + + # Handle API requests with CORS for local development + handle @api { + header { + Access-Control-Allow-Origin "*" + Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" + Access-Control-Allow-Headers "Content-Type, Authorization, X-Requested-With" + Access-Control-Allow-Credentials "true" + } + + # Handle preflight requests + @options { + method OPTIONS + } + handle @options { + respond "" 204 + } + + reverse_proxy localhost:9055 + } + + # Serve static files with SPA fallback + handle { + root * /usr/local/share/fulfillr-site-dev + try_files {path} {path}/ /index.html + file_server + } + + header { + Strict-Transport-Security "max-age=31536000; includeSubDomains" + X-Content-Type-Options "nosniff" + Referrer-Policy "same-origin" + } + + log { + output file /var/log/caddy/fulfillr-dev.log + format json + } +} + # ============================================================================ # TEST/STAGING SITES # ============================================================================ diff --git a/ansible/roles/podman/templates/fulfillr/dev.json.j2 b/ansible/roles/podman/templates/fulfillr/dev.json.j2 new file mode 100644 index 0000000..e839704 --- /dev/null +++ b/ansible/roles/podman/templates/fulfillr/dev.json.j2 @@ -0,0 +1,48 @@ +{# Staging back-office config (fulfillr-dev). Isolated dev tier: + - ecommerce store -> STAGING Turso (fulfillr_dev_store_*) + - EasyPost + Stripe -> TEST keys (fulfillr_dev_easypost_api_key / fulfillr_dev_stripe_api_key) + - AWS -> FulfillrAPI-Dev key (fulfillr_dev_access_key/secret_key), scoped to the -dev + DynamoDB tables + debyltech.reviewr.dev. Snipcart key + outreach HMAC secret are + reused read-only. Never touches prod data or live payment APIs. #} +{ + "snipcart_api_key": "{{ snipcart_api_key }}", + "easypost_api_key": "{{ fulfillr_dev_easypost_api_key }}", + "stripe_api_key": "{{ fulfillr_dev_stripe_api_key }}", + "backinstock_table": "debyltech-backinstock-dev", + "cases_table": "debyltech-cases-dev", + "tickets_table": "debyltech-tickets-dev", + "store_database_url": "{{ fulfillr_dev_store_database_url }}", + "store_auth_token": "{{ fulfillr_dev_store_auth_token }}", + "aws": { + "access_key": "{{ fulfillr_dev_access_key }}", + "secret_key": "{{ fulfillr_dev_secret_key }}", + "region": "{{ fulfillr_region }}", + "bucket": "debyltech.reviewr.dev" + }, + "tax": { + "ein": "{{ fulfillr_tax_ein }}", + "ioss": null + }, + "sender_address": { + "city": "Newbury", + "country": "US", + "email": "sales@debyltech.com", + "name": "de Byl Technologies LLC", + "phone": "6034160859", + "state": "NH", + "street1": "976 Route 103", + "street2": "Unit 95", + "zip": "03255" + }, + "outreach": { + "outreach_table": "debyltech-outreach-dev", + "unsubscribe_table": "debyltech-unsubscribe-dev", + "email_log_table": "debyltech-email-log-dev", + "reviews_table": "debyltech-reviews-dev", + "hmac_secret_arn": "{{ fulfillr_hmac_arn }}", + "ses_from_email": "noreply@debyltech.com", + "ses_reply_to": "support@debyltech.com", + "ses_region": "us-east-1", + "base_url": "https://debyltech.com" + } +} diff --git a/ansible/roles/podman/templates/fulfillr/production.json.j2 b/ansible/roles/podman/templates/fulfillr/production.json.j2 index 5cbae00..d4ed0cb 100644 --- a/ansible/roles/podman/templates/fulfillr/production.json.j2 +++ b/ansible/roles/podman/templates/fulfillr/production.json.j2 @@ -1,10 +1,12 @@ { "snipcart_api_key": "{{ snipcart_api_key }}", "easypost_api_key": "{{ easypost_api_key }}", - "stripe_api_key": "{{ stripe_api_key }}", + "stripe_api_key": "{{ fulfillr_stripe_api_key }}", "backinstock_table": "{{ fulfillr_backinstock_table }}", "cases_table": "{{ fulfillr_cases_table }}", "tickets_table": "{{ fulfillr_tickets_table }}", + "store_database_url": "{{ fulfillr_store_database_url }}", + "store_auth_token": "{{ fulfillr_store_auth_token }}", "aws": { "access_key": "{{ fulfillr_access_key }}", "secret_key": "{{ fulfillr_secret_key }}", diff --git a/ansible/vars/vault.yml b/ansible/vars/vault.yml index b17760f8bab05a1f76e8aaeab25ad4605fae2103..b0bf750bc804b80458c25b82fda9d33216e6f17d 100644 GIT binary patch literal 27787 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