@bluedynamics/cdk8s-plone 0.1.28 → 0.1.30

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/API.md CHANGED
@@ -726,6 +726,7 @@ const ploneBaseOptions: PloneBaseOptions = { ... }
726
726
  | <code><a href="#@bluedynamics/cdk8s-plone.PloneBaseOptions.property.replicas">replicas</a></code> | <code>number</code> | Number of pod replicas to run. |
727
727
  | <code><a href="#@bluedynamics/cdk8s-plone.PloneBaseOptions.property.requestCpu">requestCpu</a></code> | <code>string</code> | CPU request for the container. |
728
728
  | <code><a href="#@bluedynamics/cdk8s-plone.PloneBaseOptions.property.requestMemory">requestMemory</a></code> | <code>string</code> | Memory request for the container. |
729
+ | <code><a href="#@bluedynamics/cdk8s-plone.PloneBaseOptions.property.securityContext">securityContext</a></code> | <code><a href="#@bluedynamics/cdk8s-plone.PloneSecurityContext">PloneSecurityContext</a></code> | Security context for the container. |
729
730
  | <code><a href="#@bluedynamics/cdk8s-plone.PloneBaseOptions.property.serviceAnnotations">serviceAnnotations</a></code> | <code>{[ key: string ]: string}</code> | Annotations to add to the Service metadata. |
730
731
  | <code><a href="#@bluedynamics/cdk8s-plone.PloneBaseOptions.property.servicemonitor">servicemonitor</a></code> | <code>boolean</code> | Enable Prometheus ServiceMonitor for metrics collection. |
731
732
 
@@ -1159,6 +1160,28 @@ Memory request for the container.
1159
1160
  ```
1160
1161
 
1161
1162
 
1163
+ ##### `securityContext`<sup>Optional</sup> <a name="securityContext" id="@bluedynamics/cdk8s-plone.PloneBaseOptions.property.securityContext"></a>
1164
+
1165
+ ```typescript
1166
+ public readonly securityContext: PloneSecurityContext;
1167
+ ```
1168
+
1169
+ - *Type:* <a href="#@bluedynamics/cdk8s-plone.PloneSecurityContext">PloneSecurityContext</a>
1170
+ - *Default:* no security context
1171
+
1172
+ Security context for the container.
1173
+
1174
+ Use to set capabilities, run as non-root, read-only filesystem, etc.
1175
+
1176
+ ---
1177
+
1178
+ *Example*
1179
+
1180
+ ```typescript
1181
+ { capabilities: { add: ['SYS_PTRACE'] } }
1182
+ ```
1183
+
1184
+
1162
1185
  ##### `serviceAnnotations`<sup>Optional</sup> <a name="serviceAnnotations" id="@bluedynamics/cdk8s-plone.PloneBaseOptions.property.serviceAnnotations"></a>
1163
1186
 
1164
1187
  ```typescript
@@ -1197,6 +1220,53 @@ When enabled, a ServiceMonitor resource will be created to scrape metrics.
1197
1220
 
1198
1221
  ---
1199
1222
 
1223
+ ### PloneCapabilities <a name="PloneCapabilities" id="@bluedynamics/cdk8s-plone.PloneCapabilities"></a>
1224
+
1225
+ Linux capabilities to add or drop on a container.
1226
+
1227
+ #### Initializer <a name="Initializer" id="@bluedynamics/cdk8s-plone.PloneCapabilities.Initializer"></a>
1228
+
1229
+ ```typescript
1230
+ import { PloneCapabilities } from '@bluedynamics/cdk8s-plone'
1231
+
1232
+ const ploneCapabilities: PloneCapabilities = { ... }
1233
+ ```
1234
+
1235
+ #### Properties <a name="Properties" id="Properties"></a>
1236
+
1237
+ | **Name** | **Type** | **Description** |
1238
+ | --- | --- | --- |
1239
+ | <code><a href="#@bluedynamics/cdk8s-plone.PloneCapabilities.property.add">add</a></code> | <code>string[]</code> | Capabilities to add (e.g. 'SYS_PTRACE', 'NET_ADMIN'). |
1240
+ | <code><a href="#@bluedynamics/cdk8s-plone.PloneCapabilities.property.drop">drop</a></code> | <code>string[]</code> | Capabilities to drop (e.g. 'ALL', 'NET_RAW'). |
1241
+
1242
+ ---
1243
+
1244
+ ##### `add`<sup>Optional</sup> <a name="add" id="@bluedynamics/cdk8s-plone.PloneCapabilities.property.add"></a>
1245
+
1246
+ ```typescript
1247
+ public readonly add: string[];
1248
+ ```
1249
+
1250
+ - *Type:* string[]
1251
+ - *Default:* no capabilities added
1252
+
1253
+ Capabilities to add (e.g. 'SYS_PTRACE', 'NET_ADMIN').
1254
+
1255
+ ---
1256
+
1257
+ ##### `drop`<sup>Optional</sup> <a name="drop" id="@bluedynamics/cdk8s-plone.PloneCapabilities.property.drop"></a>
1258
+
1259
+ ```typescript
1260
+ public readonly drop: string[];
1261
+ ```
1262
+
1263
+ - *Type:* string[]
1264
+ - *Default:* no capabilities dropped
1265
+
1266
+ Capabilities to drop (e.g. 'ALL', 'NET_RAW').
1267
+
1268
+ ---
1269
+
1200
1270
  ### PloneHttpcacheOptions <a name="PloneHttpcacheOptions" id="@bluedynamics/cdk8s-plone.PloneHttpcacheOptions"></a>
1201
1271
 
1202
1272
  Configuration options for PloneHttpcache (Varnish caching layer).
@@ -1565,6 +1635,132 @@ This is used in Kubernetes labels and doesn't affect the actual image versions.
1565
1635
 
1566
1636
  ---
1567
1637
 
1638
+ ### PloneSecurityContext <a name="PloneSecurityContext" id="@bluedynamics/cdk8s-plone.PloneSecurityContext"></a>
1639
+
1640
+ Security context for a Plone container.
1641
+
1642
+ Controls privilege and access settings.
1643
+
1644
+ #### Initializer <a name="Initializer" id="@bluedynamics/cdk8s-plone.PloneSecurityContext.Initializer"></a>
1645
+
1646
+ ```typescript
1647
+ import { PloneSecurityContext } from '@bluedynamics/cdk8s-plone'
1648
+
1649
+ const ploneSecurityContext: PloneSecurityContext = { ... }
1650
+ ```
1651
+
1652
+ #### Properties <a name="Properties" id="Properties"></a>
1653
+
1654
+ | **Name** | **Type** | **Description** |
1655
+ | --- | --- | --- |
1656
+ | <code><a href="#@bluedynamics/cdk8s-plone.PloneSecurityContext.property.allowPrivilegeEscalation">allowPrivilegeEscalation</a></code> | <code>boolean</code> | Allow privilege escalation for the container process. |
1657
+ | <code><a href="#@bluedynamics/cdk8s-plone.PloneSecurityContext.property.capabilities">capabilities</a></code> | <code><a href="#@bluedynamics/cdk8s-plone.PloneCapabilities">PloneCapabilities</a></code> | Linux capabilities to add or drop. |
1658
+ | <code><a href="#@bluedynamics/cdk8s-plone.PloneSecurityContext.property.privileged">privileged</a></code> | <code>boolean</code> | Run the container in privileged mode. |
1659
+ | <code><a href="#@bluedynamics/cdk8s-plone.PloneSecurityContext.property.readOnlyRootFilesystem">readOnlyRootFilesystem</a></code> | <code>boolean</code> | Mount the root filesystem as read-only. |
1660
+ | <code><a href="#@bluedynamics/cdk8s-plone.PloneSecurityContext.property.runAsGroup">runAsGroup</a></code> | <code>number</code> | Run the container as a specific group ID. |
1661
+ | <code><a href="#@bluedynamics/cdk8s-plone.PloneSecurityContext.property.runAsNonRoot">runAsNonRoot</a></code> | <code>boolean</code> | Require the container to run as non-root. |
1662
+ | <code><a href="#@bluedynamics/cdk8s-plone.PloneSecurityContext.property.runAsUser">runAsUser</a></code> | <code>number</code> | Run the container as a specific user ID. |
1663
+
1664
+ ---
1665
+
1666
+ ##### `allowPrivilegeEscalation`<sup>Optional</sup> <a name="allowPrivilegeEscalation" id="@bluedynamics/cdk8s-plone.PloneSecurityContext.property.allowPrivilegeEscalation"></a>
1667
+
1668
+ ```typescript
1669
+ public readonly allowPrivilegeEscalation: boolean;
1670
+ ```
1671
+
1672
+ - *Type:* boolean
1673
+ - *Default:* undefined
1674
+
1675
+ Allow privilege escalation for the container process.
1676
+
1677
+ ---
1678
+
1679
+ ##### `capabilities`<sup>Optional</sup> <a name="capabilities" id="@bluedynamics/cdk8s-plone.PloneSecurityContext.property.capabilities"></a>
1680
+
1681
+ ```typescript
1682
+ public readonly capabilities: PloneCapabilities;
1683
+ ```
1684
+
1685
+ - *Type:* <a href="#@bluedynamics/cdk8s-plone.PloneCapabilities">PloneCapabilities</a>
1686
+ - *Default:* no capability changes
1687
+
1688
+ Linux capabilities to add or drop.
1689
+
1690
+ ---
1691
+
1692
+ *Example*
1693
+
1694
+ ```typescript
1695
+ { add: ['SYS_PTRACE'] }
1696
+ ```
1697
+
1698
+
1699
+ ##### `privileged`<sup>Optional</sup> <a name="privileged" id="@bluedynamics/cdk8s-plone.PloneSecurityContext.property.privileged"></a>
1700
+
1701
+ ```typescript
1702
+ public readonly privileged: boolean;
1703
+ ```
1704
+
1705
+ - *Type:* boolean
1706
+ - *Default:* undefined
1707
+
1708
+ Run the container in privileged mode.
1709
+
1710
+ ---
1711
+
1712
+ ##### `readOnlyRootFilesystem`<sup>Optional</sup> <a name="readOnlyRootFilesystem" id="@bluedynamics/cdk8s-plone.PloneSecurityContext.property.readOnlyRootFilesystem"></a>
1713
+
1714
+ ```typescript
1715
+ public readonly readOnlyRootFilesystem: boolean;
1716
+ ```
1717
+
1718
+ - *Type:* boolean
1719
+ - *Default:* undefined
1720
+
1721
+ Mount the root filesystem as read-only.
1722
+
1723
+ ---
1724
+
1725
+ ##### `runAsGroup`<sup>Optional</sup> <a name="runAsGroup" id="@bluedynamics/cdk8s-plone.PloneSecurityContext.property.runAsGroup"></a>
1726
+
1727
+ ```typescript
1728
+ public readonly runAsGroup: number;
1729
+ ```
1730
+
1731
+ - *Type:* number
1732
+ - *Default:* container default
1733
+
1734
+ Run the container as a specific group ID.
1735
+
1736
+ ---
1737
+
1738
+ ##### `runAsNonRoot`<sup>Optional</sup> <a name="runAsNonRoot" id="@bluedynamics/cdk8s-plone.PloneSecurityContext.property.runAsNonRoot"></a>
1739
+
1740
+ ```typescript
1741
+ public readonly runAsNonRoot: boolean;
1742
+ ```
1743
+
1744
+ - *Type:* boolean
1745
+ - *Default:* undefined
1746
+
1747
+ Require the container to run as non-root.
1748
+
1749
+ ---
1750
+
1751
+ ##### `runAsUser`<sup>Optional</sup> <a name="runAsUser" id="@bluedynamics/cdk8s-plone.PloneSecurityContext.property.runAsUser"></a>
1752
+
1753
+ ```typescript
1754
+ public readonly runAsUser: number;
1755
+ ```
1756
+
1757
+ - *Type:* number
1758
+ - *Default:* container default
1759
+
1760
+ Run the container as a specific user ID.
1761
+
1762
+ ---
1763
+
1568
1764
  ### PloneVinylCacheOptions <a name="PloneVinylCacheOptions" id="@bluedynamics/cdk8s-plone.PloneVinylCacheOptions"></a>
