@highstate/cloudflare 0.9.1 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/connection/index.js +1 -1
- package/dist/connection/index.js.map +1 -1
- package/dist/highstate.manifest.json +2 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/package.json +10 -11
package/dist/connection/index.js
CHANGED
@@ -4,7 +4,7 @@ import { forUnit } from "@highstate/pulumi";
|
|
4
4
|
import { getZones, Provider } from "@pulumi/cloudflare";
|
5
5
|
var { name, secrets, outputs } = forUnit(cloudflare.connection);
|
6
6
|
var provider = new Provider("cloudflare", { apiToken: secrets.apiToken });
|
7
|
-
var { zones } = await getZones({
|
7
|
+
var { results: zones } = await getZones({}, { provider });
|
8
8
|
if (!zones.length) {
|
9
9
|
throw new Error(
|
10
10
|
"No zones found with the provided API token. Ensure the token has Zone.Zone:Read permission on the zone."
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/connection/index.ts"],"sourcesContent":["import { cloudflare } from \"@highstate/library\"\nimport { forUnit } from \"@highstate/pulumi\"\nimport { getZones, Provider } from \"@pulumi/cloudflare\"\n\nconst { name, secrets, outputs } = forUnit(cloudflare.connection)\n\nconst provider = new Provider(\"cloudflare\", { apiToken: secrets.apiToken })\nconst { zones } = await getZones({
|
1
|
+
{"version":3,"sources":["../../src/connection/index.ts"],"sourcesContent":["import { cloudflare } from \"@highstate/library\"\nimport { forUnit } from \"@highstate/pulumi\"\nimport { getZones, Provider } from \"@pulumi/cloudflare\"\n\nconst { name, secrets, outputs } = forUnit(cloudflare.connection)\n\nconst provider = new Provider(\"cloudflare\", { apiToken: secrets.apiToken })\nconst { results: zones } = await getZones({}, { provider })\n\nif (!zones.length) {\n throw new Error(\n \"No zones found with the provided API token. Ensure the token has Zone.Zone:Read permission on the zone.\",\n )\n}\n\nif (zones.length > 1) {\n throw new Error(\n \"Multiple zones found with the provided API token, please use separate tokens and connections for each zone.\",\n )\n}\n\nif (!zones[0].id) {\n throw new Error(\"Zone ID is missing.\")\n}\n\nif (!zones[0].name) {\n throw new Error(\"Zone name is missing.\")\n}\n\nexport default outputs({\n dnsProvider: {\n name,\n type: \"cloudflare\",\n domain: zones[0].name,\n data: {\n zoneId: zones[0].id,\n apiToken: secrets.apiToken,\n },\n },\n $status: {\n domain: {\n value: zones[0].name,\n },\n zoneId: {\n value: zones[0].id,\n },\n },\n})\n"],"mappings":";AAAA,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AACxB,SAAS,UAAU,gBAAgB;AAEnC,IAAM,EAAE,MAAM,SAAS,QAAQ,IAAI,QAAQ,WAAW,UAAU;AAEhE,IAAM,WAAW,IAAI,SAAS,cAAc,EAAE,UAAU,QAAQ,SAAS,CAAC;AAC1E,IAAM,EAAE,SAAS,MAAM,IAAI,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC;AAE1D,IAAI,CAAC,MAAM,QAAQ;AACjB,QAAM,IAAI;AAAA,IACR;AAAA,EACF;AACF;AAEA,IAAI,MAAM,SAAS,GAAG;AACpB,QAAM,IAAI;AAAA,IACR;AAAA,EACF;AACF;AAEA,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI;AAChB,QAAM,IAAI,MAAM,qBAAqB;AACvC;AAEA,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM;AAClB,QAAM,IAAI,MAAM,uBAAuB;AACzC;AAEA,IAAO,qBAAQ,QAAQ;AAAA,EACrB,aAAa;AAAA,IACX;AAAA,IACA,MAAM;AAAA,IACN,QAAQ,MAAM,CAAC,EAAE;AAAA,IACjB,MAAM;AAAA,MACJ,QAAQ,MAAM,CAAC,EAAE;AAAA,MACjB,UAAU,QAAQ;AAAA,IACpB;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,QAAQ;AAAA,MACN,OAAO,MAAM,CAAC,EAAE;AAAA,IAClB;AAAA,IACA,QAAQ;AAAA,MACN,OAAO,MAAM,CAAC,EAAE;AAAA,IAClB;AAAA,EACF;AACF,CAAC;","names":[]}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"sourceHashes": {
|
3
|
-
"./dist/index.js": "
|
4
|
-
"./dist/connection/index.js": "
|
3
|
+
"./dist/index.js": "7351a54236bf8aa601a9b3ca4f8b1ecd91bf18522ebb55bdd715b3c1abcd33b6",
|
4
|
+
"./dist/connection/index.js": "f568c16a213aecdc6effb505850193b2d38155423971798151808d1119cdc845"
|
5
5
|
}
|
6
6
|
}
|
package/dist/index.js
CHANGED
@@ -3,7 +3,7 @@ import {
|
|
3
3
|
getResourceComment
|
4
4
|
} from "@highstate/pulumi";
|
5
5
|
import { DnsRecord } from "@highstate/common";
|
6
|
-
import { Record } from "@pulumi/cloudflare";
|
6
|
+
import { DnsRecord as Record } from "@pulumi/cloudflare";
|
7
7
|
import { core } from "@pulumi/kubernetes";
|
8
8
|
import { Type } from "@highstate/contract";
|
9
9
|
import { Ajv } from "ajv";
|
@@ -38,7 +38,9 @@ var CloudflareDnsRecord = class extends DnsRecord {
|
|
38
38
|
type: args.type,
|
39
39
|
content: args.value,
|
40
40
|
proxied: args.proxied,
|
41
|
-
comment: getResourceComment()
|
41
|
+
comment: getResourceComment(),
|
42
|
+
ttl: args.ttl ?? 1,
|
43
|
+
priority: args.priority
|
42
44
|
},
|
43
45
|
{ ...opts, provider }
|
44
46
|
);
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/dns.ts","../src/provider.ts"],"sourcesContent":["import type { types } from \"@highstate/cert-manager\"\nimport type { dns } from \"@highstate/library\"\nimport {\n type Unwrap,\n type ResourceOptions,\n type Resource,\n getResourceComment,\n} from \"@highstate/pulumi\"\nimport { DnsRecord, type DnsRecordArgs } from \"@highstate/common\"\nimport { Record } from \"@pulumi/cloudflare\"\nimport { core, Provider as K8sProvider } from \"@pulumi/kubernetes\"\nimport { Type, type Static } from \"@highstate/contract\"\nimport { Ajv } from \"ajv\"\nimport { getProvider } from \"./provider\"\n\nexport const dnsProviderDataSchema = Type.Object({\n zoneId: Type.String(),\n apiToken: Type.String(),\n})\n\nexport type DnsProviderData = Static<typeof dnsProviderDataSchema>\n\nexport class CloudflareDnsRecord extends DnsRecord {\n protected create(name: string, args: Unwrap<DnsRecordArgs>, opts?: ResourceOptions): Resource {\n const data = getDnsProviderData(args.provider)\n const provider = getProvider(args.provider.domain, data.apiToken)\n\n return new Record(\n name,\n {\n name: args.name ?? name,\n zoneId: data.zoneId,\n type: args.type,\n content: args.value,\n proxied: args.proxied,\n comment: getResourceComment(),\n },\n { ...opts, provider },\n )\n }\n}\n\nexport function createCloudflareDns01Solver(\n dnsProvider: dns.Provider,\n provider: K8sProvider,\n): types.input.cert_manager.v1.ClusterIssuerSpecAcmeSolversDns01 {\n const data = getDnsProviderData(dnsProvider)\n const name = `cloudflare-credentials-${dnsProvider.name}`\n\n const secret = new core.v1.Secret(\n name,\n {\n metadata: { name, namespace: \"cert-manager\" },\n stringData: {\n apiToken: data.apiToken,\n },\n },\n { provider },\n )\n\n return {\n cloudflare: {\n apiTokenSecretRef: {\n name: secret.metadata.name,\n key: \"apiToken\",\n },\n },\n }\n}\n\nfunction getDnsProviderData(dnsProvider: dns.Provider): DnsProviderData {\n const ajv = new Ajv()\n\n if (!ajv.validate<DnsProviderData>(dnsProviderDataSchema, dnsProvider.data)) {\n throw new Error(`Invalid DNS provider data: ${ajv.errorsText()}`)\n }\n\n return dnsProvider.data\n}\n","import { Provider } from \"@pulumi/cloudflare\"\n\nconst providers = new Map<string, Provider>()\n\nexport function getProvider(domain: string, apiToken: string): Provider {\n const existingProvider = providers.get(domain)\n if (existingProvider) {\n return existingProvider\n }\n\n const provider = new Provider(domain, { apiToken })\n providers.set(domain, provider)\n\n return provider\n}\n"],"mappings":";AAEA;AAAA,EAIE;AAAA,OACK;AACP,SAAS,iBAAqC;AAC9C,SAAS,cAAc;
|
1
|
+
{"version":3,"sources":["../src/dns.ts","../src/provider.ts"],"sourcesContent":["import type { types } from \"@highstate/cert-manager\"\nimport type { dns } from \"@highstate/library\"\nimport {\n type Unwrap,\n type ResourceOptions,\n type Resource,\n getResourceComment,\n} from \"@highstate/pulumi\"\nimport { DnsRecord, type DnsRecordArgs } from \"@highstate/common\"\nimport { DnsRecord as Record } from \"@pulumi/cloudflare\"\nimport { core, Provider as K8sProvider } from \"@pulumi/kubernetes\"\nimport { Type, type Static } from \"@highstate/contract\"\nimport { Ajv } from \"ajv\"\nimport { getProvider } from \"./provider\"\n\nexport const dnsProviderDataSchema = Type.Object({\n zoneId: Type.String(),\n apiToken: Type.String(),\n})\n\nexport type DnsProviderData = Static<typeof dnsProviderDataSchema>\n\nexport class CloudflareDnsRecord extends DnsRecord {\n protected create(name: string, args: Unwrap<DnsRecordArgs>, opts?: ResourceOptions): Resource {\n const data = getDnsProviderData(args.provider)\n const provider = getProvider(args.provider.domain, data.apiToken)\n\n return new Record(\n name,\n {\n name: args.name ?? name,\n zoneId: data.zoneId,\n type: args.type,\n content: args.value,\n proxied: args.proxied,\n comment: getResourceComment(),\n ttl: args.ttl ?? 1,\n priority: args.priority,\n },\n { ...opts, provider },\n )\n }\n}\n\nexport function createCloudflareDns01Solver(\n dnsProvider: dns.Provider,\n provider: K8sProvider,\n): types.input.cert_manager.v1.ClusterIssuerSpecAcmeSolversDns01 {\n const data = getDnsProviderData(dnsProvider)\n const name = `cloudflare-credentials-${dnsProvider.name}`\n\n const secret = new core.v1.Secret(\n name,\n {\n metadata: { name, namespace: \"cert-manager\" },\n stringData: {\n apiToken: data.apiToken,\n },\n },\n { provider },\n )\n\n return {\n cloudflare: {\n apiTokenSecretRef: {\n name: secret.metadata.name,\n key: \"apiToken\",\n },\n },\n }\n}\n\nfunction getDnsProviderData(dnsProvider: dns.Provider): DnsProviderData {\n const ajv = new Ajv()\n\n if (!ajv.validate<DnsProviderData>(dnsProviderDataSchema, dnsProvider.data)) {\n throw new Error(`Invalid DNS provider data: ${ajv.errorsText()}`)\n }\n\n return dnsProvider.data\n}\n","import { Provider } from \"@pulumi/cloudflare\"\n\nconst providers = new Map<string, Provider>()\n\nexport function getProvider(domain: string, apiToken: string): Provider {\n const existingProvider = providers.get(domain)\n if (existingProvider) {\n return existingProvider\n }\n\n const provider = new Provider(domain, { apiToken })\n providers.set(domain, provider)\n\n return provider\n}\n"],"mappings":";AAEA;AAAA,EAIE;AAAA,OACK;AACP,SAAS,iBAAqC;AAC9C,SAAS,aAAa,cAAc;AACpC,SAAS,YAAqC;AAC9C,SAAS,YAAyB;AAClC,SAAS,WAAW;;;ACZpB,SAAS,gBAAgB;AAEzB,IAAM,YAAY,oBAAI,IAAsB;AAErC,SAAS,YAAY,QAAgB,UAA4B;AACtE,QAAM,mBAAmB,UAAU,IAAI,MAAM;AAC7C,MAAI,kBAAkB;AACpB,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,IAAI,SAAS,QAAQ,EAAE,SAAS,CAAC;AAClD,YAAU,IAAI,QAAQ,QAAQ;AAE9B,SAAO;AACT;;;ADCO,IAAM,wBAAwB,KAAK,OAAO;AAAA,EAC/C,QAAQ,KAAK,OAAO;AAAA,EACpB,UAAU,KAAK,OAAO;AACxB,CAAC;AAIM,IAAM,sBAAN,cAAkC,UAAU;AAAA,EACvC,OAAO,MAAc,MAA6B,MAAkC;AAC5F,UAAM,OAAO,mBAAmB,KAAK,QAAQ;AAC7C,UAAM,WAAW,YAAY,KAAK,SAAS,QAAQ,KAAK,QAAQ;AAEhE,WAAO,IAAI;AAAA,MACT;AAAA,MACA;AAAA,QACE,MAAM,KAAK,QAAQ;AAAA,QACnB,QAAQ,KAAK;AAAA,QACb,MAAM,KAAK;AAAA,QACX,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd,SAAS,mBAAmB;AAAA,QAC5B,KAAK,KAAK,OAAO;AAAA,QACjB,UAAU,KAAK;AAAA,MACjB;AAAA,MACA,EAAE,GAAG,MAAM,SAAS;AAAA,IACtB;AAAA,EACF;AACF;AAEO,SAAS,4BACd,aACA,UAC+D;AAC/D,QAAM,OAAO,mBAAmB,WAAW;AAC3C,QAAM,OAAO,0BAA0B,YAAY,IAAI;AAEvD,QAAM,SAAS,IAAI,KAAK,GAAG;AAAA,IACzB;AAAA,IACA;AAAA,MACE,UAAU,EAAE,MAAM,WAAW,eAAe;AAAA,MAC5C,YAAY;AAAA,QACV,UAAU,KAAK;AAAA,MACjB;AAAA,IACF;AAAA,IACA,EAAE,SAAS;AAAA,EACb;AAEA,SAAO;AAAA,IACL,YAAY;AAAA,MACV,mBAAmB;AAAA,QACjB,MAAM,OAAO,SAAS;AAAA,QACtB,KAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,mBAAmB,aAA4C;AACtE,QAAM,MAAM,IAAI,IAAI;AAEpB,MAAI,CAAC,IAAI,SAA0B,uBAAuB,YAAY,IAAI,GAAG;AAC3E,UAAM,IAAI,MAAM,8BAA8B,IAAI,WAAW,CAAC,EAAE;AAAA,EAClE;AAEA,SAAO,YAAY;AACrB;","names":[]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@highstate/cloudflare",
|
3
|
-
"version": "0.9.
|
3
|
+
"version": "0.9.3",
|
4
4
|
"type": "module",
|
5
5
|
"files": [
|
6
6
|
"dist"
|
@@ -16,22 +16,21 @@
|
|
16
16
|
"build": "highstate build"
|
17
17
|
},
|
18
18
|
"dependencies": {
|
19
|
-
"@highstate/cert-manager": "^0.9.
|
20
|
-
"@highstate/common": "^0.9.
|
21
|
-
"@highstate/contract": "^0.9.
|
22
|
-
"@highstate/k8s": "^0.9.
|
23
|
-
"@highstate/
|
19
|
+
"@highstate/cert-manager": "^0.9.3",
|
20
|
+
"@highstate/common": "^0.9.3",
|
21
|
+
"@highstate/contract": "^0.9.3",
|
22
|
+
"@highstate/k8s": "^0.9.3",
|
23
|
+
"@highstate/library": "^0.9.3",
|
24
|
+
"@highstate/pulumi": "^0.9.3",
|
24
25
|
"@pulumi/cloudflare": "^6.1.1",
|
25
26
|
"@pulumi/command": "^1.0.2",
|
26
27
|
"@pulumi/kubernetes": "^4.18.0",
|
27
28
|
"@pulumi/pulumi": "^3.165.0",
|
29
|
+
"@pulumi/query": "^0.6.0",
|
28
30
|
"ajv": "^8.17.1"
|
29
31
|
},
|
30
|
-
"peerDependencies": {
|
31
|
-
"@highstate/library": "workspace:^0.4.4"
|
32
|
-
},
|
33
32
|
"devDependencies": {
|
34
|
-
"@highstate/cli": "^0.9.
|
33
|
+
"@highstate/cli": "^0.9.3"
|
35
34
|
},
|
36
|
-
"gitHead": "
|
35
|
+
"gitHead": "cdd2bb1d9001ba4a39f64087eb29af6f50d82bec"
|
37
36
|
}
|