package cnpg import ( "danicos.dev/daniel/go-kube/pkg/kube" "danicos.dev/daniel/homelab/pkg/root" kube_cnpg "danicos.dev/daniel/go-kube/pkg/cnpg" pg "github.com/cloudnative-pg/api/pkg/api/v1" core "k8s.io/api/core/v1" ) var cluster_meta = kube.NewMetadata(root.CloudNativePG+"-cluster", root.PGClusterNamespace) func Cluster() pg.Cluster { spec := pg.ClusterSpec{ Instances: 3, StorageConfiguration: pg.StorageConfiguration{ StorageClass: new(root.KUBE_LOCAL_STORAGE_CLASS), Size: "10Gi", ResizeInUseVolumes: new(true), PersistentVolumeClaimTemplate: &core.PersistentVolumeClaimSpec{ StorageClassName: new(root.KUBE_LOCAL_STORAGE_CLASS), }, }, Managed: &pg.ManagedConfiguration{ Roles: []pg.RoleConfiguration{ { Name: root.Immich.Name, Login: true, PasswordSecret: &pg.LocalObjectReference{ Name: ImmichPGSecret.Name, }, }, }, }, } return kube_cnpg.NewCluster(cluster_meta, spec) }