Help us shape the future of Go! Take the 2026 Go Developer Survey

baseharbor

module
v0.4.16 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2026 License: Apache-2.0

README

BaseHarbor

One application contract. Replaceable infrastructure.

AI-generated, human-specified, machine-verified.
KI-generiert, menschlich spezifiziert, maschinell verifiziert.

GitHub Release GitHub Pages Contributing License

Inspect existing repositories
Discover infrastructure requirements from code, dependencies, Compose files, ports and configuration.

Declare needs, not products
Keep infrastructure intent portable instead of coupling the app to a specific implementation.

Use standard interfaces
PostgreSQL · Redis/Valkey · S3 · HTTP · OTLP · environment variables · files

Zero-trust by default
Least privilege · scoped credentials · explicit trust boundaries · fail-closed behavior

Built for humans and AI agents
Structured, secret-safe JSON · bounded MCP · no generic shell · no Docker access

Explicit deployment destinations
Target + Application + Environment · target-scoped state · Docker/Podman today · Kubernetes/OpenShift later

baha app inspect .
baha app init
baha target
baha up
baha status
baha doctor

Runtime status: Docker uses Docker Compose. Podman translates the same Compose-based workload/runtime definitions into native Quadlets managed through rootless systemd --user; podman-compose is not required. Kubernetes and OpenShift are planned runtime providers and are not implemented yet.

Why BaseHarbor?

Modern applications depend on databases, caches, secrets, object storage, networking and observability. BaseHarbor keeps those requirements in one application contract while the infrastructure underneath stays replaceable.

Application
    |
    v
baseharbor.yaml
    |
    v
BaseHarbor
    |
    +--> capabilities
    +--> providers
    +--> policy + security
    +--> lifecycle
    |
    v
Docker Compose / Podman Quadlet today
Kubernetes / OpenShift planned

What you get

  • Repository inspection with Detected / Suggested / Possible evidence.
  • Portable application intent with provider-neutral capability boundaries.
  • PostgreSQL, Valkey/Redis, S3, secrets, HTTP exposure, metrics, logs, traces and OTLP.
  • A canonical guided developer path: baha app init -> select/inspect Target -> baha up -> verified READY.
  • First-class deployment Targets with XDG-backed configuration and target-scoped runtime/deployment state.
  • Plan, preflight, policy and explicit apply remain available for automation and troubleshooting.
  • Backup/restore, updates, runtime-created resources and explicit app-to-app connectivity.
  • Provider placement for application-scoped, shared or externally managed infrastructure.
  • Machine-readable results and a versioned local MCP interface for agent workflows.

Security is behavior

BaseHarbor does not treat security as a label.

Current behavior includes:

  • deny-by-default and fail-closed decisions;
  • scoped application/runtime credentials;
  • bucket-scoped S3 credentials;
  • application-scoped runtime identities;
  • explicit directional cross-application connectivity;
  • protected deployment state;
  • real protocol/data-flow readiness checks;
  • workload preflight checks for risky Compose settings such as privileged mode, runtime sockets, host networking, dangerous capabilities, devices and critical host mounts.

Application contract

The application describes what it needs, not how infrastructure must be implemented.

version: 1

app:
  name: my-app
  environment: production

services:
  sql:
    enabled: true

  cache:
    enabled: true

  object_storage:
    buckets:
      uploads: {}

secrets:
  required:
    - name: APP_SECRET

BaseHarbor exposes normal application-facing bindings such as:

DATABASE_URL
REDIS_URL
VALKEY_URL
S3_ENDPOINT
S3_BUCKET
APP_SECRET

Your application keeps using native ecosystem clients and protocols.

Agent-native, without giving the agent a shell

baha agent describe -o json
baha mcp serve

The local MCP interface exposes bounded BaseHarbor operations such as inspect, plan, status, doctor and policy checks. It does not expose a generic shell, Docker socket or unrestricted runtime execution.

Install

curl -fsSL https://raw.githubusercontent.com/mcpdev80/baseharbor/main/scripts/install.sh | bash
baha version

Learn more

Project status

BaseHarbor is pre-v1. Manifest v1 is the current v0.4 compatibility surface.

Compose is the complete runtime implementation today. Kubernetes and OpenShift remain future runtime tracks and must preserve the same application contract when implemented.

Normal feature, fix, chore and dependency pull requests target develop. The main branch represents released source.

License

Apache License 2.0. See LICENSE.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL