diff --git a/README.md b/README.md index a27385a..f4ef0ef 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,9 @@ Distributed Storage from: # True NAS key 1-ndzlY0C6o2KW9DJHnjTcjXi49VEFgDp5Up8GZ7FXmgNoU7LNwwI7MMrk2WbI6o5J +TrueNAS CSI Driver configuration + + ## NFS Via NAS for Files, like photos, videos, etc... ## ISCS diff --git a/cmd/apps/main.go b/cmd/apps/main.go index acac11a..e50248e 100644 --- a/cmd/apps/main.go +++ b/cmd/apps/main.go @@ -10,6 +10,7 @@ import ( "danicos.dev/daniel/homelab/pkg/longhorn" "danicos.dev/daniel/homelab/pkg/monitoring" "danicos.dev/daniel/homelab/pkg/root" + "danicos.dev/daniel/homelab/pkg/truenas" /* apps "k8s.io/api/apps/v1" core "k8s.io/api/core/v1" @@ -22,8 +23,9 @@ func main() { assertNoErr(err) hydra_infrastructure := map[string]stack.Stack{ - "monitoring": monitoring.Stack(), - "longhorn": longhorn.Stack(), + "monitoring": monitoring.Stack(), + "longhorn": longhorn.Stack(), + "truenas-csi": truenas.Stack(), } for name, s := range hydra_infrastructure { fmt.Printf("STACK: %s\n", name) diff --git a/infrastructure/hydra/truenas-csi/kuztomization.yaml b/infrastructure/hydra/truenas-csi/kuztomization.yaml new file mode 100644 index 0000000..24cfc8f --- /dev/null +++ b/infrastructure/hydra/truenas-csi/kuztomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +metadata: + name: truenas-csi + namespace: truenas-csi +resources: +- namespace.yaml diff --git a/infrastructure/hydra/truenas-csi/namespace.yaml b/infrastructure/hydra/truenas-csi/namespace.yaml new file mode 100644 index 0000000..761a8fb --- /dev/null +++ b/infrastructure/hydra/truenas-csi/namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: truenas-csi +spec: {} +status: {} diff --git a/pkg/root/services.go b/pkg/root/services.go index ce44796..b765b8c 100644 --- a/pkg/root/services.go +++ b/pkg/root/services.go @@ -16,5 +16,6 @@ var Linkding = Service{ SecurityContextID: 33, // www-data user, group and FS ID } -var Monitoring = "monitoring" var Longhorn = "longhorn" +var Monitoring = "monitoring" +var TrueNAS_CSI = "truenas-csi" diff --git a/pkg/truenas/truenas.go b/pkg/truenas/truenas.go new file mode 100644 index 0000000..60cf163 --- /dev/null +++ b/pkg/truenas/truenas.go @@ -0,0 +1,24 @@ +package truenas + +import ( + "danicos.dev/daniel/go-kube/pkg/kube" + "danicos.dev/daniel/go-kube/pkg/stack" + "danicos.dev/daniel/homelab/pkg/root" +) + +var meta kube.Metadata +var Namespace = kube.Namespace(root.TrueNAS_CSI) + +func init() { + meta = kube.NewMetadata(root.TrueNAS_CSI, Namespace) +} + +func Stack() stack.Stack { + kz := kube.NewKuztomizedStack( + meta, + map[string]any{ + "namespace": Namespace, + }, + ) + return kz.Stack(root.TrueNAS_CSI) +}