1569
1765
 
1570
1766
  Configuration options for PloneVinylCache (cloud-vinyl operator).
@@ -118,6 +118,13 @@ export interface PloneDeploymentOptions {
118
118
  readonly nodeSelector?: {
119
119
  [key: string]: string;
120
120
  };
121
+ /**
122
+ * Security context for the container.
123
+ * Use to set capabilities, run as non-root, read-only filesystem, etc.
124
+ * @example { capabilities: { add: ['SYS_PTRACE'] } }
125
+ * @default - no security context
126
+ */
127
+ readonly securityContext?: k8s.SecurityContext;
121
128
  /**
122
129
  * Liveness probe configuration for the container.
123
130
  * @default - undefined (no liveness probe)
package/lib/deployment.js CHANGED
@@ -59,6 +59,7 @@ class PloneDeployment extends constructs_1.Construct {
59
59
  },
60
60
  livenessProbe: options.livenessProbe ?? undefined,
61
61
  readinessProbe: options.readinessProbe ?? undefined,
62
+ securityContext: options.securityContext,
62
63
  };
63
64
  const deploymentOptions = {
64
65
  metadata: {
@@ -94,4 +95,4 @@ class PloneDeployment extends constructs_1.Construct {
94
95
  }
95
96
  }
96
97
  exports.PloneDeployment = PloneDeployment;
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBsb3ltZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUFpQztBQUNqQyxpQ0FBOEI7QUFDOUIsdUNBQXVDO0FBQ3ZDLDJDQUF1QztBQUN2QyxxQ0FBcUM7QUFDckMsK0JBQWtEO0FBNklsRDs7Ozs7O0dBTUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7SUFFNUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxPQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2xDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLGFBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNoRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUMxQyxNQUFNLGdCQUFnQixHQUFHO1lBQ3ZCLHdCQUF3QixFQUFFLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLGFBQWE7WUFDaEYsNkJBQTZCLEVBQUUsWUFBWSxDQUFDLDZCQUE2QixDQUFDLElBQUksRUFBRSxHQUFHLGFBQWE7U0FDakcsQ0FBQztRQUNGLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLEdBQUcsWUFBWTtZQUNmLEdBQUcsS0FBSztZQUNSLDJCQUEyQixFQUFFLE9BQU87WUFDcEMsOEJBQThCLEVBQUUsYUFBYTtTQUM5QyxDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQWMsT0FBTyxFQUFFLFdBQVcsSUFBSSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksR0FBRyxH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ckMsSUFBSSxjQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWpGRCwwQ0FpRkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQgeyBsb2cgfSBmcm9tICdjb25zb2xlJztcbmltcG9ydCB7IE5hbWVzIH0gZnJvbSAnY2RrOHMnO1xuaW1wb3J0ICogYXMga3BsdXMgZnJvbSAnY2RrOHMtcGx1cy0zMCc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGs4cyBmcm9tICcuL2ltcG9ydHMvazhzJztcbmltcG9ydCB7IFBsb25lUERCLCBQbG9uZVBEQk9wdGlvbnMgfSBmcm9tICcuL3BkYic7XG5cbi8qKlxuICogQ29udGFpbmVyIGltYWdlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbG9uZUltYWdlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBDb250YWluZXIgaW1hZ2UgbmFtZSBhbmQgdGFnLlxuICAgKiBAZXhhbXBsZSAncGxvbmUvcGxvbmUtYmFja2VuZDo2LjAuMTAnXG4gICAqIEBkZWZhdWx0ICdwbG9uZS9wbG9uZS1iYWNrZW5kOmxhdGVzdCdcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lcyBvZiBLdWJlcm5ldGVzIHNlY3JldHMgZm9yIHB1bGxpbmcgcHJpdmF0ZSBpbWFnZXMuXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBpbWFnZVB1bGxTZWNyZXRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEltYWdlIHB1bGwgcG9saWN5IChBbHdheXMsIElmTm90UHJlc2VudCwgTmV2ZXIpLlxuICAgKiBAZGVmYXVsdCAnSWZOb3RQcmVzZW50J1xuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VQdWxsUG9saWN5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgUGxvbmVEZXBsb3ltZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsb25lRGVwbG95bWVudE9wdGlvbnMge1xuICAvKipcbiAgICogQ29udGFpbmVyIGltYWdlIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBkZWZhdWx0ICdwbG9uZS9wbG9uZS1iYWNrZW5kOmxhdGVzdCdcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlPzogUGxvbmVJbWFnZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICogVXNlIGNkazhzLXBsdXMtMzAgRW52IHRvIGRlZmluZSB2YXJpYWJsZXMgYW5kIHNvdXJjZXMuXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50Pzoga3BsdXMuRW52O1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgcG9kIHJlcGxpY2FzIHRvIHJ1bi5cbiAgICogQGRlZmF1bHQgMlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENQVSBsaW1pdCBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgJzEwMDBtJ1xuICAgKi9cbiAgcmVhZG9ubHkgbGltaXRDcHU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1lbW9yeSBsaW1pdCBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgJzFHaSdcbiAgICovXG4gIHJlYWRvbmx5IGxpbWl0TWVtb3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDUFUgcmVxdWVzdCBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgJzIwMG0nXG4gICAqL1xuICByZWFkb25seSByZXF1ZXN0Q3B1Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNZW1vcnkgcmVxdWVzdCBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgJzMwME1pJ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdE1lbW9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogQ29udGFpbmVyIHBvcnQgbnVtYmVyIHRvIGV4cG9zZS5cbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBLdWJlcm5ldGVzIGxhYmVscyBmb3IgdGhlIGRlcGxveW1lbnQuXG4gICAqIEBkZWZhdWx0IC0gc3RhbmRhcmQgUGxvbmUgbGFiZWxzIG9ubHlcbiAgICovXG4gIHJlYWRvbmx5IGxhYmVscz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBBbm5vdGF0aW9ucyB0byBhZGQgdG8gdGhlIERlcGxveW1lbnQgbWV0YWRhdGEuXG4gICAqIENvbW1vbiBhbm5vdGF0aW9ucyBpbmNsdWRlOiBkZXBsb3ltZW50IHRpbWVzdGFtcHMsIGNoYW5nZSB0cmFja2luZywgZXRjLlxuICAgKiBAZXhhbXBsZSB7ICdkZXBsb3ltZW50Lmt1YmVybmV0ZXMuaW8vcmV2aXNpb24nOiAnMScgfVxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgYW5ub3RhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGFubm90YXRpb25zPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEFubm90YXRpb25zIHRvIGFkZCB0byB0aGUgUG9kIHRlbXBsYXRlIG1ldGFkYXRhLlxuICAgKiBDb21tb24gYW5ub3RhdGlvbnMgaW5jbHVkZTogUHJvbWV0aGV1cyBzY3JhcGluZyBjb25maWcsIElzdGlvIGNvbmZpZyxcbiAgICogYmFja3VwIHBvbGljaWVzLCBsb2dnaW5nIGNvbmZpZ3VyYXRpb25zLCBldGMuXG4gICAqIEBleGFtcGxlIHsgJ3Byb21ldGhldXMuaW8vc2NyYXBlJzogJ3RydWUnLCAncHJvbWV0aGV1cy5pby9wb3J0JzogJzgwODAnIH1cbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGFubm90YXRpb25zXG4gICAqL1xuICByZWFkb25seSBwb2RBbm5vdGF0aW9ucz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGNvbnRhaW5lciBzcGVjaWZpY2F0aW9uIG92ZXJyaWRlcy5cbiAgICogQWR2YW5jZWQgdXNlIG9ubHkgLSBtZXJnZXMgd2l0aCBnZW5lcmF0ZWQgY29udGFpbmVyIHNwZWMuXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBwbG9uZUNvbnRhaW5lcj86IGs4cy5Db250YWluZXI7XG5cbiAgLyoqXG4gICAqIFNpZGVjYXIgY29udGFpbmVycyB0byBydW4gYWxvbmdzaWRlIHRoZSBtYWluIGNvbnRhaW5lci5cbiAgICogQGV4YW1wbGUgW3sgbmFtZTogJ2xvZy1mb3J3YXJkZXInLCBpbWFnZTogJ2ZsdWVudGQ6bGF0ZXN0JyB9XVxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgc2lkZWNhcnM/OiBrOHMuQ29udGFpbmVyW107XG5cbiAgLyoqXG4gICAqIFBvZERpc3J1cHRpb25CdWRnZXQgY29uZmlndXJhdGlvbiBmb3IgaGlnaCBhdmFpbGFiaWxpdHkuXG4gICAqIElmIHByb3ZpZGVkLCBjcmVhdGVzIGEgUERCIHdpdGggdGhlIHNwZWNpZmllZCBjb25zdHJhaW50cy5cbiAgICogQGRlZmF1bHQgLSBubyBQREIgY3JlYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgcGRiPzogUGxvbmVQREJPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBOb2RlIHNlbGVjdG9yIGxhYmVscyBmb3IgcG9kIHNjaGVkdWxpbmcuXG4gICAqIEBkZWZhdWx0IC0gbm8gbm9kZSBzZWxlY3RvclxuICAgKi9cbiAgcmVhZG9ubHkgbm9kZVNlbGVjdG9yPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogTGl2ZW5lc3MgcHJvYmUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQgKG5vIGxpdmVuZXNzIHByb2JlKVxuICAgKi9cbiAgbGl2ZW5lc3NQcm9iZT86IGs4cy5Qcm9iZTtcblxuICAvKipcbiAgICogUmVhZGluZXNzIHByb2JlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkIChubyByZWFkaW5lc3MgcHJvYmUpXG4gICAqL1xuICByZWFkaW5lc3NQcm9iZT86IGs4cy5Qcm9iZTtcbn1cblxuLyoqXG4gKiBQbG9uZURlcGxveW1lbnQgY3JlYXRlcyBhIEt1YmVybmV0ZXMgRGVwbG95bWVudCBmb3IgUGxvbmUgY29udGFpbmVycy5cbiAqXG4gKiBUaGlzIGlzIGFuIGludGVybmFsIGNvbnN0cnVjdCB1c2VkIGJ5IHRoZSBQbG9uZSBjbGFzcy5cbiAqIEl0IGNyZWF0ZXMgYSBEZXBsb3ltZW50IHdpdGggY29uZmlndXJhYmxlIHJlcGxpY2FzLCByZXNvdXJjZXMsIHByb2JlcyxcbiAqIGFuZCBhbiBvcHRpb25hbCBQb2REaXNydXB0aW9uQnVkZ2V0LlxuICovXG5leHBvcnQgY2xhc3MgUGxvbmVEZXBsb3ltZW50IGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRpb25zOiBQbG9uZURlcGxveW1lbnRPcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBjb25zdCBpbWFnZSA9IG9wdGlvbnMuaW1hZ2UgPz8ge307XG4gICAgY29uc3QgcmVwbGljYXMgPSBvcHRpb25zLnJlcGxpY2FzID8/IDI7XG4gICAgY29uc3QgbGFiZWwgPSB7IGFwcDogTmFtZXMudG9MYWJlbFZhbHVlKHRoaXMpIH07XG4gICAgY29uc3Qgb3B0aW9uTGFiZWxzID0gb3B0aW9ucy5sYWJlbHMgPz8ge307XG4gICAgY29uc3QgZGVwbG95bWVudExhYmVscyA9IHtcbiAgICAgICdhcHAua3ViZXJuZXRlcy5pby9uYW1lJzogb3B0aW9uTGFiZWxzWydhcHAua3ViZXJuZXRlcy5pby9uYW1lJ10gKyAnLWRlcGxveW1lbnQnLFxuICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL2NvbXBvbmVudCc6IG9wdGlvbkxhYmVsc1snYXBwLmt1YmVybmV0ZXMuaW8vY29tcG9uZW50J10gPz8gJycgKyAnLWRlcGxveW1lbnQnLFxuICAgIH07XG4gICAgY29uc3QgdGVtcGxhdGVfbGFiZWxzID0ge1xuICAgICAgLi4ub3B0aW9uTGFiZWxzLFxuICAgICAgLi4ubGFiZWwsXG4gICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZic6ICdwbG9uZScsXG4gICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbWFuYWdlZC1ieSc6ICdjZGs4cy1wbG9uZScsXG4gICAgfTtcbiAgICBjb25zdCBrcEVudjoga3BsdXMuRW52ID0gb3B0aW9ucz8uZW52aXJvbm1lbnQgPz8gbmV3IGtwbHVzLkVudihbXSwge30pO1xuICAgIHZhciBlbnY6IGs4cy5FbnZWYXJbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbmFtZSBpbiBrcEVudi52YXJpYWJsZXMpIHtcbiAgICAgIGVudi5wdXNoKHsgbmFtZTogbmFtZSwgdmFsdWU6IGtwRW52LnZhcmlhYmxlc1tuYW1lXS52YWx1ZSwgdmFsdWVGcm9tOiBrcEVudi52YXJpYWJsZXNbbmFtZV0udmFsdWVGcm9tIH0pO1xuICAgIH1cbiAgICB2YXIgZW52RnJvbTogazhzLkVudkZyb21Tb3VyY2VbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgaWR4IGluIGtwRW52LnNvdXJjZXMpIHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGtwRW52LnNvdXJjZXNbaWR4XTtcbiAgICAgIGVudkZyb20ucHVzaChzb3VyY2UuX3RvS3ViZSgpKTtcbiAgICB9XG4gICAgdmFyIHBsb25lQ29udGFpbmVyU3BlYzogazhzLkNvbnRhaW5lciA9IHtcbiAgICAgIG5hbWU6IGlkICsgJy1jb250YWluZXInLCAvLyBoZXJlIHRoZSBuYW1lc3BhY2VkIG5hbWUgc2hvbGQgYmUgdXNlZCwgYnV0IGhvdz9cbiAgICAgIGltYWdlOiBpbWFnZS5pbWFnZSxcbiAgICAgIGltYWdlUHVsbFBvbGljeTogaW1hZ2UuaW1hZ2VQdWxsUG9saWN5LFxuICAgICAgZW52OiBlbnYsXG4gICAgICBlbnZGcm9tOiBlbnZGcm9tLFxuICAgICAgcmVzb3VyY2VzOiB7XG4gICAgICAgIGxpbWl0czoge1xuICAgICAgICAgIGNwdTogazhzLlF1YW50aXR5LmZyb21TdHJpbmcob3B0aW9ucy5saW1pdENwdSA/PyAnMTAwMG0nKSxcbiAgICAgICAgICBtZW1vcnk6IGs4cy5RdWFudGl0eS5mcm9tU3RyaW5nKG9wdGlvbnMubGltaXRNZW1vcnkgPz8gJzFHaScpLFxuICAgICAgICB9LFxuICAgICAgICByZXF1ZXN0czoge1xuICAgICAgICAgIGNwdTogazhzLlF1YW50aXR5LmZyb21TdHJpbmcob3B0aW9ucy5yZXF1ZXN0Q3B1ID8/ICcyMDBtJyksXG4gICAgICAgICAgbWVtb3J5OiBrOHMuUXVhbnRpdHkuZnJvbVN0cmluZyhvcHRpb25zLnJlcXVlc3RNZW1vcnkgPz8gJzMwME1pJyksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbGl2ZW5lc3NQcm9iZTogb3B0aW9ucy5saXZlbmVzc1Byb2JlID8/IHVuZGVmaW5lZCxcbiAgICAgIHJlYWRpbmVzc1Byb2JlOiBvcHRpb25zLnJlYWRpbmVzc1Byb2JlID8/IHVuZGVmaW5lZCxcbiAgICB9O1xuICAgIGNvbnN0IGRlcGxveW1lbnRPcHRpb25zOiBrOHMuS3ViZURlcGxveW1lbnRQcm9wcyA9IHtcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIGxhYmVsczogZGVwbG95bWVudExhYmVscyxcbiAgICAgICAgYW5ub3RhdGlvbnM6IG9wdGlvbnMuYW5ub3RhdGlvbnMsXG4gICAgICB9LFxuICAgICAgc3BlYzoge1xuICAgICAgICByZXBsaWNhcyxcbiAgICAgICAgc2VsZWN0b3I6IHtcbiAgICAgICAgICBtYXRjaExhYmVsczogbGFiZWwsXG4gICAgICAgIH0sXG4gICAgICAgIHRlbXBsYXRlOiB7XG4gICAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIGxhYmVsczogdGVtcGxhdGVfbGFiZWxzLFxuICAgICAgICAgICAgYW5ub3RhdGlvbnM6IG9wdGlvbnMucG9kQW5ub3RhdGlvbnMsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzcGVjOiB7XG4gICAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOiAoaW1hZ2UuaW1hZ2VQdWxsU2VjcmV0cyA/PyBbXSkubWFwKChuYW1lKSA9PiAoeyBuYW1lOiBuYW1lIH0pKSxcbiAgICAgICAgICAgIG5vZGVTZWxlY3Rvcjogb3B0aW9ucy5ub2RlU2VsZWN0b3IsXG4gICAgICAgICAgICBjb250YWluZXJzOiBbXG4gICAgICAgICAgICAgIHBsb25lQ29udGFpbmVyU3BlYyxcbiAgICAgICAgICAgICAgLi4ub3B0aW9ucy5zaWRlY2FycyA/PyBbXSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIG5ldyBrOHMuS3ViZURlcGxveW1lbnQodGhpcywgJ2RlcGxveW1lbnQnLCBkZXBsb3ltZW50T3B0aW9ucyk7XG5cbiAgICBpZiAob3B0aW9ucy5wZGIgPz8gZmFsc2UpIHtcbiAgICAgIGNvbnN0IHBkYk9wdGlvbnMgPSBvcHRpb25zLnBkYiA/PyB7fTtcbiAgICAgIG5ldyBQbG9uZVBEQih0aGlzLCAncGRiJywgbGFiZWwsIHBkYk9wdGlvbnMpO1xuICAgIH1cbiAgfVxufVxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBsb3ltZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUFpQztBQUNqQyxpQ0FBOEI7QUFDOUIsdUNBQXVDO0FBQ3ZDLDJDQUF1QztBQUN2QyxxQ0FBcUM7QUFDckMsK0JBQWtEO0FBcUpsRDs7Ozs7O0dBTUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7SUFFNUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxPQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2xDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLEVBQUUsR0FBRyxFQUFFLGFBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNoRCxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUMxQyxNQUFNLGdCQUFnQixHQUFHO1lBQ3ZCLHdCQUF3QixFQUFFLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLGFBQWE7WUFDaEYsNkJBQTZCLEVBQUUsWUFBWSxDQUFDLDZCQUE2QixDQUFDLElBQUksRUFBRSxHQUFHLGFBQWE7U0FDakcsQ0FBQztRQUNGLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLEdBQUcsWUFBWTtZQUNmLEdBQUcsS0FBSztZQUNSLDJCQUEyQixFQUFFLE9BQU87WUFDcEMsOEJBQThCLEVBQUUsYUFBYTtTQUM5QyxDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQWMsT0FBTyxFQUFFLFdBQVcsSUFBSSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksR0FBRyxH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QU8sQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO1lBQ3JDLElBQUksY0FBUSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFsRkQsMENBa0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IHsgbG9nIH0gZnJvbSAnY29uc29sZSc7XG5pbXBvcnQgeyBOYW1lcyB9IGZyb20gJ2NkazhzJztcbmltcG9ydCAqIGFzIGtwbHVzIGZyb20gJ2NkazhzLXBsdXMtMzAnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBrOHMgZnJvbSAnLi9pbXBvcnRzL2s4cyc7XG5pbXBvcnQgeyBQbG9uZVBEQiwgUGxvbmVQREJPcHRpb25zIH0gZnJvbSAnLi9wZGInO1xuXG4vKipcbiAqIENvbnRhaW5lciBpbWFnZSBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGxvbmVJbWFnZU9wdGlvbnMge1xuICAvKipcbiAgICogQ29udGFpbmVyIGltYWdlIG5hbWUgYW5kIHRhZy5cbiAgICogQGV4YW1wbGUgJ3Bsb25lL3Bsb25lLWJhY2tlbmQ6Ni4wLjEwJ1xuICAgKiBAZGVmYXVsdCAncGxvbmUvcGxvbmUtYmFja2VuZDpsYXRlc3QnXG4gICAqL1xuICByZWFkb25seSBpbWFnZT86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZXMgb2YgS3ViZXJuZXRlcyBzZWNyZXRzIGZvciBwdWxsaW5nIHByaXZhdGUgaW1hZ2VzLlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VQdWxsU2VjcmV0cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJbWFnZSBwdWxsIHBvbGljeSAoQWx3YXlzLCBJZk5vdFByZXNlbnQsIE5ldmVyKS5cbiAgICogQGRlZmF1bHQgJ0lmTm90UHJlc2VudCdcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlUHVsbFBvbGljeT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFBsb25lRGVwbG95bWVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbG9uZURlcGxveW1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIENvbnRhaW5lciBpbWFnZSBjb25maWd1cmF0aW9uLlxuICAgKiBAZGVmYXVsdCAncGxvbmUvcGxvbmUtYmFja2VuZDpsYXRlc3QnXG4gICAqL1xuICByZWFkb25seSBpbWFnZT86IFBsb25lSW1hZ2VPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIFVzZSBjZGs4cy1wbHVzLTMwIEVudiB0byBkZWZpbmUgdmFyaWFibGVzIGFuZCBzb3VyY2VzLlxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IGtwbHVzLkVudjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIHBvZCByZXBsaWNhcyB0byBydW4uXG4gICAqIEBkZWZhdWx0IDJcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxpY2FzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDUFUgbGltaXQgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0ICcxMDAwbSdcbiAgICovXG4gIHJlYWRvbmx5IGxpbWl0Q3B1Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNZW1vcnkgbGltaXQgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0ICcxR2knXG4gICAqL1xuICByZWFkb25seSBsaW1pdE1lbW9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogQ1BVIHJlcXVlc3QgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0ICcyMDBtJ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdENwdT86IHN0cmluZztcblxuICAvKipcbiAgICogTWVtb3J5IHJlcXVlc3QgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0ICczMDBNaSdcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RNZW1vcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5lciBwb3J0IG51bWJlciB0byBleHBvc2UuXG4gICAqL1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgS3ViZXJuZXRlcyBsYWJlbHMgZm9yIHRoZSBkZXBsb3ltZW50LlxuICAgKiBAZGVmYXVsdCAtIHN0YW5kYXJkIFBsb25lIGxhYmVscyBvbmx5XG4gICAqL1xuICByZWFkb25seSBsYWJlbHM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQW5ub3RhdGlvbnMgdG8gYWRkIHRvIHRoZSBEZXBsb3ltZW50IG1ldGFkYXRhLlxuICAgKiBDb21tb24gYW5ub3RhdGlvbnMgaW5jbHVkZTogZGVwbG95bWVudCB0aW1lc3RhbXBzLCBjaGFuZ2UgdHJhY2tpbmcsIGV0Yy5cbiAgICogQGV4YW1wbGUgeyAnZGVwbG95bWVudC5rdWJlcm5ldGVzLmlvL3JldmlzaW9uJzogJzEnIH1cbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGFubm90YXRpb25zXG4gICAqL1xuICByZWFkb25seSBhbm5vdGF0aW9ucz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBBbm5vdGF0aW9ucyB0byBhZGQgdG8gdGhlIFBvZCB0ZW1wbGF0ZSBtZXRhZGF0YS5cbiAgICogQ29tbW9uIGFubm90YXRpb25zIGluY2x1ZGU6IFByb21ldGhldXMgc2NyYXBpbmcgY29uZmlnLCBJc3RpbyBjb25maWcsXG4gICAqIGJhY2t1cCBwb2xpY2llcywgbG9nZ2luZyBjb25maWd1cmF0aW9ucywgZXRjLlxuICAgKiBAZXhhbXBsZSB7ICdwcm9tZXRoZXVzLmlvL3NjcmFwZSc6ICd0cnVlJywgJ3Byb21ldGhldXMuaW8vcG9ydCc6ICc4MDgwJyB9XG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBhbm5vdGF0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcG9kQW5ub3RhdGlvbnM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb250YWluZXIgc3BlY2lmaWNhdGlvbiBvdmVycmlkZXMuXG4gICAqIEFkdmFuY2VkIHVzZSBvbmx5IC0gbWVyZ2VzIHdpdGggZ2VuZXJhdGVkIGNvbnRhaW5lciBzcGVjLlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcGxvbmVDb250YWluZXI/OiBrOHMuQ29udGFpbmVyO1xuXG4gIC8qKlxuICAgKiBTaWRlY2FyIGNvbnRhaW5lcnMgdG8gcnVuIGFsb25nc2lkZSB0aGUgbWFpbiBjb250YWluZXIuXG4gICAqIEBleGFtcGxlIFt7IG5hbWU6ICdsb2ctZm9yd2FyZGVyJywgaW1hZ2U6ICdmbHVlbnRkOmxhdGVzdCcgfV1cbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHNpZGVjYXJzPzogazhzLkNvbnRhaW5lcltdO1xuXG4gIC8qKlxuICAgKiBQb2REaXNydXB0aW9uQnVkZ2V0IGNvbmZpZ3VyYXRpb24gZm9yIGhpZ2ggYXZhaWxhYmlsaXR5LlxuICAgKiBJZiBwcm92aWRlZCwgY3JlYXRlcyBhIFBEQiB3aXRoIHRoZSBzcGVjaWZpZWQgY29uc3RyYWludHMuXG4gICAqIEBkZWZhdWx0IC0gbm8gUERCIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHBkYj86IFBsb25lUERCT3B0aW9ucztcblxuICAvKipcbiAgICogTm9kZSBzZWxlY3RvciBsYWJlbHMgZm9yIHBvZCBzY2hlZHVsaW5nLlxuICAgKiBAZGVmYXVsdCAtIG5vIG5vZGUgc2VsZWN0b3JcbiAgICovXG4gIHJlYWRvbmx5IG5vZGVTZWxlY3Rvcj86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFNlY3VyaXR5IGNvbnRleHQgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIFVzZSB0byBzZXQgY2FwYWJpbGl0aWVzLCBydW4gYXMgbm9uLXJvb3QsIHJlYWQtb25seSBmaWxlc3lzdGVtLCBldGMuXG4gICAqIEBleGFtcGxlIHsgY2FwYWJpbGl0aWVzOiB7IGFkZDogWydTWVNfUFRSQUNFJ10gfSB9XG4gICAqIEBkZWZhdWx0IC0gbm8gc2VjdXJpdHkgY29udGV4dFxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlDb250ZXh0PzogazhzLlNlY3VyaXR5Q29udGV4dDtcblxuICAvKipcbiAgICogTGl2ZW5lc3MgcHJvYmUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQgKG5vIGxpdmVuZXNzIHByb2JlKVxuICAgKi9cbiAgbGl2ZW5lc3NQcm9iZT86IGs4cy5Qcm9iZTtcblxuICAvKipcbiAgICogUmVhZGluZXNzIHByb2JlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkIChubyByZWFkaW5lc3MgcHJvYmUpXG4gICAqL1xuICByZWFkaW5lc3NQcm9iZT86IGs4cy5Qcm9iZTtcbn1cblxuLyoqXG4gKiBQbG9uZURlcGxveW1lbnQgY3JlYXRlcyBhIEt1YmVybmV0ZXMgRGVwbG95bWVudCBmb3IgUGxvbmUgY29udGFpbmVycy5cbiAqXG4gKiBUaGlzIGlzIGFuIGludGVybmFsIGNvbnN0cnVjdCB1c2VkIGJ5IHRoZSBQbG9uZSBjbGFzcy5cbiAqIEl0IGNyZWF0ZXMgYSBEZXBsb3ltZW50IHdpdGggY29uZmlndXJhYmxlIHJlcGxpY2FzLCByZXNvdXJjZXMsIHByb2JlcyxcbiAqIGFuZCBhbiBvcHRpb25hbCBQb2REaXNydXB0aW9uQnVkZ2V0LlxuICovXG5leHBvcnQgY2xhc3MgUGxvbmVEZXBsb3ltZW50IGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRpb25zOiBQbG9uZURlcGxveW1lbnRPcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBjb25zdCBpbWFnZSA9IG9wdGlvbnMuaW1hZ2UgPz8ge307XG4gICAgY29uc3QgcmVwbGljYXMgPSBvcHRpb25zLnJlcGxpY2FzID8/IDI7XG4gICAgY29uc3QgbGFiZWwgPSB7IGFwcDogTmFtZXMudG9MYWJlbFZhbHVlKHRoaXMpIH07XG4gICAgY29uc3Qgb3B0aW9uTGFiZWxzID0gb3B0aW9ucy5sYWJlbHMgPz8ge307XG4gICAgY29uc3QgZGVwbG95bWVudExhYmVscyA9IHtcbiAgICAgICdhcHAua3ViZXJuZXRlcy5pby9uYW1lJzogb3B0aW9uTGFiZWxzWydhcHAua3ViZXJuZXRlcy5pby9uYW1lJ10gKyAnLWRlcGxveW1lbnQnLFxuICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL2NvbXBvbmVudCc6IG9wdGlvbkxhYmVsc1snYXBwLmt1YmVybmV0ZXMuaW8vY29tcG9uZW50J10gPz8gJycgKyAnLWRlcGxveW1lbnQnLFxuICAgIH07XG4gICAgY29uc3QgdGVtcGxhdGVfbGFiZWxzID0ge1xuICAgICAgLi4ub3B0aW9uTGFiZWxzLFxuICAgICAgLi4ubGFiZWwsXG4gICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZic6ICdwbG9uZScsXG4gICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbWFuYWdlZC1ieSc6ICdjZGs4cy1wbG9uZScsXG4gICAgfTtcbiAgICBjb25zdCBrcEVudjoga3BsdXMuRW52ID0gb3B0aW9ucz8uZW52aXJvbm1lbnQgPz8gbmV3IGtwbHVzLkVudihbXSwge30pO1xuICAgIHZhciBlbnY6IGs4cy5FbnZWYXJbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgbmFtZSBpbiBrcEVudi52YXJpYWJsZXMpIHtcbiAgICAgIGVudi5wdXNoKHsgbmFtZTogbmFtZSwgdmFsdWU6IGtwRW52LnZhcmlhYmxlc1tuYW1lXS52YWx1ZSwgdmFsdWVGcm9tOiBrcEVudi52YXJpYWJsZXNbbmFtZV0udmFsdWVGcm9tIH0pO1xuICAgIH1cbiAgICB2YXIgZW52RnJvbTogazhzLkVudkZyb21Tb3VyY2VbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgaWR4IGluIGtwRW52LnNvdXJjZXMpIHtcbiAgICAgIGNvbnN0IHNvdXJjZSA9IGtwRW52LnNvdXJjZXNbaWR4XTtcbiAgICAgIGVudkZyb20ucHVzaChzb3VyY2UuX3RvS3ViZSgpKTtcbiAgICB9XG4gICAgdmFyIHBsb25lQ29udGFpbmVyU3BlYzogazhzLkNvbnRhaW5lciA9IHtcbiAgICAgIG5hbWU6IGlkICsgJy1jb250YWluZXInLCAvLyBoZXJlIHRoZSBuYW1lc3BhY2VkIG5hbWUgc2hvbGQgYmUgdXNlZCwgYnV0IGhvdz9cbiAgICAgIGltYWdlOiBpbWFnZS5pbWFnZSxcbiAgICAgIGltYWdlUHVsbFBvbGljeTogaW1hZ2UuaW1hZ2VQdWxsUG9saWN5LFxuICAgICAgZW52OiBlbnYsXG4gICAgICBlbnZGcm9tOiBlbnZGcm9tLFxuICAgICAgcmVzb3VyY2VzOiB7XG4gICAgICAgIGxpbWl0czoge1xuICAgICAgICAgIGNwdTogazhzLlF1YW50aXR5LmZyb21TdHJpbmcob3B0aW9ucy5saW1pdENwdSA/PyAnMTAwMG0nKSxcbiAgICAgICAgICBtZW1vcnk6IGs4cy5RdWFudGl0eS5mcm9tU3RyaW5nKG9wdGlvbnMubGltaXRNZW1vcnkgPz8gJzFHaScpLFxuICAgICAgICB9LFxuICAgICAgICByZXF1ZXN0czoge1xuICAgICAgICAgIGNwdTogazhzLlF1YW50aXR5LmZyb21TdHJpbmcob3B0aW9ucy5yZXF1ZXN0Q3B1ID8/ICcyMDBtJyksXG4gICAgICAgICAgbWVtb3J5OiBrOHMuUXVhbnRpdHkuZnJvbVN0cmluZyhvcHRpb25zLnJlcXVlc3RNZW1vcnkgPz8gJzMwME1pJyksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbGl2ZW5lc3NQcm9iZTogb3B0aW9ucy5saXZlbmVzc1Byb2JlID8/IHVuZGVmaW5lZCxcbiAgICAgIHJlYWRpbmVzc1Byb2JlOiBvcHRpb25zLnJlYWRpbmVzc1Byb2JlID8/IHVuZGVmaW5lZCxcbiAgICAgIHNlY3VyaXR5Q29udGV4dDogb3B0aW9ucy5zZWN1cml0eUNvbnRleHQsXG4gICAgfTtcbiAgICBjb25zdCBkZXBsb3ltZW50T3B0aW9uczogazhzLkt1YmVEZXBsb3ltZW50UHJvcHMgPSB7XG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICBsYWJlbHM6IGRlcGxveW1lbnRMYWJlbHMsXG4gICAgICAgIGFubm90YXRpb25zOiBvcHRpb25zLmFubm90YXRpb25zLFxuICAgICAgfSxcbiAgICAgIHNwZWM6IHtcbiAgICAgICAgcmVwbGljYXMsXG4gICAgICAgIHNlbGVjdG9yOiB7XG4gICAgICAgICAgbWF0Y2hMYWJlbHM6IGxhYmVsLFxuICAgICAgICB9LFxuICAgICAgICB0ZW1wbGF0ZToge1xuICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICBsYWJlbHM6IHRlbXBsYXRlX2xhYmVscyxcbiAgICAgICAgICAgIGFubm90YXRpb25zOiBvcHRpb25zLnBvZEFubm90YXRpb25zLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3BlYzoge1xuICAgICAgICAgICAgaW1hZ2VQdWxsU2VjcmV0czogKGltYWdlLmltYWdlUHVsbFNlY3JldHMgPz8gW10pLm1hcCgobmFtZSkgPT4gKHsgbmFtZTogbmFtZSB9KSksXG4gICAgICAgICAgICBub2RlU2VsZWN0b3I6IG9wdGlvbnMubm9kZVNlbGVjdG9yLFxuICAgICAgICAgICAgY29udGFpbmVyczogW1xuICAgICAgICAgICAgICBwbG9uZUNvbnRhaW5lclNwZWMsXG4gICAgICAgICAgICAgIC4uLm9wdGlvbnMuc2lkZWNhcnMgPz8gW10sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBuZXcgazhzLkt1YmVEZXBsb3ltZW50KHRoaXMsICdkZXBsb3ltZW50JywgZGVwbG95bWVudE9wdGlvbnMpO1xuXG4gICAgaWYgKG9wdGlvbnMucGRiID8/IGZhbHNlKSB7XG4gICAgICBjb25zdCBwZGJPcHRpb25zID0gb3B0aW9ucy5wZGIgPz8ge307XG4gICAgICBuZXcgUGxvbmVQREIodGhpcywgJ3BkYicsIGxhYmVsLCBwZGJPcHRpb25zKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
package/lib/httpcache.js CHANGED
@@ -118,5 +118,5 @@ class PloneHttpcache extends constructs_1.Construct {
118
118
  }
119
119
  exports.PloneHttpcache = PloneHttpcache;
120
120
  _a = JSII_RTTI_SYMBOL_1;
121
- PloneHttpcache[_a] = { fqn: "@bluedynamics/cdk8s-plone.PloneHttpcache", version: "0.1.28" };
121
+ PloneHttpcache[_a] = { fqn: "@bluedynamics/cdk8s-plone.PloneHttpcache", version: "0.1.30" };
122
122
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cGNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2h0dHBjYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsaUNBQTZCO0FBQzdCLDJDQUF1QztBQXdKdkM7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFPM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxPQUE4QjtRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksVUFBa0IsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3hCLElBQUksT0FBZSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztZQUM5RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFDbkMsQ0FBQztZQUNELFVBQVUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQU0sQ0FBQztZQUNOLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ2xDLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDNUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxZQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUM1Qyx1REFBdUQ7WUFDdkQsSUFBSSxFQUFFLDBCQUEwQjtZQUNoQyxLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLE9BQU8sRUFBRSxPQUFPLENBQUMsWUFBWTtZQUM3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QUFJLGdCQUFnQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDOztBQS9GSCx3Q0FnR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgSGVsbSB9IGZyb20gJ2NkazhzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUGxvbmUgfSBmcm9tICcuL3Bsb25lJztcblxuLyoqXG4gKiBBbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBwYXNzIHRvIHRoZSBrdWJlLWh0dHBjYWNoZSBjb250YWluZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cGNhY2hlRW52VmFyIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBLdWJlcm5ldGVzIHRvbGVyYXRpb24gZm9yIHRoZSBWYXJuaXNoIHBvZHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cGNhY2hlVG9sZXJhdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgdGFpbnQga2V5IHRvIHRvbGVyYXRlLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvcGVyYXRvciAoRXF1YWwgb3IgRXhpc3RzKS5cbiAgICogQGRlZmF1bHQgJ0VxdWFsJ1xuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0b3I/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWludCB2YWx1ZSB0byBtYXRjaCAod2hlbiBvcGVyYXRvciBpcyBFcXVhbCkuXG4gICAqIEBkZWZhdWx0IC0gbm8gdmFsdWVcbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFpbnQgZWZmZWN0IHRvIHRvbGVyYXRlIChOb1NjaGVkdWxlLCBQcmVmZXJOb1NjaGVkdWxlLCBOb0V4ZWN1dGUpLlxuICAgKiBAZGVmYXVsdCAtIHRvbGVyYXRlIGFsbCBlZmZlY3RzXG4gICAqL1xuICByZWFkb25seSBlZmZlY3Q/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBQbG9uZUh0dHBjYWNoZSAoVmFybmlzaCBjYWNoaW5nIGxheWVyKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbG9uZUh0dHBjYWNoZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIFBsb25lIGNvbnN0cnVjdCB0byBhdHRhY2ggdGhlIEhUVFAgY2FjaGUgdG8uXG4gICAqIFRoZSBjYWNoZSB3aWxsIGF1dG9tYXRpY2FsbHkgY29ubmVjdCB0byB0aGUgYmFja2VuZCBhbmQgZnJvbnRlbmQgc2VydmljZXMuXG4gICAqL1xuICByZWFkb25seSBwbG9uZTogUGxvbmU7XG5cbiAgLyoqXG4gICAqIFZhcm5pc2ggVkNMIGNvbmZpZ3VyYXRpb24gYXMgYSBzdHJpbmcuXG4gICAqIElmIHByb3ZpZGVkLCB0aGlzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB2YXJuaXNoVmNsRmlsZS5cbiAgICogQGRlZmF1bHQgLSBsb2FkZWQgZnJvbSB2YXJuaXNoVmNsRmlsZSBvciBkZWZhdWx0IGNvbmZpZyBmaWxlXG4gICAqL1xuICByZWFkb25seSB2YXJuaXNoVmNsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIGEgVmFybmlzaCBWQ0wgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKiBJZiBub3QgcHJvdmlkZWQsIHVzZXMgdGhlIGRlZmF1bHQgVkNMIGZpbGUgaW5jbHVkZWQgaW4gdGhlIGxpYnJhcnkuXG4gICAqIEBkZWZhdWx0IC0gdXNlcyBkZWZhdWx0IGNvbmZpZy92YXJuaXNoLnRwbC52Y2xcbiAgICovXG4gIHJlYWRvbmx5IHZhcm5pc2hWY2xGaWxlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIGFuIGV4aXN0aW5nIEt1YmVybmV0ZXMgc2VjcmV0IGNvbnRhaW5pbmcgVmFybmlzaCBhZG1pbiBjcmVkZW50aWFscy5cbiAgICogVGhlIHNlY3JldCBzaG91bGQgYmUgY3JlYXRlZCBzZXBhcmF0ZWx5IGluIHRoZSBzYW1lIG5hbWVzcGFjZS5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQgKG5vIGV4aXN0aW5nIHNlY3JldClcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nU2VjcmV0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDUFUgbGltaXQgZm9yIFZhcm5pc2ggcG9kcy5cbiAgICogQGRlZmF1bHQgJzUwMG0nXG4gICAqL1xuICByZWFkb25seSBsaW1pdENwdT86IHN0cmluZztcblxuICAvKipcbiAgICogTWVtb3J5IGxpbWl0IGZvciBWYXJuaXNoIHBvZHMuXG4gICAqIEBkZWZhdWx0ICc1MDBNaSdcbiAgICovXG4gIHJlYWRvbmx5IGxpbWl0TWVtb3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDUFUgcmVxdWVzdCBmb3IgVmFybmlzaCBwb2RzLlxuICAgKiBAZGVmYXVsdCAnMTAwbSdcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RDcHU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1lbW9yeSByZXF1ZXN0IGZvciBWYXJuaXNoIHBvZHMuXG4gICAqIEBkZWZhdWx0ICcxMDBNaSdcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RNZW1vcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBQcm9tZXRoZXVzIFNlcnZpY2VNb25pdG9yIGZvciBtZXRyaWNzIGNvbGxlY3Rpb24uXG4gICAqIFJlcXVpcmVzIFByb21ldGhldXMgT3BlcmF0b3IgdG8gYmUgaW5zdGFsbGVkIGluIHRoZSBjbHVzdGVyLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZW1vbml0b3I/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgdGhlIFByb21ldGhldXMgZXhwb3J0ZXIgZm9yIFZhcm5pc2ggbWV0cmljcy5cbiAgICogV2hlbiBlbmFibGVkLCB0aGUgZXhwb3J0ZXIgc2lkZWNhciBjb250YWluZXIgd2lsbCBiZSBkZXBsb3llZCBhbG9uZ3NpZGUgVmFybmlzaC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhwb3J0ZXJFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVmVyc2lvbiBvZiB0aGUga3ViZS1odHRwY2FjaGUgSGVsbSBjaGFydCB0byB1c2UuXG4gICAqIElmIG5vdCBzcGVjaWZpZWQsIHRoZSBsYXRlc3QgdmVyc2lvbiBmcm9tIHRoZSByZXBvc2l0b3J5IHdpbGwgYmUgdXNlZC5cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkIChsYXRlc3QpXG4gICAqL1xuICByZWFkb25seSBjaGFydFZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgdGhlIGt1YmUtaHR0cGNhY2hlIENvbnRhaW5lciBJbWFnZSB0byB1c2UuXG4gICAqIElmIG5vdCBzcGVjaWZpZWQsIHRoZSBsYXRlc3QgdmVyc2lvbiBmcm9tIHRoZSByZXBvc2l0b3J5IHdpbGwgYmUgdXNlZC5cbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkIChjaGFydFZlcnNpb24gPSB3aXRoIGVhY2ggY2hhcnQgcmVsZWFzZSB0aGVyZSBpcyBhbiBpbWFnZSByZWxlYXNlIHRvbyApXG4gICAqL1xuICByZWFkb25seSBhcHBWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgVmFybmlzaCBwb2QgcmVwbGljYXMgdG8gcnVuLlxuICAgKiBAZGVmYXVsdCAyXG4gICAqL1xuICByZWFkb25seSByZXBsaWNhcz86IG51bWJlcjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gcGFzcyB0byB0aGUga3ViZS1odHRwY2FjaGUgY29udGFpbmVyLlxuICAgKiBUaGVzZSBhcmUgYXBwZW5kZWQgdG8gdGhlIGJ1aWx0LWluIGVudiB2YXJzIChCQUNLRU5EX1NFUlZJQ0VfTkFNRSwgZXRjLilcbiAgICogYW5kIGNhbiBiZSByZWZlcmVuY2VkIGluIFZDTCB0ZW1wbGF0ZXMgdXNpbmcgR28gdGVtcGxhdGUgc3ludGF4OiB7eyAuRW52LlZBUl9OQU1FIH19XG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBlbnYgdmFyc1xuICAgKi9cbiAgcmVhZG9ubHkgZXh0cmFFbnZWYXJzPzogSHR0cGNhY2hlRW52VmFyW107XG5cbiAgLyoqXG4gICAqIFRvbGVyYXRpb25zIGZvciB0aGUgVmFybmlzaCBwb2RzLlxuICAgKiBVc2UgdGhpcyB0byBhbGxvdyBzY2hlZHVsaW5nIG9uIG5vZGVzIHdpdGggc3BlY2lmaWMgdGFpbnRzLFxuICAgKiBlLmcuIG5vZGVzIHRhaW50ZWQgd2l0aCBrdWJlcm5ldGVzLmlvL2FyY2g9YW1kNjQ6Tm9TY2hlZHVsZS5cbiAgICogQGRlZmF1bHQgLSBubyB0b2xlcmF0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgdG9sZXJhdGlvbnM/OiBIdHRwY2FjaGVUb2xlcmF0aW9uW107XG59XG5cbi8qKlxuICogUGxvbmVIdHRwY2FjaGUgY29uc3RydWN0IGZvciBkZXBsb3lpbmcgVmFybmlzaCBIVFRQIGNhY2hpbmcgbGF5ZXIuXG4gKlxuICogVXNlcyB0aGUgbWl0dHdhbGQva3ViZS1odHRwY2FjaGUgSGVsbSBjaGFydCB0byBkZXBsb3kgVmFybmlzaCBhcyBhXG4gKiBjYWNoaW5nIHByb3h5IGluIGZyb250IG9mIFBsb25lIGJhY2tlbmQgYW5kL29yIGZyb250ZW5kIHNlcnZpY2VzLlxuICpcbiAqIFRoZSBjYWNoZSBhdXRvbWF0aWNhbGx5IGNvbm5lY3RzIHRvIHRoZSBQbG9uZSBzZXJ2aWNlcyBhbmQgcHJvdmlkZXNcbiAqIEhUVFAgY2FjaGUgaW52YWxpZGF0aW9uIGNhcGFiaWxpdGllcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgcGxvbmUgPSBuZXcgUGxvbmUoY2hhcnQsICdwbG9uZScpO1xuICogY29uc3QgY2FjaGUgPSBuZXcgUGxvbmVIdHRwY2FjaGUoY2hhcnQsICdjYWNoZScsIHtcbiAqICAgcGxvbmU6IHBsb25lLFxuICogICBleGlzdGluZ1NlY3JldDogJ3Zhcm5pc2gtc2VjcmV0JyxcbiAqIH0pO1xuICovXG5leHBvcnQgY2xhc3MgUGxvbmVIdHRwY2FjaGUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgVmFybmlzaCBzZXJ2aWNlIGNyZWF0ZWQgYnkgdGhlIEhlbG0gY2hhcnQuXG4gICAqIFVzZSB0aGlzIHRvIHJlZmVyZW5jZSB0aGUgY2FjaGUgc2VydmljZSBmcm9tIGluZ3Jlc3Mgb3Igb3RoZXIgY29uc3RydWN0cy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBodHRwY2FjaGVTZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IFBsb25lSHR0cGNhY2hlT3B0aW9ucykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgbGV0IHZhcm5pc2hWY2w6IHN0cmluZztcbiAgICBpZiAoIW9wdGlvbnMudmFybmlzaFZjbCkge1xuICAgICAgbGV0IHZjbFBhdGg6IHN0cmluZztcbiAgICAgIGlmICghb3B0aW9ucy52YXJuaXNoVmNsRmlsZSkge1xuICAgICAgICB2Y2xQYXRoID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ2NvbmZpZycsICd2YXJuaXNoLnRwbC52Y2wnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZjbFBhdGggPSBvcHRpb25zLnZhcm5pc2hWY2xGaWxlO1xuICAgICAgfVxuICAgICAgdmFybmlzaFZjbCA9IGZzLnJlYWRGaWxlU3luYyh2Y2xQYXRoLCAndXRmOCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXJuaXNoVmNsID0gb3B0aW9ucy52YXJuaXNoVmNsO1xuICAgIH1cbiAgICBjb25zdCBpbWFnZVRhZyA9IG9wdGlvbnMuYXBwVmVyc2lvbiA/PyBvcHRpb25zLmNoYXJ0VmVyc2lvbjtcbiAgICBjb25zdCBodHRwY2FjaGUgPSBuZXcgSGVsbSh0aGlzLCAnaHR0cGNhY2hlJywge1xuICAgICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9taXR0d2FsZC9rdWJlLWh0dHBjYWNoZS9jaGFydFxuICAgICAgcmVwbzogJ2h0dHBzOi8vaGVsbS5taXR0d2FsZC5kZScsXG4gICAgICBjaGFydDogJ2t1YmUtaHR0cGNhY2hlJyxcbiAgICAgIHZlcnNpb246IG9wdGlvbnMuY2hhcnRWZXJzaW9uLFxuICAgICAgdmFsdWVzOiB7XG4gICAgICAgIHJlcGxpY2FDb3VudDogb3B0aW9ucy5yZXBsaWNhcyA/PyAyLFxuICAgICAgICAuLi4oaW1hZ2VUYWcgJiYgeyBpbWFnZTogeyB0YWc6IGltYWdlVGFnIH0gfSksXG4gICAgICAgIGNhY2hlOiB7XG4gICAgICAgICAgYmFja2VuZFNlcnZpY2U6IG9wdGlvbnMucGxvbmUuYmFja2VuZFNlcnZpY2VOYW1lLFxuICAgICAgICAgIGZyb250ZW5kV2F0Y2g6IGZhbHNlLFxuICAgICAgICAgIGJhY2tlbmRXYXRjaDogdHJ1ZSxcbiAgICAgICAgICBleGlzdGluZ1NlY3JldDogb3B0aW9ucy5leGlzdGluZ1NlY3JldCA/PyB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICAgIC8vIFdvcmthcm91bmQ6IHVwc3RyZWFtIGNoYXJ0IGFjY2VwdHMgYmFja2VuZFBvcnROYW1lIGJ1dCBuZXZlclxuICAgICAgICAvLyByZW5kZXJzIGl0IGFzIENMSSBhcmcuIFBhc3MgdmlhIGNhY2hlRXh0cmFBcmdzIGluc3RlYWQuXG4gICAgICAgIGNhY2hlRXh0cmFBcmdzOiAnLSAtYmFja2VuZC1wb3J0bmFtZT1iYWNrZW5kLWh0dHAnLFxuICAgICAgICB2Y2xUZW1wbGF0ZTogdmFybmlzaFZjbCxcbiAgICAgICAgZXh0cmFFbnZWYXJzOiBbXG4gICAgICAgICAgeyBuYW1lOiAnQkFDS0VORF9TRVJWSUNFX05BTUUnLCB2YWx1ZTogb3B0aW9ucy5wbG9uZS5iYWNrZW5kU2VydmljZU5hbWUgfSxcbiAgICAgICAgICB7IG5hbWU6ICdCQUNLRU5EX1NFUlZJQ0VfUE9SVCcsIHZhbHVlOiAnODA4MCcgfSxcbiAgICAgICAgICB7IG5hbWU6ICdCQUNLRU5EX1NJVEVfSUQnLCB2YWx1ZTogb3B0aW9ucy5wbG9uZS5zaXRlSWQgfSxcbiAgICAgICAgICB7IG5hbWU6ICdGUk9OVEVORF9TRVJWSUNFX05BTUUnLCB2YWx1ZTogb3B0aW9ucy5wbG9uZS5mcm9udGVuZFNlcnZpY2VOYW1lIH0sXG4gICAgICAgICAgeyBuYW1lOiAnRlJPTlRFTkRfU0VSVklDRV9QT1JUJywgdmFsdWU6ICczMDAwJyB9LFxuICAgICAgICAgIC4uLihvcHRpb25zLmV4dHJhRW52VmFycyA/PyBbXSksXG4gICAgICAgIF0sXG4gICAgICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWl0dHdhbGQva3ViZS1odHRwY2FjaGUvaXNzdWVzLzI1M1xuICAgICAgICBub2RlU2VsZWN0b3I6IHtcbiAgICAgICAgICAna3ViZXJuZXRlcy5pby9hcmNoJzogJ2FtZDY0JyxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uKG9wdGlvbnMudG9sZXJhdGlvbnMgJiYgeyB0b2xlcmF0aW9uczogb3B0aW9ucy50b2xlcmF0aW9ucyB9KSxcbiAgICAgICAgcmVzb3VyY2VzOiB7XG4gICAgICAgICAgbGltaXRzOiB7XG4gICAgICAgICAgICBjcHU6IG9wdGlvbnMubGltaXRDcHUgfHwgJzUwMG0nLFxuICAgICAgICAgICAgbWVtb3J5OiBvcHRpb25zLmxpbWl0TWVtb3J5IHx8ICc1MDBNaScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1ZXN0czoge1xuICAgICAgICAgICAgY3B1OiBvcHRpb25zLnJlcXVlc3RDcHUgfHwgJzEwMG0nLFxuICAgICAgICAgICAgbWVtb3J5OiBvcHRpb25zLnJlcXVlc3RNZW1vcnkgfHwgJzEwME1pJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICByYmFjOiB7XG4gICAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZXhwb3J0ZXI6IHtcbiAgICAgICAgICBlbmFibGVkOiBvcHRpb25zLmV4cG9ydGVyRW5hYmxlZCA/PyB0cnVlLFxuICAgICAgICAgIHJlc291cmNlczoge1xuICAgICAgICAgICAgbGltaXRzOiB7XG4gICAgICAgICAgICAgIGNwdTogJzEwMG0nLFxuICAgICAgICAgICAgICBtZW1vcnk6ICcxMDBNaScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVxdWVzdHM6IHtcbiAgICAgICAgICAgICAgY3B1OiAnMTBtJyxcbiAgICAgICAgICAgICAgbWVtb3J5OiAnNTBNaScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHNlcnZpY2VNb25pdG9yOiB7XG4gICAgICAgICAgZW5hYmxlZDogb3B0aW9ucy5zZXJ2aWNlbW9uaXRvciB8fCBmYWxzZSxcbiAgICAgICAgICBzY3JhcGVTaWduYWxsZXI6IG9wdGlvbnMuc2VydmljZW1vbml0b3IgfHwgZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnN0IGh0dHBjYWNoZVNlcnZpY2UgPSBodHRwY2FjaGUuYXBpT2JqZWN0cy5maW5kKChjb25zdHJ1Y3QpID0+IHtcbiAgICAgIGlmICgoY29uc3RydWN0LmtpbmQgPT09ICdTZXJ2aWNlJykgJiYgKGNvbnN0cnVjdC5tZXRhZGF0YS5uYW1lPy5lbmRzV2l0aCgna3ViZS1odHRwY2FjaGUnKSkpIHtcbiAgICAgICAgcmV0dXJuIGNvbnN0cnVjdC5uYW1lO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9KTtcbiAgICBpZiAoaHR0cGNhY2hlU2VydmljZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIGh0dHBjYWNoZSBzZXJ2aWNlJyk7XG4gICAgfVxuICAgIHRoaXMuaHR0cGNhY2hlU2VydmljZU5hbWUgPSBodHRwY2FjaGVTZXJ2aWNlLm5hbWU7XG4gIH1cbn0iXX0=
@@ -180,6 +180,15 @@ export interface VinylCacheSpecBackends {
180
180
  * @schema VinylCacheSpecBackends#connectionParameters
181
181
  */
182
182
  readonly connectionParameters?: VinylCacheSpecBackendsConnectionParameters;
183
+ /**
184
+ * director overrides the cluster-wide director for this backend only.
185
+ * If nil, a shard director with defaults is generated, grouping all resolved
186
+ * per-pod backends for this serviceRef. Use "round_robin" or "random" if
187
+ * consistent hashing is undesirable (e.g. stateless backends).
188
+ *
189
+ * @schema VinylCacheSpecBackends#director
190
+ */
191
+ readonly director?: VinylCacheSpecBackendsDirector;
183
192
  /**
184
193
  * name is the VCL identifier for this backend. Must match ^[a-zA-Z][a-zA-Z0-9_]*$.
185
194
  *
@@ -247,7 +256,7 @@ export declare function toJson_VinylCacheSpecCluster(obj: VinylCacheSpecCluster
247
256
  export interface VinylCacheSpecDebounce {
248
257
  /**
249
258
  * duration is the time to wait after the last endpoint change before pushing a VCL update.
250
- * This prevents thundering-herd on rapid endpoint churn. Default: 5s.
259
+ * This prevents thundering-herd on rapid endpoint churn. Default: 1s.
251
260
  *
252
261
  * @schema VinylCacheSpecDebounce#duration
253
262
  */
@@ -624,6 +633,40 @@ export interface VinylCacheSpecBackendsConnectionParameters {
624
633
  * Converts an object of type 'VinylCacheSpecBackendsConnectionParameters' to JSON representation.
625
634
  */
626
635
  export declare function toJson_VinylCacheSpecBackendsConnectionParameters(obj: VinylCacheSpecBackendsConnectionParameters | undefined): Record<string, any> | undefined;
636
+ /**
637
+ * director overrides the cluster-wide director for this backend only.
638
+ * If nil, a shard director with defaults is generated, grouping all resolved
639
+ * per-pod backends for this serviceRef. Use "round_robin" or "random" if
640
+ * consistent hashing is undesirable (e.g. stateless backends).
641
+ *
642
+ * @schema VinylCacheSpecBackendsDirector
643
+ */
644
+ export interface VinylCacheSpecBackendsDirector {
645
+ /**
646
+ * hash configures the hash director. Only used when type is "hash".
647
+ *
648
+ * @schema VinylCacheSpecBackendsDirector#hash
649
+ */
650
+ readonly hash?: VinylCacheSpecBackendsDirectorHash;
651
+ /**
652
+ * shard configures the shard director (consistent-hash). Only used when type is "shard".
653
+ *
654
+ * @schema VinylCacheSpecBackendsDirector#shard
655
+ */
656
+ readonly shard?: VinylCacheSpecBackendsDirectorShard;
657
+ /**
658
+ * type selects the Varnish director algorithm.
659
+ * "shard" (default) provides consistent hashing; "round_robin", "random", and "hash"
660
+ * are also supported.
661
+ *
662
+ * @schema VinylCacheSpecBackendsDirector#type
663
+ */
664
+ readonly type?: VinylCacheSpecBackendsDirectorType;
665
+ }
666
+ /**
667
+ * Converts an object of type 'VinylCacheSpecBackendsDirector' to JSON representation.
668
+ */
669
+ export declare function toJson_VinylCacheSpecBackendsDirector(obj: VinylCacheSpecBackendsDirector | undefined): Record<string, any> | undefined;
627
670
  /**
628
671
  * probe configures the Varnish backend health probe.
629
672
  *
@@ -785,7 +828,9 @@ export declare enum VinylCacheSpecDirectorType {
785
828
  /** random */
786
829
  RANDOM = "random",
787
830
  /** hash */
788
- HASH = "hash"
831
+ HASH = "hash",
832
+ /** fallback */
833
+ FALLBACK = "fallback"
789
834
  }
790
835
  /**
791
836
  * ban configures BAN-based cache invalidation.
@@ -1183,6 +1228,88 @@ export interface VinylCacheSpecVclSnippets {
1183
1228
  * Converts an object of type 'VinylCacheSpecVclSnippets' to JSON representation.
1184
1229
  */
1185
1230
  export declare function toJson_VinylCacheSpecVclSnippets(obj: VinylCacheSpecVclSnippets | undefined): Record<string, any> | undefined;
1231
+ /**
1232
+ * hash configures the hash director. Only used when type is "hash".
1233
+ *
1234
+ * @schema VinylCacheSpecBackendsDirectorHash
1235
+ */
1236
+ export interface VinylCacheSpecBackendsDirectorHash {
1237
+ /**
1238
+ * header is the request header name used as the hash key.
1239
+ *
1240
+ * @schema VinylCacheSpecBackendsDirectorHash#header
1241
+ */
1242
+ readonly header?: string;
1243
+ }
1244
+ /**
1245
+ * Converts an object of type 'VinylCacheSpecBackendsDirectorHash' to JSON representation.
1246
+ */
1247
+ export declare function toJson_VinylCacheSpecBackendsDirectorHash(obj: VinylCacheSpecBackendsDirectorHash | undefined): Record<string, any> | undefined;
1248
+ /**
1249
+ * shard configures the shard director (consistent-hash). Only used when type is "shard".
1250
+ *
1251
+ * @schema VinylCacheSpecBackendsDirectorShard
1252
+ */
1253
+ export interface VinylCacheSpecBackendsDirectorShard {
1254
+ /**
1255
+ * by determines what value is hashed for shard selection. "HASH" uses the Varnish
1256
+ * hash (default); "URL" uses the request URL.
1257
+ *
1258
+ * @schema VinylCacheSpecBackendsDirectorShard#by
1259
+ */
1260
+ readonly by?: VinylCacheSpecBackendsDirectorShardBy;
1261
+ /**
1262
+ * healthy controls which backends the director considers when selecting a shard.
1263
+ * "CHOSEN" (default) only considers the chosen backend healthy; "ALL" requires all
1264
+ * backends to be healthy.
1265
+ *
1266
+ * @schema VinylCacheSpecBackendsDirectorShard#healthy
1267
+ */
1268
+ readonly healthy?: VinylCacheSpecBackendsDirectorShardHealthy;
1269
+ /**
1270
+ * rampup is the time after adding a backend before it receives its full share of traffic,
1271
+ * preventing thundering-herd. Default: 30s.
1272
+ *
1273
+ * @schema VinylCacheSpecBackendsDirectorShard#rampup
1274
+ */
1275
+ readonly rampup?: string;
1276
+ /**
1277
+ * replicas is the number of Ketama replicas per backend in the hash ring. Default: 67.
1278
+ *
1279
+ * @schema VinylCacheSpecBackendsDirectorShard#replicas
1280
+ */
1281
+ readonly replicas?: number;
1282
+ /**
1283
+ * warmup is the proportion of requests (0.0–1.0) sent to the alternative backend
1284
+ * to pre-populate its cache. Default: 0.1. Must be between 0.0 and 1.0.
1285
+ *
1286
+ * @schema VinylCacheSpecBackendsDirectorShard#warmup
1287
+ */
1288
+ readonly warmup?: number;
1289
+ }
1290
+ /**
1291
+ * Converts an object of type 'VinylCacheSpecBackendsDirectorShard' to JSON representation.
1292
+ */
1293
+ export declare function toJson_VinylCacheSpecBackendsDirectorShard(obj: VinylCacheSpecBackendsDirectorShard | undefined): Record<string, any> | undefined;
1294
+ /**
1295
+ * type selects the Varnish director algorithm.
1296
+ * "shard" (default) provides consistent hashing; "round_robin", "random", and "hash"
1297
+ * are also supported.
1298
+ *
1299
+ * @schema VinylCacheSpecBackendsDirectorType
1300
+ */
1301
+ export declare enum VinylCacheSpecBackendsDirectorType {
1302
+ /** shard */
1303
+ SHARD = "shard",
1304
+ /** round_robin */
1305
+ ROUND_UNDERSCORE_ROBIN = "round_robin",
1306
+ /** random */
1307
+ RANDOM = "random",
1308
+ /** hash */
1309
+ HASH = "hash",
1310
+ /** fallback */
1311
+ FALLBACK = "fallback"
1312
+ }
1186
1313
  /**
1187
1314
  * type is the routing strategy between Varnish pods. Only "shard" is supported.
1188
1315
  *
@@ -1326,6 +1453,31 @@ export interface VinylCacheSpecPodAffinityPodAntiAffinity {
1326
1453
  * Converts an object of type 'VinylCacheSpecPodAffinityPodAntiAffinity' to JSON representation.
1327
1454
  */
1328
1455
  export declare function toJson_VinylCacheSpecPodAffinityPodAntiAffinity(obj: VinylCacheSpecPodAffinityPodAntiAffinity | undefined): Record<string, any> | undefined;
1456
+ /**
1457
+ * by determines what value is hashed for shard selection. "HASH" uses the Varnish
1458
+ * hash (default); "URL" uses the request URL.
1459
+ *
1460
+ * @schema VinylCacheSpecBackendsDirectorShardBy
1461
+ */
1462
+ export declare enum VinylCacheSpecBackendsDirectorShardBy {
1463
+ /** HASH */
1464
+ HASH = "HASH",
1465
+ /** URL */
1466
+ URL = "URL"
1467
+ }
1468
+ /**
1469
+ * healthy controls which backends the director considers when selecting a shard.
1470
+ * "CHOSEN" (default) only considers the chosen backend healthy; "ALL" requires all
1471
+ * backends to be healthy.
1472
+ *
1473
+ * @schema VinylCacheSpecBackendsDirectorShardHealthy
1474
+ */
1475
+ export declare enum VinylCacheSpecBackendsDirectorShardHealthy {
1476
+ /** CHOSEN */
1477
+ CHOSEN = "CHOSEN",
1478
+ /** ALL */
1479
+ ALL = "ALL"
1480
+ }
1329
1481
  /**
1330
1482
  * An empty preferred scheduling term matches all objects with implicit weight 0
1331
1483
  * (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).