Directories
¶
| Path | Synopsis |
|---|---|
|
Package acme issues TLS certificates via ACME DNS-01, backed by go-acme/lego.
|
Package acme issues TLS certificates via ACME DNS-01, backed by go-acme/lego. |
|
Package cron is a generic recurring-task scheduler over robfig/cron.
|
Package cron is a generic recurring-task scheduler over robfig/cron. |
|
Package declarative is the shared declarative resource model for Miabi.
|
Package declarative is the shared declarative resource model for Miabi. |
|
Package dns abstracts a managed DNS host behind one small Provider interface, backed by libdns modules (Cloudflare, Route 53, DigitalOcean).
|
Package dns abstracts a managed DNS host behind one small Provider interface, backed by libdns modules (Cloudflare, Route 53, DigitalOcean). |
|
Package docker is the sole adapter over the Docker Engine SDK.
|
Package docker is the sole adapter over the Docker Engine SDK. |
|
Package dotenv parses .env-style KEY=VALUE text into ordered pairs, for bulk importing application and stack environment variables.
|
Package dotenv parses .env-style KEY=VALUE text into ordered pairs, for bulk importing application and stack environment variables. |
|
Package hostmount defines the fixed, allow-listed set of host bind mounts a privileged workspace may attach to a container.
|
Package hostmount defines the fixed, allow-listed set of host bind mounts a privileged workspace may attach to a container. |
|
Package hoststats reads real host CPU and memory usage from a procfs directory.
|
Package hoststats reads real host CPU and memory usage from a procfs directory. |
|
Package logstore is the shared store for execution logs (deployments, pipeline steps, jobs, …).
|
Package logstore is the shared store for execution logs (deployments, pipeline steps, jobs, …). |
|
Package metrics exposes Prometheus collectors and the /metrics handler.
|
Package metrics exposes Prometheus collectors and the /metrics handler. |
|
Package middlewares holds HTTP middleware: authentication, workspace scoping, and role-based access control.
|
Package middlewares holds HTTP middleware: authentication, workspace scoping, and role-based access control. |
|
Package mwcatalog is the single source of truth for the curated Goma middleware types Miabi exposes as security policies.
|
Package mwcatalog is the single source of truth for the curated Goma middleware types Miabi exposes as security policies. |
|
Package netguard provides SSRF-resistant HTTP clients for outbound requests to user-supplied URLs (webhooks).
|
Package netguard provides SSRF-resistant HTTP clients for outbound requests to user-supplied URLs (webhooks). |
|
Package nodes manages the control plane's view of cluster nodes: the per-node Docker client registry and the agent connection manager.
|
Package nodes manages the control plane's view of cluster nodes: the per-node Docker client registry and the agent connection manager. |
|
Package proxy abstracts the reverse proxy / gateway (Goma Gateway).
|
Package proxy abstracts the reverse proxy / gateway (Goma Gateway). |
|
Package runners maintains the live tunnels of connected build/pipeline runners.
|
Package runners maintains the live tunnels of connected build/pipeline runners. |
|
Package selfcontainer detects the Docker container ID of the running process, so Miabi can recognise its own container and refuse to stop or delete it from the admin containers list — which would take the platform offline.
|
Package selfcontainer detects the Docker container ID of the running process, so Miabi can recognise its own container and refuse to stop or delete it from the admin containers list — which would take the platform offline. |
|
services
|
|
|
account
Package account orchestrates account-wide actions across a user's owned workspaces: stopping every app/database when an account is disabled, and cascade-deleting all of a user's data when the account is removed.
|
Package account orchestrates account-wide actions across a user's owned workspaces: stopping every app/database when an account is disabled, and cascade-deleting all of a user's data when the account is removed. |
|
alerting
Package alerting turns the platform's signal stream (app events today; metrics, jobs, cert/DNS, nodes later) into a small set of deduplicated, lifecycle-managed alerts, and fans them out to per-user notifications.
|
Package alerting turns the platform's signal stream (app events today; metrics, jobs, cert/DNS, nodes later) into a small set of deduplicated, lifecycle-managed alerts, and fans them out to per-user notifications. |
|
analytics
Package analytics turns Goma Gateway's per-request event stream into minute-bucketed rollups (models.AnalyticsRollup) and answers the Traffic, Performance and Web Analytics queries over them.
|
Package analytics turns Goma Gateway's per-request event stream into minute-bucketed rollups (models.AnalyticsRollup) and answers the Traffic, Performance and Web Analytics queries over them. |
|
application
Package application manages applications, their config, and deployments.
|
Package application manages applications, their config, and deployments. |
|
apply
Package apply is the imperative, one-shot sibling of GitOps.
|
Package apply is the imperative, one-shot sibling of GitOps. |
|
audit
Package audit writes append-only audit-log entries for mutating actions.
|
Package audit writes append-only audit-log entries for mutating actions. |
|
auth
Package auth handles user authentication: password hashing, JWT issuance with revocable sessions, and password resets.
|
Package auth handles user authentication: password hashing, JWT issuance with revocable sessions, and password resets. |
|
backup
Package backup runs database backups and restores using the ecosystem pg-bkup / mysql-bkup tools as one-shot containers, to a per-workspace backup volume (local) or an S3-compatible bucket.
|
Package backup runs database backups and restores using the ecosystem pg-bkup / mysql-bkup tools as one-shot containers, to a per-workspace backup volume (local) or an S3-compatible bucket. |
|
backupsettings
Package backupsettings manages a workspace's shared S3 backup target: the single bucket + credentials and the database/volume path prefixes that both database and volume backups draw from.
|
Package backupsettings manages a workspace's shared S3 backup target: the single bucket + credentials and the database/volume path prefixes that both database and volume backups draw from. |
|
certificate
Package certificate manages workspace-scoped imported TLS certificates (bring-your-own; ACME is handled by Goma).
|
Package certificate manages workspace-scoped imported TLS certificates (bring-your-own; ACME is handled by Goma). |
|
cluster
Package cluster auto-detects whether the manager's Docker engine is in swarm mode and, when it is, drives Docker Swarm as the internal implementation of Miabi's optional cluster mode.
|
Package cluster auto-detects whether the manager's Docker engine is in swarm mode and, when it is, drives Docker Swarm as the internal implementation of Miabi's optional cluster mode. |
|
crypto
Package crypto provides AES-GCM encryption for secrets stored at rest.
|
Package crypto provides AES-GCM encryption for secrets stored at rest. |
|
customrole
Package customrole manages admin-defined roles (permission sets) and enforces the cardinal RBAC rule: no privilege escalation.
|
Package customrole manages admin-defined roles (permission sets) and enforces the cardinal RBAC rule: no privilege escalation. |
|
database
Package database provisions database server instances (PostgreSQL, MySQL, MariaDB, Redis) as containers and manages the logical databases they host, so a single instance can back many apps instead of one container per database.
|
Package database provisions database server instances (PostgreSQL, MySQL, MariaDB, Redis) as containers and manages the logical databases they host, so a single instance can back many apps instead of one container per database. |
|
dbupgrade
Package dbupgrade adapts the application and backup services to the small interfaces the database version-upgrade orchestration depends on, so both the API server and the worker can wire them without the database package importing application/backup (which would cycle).
|
Package dbupgrade adapts the application and backup services to the small interfaces the database version-upgrade orchestration depends on, so both the API server and the worker can wire them without the database package importing application/backup (which would cycle). |
|
directory
Package directory turns a successful LDAP/Active-Directory bind into a Miabi user: it just-in-time provisions the account and reconciles the user's directory groups onto platform-admin and per-workspace access.
|
Package directory turns a successful LDAP/Active-Directory bind into a Miabi user: it just-in-time provisions the account and reconciles the user's directory groups onto platform-admin and per-workspace access. |
|
dnsprovider
Package dnsprovider manages workspace DNS provider connections: connect, test, list, delete.
|
Package dnsprovider manages workspace DNS provider connections: connect, test, list, delete. |
|
dockerimport
Package dockerimport adopts pre-existing Docker resources (hand-run containers, compose stacks, volumes, networks) into Miabi without tearing down what is running.
|
Package dockerimport adopts pre-existing Docker resources (hand-run containers, compose stacks, volumes, networks) into Miabi without tearing down what is running. |
|
domain
Package domain manages workspace-owned domains: registration, DNS-verified ownership, and the default TLS policy routes inherit.
|
Package domain manages workspace-owned domains: registration, DNS-verified ownership, and the default TLS policy routes inherit. |
|
edgegateway
Package edgegateway provisions the Goma Gateway container that fronts an edge-gateway node's public ingress.
|
Package edgegateway provisions the Goma Gateway container that fronts an edge-gateway node's public ingress. |
|
environment
Package environment manages promotion stages (dev → staging → prod) within a workspace.
|
Package environment manages promotion stages (dev → staging → prod) within a workspace. |
|
eventbus
Package eventbus is a lightweight in-process publish/subscribe bus used to fan out live events (e.g.
|
Package eventbus is a lightweight in-process publish/subscribe bus used to fan out live events (e.g. |
|
events
Package events records and serves application timeline events: lifecycle transitions, runtime container events, and configuration changes.
|
Package events records and serves application timeline events: lifecycle transitions, runtime container events, and configuration changes. |
|
gitops
Package gitops is the declarative, pull-based half of Miabi's GitOps & CI/CD model.
|
Package gitops is the declarative, pull-based half of Miabi's GitOps & CI/CD model. |
|
gitrepo
Package gitrepo manages stored Git credentials used to clone private repositories at build time.
|
Package gitrepo manages stored Git credentials used to clone private repositories at build time. |
|
gpu
Package gpu inventories the physical GPUs on Miabi-managed nodes and resolves a running app's GPU request to concrete devices at deploy time.
|
Package gpu inventories the physical GPUs on Miabi-managed nodes and resolves a running app's GPU request to concrete devices at deploy time. |
|
housekeeping
Package housekeeping reconciles a node's real Docker state against what Miabi intends.
|
Package housekeeping reconciles a node's real Docker state against what Miabi intends. |
|
image
Package image manages the built-image catalog: provenance written by the pipeline build step, read APIs for the UI, and a retention GC that never collects a digest a live deployment or pinned release references.
|
Package image manages the built-image catalog: provenance written by the pipeline build step, read APIs for the UI, and a retention GC that never collects a digest a live deployment or pinned release references. |
|
job
Package job runs one-off commands in an application's runtime context (a Job) and the schedules that spawn them (a CronJob).
|
Package job runs one-off commands in an application's runtime context (a Job) and the schedules that spawn them (a CronJob). |
|
keyring
Package keyring manages per-workspace data-encryption keys (DEKs).
|
Package keyring manages per-workspace data-encryption keys (DEKs). |
|
logintoken
Package logintoken issues the short-lived personal API token behind the web console's "Copy login command" flow (OpenShift-style).
|
Package logintoken issues the short-lived personal API token behind the web console's "Copy login command" flow (OpenShift-style). |
|
mailer
Package mailer sends Miabi's own platform notification emails — password resets, workspace invitations, and account welcomes — over a system SMTP server.
|
Package mailer sends Miabi's own platform notification emails — password resets, workspace invitations, and account welcomes — over a system SMTP server. |
|
managedcert
Package managedcert issues and renews TLS certificates via ACME DNS-01 using a workspace's connected DNS provider, storing the result in the workspace Certificates (Source=acme).
|
Package managedcert issues and renews TLS certificates via ACME DNS-01 using a workspace's connected DNS provider, storing the result in the workspace Certificates (Source=acme). |
|
marketplace
Package marketplace provides the declarative template catalog (loaded from the embedded official source) and installs templates by orchestrating the application, database, storage and stack services.
|
Package marketplace provides the declarative template catalog (loaded from the embedded official source) and installs templates by orchestrating the application, database, storage and stack services. |
|
marketplace/manifest
Package manifest defines the declarative Miabi template format (apiVersion miabi.io/v1, kind Template): a versioned bundle describing a whole stack of applications plus the databases and volumes they depend on.
|
Package manifest defines the declarative Miabi template format (apiVersion miabi.io/v1, kind Template): a versioned bundle describing a whole stack of applications plus the databases and volumes they depend on. |
|
marketplace/remote
Package remote syncs the Miabi marketplace registry (official + community templates) from the standalone marketplace service into a local cache, so the in-Miabi catalog can serve them alongside the embedded official floor without a per-request round-trip.
|
Package remote syncs the Miabi marketplace registry (official + community templates) from the standalone marketplace service into a local cache, so the in-Miabi catalog can serve them alongside the embedded official floor without a per-request round-trip. |
|
middleware
Package middleware manages Goma Gateway middlewares owned by workspaces and reconciles them into the proxy provider.
|
Package middleware manages Goma Gateway middlewares owned by workspaces and reconciles them into the proxy provider. |
|
monitoring
Package monitoring exposes container metrics and workspace health overviews.
|
Package monitoring exposes container metrics and workspace health overviews. |
|
netalloc
Package netalloc hands out non-overlapping subnets, carved from a single platform pool (MIABI_NETWORK_POOL_CIDR), for every Docker network Miabi creates.
|
Package netalloc hands out non-overlapping subnets, carved from a single platform pool (MIABI_NETWORK_POOL_CIDR), for every Docker network Miabi creates. |
|
network
Package network manages Docker networks owned by workspaces.
|
Package network manages Docker networks owned by workspaces. |
|
node
Package node manages Docker host (server) records and their reachability.
|
Package node manages Docker host (server) records and their reachability. |
|
notify
Package notify turns persisted application events into outbound notifications: it fans an event out to a workspace's webhooks and channels, and renders/sends channel messages.
|
Package notify turns persisted application events into outbound notifications: it fans an event out to a workspace's webhooks and channels, and renders/sends channel messages. |
|
oauth
Package oauth implements the OAuth 2.0 / OpenID Connect authorization-code login flow against admin-configured providers.
|
Package oauth implements the OAuth 2.0 / OpenID Connect authorization-code login flow against admin-configured providers. |
|
pipeline
Package pipeline implements Miabi's CI/CD: pipeline-as-code (kind: Pipeline) versioned with the app, PipelineRun lifecycle, and the internal runner that executes steps in isolated containers.
|
Package pipeline implements Miabi's CI/CD: pipeline-as-code (kind: Pipeline) versioned with the app, PipelineRun lifecycle, and the internal runner that executes steps in isolated containers. |
|
platformbackup
Package platformbackup is the admin-only disaster-recovery feature for Miabi's own control plane: it backs up and restores the platform database and platform/system Docker volumes.
|
Package platformbackup is the admin-only disaster-recovery feature for Miabi's own control plane: it backs up and restores the platform database and platform/system Docker volumes. |
|
platformimage
Package platformimage is the deployment-config image catalog: the single source of truth for every container image the platform itself runs (database engines, backup tools, the gateway, internal helpers, the agent).
|
Package platformimage is the deployment-config image catalog: the single source of truth for every container image the platform itself runs (database engines, backup tools, the gateway, internal helpers, the agent). |
|
platformstack
Package platformstack installs and updates Miabi's own stack — the network, the volumes, Postgres, Redis, the gateway and the control plane — directly against the Docker API, with every component tagged io.miabi.managed-by=miabi.
|
Package platformstack installs and updates Miabi's own stack — the network, the volumes, Postgres, Redis, the gateway and the control plane — directly against the Docker API, with every component tagged io.miabi.managed-by=miabi. |
|
portbinding
Package portbinding manages host port binding requests.
|
Package portbinding manages host port binding requests. |
|
portforward
Package portforward gives on-demand external access to a managed database without publishing a host port.
|
Package portforward gives on-demand external access to a managed database without publishing a host port. |
|
quota
Package quota enforces per-workspace plan limits and capabilities.
|
Package quota enforces per-workspace plan limits and capabilities. |
|
registry
Package registry manages stored container-registry credentials used to pull private images at deploy time.
|
Package registry manages stored container-registry credentials used to pull private images at deploy time. |
|
registryserver
Package registryserver runs and authorizes the platform's built-in, multi-tenant Docker registry (CNCF distribution / registry:3).
|
Package registryserver runs and authorizes the platform's built-in, multi-tenant Docker registry (CNCF distribution / registry:3). |
|
release
Package release turns the per-application Release (a deployed, rollback-able version) into a promotable artifact: a workspace-wide catalog with provenance, approval gates per environment, and promotion (re-pointing an application at a release) that the gate guards.
|
Package release turns the per-application Release (a deployed, rollback-able version) into a promotable artifact: a workspace-wide catalog with provenance, approval gates per environment, and promotion (re-pointing an application at a release) that the gate guards. |
|
route
Package route manages Goma Gateway routes bound to applications and reconciles them into the proxy provider.
|
Package route manages Goma Gateway routes bound to applications and reconciles them into the proxy provider. |
|
runner
Package runner manages build/pipeline runner records: their registration, scope (workspace-owned vs platform-shared), labels/concurrency, and reachability.
|
Package runner manages build/pipeline runner records: their registration, scope (workspace-owned vs platform-shared), labels/concurrency, and reachability. |
|
saferollout
Package saferollout replaces a running container with a new image without a blind cutover.
|
Package saferollout replaces a running container with a new image without a blind cutover. |
|
secret
Package secret is the Vault: workspace-scoped named secrets that env var values reference (`${{ secrets.NAME }}`) and that are resolved into a container's environment at deploy/job time.
|
Package secret is the Vault: workspace-scoped named secrets that env var values reference (`${{ secrets.NAME }}`) and that are resolved into a container's environment at deploy/job time. |
|
session
Package session maintains a Redis-backed revocation list for JWT sessions, keyed by the token's jti claim.
|
Package session maintains a Redis-backed revocation list for JWT sessions, keyed by the token's jti claim. |
|
settings
Package settings provides cached, typed access to platform-wide key/value settings stored in the database.
|
Package settings provides cached, typed access to platform-wide key/value settings stored in the database. |
|
stack
Package stack groups related applications in a workspace.
|
Package stack groups related applications in a workspace. |
|
storage
Package storage manages persistent (Docker) volumes owned by workspaces.
|
Package storage manages persistent (Docker) volumes owned by workspaces. |
|
twofactor
Package twofactor wraps TOTP (RFC 6238) generation and validation for time-based two-factor authentication.
|
Package twofactor wraps TOTP (RFC 6238) generation and validation for time-based two-factor authentication. |
|
updatecheck
Package updatecheck asks GitHub, once a day, whether a newer Miabi release exists and caches the answer for the dashboard to read.
|
Package updatecheck asks GitHub, once a day, whether a newer Miabi release exists and caches the answer for the dashboard to read. |
|
volumebackup
Package volumebackup archives a managed volume's contents (compressed) to the workspace's S3 target using the ecosystem volume-bkup tool as a one-shot container, and restores it.
|
Package volumebackup archives a managed volume's contents (compressed) to the workspace's S3 target using the ecosystem volume-bkup tool as a one-shot container, and restores it. |
|
webhook
Package webhook manages workspace webhooks and the signing/delivery of their JSON payloads.
|
Package webhook manages workspace webhooks and the signing/delivery of their JSON payloads. |
|
workspace
Package workspace manages workspaces, memberships, and invitations.
|
Package workspace manages workspaces, memberships, and invitations. |
|
Package siem streams the audit log to external SIEM sinks (syslog, webhook) at-least-once.
|
Package siem streams the audit log to external SIEM sinks (syslog, webhook) at-least-once. |
|
Package slug derives URL/DNS-safe identifiers from human names.
|
Package slug derives URL/DNS-safe identifiers from human names. |
|
logbackfill
Package logbackfill migrates pre-existing large log rows out of Postgres into the shared log store (see plans/log-storage.md, sub-phase P6).
|
Package logbackfill migrates pre-existing large log rows out of Postgres into the shared log store (see plans/log-storage.md, sub-phase P6). |
|
migration/upgrade
Package upgrade runs ordered, versioned data-upgrade steps.
|
Package upgrade runs ordered, versioned data-upgrade steps. |
|
Package web embeds the built frontend (the Vue SPA) into the Go binary so a single `miabi` executable serves both the API and the UI — no separate static files to ship or MIABI_WEB_DIR to configure.
|
Package web embeds the built frontend (the Vue SPA) into the Go binary so a single `miabi` executable serves both the API and the UI — no separate static files to ship or MIABI_WEB_DIR to configure. |
|
Package worker holds the asynq producer, task types, and handlers for background work (deploys, backups, metric scrapes, ...).
|
Package worker holds the asynq producer, task types, and handlers for background work (deploys, backups, metric scrapes, ...). |
Click to show internal directories.
Click to hide internal directories.