Skip to content

Commit

Permalink
chore: switch to HTTP/CF Worker state
Browse files Browse the repository at this point in the history
  • Loading branch information
rawkode committed Jul 18, 2023
1 parent d5c282f commit 52d02bc
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 9 deletions.
1 change: 1 addition & 0 deletions projects/core-infrastructure/dns/.envrc
Expand Up @@ -4,6 +4,7 @@ op signin --account rawkodeacademy.1password.eu
# Load CLOUDFLARE_ACCOUNT_ID from top-level
source_up

export TF_HTTP_PASSWORD="op://sa-core-infrastructure/cloudflare/terraform-state-backend/password"
export CLOUDFLARE_API_TOKEN="op://private/cloudflare/api-tokens/all-access"
export CF_API_TOKEN="op://private/cloudflare/api-tokens/all-access"
export GANDI_KEY="op://private/gandi/credential"
Expand Down
13 changes: 10 additions & 3 deletions projects/core-infrastructure/dns/src/index.ts
@@ -1,6 +1,6 @@
import { CloudflareProvider } from "@generatedProviders/cloudflare/provider";
import { GandiProvider } from "@generatedProviders/gandi/provider";
import { App, PgBackend, TerraformStack } from "cdktf";
import { App, HttpBackend, TerraformStack } from "cdktf";
import { Construct } from "constructs";

import canideployToday from "./domains/canideploy.today";
Expand Down Expand Up @@ -54,8 +54,15 @@ class CoreDns extends TerraformStack {
const app = new App();
const stack = new CoreDns(app, "dns");

new PgBackend(stack, {
connStr: process.env.PG_CONN_STR || "",
const baseUrl = "https://terraform-state-backend.rawkode-academy.workers.dev";

new HttpBackend(stack, {
address: `${baseUrl}/states/core-infrastructure-dns`,
lockMethod: "PUT",
unlockMethod: "DELETE",
lockAddress: `${baseUrl}/states/core-infrastructure-dns/lock`,
unlockAddress: `${baseUrl}/states/core-infrastructure-dns/lock`,
username: "rawkodeacademy",
});

app.synth();
@@ -1,18 +1,14 @@
name = "terraform-state-backend"
main = "dist/index.mjs"

compatibility_date = "2022-08-30"

workers_dev = true

r2_buckets = [
{ binding = "TFSTATE_BUCKET", bucket_name = "rawkode-academy-terraform-state" }
{ binding = "TFSTATE_BUCKET", bucket_name = "rawkode-academy-terraform-state" },
]

[durable_objects]
bindings = [
{ name = "TFSTATE_LOCK", class_name = "DurableLock" }
]
bindings = [{ name = "TFSTATE_LOCK", class_name = "DurableLock" }]

[vars]
ACCESS_SUBDOMAIN = "rawkodeacademy"
Expand Down

0 comments on commit 52d02bc

Please sign in to comment.