@drunk-pulumi/azure-components 1.0.4 → 1.1.1
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/ResourceBuilder.d.ts +5 -5
- package/ResourceBuilder.js +9 -8
- package/aks/AzKubernetes.d.ts +35 -12
- package/aks/AzKubernetes.js +216 -124
- package/aks/ContainerRegistry.js +2 -1
- package/aks/helpers.d.ts +6 -0
- package/aks/helpers.js +26 -5
- package/aks/types.d.ts +245 -0
- package/aks/types.js +3 -0
- package/apim/Apim.d.ts +6 -3
- package/apim/Apim.js +18 -16
- package/app/AppContainer.d.ts +91 -0
- package/app/AppContainer.js +141 -0
- package/app/AppContainerEnv.d.ts +68 -0
- package/app/AppContainerEnv.js +142 -0
- package/app/index.d.ts +2 -0
- package/app/index.js +3 -1
- package/azAd/AppRegistration.d.ts +9 -12
- package/azAd/AppRegistration.js +15 -12
- package/azAd/CloudflareAzIdentity.d.ts +10 -0
- package/azAd/CloudflareAzIdentity.js +61 -0
- package/azAd/GroupRole.d.ts +1 -1
- package/azAd/GroupRole.js +4 -5
- package/azAd/UserAssignedIdentity.js +6 -6
- package/azAd/helpers/rsRoleDefinition.js +2 -7
- package/azAd/index.d.ts +1 -0
- package/azAd/index.js +2 -1
- package/base/BaseResourceComponent.d.ts +1 -1
- package/base/BaseResourceComponent.js +5 -5
- package/base/helpers.js +2 -2
- package/database/Redis.d.ts +1 -4
- package/database/Redis.js +12 -4
- package/database/helpers.js +3 -3
- package/helpers/autoTags.js +4 -1
- package/helpers/index.d.ts +1 -0
- package/helpers/index.js +3 -2
- package/helpers/stackEnv.d.ts +2 -1
- package/helpers/stackEnv.js +4 -3
- package/helpers/zoneHelper.d.ts +24 -0
- package/helpers/zoneHelper.js +40 -0
- package/logs/Logs.d.ts +6 -16
- package/logs/Logs.js +4 -5
- package/package.json +7 -6
- package/services/ServiceBus.js +2 -1
- package/storage/StorageAccount.d.ts +4 -7
- package/storage/StorageAccount.js +16 -13
- package/types.d.ts +14 -3
- package/vault/helpers.d.ts +7 -4
- package/vault/helpers.js +11 -4
- package/vm/DiskEncryptionSet.js +3 -1
- package/vm/VirtualMachine.d.ts +5 -0
- package/vm/VirtualMachine.js +156 -41
- package/vnet/Basion.js +3 -1
- package/vnet/Firewall.d.ts +8 -13
- package/vnet/Firewall.js +8 -6
- package/vnet/FirewallPolicies/FirewallPolicyBuilder.js +24 -6
- package/vnet/FirewallPolicies/commonPolicies.d.ts +29 -2
- package/vnet/FirewallPolicies/commonPolicies.js +466 -20
- package/vnet/FirewallPolicies/index.d.ts +2 -0
- package/vnet/FirewallPolicies/index.js +18 -1
- package/vnet/IpAddresses.d.ts +1 -1
- package/vnet/IpAddresses.js +3 -2
- package/vnet/PrivateDnsZone.d.ts +4 -4
- package/vnet/PrivateDnsZone.js +17 -17
- package/vnet/PrivateEndpoint.d.ts +2 -5
- package/vnet/PrivateEndpoint.js +6 -1
- package/vnet/VirtualNetwork.d.ts +11 -5
- package/vnet/VirtualNetwork.js +31 -9
- package/vnet/helpers.d.ts +2 -0
- package/vnet/helpers.js +40 -2
package/aks/AzKubernetes.js
CHANGED
|
@@ -39,28 +39,69 @@ const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
|
39
39
|
const azAd_1 = require("../azAd");
|
|
40
40
|
const base_1 = require("../base");
|
|
41
41
|
const helpers_1 = require("../helpers");
|
|
42
|
-
const
|
|
42
|
+
const vm_1 = require("../vm");
|
|
43
43
|
const common_1 = require("../common");
|
|
44
|
+
const helpers_2 = require("./helpers");
|
|
45
|
+
const helpers_3 = require("../vnet/helpers");
|
|
46
|
+
const isLegacyMaintenanceArgs = (maintenance) => {
|
|
47
|
+
if (!maintenance)
|
|
48
|
+
return false;
|
|
49
|
+
return 'timeInWeek' in maintenance || 'notAllowedTime' in maintenance;
|
|
50
|
+
};
|
|
51
|
+
const getDefaultMaintenanceArgs = (maintenance) => {
|
|
52
|
+
if (!maintenance)
|
|
53
|
+
return undefined;
|
|
54
|
+
if (isLegacyMaintenanceArgs(maintenance))
|
|
55
|
+
return maintenance;
|
|
56
|
+
return maintenance.default;
|
|
57
|
+
};
|
|
58
|
+
const getAutoUpgradeWindow = (maintenance) => {
|
|
59
|
+
if (!maintenance || isLegacyMaintenanceArgs(maintenance))
|
|
60
|
+
return undefined;
|
|
61
|
+
return maintenance.autoUpgrade;
|
|
62
|
+
};
|
|
63
|
+
const getNodeOSWindow = (maintenance) => {
|
|
64
|
+
if (!maintenance || isLegacyMaintenanceArgs(maintenance))
|
|
65
|
+
return undefined;
|
|
66
|
+
return maintenance.nodeOS;
|
|
67
|
+
};
|
|
44
68
|
class AzKubernetes extends base_1.BaseResourceComponent {
|
|
45
69
|
id;
|
|
46
70
|
resourceName;
|
|
47
71
|
namespaces;
|
|
48
72
|
privateDnsZone;
|
|
73
|
+
privateIpAddress;
|
|
74
|
+
azAppIdentity;
|
|
75
|
+
keyVaultSecretProviderIdentity;
|
|
76
|
+
kubeletIdentity;
|
|
77
|
+
systemIdentityId;
|
|
49
78
|
constructor(name, args, opts) {
|
|
50
79
|
super('AzKubernetes', name, args, opts);
|
|
51
80
|
const app = this.createIdentity();
|
|
52
81
|
const cluster = this.createCluster(app);
|
|
53
82
|
this.createExtraAgentPoolProfiles(cluster);
|
|
54
83
|
this.createMaintenance(cluster);
|
|
55
|
-
this.assignPermission(cluster);
|
|
56
84
|
const nss = this.createNameSpaces(cluster);
|
|
57
|
-
this.privateDnsZone = this.getPrivateDNSZone(cluster);
|
|
58
|
-
this.id = cluster.id;
|
|
59
|
-
this.resourceName = cluster.name;
|
|
60
85
|
this.namespaces = helpers_1.rsHelpers.dictReduce(nss, (n, ns) => ({
|
|
61
86
|
id: ns.id,
|
|
62
87
|
resourceName: ns.name.apply((n) => n),
|
|
63
88
|
}));
|
|
89
|
+
const privateDns = this.getPrivateDNSZone(cluster);
|
|
90
|
+
this.privateDnsZone = privateDns?.privateZone;
|
|
91
|
+
this.privateIpAddress = privateDns?.privateIpAddress;
|
|
92
|
+
this.azAppIdentity = app.getOutputs();
|
|
93
|
+
this.id = cluster.id;
|
|
94
|
+
this.resourceName = cluster.name;
|
|
95
|
+
this.systemIdentityId = cluster.identity.apply((id) => id.principalId);
|
|
96
|
+
this.keyVaultSecretProviderIdentity = args.features.enableAzureKeyVault
|
|
97
|
+
? cluster.addonProfiles.apply((aa) => ({
|
|
98
|
+
id: aa.azureKeyvaultSecretsProvider.identity.resourceId,
|
|
99
|
+
clientId: aa.azureKeyvaultSecretsProvider.identity.clientId,
|
|
100
|
+
objectId: aa.azureKeyvaultSecretsProvider.identity.objectId,
|
|
101
|
+
}))
|
|
102
|
+
: undefined;
|
|
103
|
+
this.kubeletIdentity = this.getExtraAksOutputs(cluster);
|
|
104
|
+
this.assignPermission(cluster);
|
|
64
105
|
this.registerOutputs();
|
|
65
106
|
}
|
|
66
107
|
getOutputs() {
|
|
@@ -69,6 +110,11 @@ class AzKubernetes extends base_1.BaseResourceComponent {
|
|
|
69
110
|
resourceName: this.resourceName,
|
|
70
111
|
namespaces: this.namespaces,
|
|
71
112
|
privateDnsZone: this.privateDnsZone,
|
|
113
|
+
privateIpAddress: this.privateIpAddress,
|
|
114
|
+
azAppIdentity: this.azAppIdentity,
|
|
115
|
+
keyVaultSecretProviderIdentity: this.keyVaultSecretProviderIdentity,
|
|
116
|
+
kubeletIdentity: this.kubeletIdentity,
|
|
117
|
+
systemIdentityId: this.systemIdentityId,
|
|
72
118
|
};
|
|
73
119
|
}
|
|
74
120
|
createIdentity() {
|
|
@@ -96,30 +142,33 @@ class AzKubernetes extends base_1.BaseResourceComponent {
|
|
|
96
142
|
return { userName, sshPublicKey: ssh.publicKey };
|
|
97
143
|
}
|
|
98
144
|
createDiskEncryptionSet() {
|
|
99
|
-
const { rsGroup, enableEncryption, diskEncryptionSet, defaultUAssignedId, vaultInfo } = this.args;
|
|
145
|
+
const { rsGroup, enableEncryption, diskEncryptionSet, groupRoles, defaultUAssignedId, vaultInfo } = this.args;
|
|
100
146
|
if (!enableEncryption)
|
|
101
147
|
return undefined;
|
|
102
148
|
if (diskEncryptionSet)
|
|
103
149
|
return diskEncryptionSet;
|
|
104
|
-
return new
|
|
150
|
+
return new vm_1.DiskEncryptionSet(`${this.name}-disk-encryption-set`, {
|
|
105
151
|
rsGroup,
|
|
106
152
|
vaultInfo,
|
|
107
153
|
defaultUAssignedId,
|
|
154
|
+
groupRoles,
|
|
108
155
|
encryptionType: 'EncryptionAtRestWithPlatformAndCustomerKeys',
|
|
109
156
|
}, { dependsOn: this.opts?.dependsOn, parent: this }).getOutputs();
|
|
110
157
|
}
|
|
111
|
-
createCluster(
|
|
112
|
-
const { rsGroup, vaultInfo, groupRoles, defaultUAssignedId, enableEncryption, nodeResourceGroup, features,
|
|
158
|
+
createCluster(appID) {
|
|
159
|
+
const { rsGroup, vaultInfo, groupRoles, defaultUAssignedId, enableEncryption, nodeResourceGroup, features, network, logWorkspace, sku, autoScalerProfile, extraAgentPoolProfiles, agentPoolProfiles, attachToAcr, maintenance, namespaces, ...props } = this.args;
|
|
113
160
|
const nodeRg = nodeResourceGroup ?? pulumi.interpolate `${rsGroup.resourceGroupName}-nodes`;
|
|
114
161
|
const login = this.createUserNameAndSshKeys();
|
|
115
162
|
const diskEncryptionSet = this.createDiskEncryptionSet();
|
|
163
|
+
// Add default zones for PRD environment to agent pools
|
|
164
|
+
const poolsWithZones = agentPoolProfiles.map((pool) => ({
|
|
165
|
+
...pool,
|
|
166
|
+
availabilityZones: helpers_1.zoneHelper.getDefaultZones(pool.availabilityZones),
|
|
167
|
+
}));
|
|
116
168
|
return new ccs.ManagedCluster(this.name, {
|
|
117
169
|
...props,
|
|
118
170
|
...rsGroup,
|
|
119
|
-
|
|
120
|
-
dnsPrefix: props.dnsPrefix ?? `${helpers_1.azureEnv.currentEnv}-${this.name}`,
|
|
121
|
-
enableRBAC: true,
|
|
122
|
-
disableLocalAccounts: true,
|
|
171
|
+
agentPoolProfiles: poolsWithZones,
|
|
123
172
|
aadProfile: groupRoles
|
|
124
173
|
? {
|
|
125
174
|
enableAzureRBAC: true,
|
|
@@ -128,25 +177,16 @@ class AzKubernetes extends base_1.BaseResourceComponent {
|
|
|
128
177
|
tenantID: helpers_1.azureEnv.tenantId,
|
|
129
178
|
}
|
|
130
179
|
: undefined,
|
|
131
|
-
apiServerAccessProfile: {
|
|
132
|
-
authorizedIPRanges: features?.enablePrivateCluster ? undefined : (network?.authorizedIPRanges ?? []),
|
|
133
|
-
disableRunCommand: true,
|
|
134
|
-
enablePrivateCluster: features?.enablePrivateCluster,
|
|
135
|
-
//TODO: to make the life simple we enable this to allows IP DNS query from public internet.
|
|
136
|
-
enablePrivateClusterPublicFQDN: features?.enablePrivateClusterPublicFQDN ?? true,
|
|
137
|
-
privateDNSZone: features?.enablePrivateCluster ? 'system' : undefined,
|
|
138
|
-
//privateDNSZone: privateDnsZone?.id,
|
|
139
|
-
},
|
|
140
180
|
addonProfiles: {
|
|
141
181
|
azureKeyvaultSecretsProvider: {
|
|
142
|
-
config:
|
|
182
|
+
config: features?.enableAzureKeyVault
|
|
143
183
|
? {
|
|
144
184
|
enableSecretRotation: 'true',
|
|
145
185
|
}
|
|
146
186
|
: undefined,
|
|
147
|
-
enabled: Boolean(
|
|
187
|
+
enabled: Boolean(features?.enableAzureKeyVault),
|
|
148
188
|
},
|
|
149
|
-
azurePolicy: { enabled:
|
|
189
|
+
azurePolicy: { enabled: features?.enableAzurePolicy || false },
|
|
150
190
|
kubeDashboard: { enabled: false },
|
|
151
191
|
httpApplicationRouting: { enabled: false },
|
|
152
192
|
aciConnectorLinux: {
|
|
@@ -171,63 +211,14 @@ class AzKubernetes extends base_1.BaseResourceComponent {
|
|
|
171
211
|
: undefined,
|
|
172
212
|
},
|
|
173
213
|
},
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
windowsProfile: undefined,
|
|
183
|
-
workloadAutoScalerProfile: {
|
|
184
|
-
verticalPodAutoscaler: {
|
|
185
|
-
enabled: features?.enableVerticalPodAutoscaler || false,
|
|
186
|
-
},
|
|
187
|
-
keda: { enabled: true },
|
|
188
|
-
},
|
|
189
|
-
//azureMonitorProfile: { metrics: { enabled } },
|
|
190
|
-
//Refer here for details https://learn.microsoft.com/en-us/azure/aks/use-managed-identity
|
|
191
|
-
//enablePodSecurityPolicy: true,
|
|
192
|
-
diskEncryptionSetID: diskEncryptionSet?.id,
|
|
193
|
-
servicePrincipalProfile: {
|
|
194
|
-
clientId: app.clientId,
|
|
195
|
-
secret: app.clientSecret,
|
|
196
|
-
},
|
|
197
|
-
oidcIssuerProfile: { enabled: Boolean(features?.enableWorkloadIdentity) },
|
|
198
|
-
securityProfile: {
|
|
199
|
-
defender: logWorkspace?.defenderEnabled
|
|
200
|
-
? {
|
|
201
|
-
logAnalyticsWorkspaceResourceId: logWorkspace.id,
|
|
202
|
-
securityMonitoring: { enabled: true },
|
|
203
|
-
}
|
|
204
|
-
: undefined,
|
|
205
|
-
imageCleaner: { enabled: true, intervalHours: 24 },
|
|
206
|
-
workloadIdentity: {
|
|
207
|
-
enabled: Boolean(features?.enableWorkloadIdentity),
|
|
208
|
-
},
|
|
209
|
-
},
|
|
210
|
-
podIdentityProfile: features?.enablePodIdentity
|
|
211
|
-
? {
|
|
212
|
-
enabled: features.enablePodIdentity,
|
|
213
|
-
//Not allow pod to use kublet command
|
|
214
|
-
allowNetworkPluginKubenet: false,
|
|
215
|
-
}
|
|
216
|
-
: undefined,
|
|
217
|
-
identity: {
|
|
218
|
-
type: defaultUAssignedId ? ccs.ResourceIdentityType.UserAssigned : ccs.ResourceIdentityType.SystemAssigned,
|
|
219
|
-
userAssignedIdentities: defaultUAssignedId ? [defaultUAssignedId.id] : undefined,
|
|
220
|
-
},
|
|
221
|
-
// identityProfile: defaultUAssignedId
|
|
222
|
-
// ? pulumi.output(defaultUAssignedId).apply((uID) => ({ [uID.id]: uID }))
|
|
223
|
-
// : undefined,
|
|
224
|
-
networkProfile: {
|
|
225
|
-
...network,
|
|
226
|
-
networkMode: ccs.NetworkMode.Transparent,
|
|
227
|
-
networkPolicy: network?.networkPolicy ?? ccs.NetworkPolicy.Cilium,
|
|
228
|
-
networkPlugin: ccs.NetworkPlugin.Azure,
|
|
229
|
-
loadBalancerSku: 'Standard',
|
|
230
|
-
outboundType: network?.outboundType ?? ccs.OutboundType.UserDefinedRouting,
|
|
214
|
+
apiServerAccessProfile: {
|
|
215
|
+
authorizedIPRanges: features?.enablePrivateCluster ? undefined : (network?.authorizedIPRanges ?? []),
|
|
216
|
+
disableRunCommand: true,
|
|
217
|
+
enablePrivateCluster: features?.enablePrivateCluster,
|
|
218
|
+
//TODO: to make the life simple we enable this to allows IP DNS query from public internet.
|
|
219
|
+
enablePrivateClusterPublicFQDN: features?.enablePrivateClusterPublicFQDN ?? true,
|
|
220
|
+
privateDNSZone: features?.enablePrivateCluster ? 'system' : undefined,
|
|
221
|
+
//privateDNSZone: privateDnsZone?.id,
|
|
231
222
|
},
|
|
232
223
|
autoScalerProfile: autoScalerProfile ?? {
|
|
233
224
|
balanceSimilarNodeGroups: 'false',
|
|
@@ -252,9 +243,74 @@ class AzKubernetes extends base_1.BaseResourceComponent {
|
|
|
252
243
|
nodeOSUpgradeChannel: ccs.NodeOSUpgradeChannel.NodeImage,
|
|
253
244
|
upgradeChannel: ccs.UpgradeChannel.Stable,
|
|
254
245
|
},
|
|
246
|
+
disableLocalAccounts: true,
|
|
247
|
+
diskEncryptionSetID: diskEncryptionSet?.id,
|
|
248
|
+
dnsPrefix: props.dnsPrefix ?? `${helpers_1.azureEnv.currentEnv}-${this.name}`,
|
|
249
|
+
enableRBAC: true,
|
|
250
|
+
identity: {
|
|
251
|
+
type: ccs.ResourceIdentityType.SystemAssigned,
|
|
252
|
+
//type: defaultUAssignedId ? ccs.ResourceIdentityType.UserAssigned : ccs.ResourceIdentityType.SystemAssigned,
|
|
253
|
+
//userAssignedIdentities: defaultUAssignedId ? [defaultUAssignedId.id] : undefined,
|
|
254
|
+
},
|
|
255
|
+
// identityProfile: defaultUAssignedId
|
|
256
|
+
// ? pulumi.output(defaultUAssignedId).apply((uID) => ({ [uID.id]: uID }))
|
|
257
|
+
// : undefined,
|
|
258
|
+
linuxProfile: {
|
|
259
|
+
adminUsername: login.userName,
|
|
260
|
+
ssh: { publicKeys: [{ keyData: login.sshPublicKey }] },
|
|
261
|
+
},
|
|
262
|
+
networkProfile: {
|
|
263
|
+
...network,
|
|
264
|
+
//networkMode: ccs.NetworkMode.Transparent,
|
|
265
|
+
networkPlugin: ccs.NetworkPlugin.Azure,
|
|
266
|
+
networkPolicy: network?.networkPolicy ?? ccs.NetworkPolicy.Cilium,
|
|
267
|
+
networkDataplane: network?.networkPolicy ?? ccs.NetworkDataplane.Cilium,
|
|
268
|
+
networkPluginMode: ccs.NetworkPluginMode.Overlay,
|
|
269
|
+
loadBalancerSku: 'Standard',
|
|
270
|
+
outboundType: network?.outboundType ?? ccs.OutboundType.UserDefinedRouting,
|
|
271
|
+
},
|
|
272
|
+
nodeResourceGroup: nodeRg,
|
|
273
|
+
oidcIssuerProfile: { enabled: Boolean(features?.enableWorkloadIdentity) },
|
|
274
|
+
podIdentityProfile: features?.enablePodIdentity
|
|
275
|
+
? {
|
|
276
|
+
enabled: features.enablePodIdentity,
|
|
277
|
+
//Not allow pod to use kublet command
|
|
278
|
+
allowNetworkPluginKubenet: false,
|
|
279
|
+
}
|
|
280
|
+
: undefined,
|
|
281
|
+
securityProfile: {
|
|
282
|
+
defender: logWorkspace?.defenderEnabled
|
|
283
|
+
? {
|
|
284
|
+
logAnalyticsWorkspaceResourceId: logWorkspace.id,
|
|
285
|
+
securityMonitoring: { enabled: true },
|
|
286
|
+
}
|
|
287
|
+
: undefined,
|
|
288
|
+
imageCleaner: { enabled: true, intervalHours: 24 },
|
|
289
|
+
workloadIdentity: {
|
|
290
|
+
enabled: Boolean(features?.enableWorkloadIdentity),
|
|
291
|
+
},
|
|
292
|
+
},
|
|
293
|
+
servicePrincipalProfile: {
|
|
294
|
+
clientId: appID.clientId,
|
|
295
|
+
secret: appID.clientSecret,
|
|
296
|
+
},
|
|
297
|
+
sku: {
|
|
298
|
+
name: ccs.ManagedClusterSKUName.Base,
|
|
299
|
+
tier: sku,
|
|
300
|
+
},
|
|
301
|
+
windowsProfile: undefined,
|
|
302
|
+
workloadAutoScalerProfile: {
|
|
303
|
+
verticalPodAutoscaler: {
|
|
304
|
+
enabled: features?.enableVerticalPodAutoscaler || false,
|
|
305
|
+
},
|
|
306
|
+
keda: { enabled: features?.enableKeda || false },
|
|
307
|
+
},
|
|
308
|
+
//azureMonitorProfile: { metrics: { enabled } },
|
|
309
|
+
//Refer here for details https://learn.microsoft.com/en-us/azure/aks/use-managed-identity
|
|
310
|
+
//enablePodSecurityPolicy: true,
|
|
255
311
|
}, {
|
|
256
312
|
...this.opts,
|
|
257
|
-
dependsOn:
|
|
313
|
+
dependsOn: appID,
|
|
258
314
|
parent: this,
|
|
259
315
|
});
|
|
260
316
|
}
|
|
@@ -265,6 +321,7 @@ class AzKubernetes extends base_1.BaseResourceComponent {
|
|
|
265
321
|
return extraAgentPoolProfiles.map((profile) => new ccs.AgentPool(`${this.name}-${profile.name}`, {
|
|
266
322
|
...rsGroup,
|
|
267
323
|
...profile,
|
|
324
|
+
availabilityZones: helpers_1.zoneHelper.getDefaultZones(profile.availabilityZones),
|
|
268
325
|
resourceName: aks.name,
|
|
269
326
|
agentPoolName: profile.name,
|
|
270
327
|
}, { dependsOn: aks, deletedWith: aks, parent: this }));
|
|
@@ -282,68 +339,103 @@ class AzKubernetes extends base_1.BaseResourceComponent {
|
|
|
282
339
|
}
|
|
283
340
|
createMaintenance(aks) {
|
|
284
341
|
const { rsGroup, maintenance } = this.args;
|
|
285
|
-
|
|
342
|
+
const defaultMaintenanceArgs = getDefaultMaintenanceArgs(maintenance);
|
|
343
|
+
const autoUpgradeWindow = getAutoUpgradeWindow(maintenance) ?? this.getDefaultAutoUpgradeWindow();
|
|
344
|
+
const nodeOSWindow = getNodeOSWindow(maintenance) ?? this.getDefaultAutoUpgradeWindow();
|
|
345
|
+
const defaultMaintenance = new ccs.MaintenanceConfiguration(`${this.name}-MaintenanceConfiguration`, {
|
|
286
346
|
...rsGroup,
|
|
287
347
|
configName: 'default',
|
|
288
348
|
resourceName: aks.name,
|
|
289
|
-
timeInWeek:
|
|
349
|
+
timeInWeek: defaultMaintenanceArgs?.timeInWeek ?? [
|
|
290
350
|
{
|
|
291
351
|
day: ccs.WeekDay.Sunday,
|
|
292
352
|
hourSlots: [0, 23],
|
|
293
353
|
},
|
|
294
354
|
],
|
|
295
|
-
notAllowedTime:
|
|
355
|
+
notAllowedTime: defaultMaintenanceArgs?.notAllowedTime,
|
|
356
|
+
}, { dependsOn: aks, deletedWith: aks, deleteBeforeReplace: true, parent: this });
|
|
357
|
+
const autoUpgradeMaintenance = new ccs.MaintenanceConfiguration(`${this.name}-AutoUpgradeSchedule`, {
|
|
358
|
+
...rsGroup,
|
|
359
|
+
configName: autoUpgradeWindow.configName ?? 'aksManagedAutoUpgradeSchedule',
|
|
360
|
+
resourceName: aks.name,
|
|
361
|
+
maintenanceWindow: autoUpgradeWindow,
|
|
362
|
+
}, { dependsOn: aks, deletedWith: aks, deleteBeforeReplace: true, parent: this });
|
|
363
|
+
const nodeOSMaintenance = new ccs.MaintenanceConfiguration(`${this.name}-NodeOSUpgradeSchedule`, {
|
|
364
|
+
...rsGroup,
|
|
365
|
+
configName: nodeOSWindow.configName ?? 'aksManagedNodeOSUpgradeSchedule',
|
|
366
|
+
resourceName: aks.name,
|
|
367
|
+
maintenanceWindow: nodeOSWindow,
|
|
296
368
|
}, { dependsOn: aks, deletedWith: aks, deleteBeforeReplace: true, parent: this });
|
|
369
|
+
return { default: defaultMaintenance, autoUpgrade: autoUpgradeMaintenance, nodeOS: nodeOSMaintenance };
|
|
370
|
+
}
|
|
371
|
+
getExtraAksOutputs(aks) {
|
|
372
|
+
const { rsGroup } = this.args;
|
|
373
|
+
const aksInfo = (0, helpers_2.getAksClusterOutput)({ resourceGroupName: rsGroup.resourceGroupName, resourceName: aks.name });
|
|
374
|
+
return aksInfo.properties.identityProfile.apply((p) => ({
|
|
375
|
+
id: p.kubeletidentity.resourceId,
|
|
376
|
+
clientId: p.kubeletidentity.clientId,
|
|
377
|
+
objectId: p.kubeletidentity.objectId,
|
|
378
|
+
}));
|
|
297
379
|
}
|
|
298
380
|
assignPermission(aks) {
|
|
299
381
|
const { rsGroup, attachToAcr } = this.args;
|
|
300
|
-
|
|
301
|
-
.
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
//console.log(Object.values(identityProfile!));
|
|
305
|
-
if (identityProfile?.kubeletidentity) {
|
|
306
|
-
this.addIdentityToRole('contributor', { principalId: identityProfile.kubeletidentity.objectId });
|
|
307
|
-
if (acr) {
|
|
308
|
-
new azAd_1.RoleAssignment(`${this.name}-aks-acr`, {
|
|
309
|
-
principalId: identityProfile.kubeletidentity.objectId,
|
|
310
|
-
principalType: 'ServicePrincipal',
|
|
311
|
-
roleName: 'AcrPull',
|
|
312
|
-
scope: acr.id,
|
|
313
|
-
}, { dependsOn: aks, deletedWith: aks, parent: this });
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
//System Managed Identity
|
|
317
|
-
if (identity?.principalId) {
|
|
318
|
-
new azAd_1.RoleAssignment(`${this.name}-aks-identity`, {
|
|
319
|
-
principalId: identity.principalId,
|
|
382
|
+
if (attachToAcr && this.kubeletIdentity) {
|
|
383
|
+
pulumi.output(this.kubeletIdentity).apply((p) => {
|
|
384
|
+
new azAd_1.RoleAssignment(`${this.name}-aks-acr`, {
|
|
385
|
+
principalId: p.objectId,
|
|
320
386
|
principalType: 'ServicePrincipal',
|
|
321
|
-
roleName: '
|
|
322
|
-
scope:
|
|
387
|
+
roleName: 'AcrPull',
|
|
388
|
+
scope: attachToAcr.id,
|
|
323
389
|
}, { dependsOn: aks, deletedWith: aks, parent: this });
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
//Allows AKS to have Contributor role on the resource group
|
|
393
|
+
aks.identity.apply((id) => new azAd_1.RoleAssignment(`${this.name}-aks-identity`, {
|
|
394
|
+
principalId: id.principalId,
|
|
395
|
+
principalType: 'ServicePrincipal',
|
|
396
|
+
roleName: 'Contributor',
|
|
397
|
+
scope: helpers_1.rsHelpers.getRsGroupIdFrom(rsGroup),
|
|
398
|
+
}, { dependsOn: aks, deletedWith: aks, parent: this }));
|
|
332
399
|
}
|
|
333
400
|
getPrivateDNSZone(aks) {
|
|
334
401
|
const { features } = this.args;
|
|
335
402
|
if (!features.enablePrivateCluster)
|
|
336
403
|
return undefined;
|
|
337
404
|
const rsGroup = aks.nodeResourceGroup;
|
|
338
|
-
const
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
405
|
+
const zoneNames = aks.privateFQDN.apply((fqdn) => {
|
|
406
|
+
const p = fqdn.split('.');
|
|
407
|
+
return { privateClusterName: p[0], privateZoneName: p.slice(1).join('.') };
|
|
408
|
+
});
|
|
409
|
+
const id = pulumi.interpolate `/subscriptions/${helpers_1.azureEnv.subscriptionId}/resourceGroups/${rsGroup}/providers/Microsoft.Network/privateDnsZones/${zoneNames.privateZoneName}`;
|
|
410
|
+
//Get private IpAddress from Private DNS Zone
|
|
411
|
+
const rs = (0, helpers_3.getPrivateRecordSetOutput)({
|
|
412
|
+
privateZoneName: zoneNames.privateZoneName,
|
|
413
|
+
resourceGroupName: rsGroup.apply((g) => g),
|
|
414
|
+
relativeRecordSetName: zoneNames.privateClusterName,
|
|
415
|
+
recordType: 'A',
|
|
343
416
|
});
|
|
344
|
-
|
|
345
|
-
|
|
417
|
+
return {
|
|
418
|
+
privateZone: { id, resourceName: zoneNames.privateZoneName },
|
|
419
|
+
privateIpAddress: rs.aRecords.apply((ars) => (ars && ars.length > 0 ? ars[0].ipv4Address : undefined)),
|
|
420
|
+
};
|
|
421
|
+
}
|
|
422
|
+
getDefaultAutoUpgradeWindow() {
|
|
423
|
+
const tomorrow = new Date();
|
|
424
|
+
tomorrow.setDate(tomorrow.getDate() + 1);
|
|
425
|
+
const startDate = tomorrow.toISOString().split('T')[0];
|
|
426
|
+
return {
|
|
427
|
+
schedule: {
|
|
428
|
+
weekly: {
|
|
429
|
+
dayOfWeek: 'Sunday',
|
|
430
|
+
intervalWeeks: 1,
|
|
431
|
+
},
|
|
432
|
+
},
|
|
433
|
+
durationHours: 4,
|
|
434
|
+
utcOffset: '+08:00',
|
|
435
|
+
startTime: '00:00',
|
|
436
|
+
startDate,
|
|
437
|
+
};
|
|
346
438
|
}
|
|
347
439
|
}
|
|
348
440
|
exports.AzKubernetes = AzKubernetes;
|
|
349
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXpLdWJlcm5ldGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Frcy9Bekt1YmVybmV0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkVBQTZEO0FBRTdELHVEQUF5QztBQUd6QyxrQ0FBMEQ7QUFDMUQsa0NBQWdFO0FBQ2hFLHdDQUFpRDtBQUVqRCwrREFBNEQ7QUFDNUQsc0NBQXlDO0FBMER6QyxNQUFhLFlBQWEsU0FBUSw0QkFBdUM7SUFDdkQsRUFBRSxDQUF3QjtJQUMxQixZQUFZLENBQXdCO0lBQ3BDLFVBQVUsQ0FBd0M7SUFDbEQsY0FBYyxDQUFvQztJQUVsRSxZQUFZLElBQVksRUFBRSxJQUFzQixFQUFFLElBQXNDO1FBQ3RGLEtBQUssQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEQsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUVqQyxJQUFJLENB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
|
|
441
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXpLdWJlcm5ldGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Frcy9Bekt1YmVybmV0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkVBQTZEO0FBRTdELHVEQUF5QztBQUd6QyxrQ0FBMEQ7QUFDMUQsa0NBQWdFO0FBQ2hFLHdDQUE2RDtBQUU3RCw4QkFBMEM7QUFDMUMsc0NBQXlDO0FBQ3pDLHVDQUFnRDtBQUNoRCw2Q0FBNEQ7QUFtQjVELE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxXQUF3QyxFQUF3QyxFQUFFO0lBQ2pILElBQUksQ0FBQyxXQUFXO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDL0IsT0FBTyxZQUFZLElBQUksV0FBVyxJQUFJLGdCQUFnQixJQUFJLFdBQVcsQ0FBQztBQUN4RSxDQUFDLENBQUM7QUFFRixNQUFNLHlCQUF5QixHQUFHLENBQUMsV0FBd0MsRUFBcUMsRUFBRTtJQUNoSCxJQUFJLENBQUMsV0FBVztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ25DLElBQUksdUJBQXVCLENBQUMsV0FBVyxDQUFDO1FBQUUsT0FBTyxXQUFXLENBQUM7SUFDN0QsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDO0FBQzdCLENBQUMsQ0FBQztBQUVGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxXQUF3QyxFQUF1QyxFQUFFO0lBQzdHLElBQUksQ0FBQyxXQUFXLElBQUksdUJBQXVCLENBQUMsV0FBVyxDQUFDO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDM0UsT0FBTyxXQUFXLENBQUMsV0FBVyxDQUFDO0FBQ2pDLENBQUMsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLENBQUMsV0FBd0MsRUFBdUMsRUFBRTtJQUN4RyxJQUFJLENBQUMsV0FBVyxJQUFJLHVCQUF1QixDQUFDLFdBQVcsQ0FBQztRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQzNFLE9BQU8sV0FBVyxD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
|
package/aks/ContainerRegistry.js
CHANGED
|
@@ -65,6 +65,7 @@ class ContainerRegistry extends base_1.BaseResourceComponent {
|
|
|
65
65
|
sku: { name: sku },
|
|
66
66
|
adminUserEnabled: false,
|
|
67
67
|
anonymousPullEnabled: false,
|
|
68
|
+
zoneRedundancy: sku != 'Basic' && props.zoneRedundancy ? 'Enabled' : 'Disabled',
|
|
68
69
|
identity: {
|
|
69
70
|
type: defaultUAssignedId
|
|
70
71
|
? registry.ResourceIdentityType.SystemAssigned_UserAssigned
|
|
@@ -119,4 +120,4 @@ class ContainerRegistry extends base_1.BaseResourceComponent {
|
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
122
|
exports.ContainerRegistry = ContainerRegistry;
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGFpbmVyUmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWtzL0NvbnRhaW5lclJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUF5QztBQUN6QyxpRkFBbUU7QUFHbkUsa0NBQWdFO0FBRWhFLDZEQUEwRDtBQWExRCxNQUFhLGlCQUFrQixTQUFRLDRCQUE0QztJQUNqRSxFQUFFLENBQXdCO0lBQzFCLFlBQVksQ0FBd0I7SUFFcEQsWUFBWSxJQUFZLEVBQUUsSUFBMkIsRUFBRSxJQUFzQztRQUMzRixLQUFLLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU3QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFFN0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2pILE1BQU0sYUFBYSxHQUFHLEdBQUcsS0FBSyxTQUFTLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFD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
|
package/aks/helpers.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
import * as pulumi from '@pulumi/pulumi';
|
|
2
|
+
import { AksOutputType } from './types';
|
|
1
3
|
export declare const aksRequiredOutboundPorts: string[];
|
|
2
4
|
export declare const getAksConfig: ({ resourceName, resourceGroupName, disableLocalAccounts, }: {
|
|
3
5
|
resourceName: string;
|
|
4
6
|
resourceGroupName: string;
|
|
5
7
|
disableLocalAccounts?: boolean;
|
|
6
8
|
}) => Promise<string>;
|
|
9
|
+
export declare const getAksClusterOutput: ({ resourceName, resourceGroupName, }: {
|
|
10
|
+
resourceName: pulumi.Input<string>;
|
|
11
|
+
resourceGroupName: pulumi.Input<string>;
|
|
12
|
+
}) => pulumi.Output<AksOutputType>;
|
package/aks/helpers.js
CHANGED
|
@@ -33,20 +33,41 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.getAksConfig = exports.aksRequiredOutboundPorts = void 0;
|
|
37
|
-
const
|
|
36
|
+
exports.getAksClusterOutput = exports.getAksConfig = exports.aksRequiredOutboundPorts = void 0;
|
|
37
|
+
const azure = __importStar(require("@pulumi/azure-native"));
|
|
38
|
+
const helpers_1 = require("../helpers");
|
|
39
|
+
const pulumi = __importStar(require("@pulumi/pulumi"));
|
|
38
40
|
exports.aksRequiredOutboundPorts = ['1194', '9000', '123', '53', '80', '443'];
|
|
39
41
|
const getAksConfig = async ({ resourceName, resourceGroupName, disableLocalAccounts, }) => {
|
|
40
42
|
const aks = disableLocalAccounts
|
|
41
|
-
? await
|
|
43
|
+
? await azure.containerservice.listManagedClusterUserCredentials({
|
|
42
44
|
resourceName,
|
|
43
45
|
resourceGroupName,
|
|
44
46
|
})
|
|
45
|
-
: await
|
|
47
|
+
: await azure.containerservice.listManagedClusterAdminCredentials({
|
|
46
48
|
resourceName,
|
|
47
49
|
resourceGroupName,
|
|
48
50
|
});
|
|
49
51
|
return Buffer.from(aks.kubeconfigs[0].value, 'base64').toString('utf8');
|
|
50
52
|
};
|
|
51
53
|
exports.getAksConfig = getAksConfig;
|
|
52
|
-
|
|
54
|
+
const getAksClusterOutput = ({ resourceName, resourceGroupName, }) => {
|
|
55
|
+
const url = pulumi.interpolate `https://management.azure.com/subscriptions/${helpers_1.azureEnv.subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/${resourceName}?api-version=2025-10-01`;
|
|
56
|
+
//using fetch to get the aks cluster details
|
|
57
|
+
return pulumi.output(url).apply(async (url) => {
|
|
58
|
+
const token = await azure.authorization.getClientToken();
|
|
59
|
+
const response = await fetch(url, {
|
|
60
|
+
method: 'GET',
|
|
61
|
+
headers: {
|
|
62
|
+
Authorization: `Bearer ${token.token}`,
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
if (!response.ok) {
|
|
66
|
+
throw new Error(`Failed to fetch AKS cluster: ${response.statusText}`);
|
|
67
|
+
}
|
|
68
|
+
const data = await response.json();
|
|
69
|
+
return data;
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
exports.getAksClusterOutput = getAksClusterOutput;
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ha3MvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0REFBOEM7QUFDOUMsd0NBQXNDO0FBQ3RDLHVEQUF5QztBQUc1QixRQUFBLHdCQUF3QixHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztBQUU1RSxNQUFNLFlBQVksR0FBRyxLQUFLLEVBQUUsRUFDakMsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixvQkFBb0IsR0FLckIsRUFBbUIsRUFBRTtJQUNwQixNQUFNLEdBQUcsR0FBRyxvQkFBb0I7UUFDOUIsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLGlDQUFpQyxDQUFDO1lBQzdELFlBQVk7WUFDWixpQkFBaUI7U0FDbEIsQ0FBQztRQUNKLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxrQ0FBa0MsQ0FBQztZQUM5RCxZQUFZO1lBQ1osaUJBQWlCO1NBQ2xCLENBQUMsQ0FBQztJQUVQLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUUsQ0FBQyxDQUFDO0FBcEJXLFFBQUEsWUFBWSxnQkFvQnZCO0FBRUssTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEVBQ2xDLFlBQVksRUFDWixpQkFBaUIsR0FJbEIsRUFBZ0MsRUFBRTtJQUNqQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFBLDhDQUE4QyxrQkFBUSxDQUFDLGNBQWMsbUJBQW1CLGlCQUFpQix5REFBeUQsWUFBWSx5QkFBeUIsQ0FBQztJQUN0Tyw0Q0FBNEM7SUFDNUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDNUMsTUFBTSxLQUFLLEdBQUcsTUFBTSxLQUFLLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3pELE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNoQyxNQUFNLEVBQUUsS0FBSztZQUNiLE9BQU8sRUFBRTtnQkFDUCxhQUFhLEVBQUUsVUFBVSxLQUFLLENBQUMsS0FBSyxFQUFFO2FBQ3ZDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkMsT0FBTyxJQUFxQixDQUFDO0lBQy9CLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBeEJXLFFBQUEsbUJBQW1CLHVCQXdCOUIifQ==
|