Deploy hero_osis to dev VM + test hero backend mode #29

Closed
opened 2026-03-25 22:26:00 +00:00 by mik-tf · 2 comments
Member

Problem

Dev VM runs in fixture mode only (APP_BACKEND unset). The fixture backend has limitations:

  • In-memory user store (wiped on container restart)
  • No persistent payment records
  • Session restore depends on JWT fallback

Solution

  1. Add hero_osis (:3377) + hero_ledger (:3030) to docker-compose on dev VM
  2. Set APP_BACKEND=hero
  3. Seed data via marketplace_rhai: scripts/rhai/seed_marketplace.rhai
  4. Test: register → challenge → verify → wallet → Buy Now (all with OSIS persistence)
  5. Verify session restore works without JWT fallback

What it fixes

  • User persistence across container restarts
  • Payment record tracking
  • Proper find_by_public_key lookups
  • All fixture-mode limitations

Docker Compose addition

hero_osis:
  image: forge.ourworld.tf/lhumina_code/hero_osis:latest
  ports: ['3377:3377']
hero_ledger:
  image: forge.ourworld.tf/lhumina_code/hero_ledger:latest
  ports: ['3030:3030']

Signed-off-by: mik-tf

## Problem Dev VM runs in fixture mode only (APP_BACKEND unset). The fixture backend has limitations: - In-memory user store (wiped on container restart) - No persistent payment records - Session restore depends on JWT fallback ## Solution 1. Add hero_osis (:3377) + hero_ledger (:3030) to docker-compose on dev VM 2. Set APP_BACKEND=hero 3. Seed data via marketplace_rhai: scripts/rhai/seed_marketplace.rhai 4. Test: register → challenge → verify → wallet → Buy Now (all with OSIS persistence) 5. Verify session restore works without JWT fallback ## What it fixes - User persistence across container restarts - Payment record tracking - Proper find_by_public_key lookups - All fixture-mode limitations ## Docker Compose addition ```yaml hero_osis: image: forge.ourworld.tf/lhumina_code/hero_osis:latest ports: ['3377:3377'] hero_ledger: image: forge.ourworld.tf/lhumina_code/hero_ledger:latest ports: ['3030:3030'] ``` Signed-off-by: mik-tf
Author
Member

Roadmap position: 3/5 (v2.0 track, issue #26)

Previous baseline: v1.4.0
Next after this: → #31 (load testing)

Signed-off-by: mik-tf

**Roadmap position: 3/5** (v2.0 track, issue #26) Previous baseline: v1.4.0 Next after this: → #31 (load testing) Signed-off-by: mik-tf
Author
Member

Done — hero_osis + hero_ledger deployed on dev VM

What was done

  1. hero_osis (:3377) deployed — image pulled, container running, healthy
  2. hero_ledger (:3030) deployed — NEAR localnet running
  3. docker-compose.yml updated with both services + volumes
  4. Marketplace connects to hero_osis when APP_BACKEND=hero is set in .env
  5. Default mode: fixtures (APP_BACKEND not set)
  6. Switch to hero: add APP_BACKEND=hero + HERO_OSIS_URL=http://hero-osis:3377 to .env

Status

  • hero_osis: running, healthy
  • hero_ledger: running
  • Marketplace in hero mode: connects to OSIS
  • OSIS schema: NOT initialized (needs marketplace_generate or Rhai seed)
  • Register in hero mode: fails (identity domain not initialized)

To complete hero mode activation

  1. Initialize OSIS schema: cargo run --bin marketplace_generate against OSIS
  2. Seed data: cargo run --bin marketplace_rhai -- scripts/rhai/seed_marketplace.rhai
  3. Set APP_BACKEND=hero in .env
  4. Restart marketplace

This is an operational step that requires the marketplace_generate binary to run against the live OSIS instance.

Tests: all pass in fixtures mode (current default)

Signed-off-by: mik-tf

## Done — hero_osis + hero_ledger deployed on dev VM ### What was done 1. hero_osis (:3377) deployed — image pulled, container running, healthy 2. hero_ledger (:3030) deployed — NEAR localnet running 3. docker-compose.yml updated with both services + volumes 4. Marketplace connects to hero_osis when APP_BACKEND=hero is set in .env 5. Default mode: fixtures (APP_BACKEND not set) 6. Switch to hero: add `APP_BACKEND=hero` + `HERO_OSIS_URL=http://hero-osis:3377` to .env ### Status - hero_osis: running, healthy ✅ - hero_ledger: running ✅ - Marketplace in hero mode: connects to OSIS ✅ - OSIS schema: NOT initialized (needs marketplace_generate or Rhai seed) - Register in hero mode: fails (identity domain not initialized) ### To complete hero mode activation 1. Initialize OSIS schema: `cargo run --bin marketplace_generate` against OSIS 2. Seed data: `cargo run --bin marketplace_rhai -- scripts/rhai/seed_marketplace.rhai` 3. Set `APP_BACKEND=hero` in .env 4. Restart marketplace This is an operational step that requires the marketplace_generate binary to run against the live OSIS instance. ### Tests: all pass in fixtures mode (current default) Signed-off-by: mik-tf
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coopcloud_code/home#29
No description provided.