- Create Firebase project, web app, and Firestore database - Automate Firebase Authentication with email templates - Configure security rules for user data isolation - Support Cloud Run and App Engine hosting options - Add professional email templates for password reset and verification - Include deployment scripts and comprehensive documentation - Implement service accounts with minimal required permissions - Add Docker configuration for containerized deployment 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
76 lines
1.8 KiB
HCL
76 lines
1.8 KiB
HCL
variable "gcp_project_id" {
|
|
description = "GCP Project ID for the deployment"
|
|
type = string
|
|
}
|
|
|
|
variable "gcp_region" {
|
|
description = "GCP region for resources"
|
|
type = string
|
|
default = "us-central1"
|
|
}
|
|
|
|
variable "firestore_location" {
|
|
description = "Location for Firestore database"
|
|
type = string
|
|
default = "us-central1"
|
|
}
|
|
|
|
variable "domain_name" {
|
|
description = "Domain name for the application"
|
|
type = string
|
|
default = "rothbard-portal.example.com"
|
|
}
|
|
|
|
variable "oauth_client_id" {
|
|
description = "OAuth client ID for Firebase"
|
|
type = string
|
|
default = ""
|
|
}
|
|
|
|
variable "oauth_client_secret" {
|
|
description = "OAuth client secret for Firebase"
|
|
type = string
|
|
default = ""
|
|
sensitive = true
|
|
}
|
|
|
|
variable "hosting_option" {
|
|
description = "Hosting option for the Flask app"
|
|
type = string
|
|
default = "cloud_run"
|
|
validation {
|
|
condition = contains(["cloud_run", "app_engine"], var.hosting_option)
|
|
error_message = "The hosting_option must be one of: cloud_run, app_engine."
|
|
}
|
|
}
|
|
|
|
variable "environment" {
|
|
description = "Environment tag"
|
|
type = string
|
|
default = "production"
|
|
}
|
|
|
|
# Firebase Authentication Configuration
|
|
variable "enable_google_signin" {
|
|
description = "Enable Google Sign-In authentication provider"
|
|
type = bool
|
|
default = false
|
|
}
|
|
|
|
variable "auth_from_email" {
|
|
description = "From email address for authentication emails"
|
|
type = string
|
|
default = "noreply@rothbardlaw.com"
|
|
}
|
|
|
|
variable "auth_from_name" {
|
|
description = "From display name for authentication emails"
|
|
type = string
|
|
default = "Rothbard Law Group"
|
|
}
|
|
|
|
variable "auth_reply_to" {
|
|
description = "Reply-to email address for authentication emails"
|
|
type = string
|
|
default = "support@rothbardlaw.com"
|
|
} |