# 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 -n passbolt -- /bin/bash -c "su -s /bin/bash -c \"bin/cake passbolt register_user -u -f -l -r admin\" www-data" ``` Replace the placeholders: - ``: The name of the Passbolt pod (find it with `kubectl get pods -n passbolt`) - ``: The admin user's email address - ``: The admin user's first name - ``: 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.