From af6df8b23346606322b851629f130f1cc2acef92 Mon Sep 17 00:00:00 2001 From: seth Date: Thu, 18 Apr 2024 10:38:45 -0400 Subject: manage cloudflare pages with terranix --- ext/terranix/cloudflare/pages_projects.nix | 57 ++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 ext/terranix/cloudflare/pages_projects.nix (limited to 'ext/terranix/cloudflare/pages_projects.nix') diff --git a/ext/terranix/cloudflare/pages_projects.nix b/ext/terranix/cloudflare/pages_projects.nix new file mode 100644 index 0000000..5b6e64e --- /dev/null +++ b/ext/terranix/cloudflare/pages_projects.nix @@ -0,0 +1,57 @@ +{lib, ...}: let + getGitHubRepo = { + owner, + repo_name, + }: { + type = "github"; + config = { + inherit owner repo_name; + production_branch = "main"; + }; + }; +in { + resource.cloudflare_pages_project = { + personal_website = { + account_id = lib.tfRef "var.account_id"; + name = "getchoo-website"; + production_branch = "main"; + + source = getGitHubRepo { + owner = "getchoo"; + repo_name = "website"; + }; + + build_config = { + build_caching = true; + build_command = "./.github/build_site.sh"; + destination_dir = "/dist"; + }; + + deployment_configs = let + environment_variables = { + MINIFLUX_URL = "https://miniflux.getchoo.com"; + }; + in { + production = [{inherit environment_variables;}]; + preview = [{inherit environment_variables;}]; + }; + }; + + teawie_api = { + account_id = lib.tfRef "var.account_id"; + name = "teawie-api"; + production_branch = "main"; + + source = getGitHubRepo { + owner = "getchoo"; + repo_name = "teawieAPI"; + }; + + build_config = { + build_caching = true; + build_command = "pnpm run lint && pnpm run build"; + destination_dir = "/dist"; + }; + }; + }; +} -- cgit v1.2.3