mirror of
https://github.com/apricote/home-cloud.git
synced 2026-01-13 13:01:03 +00:00
feat: deploy apricote.de
This commit is contained in:
parent
d097de521b
commit
ecfbee1e03
4 changed files with 85 additions and 0 deletions
64
apricote_de.tf
Normal file
64
apricote_de.tf
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
resource "vercel_project" "apricote_de" {
|
||||||
|
name = "apricote-de"
|
||||||
|
|
||||||
|
framework = "hugo"
|
||||||
|
build_command = "hugo -D --gc -b https://$${SITE_URL:-$VERCEL_URL}"
|
||||||
|
|
||||||
|
git_repository = {
|
||||||
|
type = "github"
|
||||||
|
repo = "apricote/apricote.de"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Override the VERCEL_URL for production deployment, used as Hugo base domain,
|
||||||
|
# see "build_command" above.
|
||||||
|
resource "vercel_project_environment_variable" "apricote_de_site_url" {
|
||||||
|
project_id = vercel_project.apricote_de.id
|
||||||
|
key = "SITE_URL"
|
||||||
|
value = vercel_project_domain.apricote_de.domain
|
||||||
|
target = ["production"]
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "vercel_project_environment_variable" "apricote_de_listory_token" {
|
||||||
|
project_id = vercel_project.apricote_de.id
|
||||||
|
key = "HUGO_LISTORY_TOKEN"
|
||||||
|
value = var.listory_token
|
||||||
|
target = ["production", "preview", "development"]
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "vercel_project_environment_variable" "apricote_de_listory_host" {
|
||||||
|
project_id = vercel_project.apricote_de.id
|
||||||
|
key = "HUGO_LISTORY_HOST"
|
||||||
|
value = "https://listory.apricote.de/api/"
|
||||||
|
target = ["production", "preview", "development"]
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "vercel_project_domain" "apricote_de" {
|
||||||
|
project_id = vercel_project.apricote_de.id
|
||||||
|
domain = "apricote.de"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Redirect www. to @
|
||||||
|
resource "vercel_project_domain" "www_apricote_de" {
|
||||||
|
project_id = vercel_project.apricote_de.id
|
||||||
|
domain = "www.${vercel_project_domain.apricote_de.domain}"
|
||||||
|
|
||||||
|
redirect = vercel_project_domain.apricote_de.domain
|
||||||
|
redirect_status_code = 308
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "hetznerdns_record" "apricote_de_a" {
|
||||||
|
zone_id = hetznerdns_zone.apricote_de.id
|
||||||
|
name = "@"
|
||||||
|
value = "76.76.21.21" # TODO: Get value from vercel provider
|
||||||
|
type = "A"
|
||||||
|
ttl = 60
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "hetznerdns_record" "www_apricote_de" {
|
||||||
|
zone_id = hetznerdns_zone.apricote_de.id
|
||||||
|
name = "www"
|
||||||
|
value = "cname.vercel-dns.com." # TODO: Get value from vercel provider
|
||||||
|
type = "CNAME"
|
||||||
|
ttl = 60
|
||||||
|
}
|
||||||
8
provider_vercel.tf
Normal file
8
provider_vercel.tf
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Set the variable value in *.tfvars file
|
||||||
|
# or using -var="vercel_token=..." CLI option
|
||||||
|
variable "vercel_token" {}
|
||||||
|
|
||||||
|
|
||||||
|
provider "vercel" {
|
||||||
|
api_token = var.vercel_token
|
||||||
|
}
|
||||||
|
|
@ -19,3 +19,9 @@ variable "github_token_flux_notifications" {
|
||||||
type = string
|
type = string
|
||||||
sensitive = true
|
sensitive = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "listory_token" {
|
||||||
|
description = "Listory API Token"
|
||||||
|
type = string
|
||||||
|
sensitive = true
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,12 @@ terraform {
|
||||||
source = "timohirt/hetznerdns"
|
source = "timohirt/hetznerdns"
|
||||||
version = ">= 2.2.0"
|
version = ">= 2.2.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vercel = {
|
||||||
|
source = "vercel/vercel"
|
||||||
|
version = ">= 0.11.4"
|
||||||
|
}
|
||||||
|
|
||||||
random = {
|
random = {
|
||||||
source = "hashicorp/random"
|
source = "hashicorp/random"
|
||||||
}
|
}
|
||||||
|
|
@ -21,3 +27,4 @@ terraform {
|
||||||
}
|
}
|
||||||
required_version = ">= 1.3.3"
|
required_version = ">= 1.3.3"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue