Add Vaultwarden Namespace

This commit is contained in:
Daniel Cosme
2026-05-07 20:55:40 -04:00
parent bd986ca02f
commit 02e78ac572
6 changed files with 93 additions and 3 deletions
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
metadata:
name: vaultwarden
namespace: vaultwarden
resources:
- namespace.yaml
- service.yaml
+6
View File
@@ -0,0 +1,6 @@
apiVersion: v1
kind: Namespace
metadata:
name: vaultwarden
spec: {}
status: {}
+17
View File
@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: vaultwarden
name: vaultwarden
namespace: vaultwarden
spec:
ports:
- nodePort: 300012
port: 80
targetPort: 0
selector:
app: vaultwarden
type: NodePort
status:
loadBalancer: {}
+5 -3
View File
@@ -15,6 +15,7 @@ import (
"danicos.dev/daniel/homelab/pkg/postgres" "danicos.dev/daniel/homelab/pkg/postgres"
"danicos.dev/daniel/homelab/pkg/root" "danicos.dev/daniel/homelab/pkg/root"
"danicos.dev/daniel/homelab/pkg/truenas" "danicos.dev/daniel/homelab/pkg/truenas"
"danicos.dev/daniel/homelab/pkg/vaultwarden"
/* /*
apps "k8s.io/api/apps/v1" apps "k8s.io/api/apps/v1"
core "k8s.io/api/core/v1" core "k8s.io/api/core/v1"
@@ -40,9 +41,10 @@ func main() {
} }
hydra_apps := map[string]stack.Stack{ hydra_apps := map[string]stack.Stack{
"linkding": linkding.Stack(), "linkding": linkding.Stack(),
"immich": immich.Stack(), "immich": immich.Stack(),
"glance": glance.Stack(), "glance": glance.Stack(),
"vaultwarden": vaultwarden.Stack(),
} }
for name, s := range hydra_apps { for name, s := range hydra_apps {
fmt.Printf("STACK: %s\n", name) fmt.Printf("STACK: %s\n", name)
+10
View File
@@ -53,6 +53,16 @@ var Glance = Service{
}, },
} }
var Vaultwarden = Service{
Name: "vaultwarden",
Image: "quay.io/vaultwarden/server:1.36.0",
Port: 80, // Server Port
Public: &Public{
URL: "https://vault.danicos.me",
NodePort: 300012,
},
}
var ( var (
Longhorn = "longhorn" Longhorn = "longhorn"
Monitoring = "monitoring" Monitoring = "monitoring"
+47
View File
@@ -0,0 +1,47 @@
package vaultwarden
import (
"danicos.dev/daniel/go-kube/pkg/kube"
"danicos.dev/daniel/go-kube/pkg/stack"
"danicos.dev/daniel/homelab/pkg/root"
core "k8s.io/api/core/v1"
)
var Namespace = kube.Namespace(root.Vaultwarden.Name)
var meta kube.Metadata
var srv core.Service
func init() {
meta = kube.NewMetadata(root.Vaultwarden.Name, Namespace)
srv = meta.Service(root.Vaultwarden.Port)
srv.Spec.Type = core.ServiceTypeNodePort
srv.Spec.Ports[0].NodePort = int32(root.Vaultwarden.Public.NodePort)
}
func Stack() stack.Stack {
kz := kube.NewKuztomizedStack(
meta,
map[string]any{
"namespace": Namespace,
"service": srv,
// "deployment": Deployment(),
},
)
return kz.Stack("vaultwarden")
}
/*
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
# DOMAIN: "https://vaultwarden.example.com" # required when using a reverse proxy; your domain; vaultwarden needs to know it's https to work properly with attachments
SIGNUPS_ALLOWED: "true" # Deactivate this with "false" after you have created your account so that no strangers can register
volumes:
- ./vw-data:/data # the path before the : can be changed
ports:
- 11001:80 # you can replace the 11001 with your preferred port
*/