Files
harmony/docs/catalogs/capabilities.md
Jean-Gabriel Gill-Couture eea006535b refactor: drop harmony_app landfill
Scores own deploy. harmony_app is identity, images, context, and
HarmonyApp→Scores. Authoring DX lives in dx. Compose/chart/Application
model and the Helm render test are gone.
2026-09-08 22:10:34 -04:00

2.3 KiB

Capabilities Catalog (Topology)

Note: this page lists Topology capabilities — what a cluster can do, exposed as trait bounds a Score requires. Apps compose Scores; see Application Scores.

A Capability is a specific feature or API that a Topology offers. Interpret logic uses these capabilities to execute a Score.

This list is primarily for developers writing new Topologies or Scores. As a user, you just need to know that the Topology you pick (like K8sAnywhereTopology) provides the capabilities your Scores need.

Kubernetes & Application

  • K8sClient: Provides an authenticated client to interact with a Kubernetes API (create/read/update/delete resources).
  • HelmCommand: Provides the ability to execute Helm commands (install, upgrade, template).
  • TenantManager: Provides methods for managing tenants in a multi-tenant cluster.
  • Ingress: Provides an interface for managing ingress controllers and resources.

Monitoring & Observability

  • Grafana: Provides an API for configuring Grafana (datasources, dashboards).
  • Monitoring: A general capability for configuring monitoring (e.g., creating Prometheus rules).

Networking (Core Services)

  • DnsServer: Provides an interface for creating and managing DNS records.
  • LoadBalancer: Provides an interface for configuring a load balancer (e.g., OPNsense, MetalLB).
  • DhcpServer: Provides an interface for managing DHCP leases and host bindings.
  • TftpServer: Provides an interface for managing files on a TFTP server (e.g., iPXE boot files).

Networking (Hardware & Host)

  • Router: Provides an interface for configuring routing rules, typically on a firewall like OPNsense.
  • Switch: Provides an interface for configuring a physical network switch (e.g., managing VLANs and port channels).
  • NetworkManager: Provides an interface for configuring host-level networking (e.g., creating bonds and bridges on a node).