Module: Harbor

Defined in:
lib/harbor.rb,
lib/harbor/cli.rb,
lib/harbor/tools.rb,
lib/harbor/config.rb,
lib/harbor/project.rb,
lib/harbor/version.rb,
lib/harbor/cli/logs.rb,
lib/harbor/notifier.rb,
lib/harbor/audit_log.rb,
lib/harbor/cli/rails.rb,
lib/harbor/cli/deploy.rb,
lib/harbor/host_agent.rb,
lib/harbor/mcp/server.rb,
lib/harbor/cli/promote.rb,
lib/harbor/cli/servers.rb,
lib/harbor/deploy_lock.rb,
lib/harbor/cli/projects.rb,
lib/harbor/kamal_adapter.rb,
lib/harbor/events/emitter.rb,
lib/harbor/health_checker.rb,
lib/harbor/cli/mcp_command.rb,
lib/harbor/coolify_adapter.rb,
lib/harbor/events/redactor.rb

Defined Under Namespace

Modules: Events, HostAgent, MCP Classes: AuditLog, CLI, CommandRejected, Config, ConfigError, CoolifyAdapter, DeployLock, Error, HealthChecker, KamalAdapter, LockConflict, Notifier, OperationDenied, Project, ProjectNotFound, Tools

Constant Summary collapse

DEFAULT_CONFIG_DIR =
File.expand_path("~/.harbor")
DEFAULT_CONFIG_PATH =
File.join(DEFAULT_CONFIG_DIR, "config.yml")
DEFAULT_AUDIT_DB =
File.join(DEFAULT_CONFIG_DIR, "audit.db")
DEFAULT_LOCK_DIR =
File.join(DEFAULT_CONFIG_DIR, "locks")
VERSION =

Gem version (semver). Bumps with every release.

"1.0.0"
API_VERSION =

Daemon <-> control-plane protocol version (semver). Bumped independently of VERSION. Controls the harbor-host /version handshake so control plane can reject incompatible daemons.

Compat rules:

- MAJOR bump = breaking change; control plane refuses to talk to
  daemons outside the same major.
- MINOR bump = additive; older daemons still work but can't use the
  new endpoint.
- PATCH bump = bug fix only.

Control plane declares a supported range (Harbor::API_VERSION_MIN .. Harbor::API_VERSION_MAX) and refuses to operate against daemons whose reported API_VERSION falls outside it.

"1.0.0"
API_VERSION_MIN =
"1.0.0"
API_VERSION_MAX =
"1.999.999"