forked from wrenn/wrenn
Introduce internal/email package with SMTP sending, embedded HTML/text templates, and multipart MIME assembly. Emails use a generic EmailData struct (recipient name, message, optional button, optional closing) so new email types can be added without code changes. Wired into signup (welcome email), team creation, and team member addition. No-op mailer when SMTP_HOST is not configured.
45 lines
1.2 KiB
Plaintext
45 lines
1.2 KiB
Plaintext
# Database
|
|
DATABASE_URL=postgres://wrenn:wrenn@localhost:5432/wrenn?sslmode=disable
|
|
|
|
# Redis
|
|
REDIS_URL=redis://localhost:6379/0
|
|
|
|
# Control Plane
|
|
WRENN_CP_LISTEN_ADDR=:9725
|
|
|
|
# Host Agent
|
|
WRENN_HOST_LISTEN_ADDR=:50051
|
|
WRENN_DIR=/var/lib/wrenn
|
|
WRENN_HOST_INTERFACE=eth0
|
|
WRENN_CP_URL=http://localhost:9725
|
|
WRENN_DEFAULT_ROOTFS_SIZE=5Gi
|
|
WRENN_FIRECRACKER_BIN=/usr/local/bin/firecracker
|
|
|
|
# Auth
|
|
JWT_SECRET=
|
|
|
|
# mTLS — CP→Agent channel
|
|
# Generate a self-signed CA with:
|
|
# openssl ecparam -genkey -name P-256 -noout -out ca.key
|
|
# openssl req -new -x509 -key ca.key -days 3650 -out ca.crt -subj "/CN=wrenn-internal-ca"
|
|
# Then set these to the file contents (newlines replaced with \n or use multiline env).
|
|
WRENN_CA_CERT=
|
|
WRENN_CA_KEY=
|
|
|
|
# Channels (notification destinations)
|
|
# AES-256-GCM key for encrypting channel secrets. Generate with: openssl rand -hex 32
|
|
WRENN_ENCRYPTION_KEY=
|
|
|
|
# OAuth
|
|
OAUTH_GITHUB_CLIENT_ID=
|
|
OAUTH_GITHUB_CLIENT_SECRET=
|
|
OAUTH_REDIRECT_URL=https://app.wrenn.dev
|
|
CP_PUBLIC_URL=https://app.wrenn.dev
|
|
|
|
# SMTP — transactional email (optional; omit SMTP_HOST to disable)
|
|
SMTP_HOST=
|
|
SMTP_PORT=587
|
|
SMTP_USERNAME=
|
|
SMTP_PASSWORD=
|
|
SMTP_FROM_EMAIL=noreply@wrenn.dev
|