summaryrefslogtreecommitdiff
path: root/ext/terranix/cloudflare/pages_projects.nix
diff options
context:
space:
mode:
authorseth <[email protected]>2024-04-18 10:38:45 -0400
committerseth <[email protected]>2024-04-18 10:39:22 -0400
commitaf6df8b23346606322b851629f130f1cc2acef92 (patch)
tree8c6f4b1d653de87296dd466380ab1c36bbf05266 /ext/terranix/cloudflare/pages_projects.nix
parent7d9a12f18e8ef8f15903d52d22f556b6fe4e4eec (diff)
manage cloudflare pages with terranix
Diffstat (limited to 'ext/terranix/cloudflare/pages_projects.nix')
-rw-r--r--ext/terranix/cloudflare/pages_projects.nix57
1 files changed, 57 insertions, 0 deletions
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";
+ };
+ };
+ };
+}