Repository & config map

Source locations and safe configuration

Last verified 8 August 2026 · source-backed

This map helps an operator find the code that owns behavior. Paths describe the current server layout and must not be treated as portable secrets.

Repositories

RepositoryLocationImportant areas
Mivama Portal/home/frappe/mivama-portalapp pages/API, components/portal, lib/session and Portal helpers
Mivama Core/home/frappe/frappe/frappe-bench/apps/mivama_coreAPI, DocTypes, provisioning, runner, Ansible, migration runtime, legal and email
AI Studio/home/frappe/websitebuilder.wiaryle.combuilder web, worker, contracts, database, workspace, WordPress, deployment and Codex runner
Documentation/var/www/docs.wiaryle.comapp, components, lib and content/docs
Mivama UI/var/www/mivama-uiComplete shared UI source, registry, Storybook stories, tokens and tests

Portal ownership map

  • Authentication: app/api/auth and lib/session.ts
  • BFF: app/api/portal and lib/portal-api.ts
  • Hosting/onboarding: Portal hosting pages/components and hosting API routes
  • Billing/subscriptions: subscription components and checkout/manage API routes
  • Profile/i18n/theme: ProfileSettingsContent and portal i18n
  • Legal dialogs/pages: Portal legal components and API routes

Mivama Core ownership map

  • Stable Portal API surface: mivama_core/api/portal.py
  • Domain APIs: mivama_core/api/portal*.py
  • Commercial webhook/accounting: _portal_stripe.py and _portal_billing.py
  • Desired state and jobs: mivama_core/provisioning
  • Root runner source: mivama_core/runner
  • Playbooks/roles: mivama_core/ansible
  • Migration services: mivama_core/migration_runtime
  • Legal source documents: legal_documents/de
  • Email: email_layout.py, email_events.py, user_events.py and templates
  • Schedules and doc hooks: hooks.py
  • Schema upgrades: patches.txt and mivama_core/patches

Studio ownership map

  • Customer UI/API: apps/builder
  • Privileged execution: apps/worker
  • State and job types: packages/contracts
  • Persistence: packages/database
  • Workspace copies/sync: packages/workspace and packages/wordpress
  • Safe live release/rollback: packages/deployment
  • Codex account/tasks: packages/codex-runner
  • Internal hosting archive: apps/builder internal workspace archive route

Configuration categories

Frappe site config contains URL and secret key names for Portal, Stripe, hosting runner, Studio, migration runtime, ACME, retention and accounting. systemd EnvironmentFile entries hold runtime secrets for root workers. Nginx files hold public host/upstream mapping. Per-tenant secrets live below controlled tenant paths.

When adding configuration:

  1. choose the owning component;
  2. document the key name and purpose, never its value;
  3. fail closed when a security-critical key is absent;
  4. validate URLs, HTTPS requirements and numeric ranges;
  5. restart only consumers that read the key at process start;
  6. update this handbook and legal/security records when behavior changes.

Documentation maintenance

Update docs in the same change that modifies a cross-service flow. Mark the verification date, link real source modules and update Mermaid state/sequence diagrams. Avoid promising behavior that is not enforced in code.

Mivama UI is displayed directly from its generated Storybook at /ui/. Its sync source is origin/main, and the deployed revision is the basename of /var/www/mivama-ui-storybook/current. The automatic sync units and script are mirrored in this repository under ops.