Skip to content

Commit 1d10ef9

Browse files
feat(workers): Add optional ID when resolving secrets (#881)
1 parent b67eba3 commit 1d10ef9

File tree

1 file changed

+15
-8
lines changed
  • src/lib/cloudflare/construct/worker-site

1 file changed

+15
-8
lines changed

src/lib/cloudflare/construct/worker-site/main.ts

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
9696
protected createWorkerDomain() {
9797
this.workerManager.createWorkerDomain(`${this.id}-worker-domain`, this, {
9898
...this.props.siteWorkerDomain,
99+
environment: this.props.siteWorkerDomain.environment ?? 'production',
99100
hostname: `${this.props.siteSubDomain}.${this.props.domainName}`,
100101
service: this.siteWorkerScript.scriptName,
101102
})
@@ -107,15 +108,21 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
107108
* @param secretKey the secret key
108109
* @returns the secret value
109110
*/
110-
protected resolveSecretFromAWS(secretName: string, secretKey: string) {
111+
protected resolveSecretFromAWS(secretName: string, secretKey: string, id?: string) {
111112
if (!this.awsProvider) {
112113
throw new Error(`Unable to resolve secret:${secretKey}. AWS provider not found`)
113114
}
114-
const secret = new DataAwsSecretsmanagerSecret(this, `${this.id}-${secretName}-${secretKey}`, { name: secretName })
115-
const secretVersion = new DataAwsSecretsmanagerSecretVersion(this, `${this.id}-${secretName}-${secretKey}-ver`, {
116-
provider: this.awsProvider,
117-
secretId: secret.id,
115+
const secret = new DataAwsSecretsmanagerSecret(this, id ?? `${this.id}-${secretName}-${secretKey}`, {
116+
name: secretName,
118117
})
118+
const secretVersion = new DataAwsSecretsmanagerSecretVersion(
119+
this,
120+
id ? `${id}-ver` : `${this.id}-${secretName}-${secretKey}-ver`,
121+
{
122+
provider: this.awsProvider,
123+
secretId: secret.id,
124+
}
125+
)
119126
if (!secretVersion) throw new Error(`Unable to resolve secret:${secretName}`)
120127
return Fn.lookup(Fn.jsondecode(secretVersion.secretString), secretKey)
121128
}
@@ -128,13 +135,13 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
128135
* @param secretKey the secret key
129136
* @returns the secret value
130137
*/
131-
protected resolveSecretFromAzure(resourceGroupName: string, keyVaultName: string, secretKey: string) {
138+
protected resolveSecretFromAzure(resourceGroupName: string, keyVaultName: string, secretKey: string, id?: string) {
132139
if (!this.azurermProvider) {
133140
throw new Error(`Unable to resolve secret:${secretKey}. Azurerm provider not found`)
134141
}
135142
const keyVaultData = new DataAzurermKeyVault(
136143
this,
137-
`${this.id}-${resourceGroupName}-${keyVaultName}-${secretKey}-vault`,
144+
id ? `${id}-vault` : `${this.id}-${resourceGroupName}-${keyVaultName}-${secretKey}-vault`,
138145
{
139146
resourceGroupName: resourceGroupName,
140147
name: keyVaultName,
@@ -143,7 +150,7 @@ export class CloudflareWorkerSite extends CommonCloudflareConstruct {
143150
)
144151
const secretValueData = new DataAzurermKeyVaultSecret(
145152
this,
146-
`${this.id}-${resourceGroupName}-${keyVaultName}-${secretKey}-secret`,
153+
id ? `${id}-secret` : `${this.id}-${resourceGroupName}-${keyVaultName}-${secretKey}-secret`,
147154
{
148155
name: secretKey,
149156
keyVaultId: keyVaultData.id,

0 commit comments

Comments
 (0)