Files
homelab/cmd/apps/main.go
2026-04-25 21:57:13 -04:00

52 lines
1.1 KiB
Go

package main
import (
"fmt"
"os"
"danicos.dev/daniel/go-kube/pkg/stack"
"danicos.dev/daniel/homelab/pkg/flux"
"danicos.dev/daniel/homelab/pkg/linkding"
"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"
net "k8s.io/api/networking/v1"
*/)
func main() {
flux_stack := flux.Stack()
err := flux_stack.MarshalYamlFlat(root.FLUX_CLUSTER_HYDRA_PATH)
assertNoErr(err)
hydra_infrastructure := map[string]stack.Stack{
"monitoring": monitoring.Stack(),
"longhorn": longhorn.Stack(),
"truenas-csi": truenas.Stack(),
}
for name, s := range hydra_infrastructure {
fmt.Printf("STACK: %s\n", name)
err = s.MarshalYaml(root.FLUX_INFRA_HYDRA_PATH)
assertNoErr(err)
}
hydra_apps := map[string]stack.Stack{
"linkding": linkding.Stack(),
}
for name, s := range hydra_apps {
fmt.Printf("STACK: %s\n", name)
err = s.MarshalYaml(root.FLUX_APPS_HYDRA_PATH)
assertNoErr(err)
}
}
func assertNoErr(err error) {
if err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
}