75 lines
No EOL
1.8 KiB
Nix
75 lines
No EOL
1.8 KiB
Nix
{ ... }:
|
|
{
|
|
vaultwarden.content = [
|
|
{
|
|
apiVersion = "apps/v1";
|
|
kind = "Deployment";
|
|
metadata = {
|
|
name = "vaultwarden";
|
|
labels.app = "vaultwarden";
|
|
};
|
|
spec = {
|
|
selector.matchLabels.app = "vaultwarden";
|
|
template = {
|
|
metadata = {
|
|
labels.app = "vaultwarden";
|
|
};
|
|
spec = {
|
|
securityContext = {
|
|
runAsUser = 1000;
|
|
runAsGroup = 1000;
|
|
};
|
|
containers = [
|
|
{
|
|
name = "vaultwarden";
|
|
image = "vaultwarden/server:latest";
|
|
ports = [
|
|
{
|
|
name = "vaultwarden-http";
|
|
containerPort = 80;
|
|
}
|
|
];
|
|
volumeMounts = [
|
|
{
|
|
mountPath = "/data";
|
|
name = "iscsi";
|
|
subPath = "vaultwarden";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
volumes = [
|
|
{
|
|
name = "iscsi";
|
|
iscsi = {
|
|
targetPortal = "10.5.0.2:3260";
|
|
iqn = "iqn.2026-01.dev.nyxerinys:poseidon.vaultwarden";
|
|
lun = 0;
|
|
fsType = "xfs";
|
|
readOnly = false;
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|
|
{
|
|
apiVersion = "v1";
|
|
kind = "Service";
|
|
metadata.name = "vaultwarden";
|
|
spec = {
|
|
type = "NodePort";
|
|
selector.app = "vaultwarden";
|
|
ports = [
|
|
{
|
|
name = "vaultwarden-http";
|
|
portocol = "TCP";
|
|
port = 80;
|
|
nodePort = 30000;
|
|
}
|
|
];
|
|
};
|
|
}
|
|
];
|
|
} |