summaryrefslogtreecommitdiff
path: root/ext/terranix/cloudflare
diff options
context:
space:
mode:
Diffstat (limited to 'ext/terranix/cloudflare')
-rw-r--r--ext/terranix/cloudflare/dns.nix78
-rw-r--r--ext/terranix/cloudflare/pages_domains.nix26
-rw-r--r--ext/terranix/cloudflare/pages_projects.nix39
-rw-r--r--ext/terranix/cloudflare/ruleset.nix3
-rw-r--r--ext/terranix/cloudflare/tls.nix6
-rw-r--r--ext/terranix/cloudflare/tunnels.nix16
6 files changed, 90 insertions, 78 deletions
diff --git a/ext/terranix/cloudflare/dns.nix b/ext/terranix/cloudflare/dns.nix
index 4da90ab..4be834c 100644
--- a/ext/terranix/cloudflare/dns.nix
+++ b/ext/terranix/cloudflare/dns.nix
@@ -1,52 +1,60 @@
-{lib, ...}: let
- mkRecord = {
- name,
- value,
- type,
- zone_id,
- }:
+{ lib, ... }:
+let
+ mkRecord =
{
- inherit name value type zone_id;
+ name,
+ value,
+ type,
+ zone_id,
+ }:
+ {
+ inherit
+ name
+ value
+ type
+ zone_id
+ ;
ttl = 1;
}
- // lib.optionalAttrs (type != "TXT") {proxied = true;};
+ // lib.optionalAttrs (type != "TXT") { proxied = true; };
zones = {
getchoo_com = lib.tfRef "var.getchoo_com_zone_id";
};
- inherit
- (zones)
- getchoo_com
- ;
+ inherit (zones) getchoo_com;
atlas_tunnel = lib.tfRef "data.cloudflare_tunnel.atlas-nginx.id" + ".cfargotunnel.com";
pagesSubdomainFor = project: lib.tfRef "resource.cloudflare_pages_project.${project}.subdomain";
- blockEmailSpoofingFor = domain: let
- zone_id = zones.${domain};
- in {
- "${domain}_dmarc" = {
- name = "_dmarc";
- value = "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;";
- type = "TXT";
- inherit zone_id;
- };
+ blockEmailSpoofingFor =
+ domain:
+ let
+ zone_id = zones.${domain};
+ in
+ {
+ "${domain}_dmarc" = {
+ name = "_dmarc";
+ value = "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;";
+ type = "TXT";
+ inherit zone_id;
+ };
- "${domain}_domainkey" = {
- name = "*._domainkey";
- value = "v=DKIM1; p=";
- type = "TXT";
- inherit zone_id;
- };
+ "${domain}_domainkey" = {
+ name = "*._domainkey";
+ value = "v=DKIM1; p=";
+ type = "TXT";
+ inherit zone_id;
+ };
- "${domain}_email" = {
- name = "@";
- value = "v=spf1 -all";
- type = "TXT";
- inherit zone_id;
+ "${domain}_email" = {
+ name = "@";
+ value = "v=spf1 -all";
+ type = "TXT";
+ inherit zone_id;
+ };
};
- };
-in {
+in
+{
resource.cloudflare_zone_dnssec = {
getchoo_com_dnssec = {
zone_id = getchoo_com;
diff --git a/ext/terranix/cloudflare/pages_domains.nix b/ext/terranix/cloudflare/pages_domains.nix
index c3c45bb..531b2de 100644
--- a/ext/terranix/cloudflare/pages_domains.nix
+++ b/ext/terranix/cloudflare/pages_domains.nix
@@ -1,30 +1,32 @@
-{lib, ...}: let
- setDomainsFor = {
- account_id,
- project,
- domains,
- }:
+{ lib, ... }:
+let
+ setDomainsFor =
+ {
+ account_id,
+ project,
+ domains,
+ }:
lib.listToAttrs (
map (domain: {
- name = "${project}_${builtins.replaceStrings ["."] ["_"] domain}";
+ name = "${project}_${builtins.replaceStrings [ "." ] [ "_" ] domain}";
value = {
inherit account_id;
project_name = lib.tfRef "resource.cloudflare_pages_project.${project}.name";
inherit domain;
};
- })
- domains
+ }) domains
);
-in {
+in
+{
resource.cloudflare_pages_domain =
setDomainsFor {
account_id = lib.tfRef "var.account_id";
project = "personal_website";
- domains = ["getchoo.com"];
+ domains = [ "getchoo.com" ];
}
// setDomainsFor {
account_id = lib.tfRef "var.account_id";
project = "teawie_api";
- domains = ["api.getchoo.com"];
+ domains = [ "api.getchoo.com" ];
};
}
diff --git a/ext/terranix/cloudflare/pages_projects.nix b/ext/terranix/cloudflare/pages_projects.nix
index 5b6e64e..37ca785 100644
--- a/ext/terranix/cloudflare/pages_projects.nix
+++ b/ext/terranix/cloudflare/pages_projects.nix
@@ -1,15 +1,16 @@
-{lib, ...}: let
- getGitHubRepo = {
- owner,
- repo_name,
- }: {
- type = "github";
- config = {
- inherit owner repo_name;
- production_branch = "main";
+{ lib, ... }:
+let
+ getGitHubRepo =
+ { owner, repo_name }:
+ {
+ type = "github";
+ config = {
+ inherit owner repo_name;
+ production_branch = "main";
+ };
};
- };
-in {
+in
+{
resource.cloudflare_pages_project = {
personal_website = {
account_id = lib.tfRef "var.account_id";
@@ -27,14 +28,16 @@ in {
destination_dir = "/dist";
};
- deployment_configs = let
- environment_variables = {
- MINIFLUX_URL = "https://miniflux.getchoo.com";
+ deployment_configs =
+ let
+ environment_variables = {
+ MINIFLUX_URL = "https://miniflux.getchoo.com";
+ };
+ in
+ {
+ production = [ { inherit environment_variables; } ];
+ preview = [ { inherit environment_variables; } ];
};
- in {
- production = [{inherit environment_variables;}];
- preview = [{inherit environment_variables;}];
- };
};
teawie_api = {
diff --git a/ext/terranix/cloudflare/ruleset.nix b/ext/terranix/cloudflare/ruleset.nix
index 9f611c4..98364d9 100644
--- a/ext/terranix/cloudflare/ruleset.nix
+++ b/ext/terranix/cloudflare/ruleset.nix
@@ -1,4 +1,5 @@
-{lib, ...}: {
+{ lib, ... }:
+{
resource.cloudflare_ruleset = {
getchoo_com_redirects = {
kind = "zone";
diff --git a/ext/terranix/cloudflare/tls.nix b/ext/terranix/cloudflare/tls.nix
index 1fcc7ac..77450ad 100644
--- a/ext/terranix/cloudflare/tls.nix
+++ b/ext/terranix/cloudflare/tls.nix
@@ -1,9 +1,11 @@
-{lib, ...}: let
+{ lib, ... }:
+let
baseSettings = {
always_use_https = "on";
ssl = "strict";
};
-in {
+in
+{
resource.cloudflare_zone_settings_override = {
getchoo_com_settings = {
zone_id = lib.tfRef "var.getchoo_com_zone_id";
diff --git a/ext/terranix/cloudflare/tunnels.nix b/ext/terranix/cloudflare/tunnels.nix
index f745deb..0bbf6f6 100644
--- a/ext/terranix/cloudflare/tunnels.nix
+++ b/ext/terranix/cloudflare/tunnels.nix
@@ -1,13 +1,9 @@
-{lib, ...}: {
- data.cloudflare_tunnel =
- lib.genAttrs
- [
- "atlas-nginx"
- ]
- (name: {
- inherit name;
- account_id = lib.tfRef "var.account_id";
- });
+{ lib, ... }:
+{
+ data.cloudflare_tunnel = lib.genAttrs [ "atlas-nginx" ] (name: {
+ inherit name;
+ account_id = lib.tfRef "var.account_id";
+ });
resource.cloudflare_authenticated_origin_pulls = {
getchoo_com_origin = {