Commit Graph

15 Commits

Author SHA1 Message Date
gilesb
8159627651 fix: use env_file for all server config
- Move ARTDAG_DOMAIN, ARTDAG_USER, ARTDAG_L1, JWT_SECRET to .env
- Update docker-stack.yml L1 config to use env_file
- Add .env.example with all required variables

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 19:31:02 +00:00
gilesb
0edea7b91b feat: add publish-cache and update asset endpoints
- Add POST /registry/publish-cache for publishing cache items with metadata
- Requires origin (self or external URL) for publishing
- Add PATCH /registry/{name} for updating existing assets
- Update activities now created when assets are modified
- Ownership check ensures only asset owner can update
- Origin info included in ActivityPub objects (generator/source)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 19:04:52 +00:00
gilesb
9a0e77a852 feat: require auth for registry endpoints and track asset ownership
- Add authentication to /registry endpoint
- Add authentication to /registry/record-run endpoint
- Extract register logic to _register_asset_impl helper
- Store owner username in registered assets
- Use authenticated user for ActivityPub actor ID in activities

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 17:25:59 +00:00
giles
d4ae129b3a deploy 2026-01-07 17:16:05 +00:00
gilesb
95e2bb9a39 fix: use bcrypt directly instead of passlib 2026-01-07 16:00:22 +00:00
gilesb
290cb9cadc fix: disable bcrypt truncate error 2026-01-07 15:53:46 +00:00
gilesb
bfb94764e6 fix: truncate password to 72 bytes for bcrypt 2026-01-07 15:45:50 +00:00
giles
bee3f0372b Merge branch 'main' of https://git.rose-ash.com/art-dag/activity-pub 2026-01-07 15:42:17 +00:00
giles
51c86878af feat: add JWT secret via env_file, gitignore .env 2026-01-07 15:41:59 +00:00
gilesb
d83510f24b feat: add HTMX web UI with login/register forms
- Home page showing README and stats
- Login/register forms with HTMX
- Registry and activities pages
- Cookie-based auth for web UI
- JWT secret from Docker secrets (/run/secrets/jwt_secret)
- Updated README with secret generation instructions

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 15:37:35 +00:00
gilesb
a2190801e8 feat: add user registration and JWT authentication
- POST /auth/register - create account
- POST /auth/login - get JWT token
- GET /auth/me - get current user
- POST /auth/verify - verify token (for L1)
- Password hashing with bcrypt
- 30-day JWT tokens

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 14:43:14 +00:00
gilesb
dec5266554 feat: RSA key management for ActivityPub signing
- keys.py: Generate/load RSA-2048 keypairs, sign activities
- setup_keys.py: CLI to generate keys
- Real RsaSignature2017 signing (falls back to placeholder if no keys)
- Public key included in actor profile
- Private keys gitignored

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 13:51:58 +00:00
giles
acaf3a0ffa refactor: standalone docker-compose for L2 activitypub stack 2026-01-07 13:39:19 +00:00
gilesb
be23488204 feat: Docker support for L2 server
- Dockerfile for L2 ActivityPub server
- docker-compose.yml for standalone L2
- docker-stack.yml for full swarm deployment (L1+L2+Redis)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 12:04:58 +00:00
gilesb
da55bda1a5 feat: L2 ActivityPub server
- Registry for owned assets
- ActivityPub endpoints (webfinger, actor, inbox, outbox)
- Create activities with signatures
- Record L1 runs as owned assets with provenance
- Federation support (followers, inbox)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 11:32:43 +00:00