development to main #29
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coopcloud_code/projectmycelium_marketplace!29
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "development"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Built complete hero_osis backend implementation (14 files, 4,233 lines): OsisClient: Lightweight JSON-RPC 2.0 client for hero_osis server. POST {base_url}/api/{context}/{domain}/rpc with auto error mapping. 12 trait implementations using OsisClient: - HeroProductCatalog: network/listing -> Product conversion - HeroUserAuth: identity/user auth with email-based lookup - HeroUserProfile: identity/user profile CRUD - HeroOrderManager: network/order creation + payment processing - HeroCartManager: session-local cart (same pattern as fixtures) - HeroWalletManager: stub for Phase 4 hero_ledger integration - HeroMessagingManager: communication/conversation + chatmessage - HeroSSHKeyManager: identity/sshkey CRUD with ownership checks - HeroServiceProviderManager: business/service + requests + SLAs - HeroAppProviderManager: network/app + appdeployment - HeroResourceProviderManager: network/node + farm + staking - HeroNodeRentalManager: network/noderental with cancellation ServiceProvider::hero(osis_url, context) factory method added. APP_BACKEND env var switch in main.rs: APP_BACKEND=hero -> hero_osis backend APP_BACKEND=* -> fixture backend (default, unchanged) Docker Compose: hero-osis service with profile=hero. docker compose --profile hero up to include hero_osis. cargo build --release passes with zero errors.Eliminate 6-file duplication between deploy/single-vm/ and deploy/single-vm-dev/ by merging into a single directory with per-environment config in envs/prod/ and envs/dev/. Changes: - Rewrite deploy Makefile with ENV=prod|dev required selector (no default — prevents accidental prod operations) - Move state + secrets to envs/{prod,dev}/tf/ - Move app.env + app.env.example to envs/{prod,dev}/ - Remove name default from variables.tf (passed via -var) - Add scripts/update.sh for lightweight pull + restart - Add make update/plan targets - Add hero backend section to prod app.env.example - Rewrite DEVELOPMENT_DEPLOYMENT.md for both environments - Update docs/README.md with build system section - Delete deploy/single-vm-dev/ entirely Both live TFGrid VMs verified working after migration: - prod (185.69.166.175): make info/test/plan ENV=prod OK - dev (185.69.166.176): make info/test/plan/update ENV=dev OK- Smoke test: 4 new checks (API status, can_afford=true, can_afford=false, shortfall_info) - Playwright: 3 new tests (afford true, afford false with shortfall fields, missing param 400) - All assertions unwrap {success, data} envelope correctly - Total: 36 smoke tests, 32 Playwright E2E tests passingThe checkout page doesn't extend base.html, so window.BASE_PATH was never set. This caused apiJson('/api/orders') to resolve against the host root instead of the subpath, resulting in 404 and 'Request failed' on Complete Order.- OSIS Node type silently drops unknown fields like staking_options - Store staking data in KVS namespace 'marketplace.staking' with key 'node:{SID}' - Load staking data from KVS in get_nodes() after fetching node objects - Seed script uses kvs_set instead of nested TOML tables for staking