Deeman 2fff895a73 Simplify supervisor architecture and automate bootstrap
- Simplify supervisor.sh following TigerBeetle pattern
  - Remove complex functions, use simple while loop
  - Add || sleep 600 for resilience against crashes
  - Use git switch --discard-changes for clean updates
  - Run pipelines every hour (SQLMesh handles scheduling)
  - Use POSIX sh instead of bash

- Remove /repo subdirectory nesting
  - Repository clones directly to /opt/materia
  - Simpler paths throughout

- Move systemd service to repo
  - Bootstrap copies from repo instead of hardcoding
  - Service can be updated via git pull

- Automate bootstrap in CI/CD
  - deploy:supervisor now auto-bootstraps on first deploy
  - Waits for SSH to be ready (retry loop)
  - Injects secrets via SSH environment
  - Idempotent: detects if already bootstrapped

Result: Push to master and supervisor "just works"

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-13 21:17:12 +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%