@bluedynamics/cdk8s-plone 0.0.81 → 0.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/.jsii CHANGED
@@ -7,8 +7,8 @@
7
7
  ]
8
8
  },
9
9
  "dependencies": {
10
- "cdk8s": "^2.70.2",
11
- "cdk8s-plus-30": "^2.4.8",
10
+ "cdk8s": "^2.70.20",
11
+ "cdk8s-plus-30": "^2.4.10",
12
12
  "constructs": "^10.0.3"
13
13
  },
14
14
  "dependencyClosure": {
@@ -96,7 +96,7 @@
96
96
  "stability": "stable"
97
97
  },
98
98
  "homepage": "https://github.com/bluedynamics/cdk8s-plone.git",
99
- "jsiiVersion": "5.8.16 (build 1632665)",
99
+ "jsiiVersion": "5.8.21 (build 0b7c0ba)",
100
100
  "license": "Apache-2.0",
101
101
  "metadata": {
102
102
  "jsii": {
@@ -108,7 +108,7 @@
108
108
  },
109
109
  "name": "@bluedynamics/cdk8s-plone",
110
110
  "readme": {
111
- "markdown": "# CMS Plone Chart for CDK8S\n\nThis chart provides a library to bootstrap a Plone deployment on a Kubernetes cluster using the [CDK8S](https://cdk8s.io) framework.\n\nIt provides\n- Backend (as API with `plone.volto` or as Classic-UI)\n- Frontend (Plone-Volto, a ReactJS based user interface)\n- Varnish using kube-httpcache. It includes a way to invalidate varnish cluster (optional)\n\n\n### Typescript\n\nTo use this library, create a new CDK8S project (or use an existing one)\n\n```bash\ncdk8s init typescript-app\n```\n\nThen add the following dependency to `package.json`:\n\n```json\n{\n \"dependencies\": {\n \"@bluedynamics/cdk8s-plone\": \"*\"\n }\n}\n```\nRun `npm install` to install [cdk8s-plone](https://www.npmjs.com/package/@bluedynamics/cdk8s-plone).\n\n### Python\n\nTodo: Document in details how to install.\n\n```bash\ncdk8s init python-app\n```\n\nPython package name is [cdk8s-plone](https://pypi.org/project/cdk8s-plone/).\n\n\n## Usage\n\nWith `cdk8s-cli` installed, create a new project:\n\n```bash\ncdk8s sythn\n```\n\nAdd the following code to your `main.ts`:\n\n```typescript\n...\nimport { Plone } from '@bluedynamics/cdk8s-plone';\n...\n super(scope, id, props);\n\n // define resources here\n new Plone(this, 'Plone', {});\n...\n```\n\nRun `npm run build ` to generate the Kubernetes manifests.\nThe manifests are stored in the `dist` directory.\n\nFor more have a look at the [example project](https://github.com/bluedynamics/cdk8s-plone-example).\n\n### Prerequisites\n\nFor using cdk8s-plone, we assume you already have following tools installed:\n\n* kubectl A command-line tool for interacting with Kubernetes clusters. For deploying the Kubernetes manifest you will need a tool like this. Take a look at the [Install Tools](https://kubernetes.io/docs/tasks/tools/#kubectl) for kubectl.\n\n* (optional) Helm A Kubernetes package manager for managing Plone/Volto deployments. This tool is optional and only needed if you generate helm charts as output with cdk8s synth - instead of pure manifests. There are several ways to install it see the [install section](https://helm.sh/docs/intro/install/) for Helm.\n\n\n### References\n[Kubernetes Documentation](https://kubernetes.io/docs/concepts/configuration/liveness-readiness-startup-probes/) relevant for ressource management, readiness and liveness\n\n#### PloneBaseOptions\n*Interface*\n\n\n\n- `image`(string):\n - The used Plone image\n - e.g. `plone/plone-backend:6.1.0`\n- `imagePullPolicy`(string):\n - default `IfNotPresent`\n- `replicas`(numbers)\n- `maxUnavailable`(number|string)\n- `minAvailable`(number|string)\n- `limitCpu`(string)\n- `limitMemory`(string)\n- `requestCpu`(string)\n- `requestMemory`(string)\n- `environment`(kplus.Env)\n- `readinessEnabled`(boolean)\n- `readinessInitialDelaySeconds`(number)\n- `readinessIimeoutSeconds`(number)\n- `readinessPeriodSeconds`(number)\n- `readinessSuccessThreshold`(number)\n- `readinessFailureThreshold`(number)\n- `livenessEnabled`(boolean)\n - should be `true` for `volto`\n - should be `false` for `backend/classicui`\n- `livenessInitialDelaySeconds`(number)\n- `livenessIimeoutSeconds`(number)\n- `livenessPeriodSeconds`(number)\n- `livenessSuccessThreshold`(number)\n- `livenessFailureThreshold`(number)\n\n\n#### PloneOptions\n*Interface*\n\n- `version`(string):\n - version of your project\n- `siteId`(string):\n - default `Plone`\n- `variant`(PloneVariant):\n - default `PloneVariant.VOLTO`\n- `backend` (PloneBaseOptions):\n - default `{}`\n - needs `image` and `enviroment`\n- `frontend` (PloneBaseOptions):\n - default `{}`\n - needs `image` if `PloneVariant.VOLTO`\n- `imagePullSecrets`(string[])\n\n#### PloneVariants\n*Enum*\n\n- VOLTO = 'volto'\n- CLASSICUI = 'classicui'\n - no frontend options/image needed\n\n#### Plone\n*class*\n\nbuilds the `Plone` Construct\n\n- `backendServiceName`(string)\n- `frontendServiceName`(string)\n- `variant`(PloneVariant)\n - default `Volto`\n- `siteId`(string)\n - default `Plone`\n\n#### PloneHttpcacheOptions\n*Interface*\n\n- `plone`(Plone):\n - Plone chart\n- `varnishVcl`{string}:\n - varnishfile\n - per default `varnishVclFile` should be used\n- `varnishVclFile`(string):\n - File in config folder\n- `existingSecret`(string)\n- `limitCpu`(string)\n- `limitMemory`(string)\n- `requestCpu`(string)\n- `requestMemory`(string)\n- `servicemonitor`(string)\n - default `false` used for metrics\n\n#### PloneHttpcache\n*class*\n\nuses helmchart [kube-httpcache](https://github.com/mittwald/kube-httpcache) and builds the `PloneHttpCache` Construct\n- `scope`(Construct)\n- `id`(string)\n- `options`(PloneHttpcacheOptions)\n\n\n## Development\n\nClone the repository and install the dependencies:\n\n```bash\nnvm use lts/*\ncorepack enable\nnpx projen\n```\n\nThen run the following command to run the test:\n\n```bash\nnpx projen test\n```\n\n## ToDo\n- [ ] Option to enable Servicemonitor"
111
+ "markdown": "# CDK8S Plone\n\nA CDK8S library for deploying Plone CMS to Kubernetes.\n\nThis library provides constructs to bootstrap a Plone deployment on a Kubernetes cluster using the [CDK8S](https://cdk8s.io) framework.\n\n## Features\n\n- **Backend**: Plone backend (API with `plone.volto` or Classic-UI)\n- **Frontend**: Plone Volto (modern React-based user interface)\n- **Varnish Caching**: Optional HTTP caching layer using [kube-httpcache](https://github.com/mittwald/kube-httpcache) with cluster-wide cache invalidation\n- **High Availability**: Configurable replicas with PodDisruptionBudgets\n- **Multi-language Support**: Published to npm (TypeScript/JavaScript) and PyPI (Python)\n\n\n## Installation\n\n### TypeScript/JavaScript\n\nCreate a new CDK8S project (or use an existing one):\n\n```bash\ncdk8s init typescript-app\n```\n\nInstall the library:\n\n```bash\nnpm install @bluedynamics/cdk8s-plone\n```\n\nPackage: [@bluedynamics/cdk8s-plone](https://www.npmjs.com/package/@bluedynamics/cdk8s-plone)\n\n### Python\n\nCreate a new CDK8S project:\n\n```bash\ncdk8s init python-app\n```\n\nInstall the library:\n\n```bash\npip install cdk8s-plone\n```\n\nPackage: [cdk8s-plone](https://pypi.org/project/cdk8s-plone/)\n\n\n## Quick Start\n\n### Basic Plone Deployment\n\n```typescript\nimport { App, Chart } from 'cdk8s';\nimport { Plone, PloneVariant } from '@bluedynamics/cdk8s-plone';\n\nconst app = new App();\nconst chart = new Chart(app, 'PloneDeployment');\n\nnew Plone(chart, 'my-plone', {\n variant: PloneVariant.VOLTO,\n backend: {\n image: 'plone/plone-backend:6.0.10',\n replicas: 3,\n },\n frontend: {\n image: 'plone/plone-frontend:16.0.0',\n replicas: 2,\n },\n});\n\napp.synth();\n```\n\n### With Varnish HTTP Cache\n\n```typescript\nimport { PloneHttpcache } from '@bluedynamics/cdk8s-plone';\n\nconst plone = new Plone(chart, 'my-plone', {\n variant: PloneVariant.VOLTO,\n backend: { image: 'plone/plone-backend:6.0.10' },\n frontend: { image: 'plone/plone-frontend:16.0.0' },\n});\n\nnew PloneHttpcache(chart, 'cache', {\n plone: plone,\n existingSecret: 'varnish-secret',\n replicas: 2,\n});\n```\n\n### Generate Kubernetes Manifests\n\n```bash\ncdk8s synth\n```\n\nThe manifests are stored in the `dist/` directory.\n\nFor a complete example, see the [example project](https://github.com/bluedynamics/cdk8s-plone-example).\n\n## Prerequisites\n\n- **kubectl** - Command-line tool for deploying Kubernetes manifests. [Install kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)\n- **Helm** (optional) - Only needed if generating Helm charts. [Install Helm](https://helm.sh/docs/intro/install/)\n- **Node.js** - For TypeScript/JavaScript development\n- **Python 3.8+** - For Python development\n\n\n## API Documentation\n\nFor complete API documentation, see [API.md](./API.md).\n\n### Key Constructs\n\n#### `Plone`\n\nMain construct for deploying Plone CMS. Supports two variants:\n- **VOLTO**: Modern React frontend with REST API backend (default)\n- **CLASSICUI**: Traditional server-side rendered Plone\n\nProperties:\n- `backendServiceName` - Name of the backend Kubernetes service\n- `frontendServiceName` - Name of the frontend service (VOLTO only)\n- `variant` - Deployment variant (VOLTO or CLASSICUI)\n- `siteId` - Plone site ID in ZODB (default: 'Plone')\n\n#### `PloneHttpcache`\n\nVarnish HTTP caching layer using the [kube-httpcache](https://github.com/mittwald/kube-httpcache) Helm chart.\n\nProperties:\n- `httpcacheServiceName` - Name of the Varnish service\n\n### Configuration Options\n\n#### `PloneOptions`\n\n- `version` - Version of your project\n- `siteId` - Plone site ID (default: 'Plone')\n- `variant` - PloneVariant.VOLTO or PloneVariant.CLASSICUI (default: VOLTO)\n- `backend` - Backend configuration (PloneBaseOptions)\n- `frontend` - Frontend configuration (PloneBaseOptions, required for VOLTO)\n- `imagePullSecrets` - Image pull secrets for private registries\n\n#### `PloneBaseOptions`\n\nConfiguration for backend or frontend:\n\n**Container:**\n- `image` - Container image (e.g., 'plone/plone-backend:6.0.10')\n- `imagePullPolicy` - Pull policy (default: 'IfNotPresent')\n- `replicas` - Number of replicas (default: 2)\n- `environment` - Environment variables (cdk8s-plus-30.Env)\n\n**Resources:**\n- `requestCpu` / `limitCpu` - CPU requests/limits\n- `requestMemory` / `limitMemory` - Memory requests/limits\n\n**High Availability:**\n- `minAvailable` - Min pods during updates (for PodDisruptionBudget)\n- `maxUnavailable` - Max unavailable pods during updates\n\n**Health Probes:**\n- `readinessEnabled` - Enable readiness probe (default: true)\n- `readinessInitialDelaySeconds` / `readinessTimeoutSeconds` / `readinessPeriodSeconds`\n- `readinessSuccessThreshold` / `readinessFailureThreshold`\n- `livenessEnabled` - Enable liveness probe (default: false, recommended true for frontend)\n- `livenessInitialDelaySeconds` / `livenessTimeoutSeconds` / `livenessPeriodSeconds`\n- `livenessSuccessThreshold` / `livenessFailureThreshold`\n\n**Annotations:**\n- `annotations` - Deployment metadata annotations\n- `podAnnotations` - Pod template annotations (e.g., for Prometheus)\n- `serviceAnnotations` - Service annotations (e.g., for external-dns)\n\n#### `PloneHttpcacheOptions`\n\n- `plone` - Plone construct to attach cache to (required)\n- `varnishVcl` - VCL configuration as string\n- `varnishVclFile` - Path to VCL configuration file\n- `existingSecret` - Kubernetes secret for Varnish admin credentials\n- `replicas` - Number of Varnish replicas (default: 2)\n- `requestCpu` / `limitCpu` - CPU resources\n- `requestMemory` / `limitMemory` - Memory resources\n- `servicemonitor` - Enable Prometheus ServiceMonitor (default: false)\n- `exporterEnabled` - Enable Prometheus exporter sidecar (default: true)\n- `chartVersion` - kube-httpcache Helm chart version (default: latest)\n\n\n## Development\n\nThis project uses [Projen](https://projen.io/) to manage project configuration. **Do not edit generated files directly.**\n\n### Setup\n\nClone the repository and install dependencies:\n\n```bash\nnvm use lts/*\ncorepack enable\nnpx projen\n```\n\n### Common Commands\n\n```bash\n# Run tests\nnpx projen test\n\n# Run tests in watch mode\nnpx projen test:watch\n\n# Build (compile TypeScript + generate JSII bindings)\nnpx projen build\n\n# Lint\nnpx projen eslint\n\n# Generate API documentation\nnpx projen docgen\n\n# Package for distribution\nnpx projen package-all\n```\n\n### Making Changes\n\n1. Edit `.projenrc.ts` for project configuration changes\n2. Run `npx projen` to regenerate project files\n3. Make code changes in `src/`\n4. Run tests and update snapshots if needed: `npx projen test -- -u`\n\n## References\n\n- [CDK8S Documentation](https://cdk8s.io/)\n- [Kubernetes Probes Documentation](https://kubernetes.io/docs/concepts/configuration/liveness-readiness-startup-probes/)\n- [kube-httpcache Helm Chart](https://github.com/mittwald/kube-httpcache)\n- [Example Project](https://github.com/bluedynamics/cdk8s-plone-example)\n\n## License\n\nSee [LICENSE](./LICENSE) file."
112
112
  },
113
113
  "repository": {
114
114
  "type": "git",
@@ -129,7 +129,10 @@
129
129
  "assembly": "@bluedynamics/cdk8s-plone",
130
130
  "base": "constructs.Construct",
131
131
  "docs": {
132
- "stability": "stable"
132
+ "example": "new Plone(chart, 'my-plone', {\n variant: PloneVariant.VOLTO,\n backend: {\n image: 'plone/plone-backend:6.0.10',\n replicas: 3,\n },\n frontend: {\n image: 'plone/plone-frontend:16.0.0',\n },\n});",
133
+ "remarks": "This construct creates all necessary Kubernetes resources for running Plone:\n- Deployment(s) for backend (and optionally frontend)\n- Service(s) for network access\n- Optional PodDisruptionBudget for high availability\n\nSupports two deployment variants:\n- VOLTO: Modern React frontend with REST API backend (default)\n- CLASSICUI: Traditional server-side rendered Plone",
134
+ "stability": "stable",
135
+ "summary": "Plone construct for deploying Plone CMS to Kubernetes."
133
136
  },
134
137
  "fqn": "@bluedynamics/cdk8s-plone.Plone",
135
138
  "initializer": {
@@ -138,7 +141,7 @@
138
141
  },
139
142
  "locationInModule": {
140
143
  "filename": "src/plone.ts",
141
- "line": 67
144
+ "line": 293
142
145
  },
143
146
  "parameters": [
144
147
  {
@@ -165,18 +168,20 @@
165
168
  "kind": "class",
166
169
  "locationInModule": {
167
170
  "filename": "src/plone.ts",
168
- "line": 52
171
+ "line": 270
169
172
  },
170
173
  "name": "Plone",
171
174
  "properties": [
172
175
  {
173
176
  "docs": {
174
- "stability": "stable"
177
+ "remarks": "Use this to reference the backend service from other constructs.",
178
+ "stability": "stable",
179
+ "summary": "Name of the backend Kubernetes service."
175
180
  },
176
181
  "immutable": true,
177
182
  "locationInModule": {
178
183
  "filename": "src/plone.ts",
179
- "line": 62
184
+ "line": 275
180
185
  },
181
186
  "name": "backendServiceName",
182
187
  "type": {
@@ -185,12 +190,13 @@
185
190
  },
186
191
  {
187
192
  "docs": {
188
- "stability": "stable"
193
+ "stability": "stable",
194
+ "summary": "The Plone site ID in ZODB."
189
195
  },
190
196
  "immutable": true,
191
197
  "locationInModule": {
192
198
  "filename": "src/plone.ts",
193
- "line": 65
199
+ "line": 291
194
200
  },
195
201
  "name": "siteId",
196
202
  "type": {
@@ -199,12 +205,13 @@
199
205
  },
200
206
  {
201
207
  "docs": {
202
- "stability": "stable"
208
+ "stability": "stable",
209
+ "summary": "The deployment variant being used (VOLTO or CLASSICUI)."
203
210
  },
204
211
  "immutable": true,
205
212
  "locationInModule": {
206
213
  "filename": "src/plone.ts",
207
- "line": 64
214
+ "line": 286
208
215
  },
209
216
  "name": "variant",
210
217
  "type": {
@@ -213,12 +220,14 @@
213
220
  },
214
221
  {
215
222
  "docs": {
216
- "stability": "stable"
223
+ "remarks": "Only set when variant is VOLTO, otherwise undefined.",
224
+ "stability": "stable",
225
+ "summary": "Name of the frontend Kubernetes service."
217
226
  },
218
227
  "immutable": true,
219
228
  "locationInModule": {
220
229
  "filename": "src/plone.ts",
221
- "line": 63
230
+ "line": 281
222
231
  },
223
232
  "name": "frontendServiceName",
224
233
  "optional": true,
@@ -233,25 +242,54 @@
233
242
  "assembly": "@bluedynamics/cdk8s-plone",
234
243
  "datatype": true,
235
244
  "docs": {
236
- "stability": "stable"
245
+ "remarks": "These options control container image, replica count, resource limits,\nenvironment variables, and health probes.",
246
+ "stability": "stable",
247
+ "summary": "Base options for Plone backend or frontend configuration."
237
248
  },
238
249
  "fqn": "@bluedynamics/cdk8s-plone.PloneBaseOptions",
239
250
  "kind": "interface",
240
251
  "locationInModule": {
241
252
  "filename": "src/plone.ts",
242
- "line": 9
253
+ "line": 14
243
254
  },
244
255
  "name": "PloneBaseOptions",
245
256
  "properties": [
246
257
  {
247
258
  "abstract": true,
248
259
  "docs": {
249
- "stability": "stable"
260
+ "default": "- no additional annotations",
261
+ "example": "{ 'deployment.kubernetes.io/revision': '1' }",
262
+ "stability": "stable",
263
+ "summary": "Annotations to add to the Deployment metadata."
250
264
  },
251
265
  "immutable": true,
252
266
  "locationInModule": {
253
267
  "filename": "src/plone.ts",
254
- "line": 22
268
+ "line": 165
269
+ },
270
+ "name": "annotations",
271
+ "optional": true,
272
+ "type": {
273
+ "collection": {
274
+ "elementtype": {
275
+ "primitive": "string"
276
+ },
277
+ "kind": "map"
278
+ }
279
+ }
280
+ },
281
+ {
282
+ "abstract": true,
283
+ "docs": {
284
+ "default": "- undefined (no additional environment variables)",
285
+ "remarks": "Use cdk8s-plus-30 Env class to define variables and sources.",
286
+ "stability": "stable",
287
+ "summary": "Environment variables to set in the container."
288
+ },
289
+ "immutable": true,
290
+ "locationInModule": {
291
+ "filename": "src/plone.ts",
292
+ "line": 83
255
293
  },
256
294
  "name": "environment",
257
295
  "optional": true,
@@ -262,12 +300,15 @@
262
300
  {
263
301
  "abstract": true,
264
302
  "docs": {
265
- "stability": "stable"
303
+ "default": "- 'plone/plone-backend:latest' for backend, 'plone/plone-frontend:latest' for frontend",
304
+ "example": "'plone/plone-backend:6.0.10' or 'plone/plone-frontend:16.0.0'",
305
+ "stability": "stable",
306
+ "summary": "Container image to use for the deployment."
266
307
  },
267
308
  "immutable": true,
268
309
  "locationInModule": {
269
310
  "filename": "src/plone.ts",
270
- "line": 11
311
+ "line": 20
271
312
  },
272
313
  "name": "image",
273
314
  "optional": true,
@@ -278,12 +319,14 @@
278
319
  {
279
320
  "abstract": true,
280
321
  "docs": {
281
- "stability": "stable"
322
+ "default": "'IfNotPresent'",
323
+ "stability": "stable",
324
+ "summary": "Image pull policy for the container."
282
325
  },
283
326
  "immutable": true,
284
327
  "locationInModule": {
285
328
  "filename": "src/plone.ts",
286
- "line": 12
329
+ "line": 26
287
330
  },
288
331
  "name": "imagePullPolicy",
289
332
  "optional": true,
@@ -294,12 +337,15 @@
294
337
  {
295
338
  "abstract": true,
296
339
  "docs": {
297
- "stability": "stable"
340
+ "default": "'500m' for both backend and frontend",
341
+ "example": "'500m' or '1' or '2000m'",
342
+ "stability": "stable",
343
+ "summary": "CPU limit for the container."
298
344
  },
299
345
  "immutable": true,
300
346
  "locationInModule": {
301
347
  "filename": "src/plone.ts",
302
- "line": 18
348
+ "line": 55
303
349
  },
304
350
  "name": "limitCpu",
305
351
  "optional": true,
@@ -310,12 +356,15 @@
310
356
  {
311
357
  "abstract": true,
312
358
  "docs": {
313
- "stability": "stable"
359
+ "default": "'512Mi' for backend, '1Gi' for frontend",
360
+ "example": "'512Mi' or '1Gi'",
361
+ "stability": "stable",
362
+ "summary": "Memory limit for the container."
314
363
  },
315
364
  "immutable": true,
316
365
  "locationInModule": {
317
366
  "filename": "src/plone.ts",
318
- "line": 19
367
+ "line": 62
319
368
  },
320
369
  "name": "limitMemory",
321
370
  "optional": true,
@@ -326,12 +375,15 @@
326
375
  {
327
376
  "abstract": true,
328
377
  "docs": {
329
- "stability": "stable"
378
+ "default": "false",
379
+ "remarks": "Liveness probes determine when to restart a container.\nRecommended: true for frontend, false for backend (Zope has its own recovery).",
380
+ "stability": "stable",
381
+ "summary": "Enable liveness probe for the container."
330
382
  },
331
383
  "immutable": true,
332
384
  "locationInModule": {
333
385
  "filename": "src/plone.ts",
334
- "line": 31
386
+ "line": 128
335
387
  },
336
388
  "name": "livenessEnabled",
337
389
  "optional": true,
@@ -342,12 +394,14 @@
342
394
  {
343
395
  "abstract": true,
344
396
  "docs": {
345
- "stability": "stable"
397
+ "default": "3",
398
+ "stability": "stable",
399
+ "summary": "Minimum consecutive failures for the liveness probe to be considered failed."
346
400
  },
347
401
  "immutable": true,
348
402
  "locationInModule": {
349
403
  "filename": "src/plone.ts",
350
- "line": 36
404
+ "line": 158
351
405
  },
352
406
  "name": "livenessFailureThreshold",
353
407
  "optional": true,
@@ -358,14 +412,16 @@
358
412
  {
359
413
  "abstract": true,
360
414
  "docs": {
361
- "stability": "stable"
415
+ "default": "30",
416
+ "stability": "stable",
417
+ "summary": "Number of seconds after container start before liveness probe is initiated."
362
418
  },
363
419
  "immutable": true,
364
420
  "locationInModule": {
365
421
  "filename": "src/plone.ts",
366
- "line": 33
422
+ "line": 134
367
423
  },
368
- "name": "livenessIimeoutSeconds",
424
+ "name": "livenessInitialDelaySeconds",
369
425
  "optional": true,
370
426
  "type": {
371
427
  "primitive": "number"
@@ -374,14 +430,16 @@
374
430
  {
375
431
  "abstract": true,
376
432
  "docs": {
377
- "stability": "stable"
433
+ "default": "10",
434
+ "stability": "stable",
435
+ "summary": "How often (in seconds) to perform the liveness probe."
378
436
  },
379
437
  "immutable": true,
380
438
  "locationInModule": {
381
439
  "filename": "src/plone.ts",
382
- "line": 32
440
+ "line": 146
383
441
  },
384
- "name": "livenessInitialDelaySeconds",
442
+ "name": "livenessPeriodSeconds",
385
443
  "optional": true,
386
444
  "type": {
387
445
  "primitive": "number"
@@ -390,14 +448,16 @@
390
448
  {
391
449
  "abstract": true,
392
450
  "docs": {
393
- "stability": "stable"
451
+ "default": "1",
452
+ "stability": "stable",
453
+ "summary": "Minimum consecutive successes for the liveness probe to be considered successful."
394
454
  },
395
455
  "immutable": true,
396
456
  "locationInModule": {
397
457
  "filename": "src/plone.ts",
398
- "line": 34
458
+ "line": 152
399
459
  },
400
- "name": "livenessPeriodSeconds",
460
+ "name": "livenessSuccessThreshold",
401
461
  "optional": true,
402
462
  "type": {
403
463
  "primitive": "number"
@@ -406,14 +466,16 @@
406
466
  {
407
467
  "abstract": true,
408
468
  "docs": {
409
- "stability": "stable"
469
+ "default": "5",
470
+ "stability": "stable",
471
+ "summary": "Number of seconds after which the liveness probe times out."
410
472
  },
411
473
  "immutable": true,
412
474
  "locationInModule": {
413
475
  "filename": "src/plone.ts",
414
- "line": 35
476
+ "line": 140
415
477
  },
416
- "name": "livenessSuccessThreshold",
478
+ "name": "livenessTimeoutSeconds",
417
479
  "optional": true,
418
480
  "type": {
419
481
  "primitive": "number"
@@ -422,12 +484,15 @@
422
484
  {
423
485
  "abstract": true,
424
486
  "docs": {
425
- "stability": "stable"
487
+ "default": "- undefined (not set)",
488
+ "remarks": "Can be an absolute number (e.g., 1) or a percentage (e.g., '50%').\nUsed in PodDisruptionBudget if specified.",
489
+ "stability": "stable",
490
+ "summary": "Maximum number of pods that can be unavailable during updates."
426
491
  },
427
492
  "immutable": true,
428
493
  "locationInModule": {
429
494
  "filename": "src/plone.ts",
430
- "line": 15
495
+ "line": 40
431
496
  },
432
497
  "name": "maxUnavailable",
433
498
  "optional": true,
@@ -447,12 +512,15 @@
447
512
  {
448
513
  "abstract": true,
449
514
  "docs": {
450
- "stability": "stable"
515
+ "default": "- undefined (not set)",
516
+ "remarks": "Can be an absolute number (e.g., 1) or a percentage (e.g., '50%').\nUsed in PodDisruptionBudget if specified.",
517
+ "stability": "stable",
518
+ "summary": "Minimum number of pods that must be available during updates."
451
519
  },
452
520
  "immutable": true,
453
521
  "locationInModule": {
454
522
  "filename": "src/plone.ts",
455
- "line": 16
523
+ "line": 48
456
524
  },
457
525
  "name": "minAvailable",
458
526
  "optional": true,
@@ -472,12 +540,40 @@
472
540
  {
473
541
  "abstract": true,
474
542
  "docs": {
475
- "stability": "stable"
543
+ "default": "- no additional annotations",
544
+ "example": "{ 'prometheus.io/scrape': 'true', 'prometheus.io/port': '8080' }",
545
+ "remarks": "Common for Prometheus, Istio, backup policies, etc.",
546
+ "stability": "stable",
547
+ "summary": "Annotations to add to the Pod template metadata."
476
548
  },
477
549
  "immutable": true,
478
550
  "locationInModule": {
479
551
  "filename": "src/plone.ts",
480
- "line": 24
552
+ "line": 173
553
+ },
554
+ "name": "podAnnotations",
555
+ "optional": true,
556
+ "type": {
557
+ "collection": {
558
+ "elementtype": {
559
+ "primitive": "string"
560
+ },
561
+ "kind": "map"
562
+ }
563
+ }
564
+ },
565
+ {
566
+ "abstract": true,
567
+ "docs": {
568
+ "default": "true",
569
+ "remarks": "Readiness probes determine when a container is ready to accept traffic.",
570
+ "stability": "stable",
571
+ "summary": "Enable readiness probe for the container."
572
+ },
573
+ "immutable": true,
574
+ "locationInModule": {
575
+ "filename": "src/plone.ts",
576
+ "line": 90
481
577
  },
482
578
  "name": "readinessEnabled",
483
579
  "optional": true,
@@ -488,12 +584,14 @@
488
584
  {
489
585
  "abstract": true,
490
586
  "docs": {
491
- "stability": "stable"
587
+ "default": "3",
588
+ "stability": "stable",
589
+ "summary": "Minimum consecutive failures for the readiness probe to be considered failed."
492
590
  },
493
591
  "immutable": true,
494
592
  "locationInModule": {
495
593
  "filename": "src/plone.ts",
496
- "line": 29
594
+ "line": 120
497
595
  },
498
596
  "name": "readinessFailureThreshold",
499
597
  "optional": true,
@@ -504,14 +602,16 @@
504
602
  {
505
603
  "abstract": true,
506
604
  "docs": {
507
- "stability": "stable"
605
+ "default": "10",
606
+ "stability": "stable",
607
+ "summary": "Number of seconds after container start before readiness probe is initiated."
508
608
  },
509
609
  "immutable": true,
510
610
  "locationInModule": {
511
611
  "filename": "src/plone.ts",
512
- "line": 26
612
+ "line": 96
513
613
  },
514
- "name": "readinessIimeoutSeconds",
614
+ "name": "readinessInitialDelaySeconds",
515
615
  "optional": true,
516
616
  "type": {
517
617
  "primitive": "number"
@@ -520,14 +620,16 @@
520
620
  {
521
621
  "abstract": true,
522
622
  "docs": {
523
- "stability": "stable"
623
+ "default": "10",
624
+ "stability": "stable",
625
+ "summary": "How often (in seconds) to perform the readiness probe."
524
626
  },
525
627
  "immutable": true,
526
628
  "locationInModule": {
527
629
  "filename": "src/plone.ts",
528
- "line": 25
630
+ "line": 108
529
631
  },
530
- "name": "readinessInitialDelaySeconds",
632
+ "name": "readinessPeriodSeconds",
531
633
  "optional": true,
532
634
  "type": {
533
635
  "primitive": "number"
@@ -536,14 +638,16 @@
536
638
  {
537
639
  "abstract": true,
538
640
  "docs": {
539
- "stability": "stable"
641
+ "default": "1",
642
+ "stability": "stable",
643
+ "summary": "Minimum consecutive successes for the readiness probe to be considered successful."
540
644
  },
541
645
  "immutable": true,
542
646
  "locationInModule": {
543
647
  "filename": "src/plone.ts",
544
- "line": 27
648
+ "line": 114
545
649
  },
546
- "name": "readinessPeriodSeconds",
650
+ "name": "readinessSuccessThreshold",
547
651
  "optional": true,
548
652
  "type": {
549
653
  "primitive": "number"
@@ -552,14 +656,16 @@
552
656
  {
553
657
  "abstract": true,
554
658
  "docs": {
555
- "stability": "stable"
659
+ "default": "15",
660
+ "stability": "stable",
661
+ "summary": "Number of seconds after which the readiness probe times out."
556
662
  },
557
663
  "immutable": true,
558
664
  "locationInModule": {
559
665
  "filename": "src/plone.ts",
560
- "line": 28
666
+ "line": 102
561
667
  },
562
- "name": "readinessSuccessThreshold",
668
+ "name": "readinessTimeoutSeconds",
563
669
  "optional": true,
564
670
  "type": {
565
671
  "primitive": "number"
@@ -568,12 +674,14 @@
568
674
  {
569
675
  "abstract": true,
570
676
  "docs": {
571
- "stability": "stable"
677
+ "default": "2",
678
+ "stability": "stable",
679
+ "summary": "Number of pod replicas to run."
572
680
  },
573
681
  "immutable": true,
574
682
  "locationInModule": {
575
683
  "filename": "src/plone.ts",
576
- "line": 14
684
+ "line": 32
577
685
  },
578
686
  "name": "replicas",
579
687
  "optional": true,
@@ -584,12 +692,15 @@
584
692
  {
585
693
  "abstract": true,
586
694
  "docs": {
587
- "stability": "stable"
695
+ "default": "'200m'",
696
+ "example": "'200m' or '0.5'",
697
+ "stability": "stable",
698
+ "summary": "CPU request for the container."
588
699
  },
589
700
  "immutable": true,
590
701
  "locationInModule": {
591
702
  "filename": "src/plone.ts",
592
- "line": 20
703
+ "line": 69
593
704
  },
594
705
  "name": "requestCpu",
595
706
  "optional": true,
@@ -600,18 +711,46 @@
600
711
  {
601
712
  "abstract": true,
602
713
  "docs": {
603
- "stability": "stable"
714
+ "default": "'256Mi'",
715
+ "example": "'256Mi' or '512Mi'",
716
+ "stability": "stable",
717
+ "summary": "Memory request for the container."
604
718
  },
605
719
  "immutable": true,
606
720
  "locationInModule": {
607
721
  "filename": "src/plone.ts",
608
- "line": 21
722
+ "line": 76
609
723
  },
610
724
  "name": "requestMemory",
611
725
  "optional": true,
612
726
  "type": {
613
727
  "primitive": "string"
614
728
  }
729
+ },
730
+ {
731
+ "abstract": true,
732
+ "docs": {
733
+ "default": "- no additional annotations",
734
+ "example": "{ 'external-dns.alpha.kubernetes.io/hostname': 'plone.example.com' }",
735
+ "remarks": "Common for external-dns, load balancers, service mesh, etc.",
736
+ "stability": "stable",
737
+ "summary": "Annotations to add to the Service metadata."
738
+ },
739
+ "immutable": true,
740
+ "locationInModule": {
741
+ "filename": "src/plone.ts",
742
+ "line": 181
743
+ },
744
+ "name": "serviceAnnotations",
745
+ "optional": true,
746
+ "type": {
747
+ "collection": {
748
+ "elementtype": {
749
+ "primitive": "string"
750
+ },
751
+ "kind": "map"
752
+ }
753
+ }
615
754
  }
616
755
  ],
617
756
  "symbolId": "src/plone:PloneBaseOptions"
@@ -620,7 +759,10 @@
620
759
  "assembly": "@bluedynamics/cdk8s-plone",
621
760
  "base": "constructs.Construct",
622
761
  "docs": {
623
- "stability": "stable"
762
+ "example": "const plone = new Plone(chart, 'plone');\nconst cache = new PloneHttpcache(chart, 'cache', {\n plone: plone,\n existingSecret: 'varnish-secret',\n});",
763
+ "remarks": "Uses the mittwald/kube-httpcache Helm chart to deploy Varnish as a\ncaching proxy in front of Plone backend and/or frontend services.\n\nThe cache automatically connects to the Plone services and provides\nHTTP cache invalidation capabilities.",
764
+ "stability": "stable",
765
+ "summary": "PloneHttpcache construct for deploying Varnish HTTP caching layer."
624
766
  },
625
767
  "fqn": "@bluedynamics/cdk8s-plone.PloneHttpcache",
626
768
  "initializer": {
@@ -629,7 +771,7 @@
629
771
  },
630
772
  "locationInModule": {
631
773
  "filename": "src/httpcache.ts",
632
- "line": 43
774
+ "line": 113
633
775
  },
634
776
  "parameters": [
635
777
  {
@@ -655,18 +797,20 @@
655
797
  "kind": "class",
656
798
  "locationInModule": {
657
799
  "filename": "src/httpcache.ts",
658
- "line": 39
800
+ "line": 106
659
801
  },
660
802
  "name": "PloneHttpcache",
661
803
  "properties": [
662
804
  {
663
805
  "docs": {
664
- "stability": "stable"
806
+ "remarks": "Use this to reference the cache service from ingress or other constructs.",
807
+ "stability": "stable",
808
+ "summary": "Name of the Varnish service created by the Helm chart."
665
809
  },
666
810
  "immutable": true,
667
811
  "locationInModule": {
668
812
  "filename": "src/httpcache.ts",
669
- "line": 41
813
+ "line": 111
670
814
  },
671
815
  "name": "httpcacheServiceName",
672
816
  "type": {
@@ -680,27 +824,28 @@
680
824
  "assembly": "@bluedynamics/cdk8s-plone",
681
825
  "datatype": true,
682
826
  "docs": {
683
- "stability": "stable"
827
+ "stability": "stable",
828
+ "summary": "Configuration options for PloneHttpcache (Varnish caching layer)."
684
829
  },
685
830
  "fqn": "@bluedynamics/cdk8s-plone.PloneHttpcacheOptions",
686
831
  "kind": "interface",
687
832
  "locationInModule": {
688
833
  "filename": "src/httpcache.ts",
689
- "line": 7
834
+ "line": 10
690
835
  },
691
836
  "name": "PloneHttpcacheOptions",
692
837
  "properties": [
693
838
  {
694
839
  "abstract": true,
695
840
  "docs": {
696
- "default": "- none",
841
+ "remarks": "The cache will automatically connect to the backend and frontend services.",
697
842
  "stability": "stable",
698
- "summary": "plone chart."
843
+ "summary": "The Plone construct to attach the HTTP cache to."
699
844
  },
700
845
  "immutable": true,
701
846
  "locationInModule": {
702
847
  "filename": "src/httpcache.ts",
703
- "line": 12
848
+ "line": 15
704
849
  },
705
850
  "name": "plone",
706
851
  "type": {
@@ -710,14 +855,34 @@
710
855
  {
711
856
  "abstract": true,
712
857
  "docs": {
713
- "default": "- undefined",
858
+ "default": "undefined (latest)",
859
+ "remarks": "If not specified, the latest version from the repository will be used.",
714
860
  "stability": "stable",
715
- "summary": "existingSecret - Read admin credentials from user provided secret."
861
+ "summary": "Version of the kube-httpcache Helm chart to use."
716
862
  },
717
863
  "immutable": true,
718
864
  "locationInModule": {
719
865
  "filename": "src/httpcache.ts",
720
- "line": 27
866
+ "line": 81
867
+ },
868
+ "name": "chartVersion",
869
+ "optional": true,
870
+ "type": {
871
+ "primitive": "string"
872
+ }
873
+ },
874
+ {
875
+ "abstract": true,
876
+ "docs": {
877
+ "default": "- undefined (no existing secret)",
878
+ "remarks": "The secret should be created separately in the same namespace.",
879
+ "stability": "stable",
880
+ "summary": "Name of an existing Kubernetes secret containing Varnish admin credentials."
881
+ },
882
+ "immutable": true,
883
+ "locationInModule": {
884
+ "filename": "src/httpcache.ts",
885
+ "line": 36
721
886
  },
722
887
  "name": "existingSecret",
723
888
  "optional": true,
@@ -728,12 +893,33 @@
728
893
  {
729
894
  "abstract": true,
730
895
  "docs": {
731
- "stability": "stable"
896
+ "default": "true",
897
+ "remarks": "When enabled, the exporter sidecar container will be deployed alongside Varnish.",
898
+ "stability": "stable",
899
+ "summary": "Enable the Prometheus exporter for Varnish metrics."
732
900
  },
733
901
  "immutable": true,
734
902
  "locationInModule": {
735
903
  "filename": "src/httpcache.ts",
736
- "line": 31
904
+ "line": 74
905
+ },
906
+ "name": "exporterEnabled",
907
+ "optional": true,
908
+ "type": {
909
+ "primitive": "boolean"
910
+ }
911
+ },
912
+ {
913
+ "abstract": true,
914
+ "docs": {
915
+ "default": "'500m'",
916
+ "stability": "stable",
917
+ "summary": "CPU limit for Varnish pods."
918
+ },
919
+ "immutable": true,
920
+ "locationInModule": {
921
+ "filename": "src/httpcache.ts",
922
+ "line": 42
737
923
  },
738
924
  "name": "limitCpu",
739
925
  "optional": true,
@@ -744,12 +930,14 @@
744
930
  {
745
931
  "abstract": true,
746
932
  "docs": {
747
- "stability": "stable"
933
+ "default": "'500Mi'",
934
+ "stability": "stable",
935
+ "summary": "Memory limit for Varnish pods."
748
936
  },
749
937
  "immutable": true,
750
938
  "locationInModule": {
751
939
  "filename": "src/httpcache.ts",
752
- "line": 32
940
+ "line": 48
753
941
  },
754
942
  "name": "limitMemory",
755
943
  "optional": true,
@@ -760,12 +948,32 @@
760
948
  {
761
949
  "abstract": true,
762
950
  "docs": {
763
- "stability": "stable"
951
+ "default": "2",
952
+ "stability": "stable",
953
+ "summary": "Number of Varnish pod replicas to run."
954
+ },
955
+ "immutable": true,
956
+ "locationInModule": {
957
+ "filename": "src/httpcache.ts",
958
+ "line": 87
959
+ },
960
+ "name": "replicas",
961
+ "optional": true,
962
+ "type": {
963
+ "primitive": "number"
964
+ }
965
+ },
966
+ {
967
+ "abstract": true,
968
+ "docs": {
969
+ "default": "'100m'",
970
+ "stability": "stable",
971
+ "summary": "CPU request for Varnish pods."
764
972
  },
765
973
  "immutable": true,
766
974
  "locationInModule": {
767
975
  "filename": "src/httpcache.ts",
768
- "line": 33
976
+ "line": 54
769
977
  },
770
978
  "name": "requestCpu",
771
979
  "optional": true,
@@ -776,12 +984,14 @@
776
984
  {
777
985
  "abstract": true,
778
986
  "docs": {
779
- "stability": "stable"
987
+ "default": "'100Mi'",
988
+ "stability": "stable",
989
+ "summary": "Memory request for Varnish pods."
780
990
  },
781
991
  "immutable": true,
782
992
  "locationInModule": {
783
993
  "filename": "src/httpcache.ts",
784
- "line": 34
994
+ "line": 60
785
995
  },
786
996
  "name": "requestMemory",
787
997
  "optional": true,
@@ -792,12 +1002,15 @@
792
1002
  {
793
1003
  "abstract": true,
794
1004
  "docs": {
795
- "stability": "stable"
1005
+ "default": "false",
1006
+ "remarks": "Requires Prometheus Operator to be installed in the cluster.",
1007
+ "stability": "stable",
1008
+ "summary": "Enable Prometheus ServiceMonitor for metrics collection."
796
1009
  },
797
1010
  "immutable": true,
798
1011
  "locationInModule": {
799
1012
  "filename": "src/httpcache.ts",
800
- "line": 36
1013
+ "line": 67
801
1014
  },
802
1015
  "name": "servicemonitor",
803
1016
  "optional": true,
@@ -808,14 +1021,15 @@
808
1021
  {
809
1022
  "abstract": true,
810
1023
  "docs": {
811
- "default": "- file in config folder",
1024
+ "default": "- loaded from varnishVclFile or default config file",
1025
+ "remarks": "If provided, this takes precedence over varnishVclFile.",
812
1026
  "stability": "stable",
813
- "summary": "varnishVcl."
1027
+ "summary": "Varnish VCL configuration as a string."
814
1028
  },
815
1029
  "immutable": true,
816
1030
  "locationInModule": {
817
1031
  "filename": "src/httpcache.ts",
818
- "line": 17
1032
+ "line": 22
819
1033
  },
820
1034
  "name": "varnishVcl",
821
1035
  "optional": true,
@@ -826,14 +1040,15 @@
826
1040
  {
827
1041
  "abstract": true,
828
1042
  "docs": {
829
- "default": "- undefined",
1043
+ "default": "- uses default config/varnish.tpl.vcl",
1044
+ "remarks": "If not provided, uses the default VCL file included in the library.",
830
1045
  "stability": "stable",
831
- "summary": "varnishVclFile."
1046
+ "summary": "Path to a Varnish VCL configuration file."
832
1047
  },
833
1048
  "immutable": true,
834
1049
  "locationInModule": {
835
1050
  "filename": "src/httpcache.ts",
836
- "line": 22
1051
+ "line": 29
837
1052
  },
838
1053
  "name": "varnishVclFile",
839
1054
  "optional": true,
@@ -848,25 +1063,28 @@
848
1063
  "assembly": "@bluedynamics/cdk8s-plone",
849
1064
  "datatype": true,
850
1065
  "docs": {
851
- "stability": "stable"
1066
+ "stability": "stable",
1067
+ "summary": "Main configuration options for Plone deployment."
852
1068
  },
853
1069
  "fqn": "@bluedynamics/cdk8s-plone.PloneOptions",
854
1070
  "kind": "interface",
855
1071
  "locationInModule": {
856
1072
  "filename": "src/plone.ts",
857
- "line": 42
1073
+ "line": 203
858
1074
  },
859
1075
  "name": "PloneOptions",
860
1076
  "properties": [
861
1077
  {
862
1078
  "abstract": true,
863
1079
  "docs": {
864
- "stability": "stable"
1080
+ "default": "{} (uses default values from PloneBaseOptions)",
1081
+ "stability": "stable",
1082
+ "summary": "Backend (Plone API) configuration."
865
1083
  },
866
1084
  "immutable": true,
867
1085
  "locationInModule": {
868
1086
  "filename": "src/plone.ts",
869
- "line": 46
1087
+ "line": 228
870
1088
  },
871
1089
  "name": "backend",
872
1090
  "optional": true,
@@ -877,12 +1095,15 @@
877
1095
  {
878
1096
  "abstract": true,
879
1097
  "docs": {
880
- "stability": "stable"
1098
+ "default": "{} (uses default values from PloneBaseOptions)",
1099
+ "remarks": "Only used when variant is PloneVariant.VOLTO.",
1100
+ "stability": "stable",
1101
+ "summary": "Frontend (Volto) configuration."
881
1102
  },
882
1103
  "immutable": true,
883
1104
  "locationInModule": {
884
1105
  "filename": "src/plone.ts",
885
- "line": 47
1106
+ "line": 235
886
1107
  },
887
1108
  "name": "frontend",
888
1109
  "optional": true,
@@ -893,12 +1114,16 @@
893
1114
  {
894
1115
  "abstract": true,
895
1116
  "docs": {
896
- "stability": "stable"
1117
+ "default": "[] (no image pull secrets)",
1118
+ "example": "['my-registry-secret']",
1119
+ "remarks": "These secrets must exist in the same namespace as the deployment.",
1120
+ "stability": "stable",
1121
+ "summary": "Names of Kubernetes secrets to use for pulling private container images."
897
1122
  },
898
1123
  "immutable": true,
899
1124
  "locationInModule": {
900
1125
  "filename": "src/plone.ts",
901
- "line": 48
1126
+ "line": 243
902
1127
  },
903
1128
  "name": "imagePullSecrets",
904
1129
  "optional": true,
@@ -914,12 +1139,15 @@
914
1139
  {
915
1140
  "abstract": true,
916
1141
  "docs": {
917
- "stability": "stable"
1142
+ "default": "'Plone'",
1143
+ "remarks": "This is used to construct the internal API path for Volto frontend.",
1144
+ "stability": "stable",
1145
+ "summary": "Plone site ID in the ZODB."
918
1146
  },
919
1147
  "immutable": true,
920
1148
  "locationInModule": {
921
1149
  "filename": "src/plone.ts",
922
- "line": 44
1150
+ "line": 216
923
1151
  },
924
1152
  "name": "siteId",
925
1153
  "optional": true,
@@ -930,12 +1158,14 @@
930
1158
  {
931
1159
  "abstract": true,
932
1160
  "docs": {
933
- "stability": "stable"
1161
+ "default": "PloneVariant.VOLTO",
1162
+ "stability": "stable",
1163
+ "summary": "Plone deployment variant to use."
934
1164
  },
935
1165
  "immutable": true,
936
1166
  "locationInModule": {
937
1167
  "filename": "src/plone.ts",
938
- "line": 45
1168
+ "line": 222
939
1169
  },
940
1170
  "name": "variant",
941
1171
  "optional": true,
@@ -946,12 +1176,15 @@
946
1176
  {
947
1177
  "abstract": true,
948
1178
  "docs": {
949
- "stability": "stable"
1179
+ "default": "'undefined'",
1180
+ "remarks": "This is used in Kubernetes labels and doesn't affect the actual image versions.",
1181
+ "stability": "stable",
1182
+ "summary": "Version string for labeling the deployment."
950
1183
  },
951
1184
  "immutable": true,
952
1185
  "locationInModule": {
953
1186
  "filename": "src/plone.ts",
954
- "line": 43
1187
+ "line": 209
955
1188
  },
956
1189
  "name": "version",
957
1190
  "optional": true,
@@ -965,24 +1198,29 @@
965
1198
  "@bluedynamics/cdk8s-plone.PloneVariant": {
966
1199
  "assembly": "@bluedynamics/cdk8s-plone",
967
1200
  "docs": {
968
- "stability": "stable"
1201
+ "stability": "stable",
1202
+ "summary": "Plone deployment variants."
969
1203
  },
970
1204
  "fqn": "@bluedynamics/cdk8s-plone.PloneVariant",
971
1205
  "kind": "enum",
972
1206
  "locationInModule": {
973
1207
  "filename": "src/plone.ts",
974
- "line": 38
1208
+ "line": 186
975
1209
  },
976
1210
  "members": [
977
1211
  {
978
1212
  "docs": {
979
- "stability": "stable"
1213
+ "remarks": "Deploys both frontend and backend services.",
1214
+ "stability": "stable",
1215
+ "summary": "Volto variant: ReactJS frontend (Volto) with REST API backend."
980
1216
  },
981
1217
  "name": "VOLTO"
982
1218
  },
983
1219
  {
984
1220
  "docs": {
985
- "stability": "stable"
1221
+ "remarks": "Deploys only the backend service.",
1222
+ "stability": "stable",
1223
+ "summary": "Classic UI variant: Traditional Plone with server-side rendering."
986
1224
  },
987
1225
  "name": "CLASSICUI"
988
1226
  }
@@ -991,6 +1229,6 @@
991
1229
  "symbolId": "src/plone:PloneVariant"
992
1230
  }
993
1231
  },
994
- "version": "0.0.81",
995
- "fingerprint": "t+2WkNwxxmBu5DGK7dWBByXVFR0mXDSNK07R2TzB/SA="
1232
+ "version": "0.1.1",
1233
+ "fingerprint": "wSctuUybVRK8V2iiHUehNyBdz5XadXDXaOzsw/j7g8k="
996
1234
  }