diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..ef17247 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,16 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + + - package-ecosystem: "terraform" + directory: "/terraform/module" + schedule: + interval: "daily" + + - package-ecosystem: "docker" + directory: "/" + schedule: + interval: "daily" diff --git a/README.md b/README.md index e003399..6aecb92 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# dots.andrejus.dev +# andrejusk/dotfiles Collection of my dotfiles and supporting install scripts @@ -15,8 +15,11 @@ to be installed by running: uuid-runtime \ wget + # Inspect source + wget http://dots.andrejus.dev/setup.sh -qO - | less + # One-liner install if running on Ubuntu - wget https://dots.andrejus.dev/setup.sh -qO - | bash + wget http://dots.andrejus.dev/setup.sh -qO - | bash ## The Stack diff --git a/terraform/module/main.tf b/terraform/module/main.tf index b2cf845..a355829 100644 --- a/terraform/module/main.tf +++ b/terraform/module/main.tf @@ -6,6 +6,7 @@ locals { # Public bucket for static content with uploader service account # ================================================================= resource "google_project_service" "storage" { + disable_on_destroy = false service = "storage.googleapis.com" } @@ -19,6 +20,7 @@ resource "google_storage_bucket" "bucket" { depends_on = [google_project_service.storage] location = var.gcs_location + uniform_bucket_level_access = false website { main_page_suffix = "index.html" not_found_page = "index.html" @@ -53,90 +55,11 @@ resource "google_storage_bucket_object" "index" { bucket = google_storage_bucket.bucket.name } -# ================================================================= -# Expose bucket via HTTPS using Cloud CDN -# -# Adapted from -# https://medium.com/cognite/configuring-google-cloud-cdn-with-terraform-ab65bb0456a9 -# ================================================================= -resource "google_project_service" "compute" { - service = "compute.googleapis.com" -} - -resource "google_compute_backend_bucket" "backend" { - name = "${var.prefix}-backend" - depends_on = [google_project_service.compute] - - bucket_name = google_storage_bucket.bucket.name - description = "Bucket backend for serving static content through CDN" - enable_cdn = true -} - -resource "google_compute_url_map" "urlmap" { - name = "${var.prefix}-urlmap" - description = "URL map to bucket backend service" - default_service = google_compute_backend_bucket.backend.self_link -} - -resource "google_compute_managed_ssl_certificate" "certificate" { - name = "${var.prefix}-certificate" - depends_on = [google_project_service.compute] - - managed { - domains = [local.fqdn] - } -} - -resource "google_compute_target_https_proxy" "https" { - name = "${var.prefix}-https-proxy" - url_map = google_compute_url_map.urlmap.self_link - ssl_certificates = [google_compute_managed_ssl_certificate.certificate.self_link] -} - -resource "google_compute_global_address" "ipv4" { - name = "${var.prefix}-ipv4" - depends_on = [google_project_service.compute] - - ip_version = "IPV4" - address_type = "EXTERNAL" -} - -resource "google_compute_global_address" "ipv6" { - name = "${var.prefix}-ipv6" - depends_on = [google_project_service.compute] - - ip_version = "IPV6" - address_type = "EXTERNAL" -} - -resource "google_compute_global_forwarding_rule" "fwd_ipv4" { - name = "${var.prefix}-fwd-ipv4" - target = google_compute_target_https_proxy.https.self_link - ip_address = google_compute_global_address.ipv4.address - port_range = "443" -} - -resource "google_compute_global_forwarding_rule" "fwd_ipv6" { - name = "${var.prefix}-fwd-ipv6" - target = google_compute_target_https_proxy.https.self_link - ip_address = google_compute_global_address.ipv6.address - port_range = "443" -} - -resource "google_dns_record_set" "dns_a_record" { +resource "google_dns_record_set" "dns_cname_record" { name = local.fqdn managed_zone = var.dns_zone - type = "A" + type = "CNAME" ttl = var.dns_ttl - rrdatas = [google_compute_global_address.ipv4.address] -} - -resource "google_dns_record_set" "dns_aaaa_record" { - name = local.fqdn - managed_zone = var.dns_zone - - type = "AAAA" - ttl = var.dns_ttl - rrdatas = [google_compute_global_address.ipv6.address] + rrdatas = ["c.storage.googleapis.com."] } diff --git a/terraform/module/variables.tf b/terraform/module/variables.tf index 15fffd0..fda4a3d 100644 --- a/terraform/module/variables.tf +++ b/terraform/module/variables.tf @@ -4,8 +4,8 @@ variable "prefix" { } variable "project" { - description = "Google Cloud project to host resources in" type = string + description = "Google Cloud project to host resources in" } variable "project_number" {