rustango 0.27.6

Django-shaped batteries-included web framework for Rust: ORM + migrations + auto-admin + multi-tenancy + audit log + auth (sessions, JWT, OAuth2/OIDC, HMAC) + APIs (ViewSet, OpenAPI auto-derive, JSON:API) + jobs (in-mem + Postgres) + email + media (S3 / R2 / B2 / MinIO + presigned uploads + collections + tags) + production middleware (CSRF, CSP, rate-limiting, compression, idempotency, etc.).
Documentation
{% extends "op_layout.html" %}
{% block title %}Welcome — {{ brand_name | default(value='rustango operator console') }}{% endblock %}
{% block content %}
<style>
  .welcome { max-width: 720px; margin: var(--space-4) auto; text-align: center; }
  .welcome img { max-width: 480px; width: 100%; height: auto; margin: var(--space-4) 0 var(--space-6); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
  .welcome p { color: var(--color-fg-muted); }
  .welcome ul { text-align: left; display: inline-block; line-height: 1.8; }
  .welcome ul code { font-size: 0.95em; }
</style>
<div class="welcome">
  <img src="{{ brand_logo_url | default(value='/__static__/rustango.png') }}" alt="{{ brand_name | default(value='rustango') }}">
  <h1>Welcome, {{ operator_username }}</h1>
  <p>This is the {{ brand_name | default(value='rustango') }} operator console. From here you manage the registry —
  the source of truth for every tenant in your deployment.</p>
  <ul>
    <li>Click <strong>Operators</strong> to browse main-system administrators.</li>
    <li>Click <strong>Organizations</strong> to see every tenant the registry knows about.</li>
    <li>Day-to-day tenant lifecycle (create, drop, list, migrate) lives in the
        <code>manage</code> CLI — see <code>cargo run -- --help</code>.</li>
  </ul>
</div>
{% endblock %}