|
|
||
|---|---|---|
| .vscode | ||
| public | ||
| src | ||
| terraform | ||
| .gitignore | ||
| DEVELOPMENT.md | ||
| Dockerfile | ||
| GEMINI.md | ||
| README.md | ||
| deploy.sh | ||
| index.html | ||
| k8s-manifests.yaml | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
README.md
Haumdaucher Website 🦢🍻
D'Offizielle Website der Haumdaucher aus Regensburg.
🚀 Quick Start (Local)
npm install
npm run dev
Visit http://localhost:5173/ to see the site.
🛠 Documentation
For detailed information on the project structure, how to modify themes, update content, or deploy to Kubernetes, please see the Development Guide.
🎡 Deployment
Use the provided deployment script to push to your Kubernetes cluster:
./deploy.sh
Check k8s-manifests.yaml for resource definitions.
🚀 Bootstrap & Authentication (Infrastructure)
We use Terraform to manage Firebase Authentication and Firestore. To set this up for a new environment:
1. Manual Prerequisites (One-time)
- Create a Project: Go to Google Cloud Console and create a new project.
- Enable Billing: Link a Billing Account to this project (Required for Terraform to enable Identity Platform).
- Local Auth:
gcloud auth login gcloud auth application-default login
2. Infrastructure Deployment
Navigate to the terraform directory and apply the configuration:
cd terraform
terraform init
terraform apply -var="project_id=YOUR_PROJECT_ID" -var='allowed_users=["your_email@gmail.com"]'
This will:
- Enable Firebase, Firestore, and Identity APIs.
- Create the Firestore Database.
- Create the Allowlist in Firestore (
config/allowlist).
3. Adding Friends
To approve new users, simply update the allowed_users list in your terraform.tfvars (or CLI argument) and re-run terraform apply.