Files
homelab/cmd/apps/main.go
T

55 lines
1.3 KiB
Go
Raw Normal View History

2026-04-17 18:11:18 -04:00
package main
import (
2026-04-17 20:49:37 -04:00
"fmt"
"os"
"danicos.dev/daniel/go-kube/pkg/stack"
2026-04-30 14:01:55 -04:00
"danicos.dev/daniel/homelab/pkg/cnpg"
2026-04-17 18:11:18 -04:00
"danicos.dev/daniel/homelab/pkg/flux"
2026-04-30 18:05:24 -04:00
"danicos.dev/daniel/homelab/pkg/immich"
2026-04-17 20:49:37 -04:00
"danicos.dev/daniel/homelab/pkg/linkding"
2026-04-25 18:15:23 -04:00
"danicos.dev/daniel/homelab/pkg/longhorn"
2026-04-21 13:06:42 -04:00
"danicos.dev/daniel/homelab/pkg/monitoring"
2026-04-17 20:49:37 -04:00
"danicos.dev/daniel/homelab/pkg/root"
/*
apps "k8s.io/api/apps/v1"
core "k8s.io/api/core/v1"
net "k8s.io/api/networking/v1"
*/)
2026-04-17 18:11:18 -04:00
func main() {
2026-04-17 20:49:37 -04:00
flux_stack := flux.Stack()
err := flux_stack.MarshalYamlFlat(root.FLUX_CLUSTER_HYDRA_PATH)
assertNoErr(err)
2026-04-25 19:51:51 -04:00
hydra_infrastructure := map[string]stack.Stack{
2026-05-01 14:47:10 -04:00
"monitoring": monitoring.Stack(),
"longhorn": longhorn.Stack(),
// "truenas-csi": truenas.Stack(),
2026-04-30 14:01:55 -04:00
"cloud-native-pg": cnpg.Stack(),
2026-04-21 13:06:42 -04:00
}
2026-04-25 19:51:51 -04:00
for name, s := range hydra_infrastructure {
fmt.Printf("STACK: %s\n", name)
err = s.MarshalYaml(root.FLUX_INFRA_HYDRA_PATH)
2026-04-25 18:15:23 -04:00
assertNoErr(err)
}
2026-04-20 19:58:02 -04:00
hydra_apps := map[string]stack.Stack{
2026-04-17 20:49:37 -04:00
"linkding": linkding.Stack(),
2026-04-30 18:05:24 -04:00
"immich": immich.Stack(),
2026-04-17 20:49:37 -04:00
}
2026-04-20 19:58:02 -04:00
for name, s := range hydra_apps {
2026-04-17 20:49:37 -04:00
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)
}
2026-04-17 18:11:18 -04:00
}