Add comprehensive Terraform infrastructure with Firebase automation
- 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>
This commit is contained in:
76
terraform/variables.tf
Normal file
76
terraform/variables.tf
Normal file
@@ -0,0 +1,76 @@
|
||||
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"
|
||||
}
|
||||
Reference in New Issue
Block a user