stack.basicstack.de/apps/passbolt/README.md
CTO Agent d6532697aa Move Passbolt deployment configuration to Git
- Add all Kubernetes manifest files for Passbolt deployment
- Add MariaDB deployment, service, PVC manifests
- Add Passbolt deployment, service, PVC, ingress manifests
- Add namespace manifest
- Update passbolt-secret to include SMTP authentication
- Add README with initial admin user setup instructions

The configuration was extracted from the running cluster and organized
into separate manifest files for better maintainability.

SMTP is configured to use Stalwart mail server with:
- Username: passbolt
- Email: passbolt@basicstack.de
- Host: stalwart-mail.stalwart.svc.cluster.local

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-07-25 16:57:35 +00:00

58 lines
2.2 KiB
Markdown

# Passbolt Deployment
This directory contains the Kubernetes manifests for the Passbolt password manager deployment.
## Components
- **MariaDB**: Database backend for Passbolt
- `mariadb-deployment.yaml`: MariaDB deployment
- `mariadb-service.yaml`: MariaDB service
- `mariadb-pvc.yaml`: Persistent volume claim for MariaDB data
- `mariadb-secret-sealed.yaml`: Sealed secret containing database credentials
- **Passbolt**: Password manager application
- `passbolt-deployment.yaml`: Passbolt application deployment
- `passbolt-service.yaml`: Passbolt service
- `passbolt-pvc.yaml`: Persistent volume claim for Passbolt data (GPG keys, JWT tokens)
- `passbolt-ingress.yaml`: Ingress configuration for HTTPS access
- `passbolt-secret-sealed.yaml`: Sealed secret containing application configuration
## SMTP Configuration
Passbolt is configured to send emails through Stalwart mail server:
- SMTP Host: `stalwart-mail.stalwart.svc.cluster.local`
- SMTP Port: `25`
- SMTP Username: `passbolt`
- SMTP Password: Configured via sealed secret
- From Address: `passbolt@basicstack.de`
- TLS: Disabled (internal cluster communication)
## Initial Setup - Creating the First Admin User
Once the application is deployed, you can create your first admin user by running the following command:
```bash
kubectl exec -it <passbolt-pod-name> -n passbolt -- /bin/bash -c "su -s /bin/bash -c \"bin/cake passbolt register_user -u <email> -f <firstname> -l <lastname> -r admin\" www-data"
```
Replace the placeholders:
- `<passbolt-pod-name>`: The name of the Passbolt pod (find it with `kubectl get pods -n passbolt`)
- `<email>`: The admin user's email address
- `<firstname>`: The admin user's first name
- `<lastname>`: The admin user's last name
The command will output a registration link similar to:
```
https://passbolt.basicstack.de/setup/install/1eafab88-a17d-4ad8-97af-77a97f5ff552/f097be64-3703-41e2-8ea2-d59cbe1c15bc
```
Open this link in your browser to complete the user registration and set up your GPG key.
## Accessing Passbolt
Once configured, Passbolt is available at: https://passbolt.basicstack.de
## ArgoCD Sync
This application is managed by ArgoCD. All changes should be made through this Git repository to ensure proper GitOps workflow.