Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions pulumi/src/cloudflare/record.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,60 @@ export const andymeier = new cloudflare.DnsRecord(config.identifier, {
proxied: true,
ttl: 1
}, { provider })

// DNS records for redirect domains — proxied A records pointing to a dummy IP
// so Cloudflare can intercept requests and apply redirect rulesets.

const andrewmeierZone = cloudflare.getZoneOutput({
filter: {
account: {
id: config.cloudflareConfig.accountId
},
name: 'andrewmeier.dev'
}
}, { provider })

new cloudflare.DnsRecord(`${config.identifier}-andrewmeier-root`, {
name: '@',
zoneId: andrewmeierZone.id,
type: 'A',
content: '192.0.2.1',
proxied: true,
ttl: 1
}, { provider })

new cloudflare.DnsRecord(`${config.identifier}-andrewmeier-www`, {
name: 'www',
zoneId: andrewmeierZone.id,
type: 'A',
content: '192.0.2.1',
proxied: true,
ttl: 1
}, { provider })

const meiermadeZone = cloudflare.getZoneOutput({
filter: {
account: {
id: config.cloudflareConfig.accountId
},
name: 'meiermade.com'
}
}, { provider })

new cloudflare.DnsRecord(`${config.identifier}-meiermade-root`, {
name: '@',
zoneId: meiermadeZone.id,
type: 'A',
content: '192.0.2.1',
proxied: true,
ttl: 1
}, { provider })

new cloudflare.DnsRecord(`${config.identifier}-meiermade-www`, {
name: 'www',
zoneId: meiermadeZone.id,
type: 'A',
content: '192.0.2.1',
proxied: true,
ttl: 1
}, { provider })
4 changes: 2 additions & 2 deletions pulumi/src/cloudflare/redirect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ new cloudflare.Ruleset(`${config.identifier}-andrewmeier-redirect`, {
phase: 'http_request_dynamic_redirect',
rules: [{
ref: 'andrewmeier_to_andymeier',
description: 'Redirect andrewmeier.dev to andymeier.dev preserving path',
description: 'Redirect andrewmeier.dev and www.andrewmeier.dev to andymeier.dev preserving path',
enabled: true,
expression: '(http.host eq "andrewmeier.dev")',
expression: '(http.host eq "andrewmeier.dev") or (http.host eq "www.andrewmeier.dev")',
action: 'redirect',
actionParameters: {
fromValue: {
Expand Down