Go to file
Moritz Graf dc733d8567 feat: implement firebase authentication with terraform infrastructure 2026-01-02 21:56:41 +01:00
.vscode Adding inital website! 2025-12-19 16:56:50 +01:00
public Final project polish: Refined game, added NAT gating, and GEMINI.md handbook. 2026-01-02 10:29:40 +01:00
src feat: implement firebase authentication with terraform infrastructure 2026-01-02 21:56:41 +01:00
terraform feat: implement firebase authentication with terraform infrastructure 2026-01-02 21:56:41 +01:00
.gitignore feat: implement firebase authentication with terraform infrastructure 2026-01-02 21:56:41 +01:00
DEVELOPMENT.md Adding inital website! 2025-12-19 16:56:50 +01:00
Dockerfile feat: implement firebase authentication with terraform infrastructure 2026-01-02 21:56:41 +01:00
GEMINI.md Final project polish: Refined game, added NAT gating, and GEMINI.md handbook. 2026-01-02 10:29:40 +01:00
README.md feat: implement firebase authentication with terraform infrastructure 2026-01-02 21:56:41 +01:00
deploy.sh feat: implement firebase authentication with terraform infrastructure 2026-01-02 21:56:41 +01:00
index.html Adding inital website! 2025-12-19 16:56:50 +01:00
k8s-manifests.yaml Final project polish: Refined game, added NAT gating, and GEMINI.md handbook. 2026-01-02 10:29:40 +01:00
package-lock.json feat: implement firebase authentication with terraform infrastructure 2026-01-02 21:56:41 +01:00
package.json feat: implement firebase authentication with terraform infrastructure 2026-01-02 21:56:41 +01:00
tsconfig.app.json Adding inital website! 2025-12-19 16:56:50 +01:00
tsconfig.json Adding inital website! 2025-12-19 16:56:50 +01:00
tsconfig.node.json Adding inital website! 2025-12-19 16:56:50 +01:00
vite.config.ts Adding inital website! 2025-12-19 16:56:50 +01:00

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)

  1. Create a Project: Go to Google Cloud Console and create a new project.
  2. Enable Billing: Link a Billing Account to this project (Required for Terraform to enable Identity Platform).
  3. 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.