Deeman 558829f70b Refactor to git-based deployment: simplify CI/CD and supervisor
Addresses GitLab PR comments:
1. Remove hardcoded secrets from Pulumi.prod.yaml, use ESC environment
2. Simplify deployment by using git pull instead of R2 artifacts
3. Add bootstrap script for one-time supervisor setup

Major changes:
- **Pulumi config**: Use ESC environment (beanflows/prod) for all secrets
- **Supervisor script**: Git-based deployment (git pull every 15 min)
  * No more artifact downloads from R2
  * Runs code directly via `uv run materia`
  * Self-updating from master branch
- **Bootstrap script**: New infra/bootstrap_supervisor.sh for initial setup
  * One-time script to clone repo and setup systemd service
  * Idempotent and simple
- **CI/CD simplification**: Remove build and R2 deployment stages
  * Eliminated build:extract, build:transform, build:cli jobs
  * Eliminated deploy:r2 job
  * Simplified deploy:supervisor to just check bootstrap status
  * Reduced from 4 stages to 3 stages (Lint → Test → Deploy)
- **Documentation**: Updated CLAUDE.md with new architecture
  * Git-based deployment flow
  * Bootstrap instructions
  * Simplified execution model

Benefits:
-  No hardcoded secrets in config files
-  Simpler deployment (no artifact builds)
-  Easy to test locally (just git clone + uv sync)
-  Auto-updates every 15 minutes
-  Fewer CI/CD jobs (faster pipelines)
-  Cleaner separation of concerns

Inspired by TigerBeetle's CFO supervisor pattern.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-13 20:31:38 +02:00
2025-10-12 21:44:56 +02:00
2025-08-01 14:52:55 +00:00
2025-10-12 21:44:56 +02:00
2025-10-12 21:44:56 +02:00
2025-07-27 15:41:34 +02:00
2025-03-01 18:34:01 +01:00
2025-03-01 18:11:57 +01:00
2025-04-01 18:33:40 +02:00
2025-07-08 22:41:59 +02:00
2025-04-01 20:26:45 +02:00
2025-10-12 21:44:56 +02:00
2025-04-01 18:14:57 +02:00
2025-10-12 21:05:21 +02:00
2025-10-12 14:26:55 +02:00

Materia Environment Setup

We use uv as our Python package manager for faster, more reliable dependency management. https://docs.astral.sh/uv/

We recommend using vscode as your IDE. https://code.visualstudio.com/

1. Install UV

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Setup the env

Simply run:

uv sync

This will install python & the dependencies declared so far

3. Setup pre-commit

pre-commit install

4. Adding a dependency

uv add requests

Managing a project with uv

https://docs.astral.sh/uv/guides/projects/#managing-dependencies

test

Description
No description provided
Readme 3.5 MiB
Languages
Python 50.8%
HTML 33.7%
Jupyter Notebook 8.3%
Shell 3.6%
CSS 2.9%
Other 0.7%