Skip to content

feat(k8s): Longhorn Platform component (F1)#147

Merged
astrojerms merged 1 commit into
mainfrom
feat/f1-longhorn
Jul 20, 2026
Merged

feat(k8s): Longhorn Platform component (F1)#147
astrojerms merged 1 commit into
mainfrom
feat/f1-longhorn

Conversation

@astrojerms

Copy link
Copy Markdown
Owner

F1 — Longhorn Platform component

Adds longhorn to the opt-in Platform composite: replicated block storage (RWO volumes with node-to-node replication + snapshots) — the storage tier NFS/local-path don't cover.

apiVersion: k8s.openctl.io/v1
kind: Platform
metadata: { name: home }
spec:
  kubeconfigPath: { $ref: {apiVersion: k3s.openctl.io/v1, kind: Cluster, name: home, field: status.outputs.kubeconfigPath} }
  longhorn:
    enabled: true
  • Chart longhorn from https://charts.longhorn.io, default namespace longhorn-system.
  • #Platform.longhorn? schema entry, mirroring the other components.
  • Unit test: chart/namespace defaults + values thread-through.

Node prerequisite

Longhorn needs open-iscsi on every node. Install it via a k3s worker pool's nodePrep.packages: [open-iscsi] (E2, just shipped) — called out in both the component comment and the schema doc — or Longhorn's own iscsi-installer DaemonSet as an interim fallback. Opt-in like every Platform component (nothing enabled by default).

Local CI (k8s plugin module): build, go test ./..., gofmt, vet, staticcheck, golangci-lint (0 issues), modernize — all green.

Add `longhorn` to the opt-in Platform component set (chart `longhorn`
from charts.longhorn.io, namespace longhorn-system): replicated block
storage — RWO volumes with node-to-node replication + snapshots, the
tier NFS/local-path don't cover.

#Platform.longhorn? schema entry + unit test (chart/ns defaults, values
thread-through). Every node needs open-iscsi, installable via a k3s
worker pool's nodePrep.packages (E2) — documented in the component
comment and schema — or Longhorn's iscsi-installer DaemonSet as a
fallback. Opt-in like every component: platform.longhorn.enabled: true.
@astrojerms
astrojerms merged commit 4013316 into main Jul 20, 2026
6 checks passed
@astrojerms
astrojerms deleted the feat/f1-longhorn branch July 20, 2026 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant