@bluedynamics/cdk8s-plone 0.1.23 → 0.1.25
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 +454 -17
- package/API.md +478 -0
- package/README.md +1 -1
- package/documentation/sources/explanation/architecture.md +18 -0
- package/documentation/sources/explanation/features.md +10 -2
- package/documentation/sources/how-to/deploy-with-vinyl-cache.md +115 -0
- package/documentation/sources/how-to/index.md +1 -0
- package/documentation/sources/reference/configuration-options.md +56 -0
- package/lib/deployment.d.ts +7 -0
- package/lib/deployment.js +2 -1
- package/lib/httpcache.js +1 -1
- package/lib/imports/vinyl.bluedynamics.eu.d.ts +2419 -0
- package/lib/imports/vinyl.bluedynamics.eu.js +1281 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +4 -2
- package/lib/plone.d.ts +9 -0
- package/lib/plone.js +4 -2
- package/lib/vinylcache.d.ts +128 -0
- package/lib/vinylcache.js +132 -0
- package/package.json +2 -1
package/.jsii
CHANGED
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
},
|
|
109
109
|
"name": "@bluedynamics/cdk8s-plone",
|
|
110
110
|
"readme": {
|
|
111
|
-
"markdown": "# CDK8S Plone\n\n> TypeScript and Python library for deploying Plone CMS to Kubernetes using CDK8S\n\n[](https://www.npmjs.com/package/@bluedynamics/cdk8s-plone)\n[](https://pypi.org/project/cdk8s-plone/)\n[](LICENSE)\n\n## Overview\n\ncdk8s-plone provides CDK8S constructs for deploying [Plone CMS](https://plone.org/) on Kubernetes. Define your infrastructure using TypeScript or Python and generate Kubernetes manifests automatically.\n\n**Key Features:**\n- 🚀 Supports Volto (modern React frontend) and Classic UI\n- 📦 High availability with configurable replicas\n- ⚡ Optional Varnish HTTP caching
|
|
111
|
+
"markdown": "# CDK8S Plone\n\n> TypeScript and Python library for deploying Plone CMS to Kubernetes using CDK8S\n\n[](https://www.npmjs.com/package/@bluedynamics/cdk8s-plone)\n[](https://pypi.org/project/cdk8s-plone/)\n[](LICENSE)\n\n## Overview\n\ncdk8s-plone provides CDK8S constructs for deploying [Plone CMS](https://plone.org/) on Kubernetes. Define your infrastructure using TypeScript or Python and generate Kubernetes manifests automatically.\n\n**Key Features:**\n- 🚀 Supports Volto (modern React frontend) and Classic UI\n- 📦 High availability with configurable replicas\n- ⚡ Optional Varnish HTTP caching via kube-httpcache (`PloneHttpcache`) or cloud-vinyl VinylCache operator (`PloneVinylCache`)\n- 🔧 Fine-grained resource and probe configuration\n- 🌍 Multi-language support (TypeScript/JavaScript and Python)\n- ✅ Type-safe infrastructure as code\n\n## Quick Start\n\n### Installation\n\n**TypeScript/JavaScript:**\n```bash\nnpm install @bluedynamics/cdk8s-plone\n```\n\n**Python:**\n```bash\npip install cdk8s-plone\n```\n\n### Basic Example\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.1.3',\n replicas: 3,\n },\n frontend: {\n image: 'plone/plone-frontend:16.0.0',\n replicas: 2,\n },\n});\n\napp.synth();\n```\n\nGenerate Kubernetes manifests:\n```bash\ncdk8s synth\nkubectl apply -f dist/\n```\n\n## Documentation\n\n**📚 Full documentation:** https://bluedynamics.github.io/cdk8s-plone/\n\n- [Quick Start Tutorial](https://bluedynamics.github.io/cdk8s-plone/tutorials/01-quick-start.html)\n- [Configuration Reference](https://bluedynamics.github.io/cdk8s-plone/reference/configuration-options.html)\n- [Architecture Overview](https://bluedynamics.github.io/cdk8s-plone/explanation/architecture.html)\n- [Complete API Documentation](./API.md)\n\n## Examples\n\nComplete working examples are available in the [`examples/`](examples/) directory:\n\n- **[Production Volto](examples/production-volto/)** - Production-ready Plone 6 deployment with modern UI:\n - Volto frontend (React) + REST API backend\n - PostgreSQL with RelStorage (CloudNativePG or Bitnami)\n - Varnish HTTP caching with kube-httpcache\n - Ingress support (Traefik/Kong) with TLS\n\n- **[Classic UI](examples/classic-ui/)** - Traditional Plone deployment with server-side rendering:\n - Classic UI (traditional Plone interface)\n - PostgreSQL with RelStorage (CloudNativePG or Bitnami)\n - Varnish HTTP caching with kube-httpcache\n - Ingress support (Traefik/Kong) with TLS\n - Simpler architecture (no separate frontend)\n\n### Prometheus Metrics\n\nEnable Prometheus ServiceMonitor for metrics collection (requires Prometheus Operator):\n\n```typescript\nnew Plone(chart, 'my-plone', {\n backend: {\n servicemonitor: true,\n metricsPath: '/metrics', // optional, defaults to '/metrics'\n },\n frontend: {\n servicemonitor: true,\n metricsPort: 9090, // optional, defaults to service port\n },\n});\n```\n\n**Note:** You must instrument your Plone backend/frontend to expose metrics at the configured endpoint. For Volto/Node.js frontends, consider using [prom-client](https://www.npmjs.com/package/prom-client) or [express-prometheus-middleware](https://www.npmjs.com/package/express-prometheus-middleware).\n\n## Requirements\n- **kubectl** - [Install kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)\n- **Node.js 16+** (for TypeScript/JavaScript) - [Install Node.js](https://nodejs.org/)\n- **Python 3.8+** (for Python) - [Install Python](https://www.python.org/)\n- **Kubernetes cluster** (local or cloud)\n\nFor detailed setup instructions, see [Setup Prerequisites](https://bluedynamics.github.io/cdk8s-plone/how-to/setup-prerequisites.html).\n\n## Development\n\nThis project uses [Projen](https://projen.io/) for project management.\n\n```bash\n# Install dependencies\nnpm install\n\n# Run tests\nnpm test\n\n# Build\nnpm run build\n\n# Update project configuration\n# Edit .projenrc.ts, then run:\nnpx projen\n```\n\nFor detailed development instructions, see [CONTRIBUTING.md](./CONTRIBUTING.md) (if available).\n\n## Resources\n\n- [CDK8S Documentation](https://cdk8s.io/)\n- [Plone CMS](https://plone.org/)\n- [kube-httpcache](https://github.com/mittwald/kube-httpcache) (for HTTP caching)\n- [CloudNativePG](https://cloudnative-pg.io/) (for PostgreSQL management)\n\n## License\n\n[Apache 2.0](LICENSE)\n\n## Maintainers\n\nMaintained by [Blue Dynamics Alliance](https://github.com/bluedynamics)\n\n**Author:** Jens W. Klein (jk@kleinundpartner.at)\n"
|
|
112
112
|
},
|
|
113
113
|
"repository": {
|
|
114
114
|
"type": "git",
|
|
@@ -279,7 +279,7 @@
|
|
|
279
279
|
},
|
|
280
280
|
"locationInModule": {
|
|
281
281
|
"filename": "src/plone.ts",
|
|
282
|
-
"line":
|
|
282
|
+
"line": 324
|
|
283
283
|
},
|
|
284
284
|
"parameters": [
|
|
285
285
|
{
|
|
@@ -306,7 +306,7 @@
|
|
|
306
306
|
"kind": "class",
|
|
307
307
|
"locationInModule": {
|
|
308
308
|
"filename": "src/plone.ts",
|
|
309
|
-
"line":
|
|
309
|
+
"line": 301
|
|
310
310
|
},
|
|
311
311
|
"name": "Plone",
|
|
312
312
|
"properties": [
|
|
@@ -319,7 +319,7 @@
|
|
|
319
319
|
"immutable": true,
|
|
320
320
|
"locationInModule": {
|
|
321
321
|
"filename": "src/plone.ts",
|
|
322
|
-
"line":
|
|
322
|
+
"line": 306
|
|
323
323
|
},
|
|
324
324
|
"name": "backendServiceName",
|
|
325
325
|
"type": {
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"immutable": true,
|
|
335
335
|
"locationInModule": {
|
|
336
336
|
"filename": "src/plone.ts",
|
|
337
|
-
"line":
|
|
337
|
+
"line": 322
|
|
338
338
|
},
|
|
339
339
|
"name": "siteId",
|
|
340
340
|
"type": {
|
|
@@ -349,7 +349,7 @@
|
|
|
349
349
|
"immutable": true,
|
|
350
350
|
"locationInModule": {
|
|
351
351
|
"filename": "src/plone.ts",
|
|
352
|
-
"line":
|
|
352
|
+
"line": 317
|
|
353
353
|
},
|
|
354
354
|
"name": "variant",
|
|
355
355
|
"type": {
|
|
@@ -365,7 +365,7 @@
|
|
|
365
365
|
"immutable": true,
|
|
366
366
|
"locationInModule": {
|
|
367
367
|
"filename": "src/plone.ts",
|
|
368
|
-
"line":
|
|
368
|
+
"line": 312
|
|
369
369
|
},
|
|
370
370
|
"name": "frontendServiceName",
|
|
371
371
|
"optional": true,
|
|
@@ -722,6 +722,31 @@
|
|
|
722
722
|
}
|
|
723
723
|
}
|
|
724
724
|
},
|
|
725
|
+
{
|
|
726
|
+
"abstract": true,
|
|
727
|
+
"docs": {
|
|
728
|
+
"default": "- no node selector",
|
|
729
|
+
"example": "{ 'topology.kubernetes.io/region': 'fsn1' }",
|
|
730
|
+
"remarks": "Use to constrain pods to nodes with matching labels, e.g. for region affinity.",
|
|
731
|
+
"stability": "stable",
|
|
732
|
+
"summary": "Node selector labels for pod scheduling."
|
|
733
|
+
},
|
|
734
|
+
"immutable": true,
|
|
735
|
+
"locationInModule": {
|
|
736
|
+
"filename": "src/plone.ts",
|
|
737
|
+
"line": 212
|
|
738
|
+
},
|
|
739
|
+
"name": "nodeSelector",
|
|
740
|
+
"optional": true,
|
|
741
|
+
"type": {
|
|
742
|
+
"collection": {
|
|
743
|
+
"elementtype": {
|
|
744
|
+
"primitive": "string"
|
|
745
|
+
},
|
|
746
|
+
"kind": "map"
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
},
|
|
725
750
|
{
|
|
726
751
|
"abstract": true,
|
|
727
752
|
"docs": {
|
|
@@ -1341,7 +1366,7 @@
|
|
|
1341
1366
|
"kind": "interface",
|
|
1342
1367
|
"locationInModule": {
|
|
1343
1368
|
"filename": "src/plone.ts",
|
|
1344
|
-
"line":
|
|
1369
|
+
"line": 234
|
|
1345
1370
|
},
|
|
1346
1371
|
"name": "PloneOptions",
|
|
1347
1372
|
"properties": [
|
|
@@ -1355,7 +1380,7 @@
|
|
|
1355
1380
|
"immutable": true,
|
|
1356
1381
|
"locationInModule": {
|
|
1357
1382
|
"filename": "src/plone.ts",
|
|
1358
|
-
"line":
|
|
1383
|
+
"line": 259
|
|
1359
1384
|
},
|
|
1360
1385
|
"name": "backend",
|
|
1361
1386
|
"optional": true,
|
|
@@ -1374,7 +1399,7 @@
|
|
|
1374
1399
|
"immutable": true,
|
|
1375
1400
|
"locationInModule": {
|
|
1376
1401
|
"filename": "src/plone.ts",
|
|
1377
|
-
"line":
|
|
1402
|
+
"line": 266
|
|
1378
1403
|
},
|
|
1379
1404
|
"name": "frontend",
|
|
1380
1405
|
"optional": true,
|
|
@@ -1394,7 +1419,7 @@
|
|
|
1394
1419
|
"immutable": true,
|
|
1395
1420
|
"locationInModule": {
|
|
1396
1421
|
"filename": "src/plone.ts",
|
|
1397
|
-
"line":
|
|
1422
|
+
"line": 274
|
|
1398
1423
|
},
|
|
1399
1424
|
"name": "imagePullSecrets",
|
|
1400
1425
|
"optional": true,
|
|
@@ -1418,7 +1443,7 @@
|
|
|
1418
1443
|
"immutable": true,
|
|
1419
1444
|
"locationInModule": {
|
|
1420
1445
|
"filename": "src/plone.ts",
|
|
1421
|
-
"line":
|
|
1446
|
+
"line": 247
|
|
1422
1447
|
},
|
|
1423
1448
|
"name": "siteId",
|
|
1424
1449
|
"optional": true,
|
|
@@ -1436,7 +1461,7 @@
|
|
|
1436
1461
|
"immutable": true,
|
|
1437
1462
|
"locationInModule": {
|
|
1438
1463
|
"filename": "src/plone.ts",
|
|
1439
|
-
"line":
|
|
1464
|
+
"line": 253
|
|
1440
1465
|
},
|
|
1441
1466
|
"name": "variant",
|
|
1442
1467
|
"optional": true,
|
|
@@ -1455,7 +1480,7 @@
|
|
|
1455
1480
|
"immutable": true,
|
|
1456
1481
|
"locationInModule": {
|
|
1457
1482
|
"filename": "src/plone.ts",
|
|
1458
|
-
"line":
|
|
1483
|
+
"line": 240
|
|
1459
1484
|
},
|
|
1460
1485
|
"name": "version",
|
|
1461
1486
|
"optional": true,
|
|
@@ -1476,7 +1501,7 @@
|
|
|
1476
1501
|
"kind": "enum",
|
|
1477
1502
|
"locationInModule": {
|
|
1478
1503
|
"filename": "src/plone.ts",
|
|
1479
|
-
"line":
|
|
1504
|
+
"line": 217
|
|
1480
1505
|
},
|
|
1481
1506
|
"members": [
|
|
1482
1507
|
{
|
|
@@ -1498,8 +1523,420 @@
|
|
|
1498
1523
|
],
|
|
1499
1524
|
"name": "PloneVariant",
|
|
1500
1525
|
"symbolId": "src/plone:PloneVariant"
|
|
1526
|
+
},
|
|
1527
|
+
"@bluedynamics/cdk8s-plone.PloneVinylCache": {
|
|
1528
|
+
"assembly": "@bluedynamics/cdk8s-plone",
|
|
1529
|
+
"base": "constructs.Construct",
|
|
1530
|
+
"docs": {
|
|
1531
|
+
"example": "const plone = new Plone(chart, 'plone');\nconst cache = new PloneVinylCache(chart, 'cache', {\n plone: plone,\n replicas: 2,\n});\n// Use cache.vinylCacheServiceName for IngressRoute",
|
|
1532
|
+
"remarks": "Creates a VinylCache custom resource with Plone backend/frontend services\nauto-configured as backends. The cloud-vinyl operator manages the full\nVarnish lifecycle including VCL generation, agent delivery, and monitoring.\n\nRequires the cloud-vinyl operator to be installed in the cluster.",
|
|
1533
|
+
"stability": "stable",
|
|
1534
|
+
"summary": "PloneVinylCache construct for deploying Varnish Cache via cloud-vinyl operator."
|
|
1535
|
+
},
|
|
1536
|
+
"fqn": "@bluedynamics/cdk8s-plone.PloneVinylCache",
|
|
1537
|
+
"initializer": {
|
|
1538
|
+
"docs": {
|
|
1539
|
+
"stability": "stable"
|
|
1540
|
+
},
|
|
1541
|
+
"locationInModule": {
|
|
1542
|
+
"filename": "src/vinylcache.ts",
|
|
1543
|
+
"line": 155
|
|
1544
|
+
},
|
|
1545
|
+
"parameters": [
|
|
1546
|
+
{
|
|
1547
|
+
"name": "scope",
|
|
1548
|
+
"type": {
|
|
1549
|
+
"fqn": "constructs.Construct"
|
|
1550
|
+
}
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
"name": "id",
|
|
1554
|
+
"type": {
|
|
1555
|
+
"primitive": "string"
|
|
1556
|
+
}
|
|
1557
|
+
},
|
|
1558
|
+
{
|
|
1559
|
+
"name": "options",
|
|
1560
|
+
"type": {
|
|
1561
|
+
"fqn": "@bluedynamics/cdk8s-plone.PloneVinylCacheOptions"
|
|
1562
|
+
}
|
|
1563
|
+
}
|
|
1564
|
+
]
|
|
1565
|
+
},
|
|
1566
|
+
"kind": "class",
|
|
1567
|
+
"locationInModule": {
|
|
1568
|
+
"filename": "src/vinylcache.ts",
|
|
1569
|
+
"line": 148
|
|
1570
|
+
},
|
|
1571
|
+
"name": "PloneVinylCache",
|
|
1572
|
+
"properties": [
|
|
1573
|
+
{
|
|
1574
|
+
"docs": {
|
|
1575
|
+
"remarks": "Use this to reference the cache service from ingress or other constructs.",
|
|
1576
|
+
"stability": "stable",
|
|
1577
|
+
"summary": "Name of the VinylCache service created by the operator."
|
|
1578
|
+
},
|
|
1579
|
+
"immutable": true,
|
|
1580
|
+
"locationInModule": {
|
|
1581
|
+
"filename": "src/vinylcache.ts",
|
|
1582
|
+
"line": 153
|
|
1583
|
+
},
|
|
1584
|
+
"name": "vinylCacheServiceName",
|
|
1585
|
+
"type": {
|
|
1586
|
+
"primitive": "string"
|
|
1587
|
+
}
|
|
1588
|
+
}
|
|
1589
|
+
],
|
|
1590
|
+
"symbolId": "src/vinylcache:PloneVinylCache"
|
|
1591
|
+
},
|
|
1592
|
+
"@bluedynamics/cdk8s-plone.PloneVinylCacheOptions": {
|
|
1593
|
+
"assembly": "@bluedynamics/cdk8s-plone",
|
|
1594
|
+
"datatype": true,
|
|
1595
|
+
"docs": {
|
|
1596
|
+
"remarks": "Creates a VinylCache custom resource that the cloud-vinyl operator\nreconciles into a Varnish Cache cluster with agent-based VCL delivery.\n\nRequires the cloud-vinyl operator to be installed in the cluster.",
|
|
1597
|
+
"stability": "stable",
|
|
1598
|
+
"summary": "Configuration options for PloneVinylCache (cloud-vinyl operator)."
|
|
1599
|
+
},
|
|
1600
|
+
"fqn": "@bluedynamics/cdk8s-plone.PloneVinylCacheOptions",
|
|
1601
|
+
"kind": "interface",
|
|
1602
|
+
"locationInModule": {
|
|
1603
|
+
"filename": "src/vinylcache.ts",
|
|
1604
|
+
"line": 49
|
|
1605
|
+
},
|
|
1606
|
+
"name": "PloneVinylCacheOptions",
|
|
1607
|
+
"properties": [
|
|
1608
|
+
{
|
|
1609
|
+
"abstract": true,
|
|
1610
|
+
"docs": {
|
|
1611
|
+
"remarks": "Backends are auto-configured from the Plone services.",
|
|
1612
|
+
"stability": "stable",
|
|
1613
|
+
"summary": "The Plone construct to attach the cache to."
|
|
1614
|
+
},
|
|
1615
|
+
"immutable": true,
|
|
1616
|
+
"locationInModule": {
|
|
1617
|
+
"filename": "src/vinylcache.ts",
|
|
1618
|
+
"line": 54
|
|
1619
|
+
},
|
|
1620
|
+
"name": "plone",
|
|
1621
|
+
"type": {
|
|
1622
|
+
"fqn": "@bluedynamics/cdk8s-plone.Plone"
|
|
1623
|
+
}
|
|
1624
|
+
},
|
|
1625
|
+
{
|
|
1626
|
+
"abstract": true,
|
|
1627
|
+
"docs": {
|
|
1628
|
+
"default": "'shard'",
|
|
1629
|
+
"stability": "stable",
|
|
1630
|
+
"summary": "Director type for load distribution."
|
|
1631
|
+
},
|
|
1632
|
+
"immutable": true,
|
|
1633
|
+
"locationInModule": {
|
|
1634
|
+
"filename": "src/vinylcache.ts",
|
|
1635
|
+
"line": 90
|
|
1636
|
+
},
|
|
1637
|
+
"name": "director",
|
|
1638
|
+
"optional": true,
|
|
1639
|
+
"type": {
|
|
1640
|
+
"primitive": "string"
|
|
1641
|
+
}
|
|
1642
|
+
},
|
|
1643
|
+
{
|
|
1644
|
+
"abstract": true,
|
|
1645
|
+
"docs": {
|
|
1646
|
+
"default": "'varnish:7.6'",
|
|
1647
|
+
"stability": "stable",
|
|
1648
|
+
"summary": "Container image for the Varnish pods."
|
|
1649
|
+
},
|
|
1650
|
+
"immutable": true,
|
|
1651
|
+
"locationInModule": {
|
|
1652
|
+
"filename": "src/vinylcache.ts",
|
|
1653
|
+
"line": 122
|
|
1654
|
+
},
|
|
1655
|
+
"name": "image",
|
|
1656
|
+
"optional": true,
|
|
1657
|
+
"type": {
|
|
1658
|
+
"primitive": "string"
|
|
1659
|
+
}
|
|
1660
|
+
},
|
|
1661
|
+
{
|
|
1662
|
+
"abstract": true,
|
|
1663
|
+
"docs": {
|
|
1664
|
+
"default": "true",
|
|
1665
|
+
"stability": "stable",
|
|
1666
|
+
"summary": "Enable cache invalidation (PURGE, BAN, xkey)."
|
|
1667
|
+
},
|
|
1668
|
+
"immutable": true,
|
|
1669
|
+
"locationInModule": {
|
|
1670
|
+
"filename": "src/vinylcache.ts",
|
|
1671
|
+
"line": 110
|
|
1672
|
+
},
|
|
1673
|
+
"name": "invalidation",
|
|
1674
|
+
"optional": true,
|
|
1675
|
+
"type": {
|
|
1676
|
+
"primitive": "boolean"
|
|
1677
|
+
}
|
|
1678
|
+
},
|
|
1679
|
+
{
|
|
1680
|
+
"abstract": true,
|
|
1681
|
+
"docs": {
|
|
1682
|
+
"default": "'500m'",
|
|
1683
|
+
"stability": "stable",
|
|
1684
|
+
"summary": "CPU limit for Varnish pods."
|
|
1685
|
+
},
|
|
1686
|
+
"immutable": true,
|
|
1687
|
+
"locationInModule": {
|
|
1688
|
+
"filename": "src/vinylcache.ts",
|
|
1689
|
+
"line": 78
|
|
1690
|
+
},
|
|
1691
|
+
"name": "limitCpu",
|
|
1692
|
+
"optional": true,
|
|
1693
|
+
"type": {
|
|
1694
|
+
"primitive": "string"
|
|
1695
|
+
}
|
|
1696
|
+
},
|
|
1697
|
+
{
|
|
1698
|
+
"abstract": true,
|
|
1699
|
+
"docs": {
|
|
1700
|
+
"default": "'512Mi'",
|
|
1701
|
+
"stability": "stable",
|
|
1702
|
+
"summary": "Memory limit for Varnish pods."
|
|
1703
|
+
},
|
|
1704
|
+
"immutable": true,
|
|
1705
|
+
"locationInModule": {
|
|
1706
|
+
"filename": "src/vinylcache.ts",
|
|
1707
|
+
"line": 84
|
|
1708
|
+
},
|
|
1709
|
+
"name": "limitMemory",
|
|
1710
|
+
"optional": true,
|
|
1711
|
+
"type": {
|
|
1712
|
+
"primitive": "string"
|
|
1713
|
+
}
|
|
1714
|
+
},
|
|
1715
|
+
{
|
|
1716
|
+
"abstract": true,
|
|
1717
|
+
"docs": {
|
|
1718
|
+
"default": "false",
|
|
1719
|
+
"stability": "stable",
|
|
1720
|
+
"summary": "Enable Prometheus monitoring (metrics + ServiceMonitor)."
|
|
1721
|
+
},
|
|
1722
|
+
"immutable": true,
|
|
1723
|
+
"locationInModule": {
|
|
1724
|
+
"filename": "src/vinylcache.ts",
|
|
1725
|
+
"line": 116
|
|
1726
|
+
},
|
|
1727
|
+
"name": "monitoring",
|
|
1728
|
+
"optional": true,
|
|
1729
|
+
"type": {
|
|
1730
|
+
"primitive": "boolean"
|
|
1731
|
+
}
|
|
1732
|
+
},
|
|
1733
|
+
{
|
|
1734
|
+
"abstract": true,
|
|
1735
|
+
"docs": {
|
|
1736
|
+
"default": "2",
|
|
1737
|
+
"stability": "stable",
|
|
1738
|
+
"summary": "Number of Varnish pod replicas."
|
|
1739
|
+
},
|
|
1740
|
+
"immutable": true,
|
|
1741
|
+
"locationInModule": {
|
|
1742
|
+
"filename": "src/vinylcache.ts",
|
|
1743
|
+
"line": 60
|
|
1744
|
+
},
|
|
1745
|
+
"name": "replicas",
|
|
1746
|
+
"optional": true,
|
|
1747
|
+
"type": {
|
|
1748
|
+
"primitive": "number"
|
|
1749
|
+
}
|
|
1750
|
+
},
|
|
1751
|
+
{
|
|
1752
|
+
"abstract": true,
|
|
1753
|
+
"docs": {
|
|
1754
|
+
"default": "'100m'",
|
|
1755
|
+
"stability": "stable",
|
|
1756
|
+
"summary": "CPU request for Varnish pods."
|
|
1757
|
+
},
|
|
1758
|
+
"immutable": true,
|
|
1759
|
+
"locationInModule": {
|
|
1760
|
+
"filename": "src/vinylcache.ts",
|
|
1761
|
+
"line": 66
|
|
1762
|
+
},
|
|
1763
|
+
"name": "requestCpu",
|
|
1764
|
+
"optional": true,
|
|
1765
|
+
"type": {
|
|
1766
|
+
"primitive": "string"
|
|
1767
|
+
}
|
|
1768
|
+
},
|
|
1769
|
+
{
|
|
1770
|
+
"abstract": true,
|
|
1771
|
+
"docs": {
|
|
1772
|
+
"default": "'256Mi'",
|
|
1773
|
+
"stability": "stable",
|
|
1774
|
+
"summary": "Memory request for Varnish pods."
|
|
1775
|
+
},
|
|
1776
|
+
"immutable": true,
|
|
1777
|
+
"locationInModule": {
|
|
1778
|
+
"filename": "src/vinylcache.ts",
|
|
1779
|
+
"line": 72
|
|
1780
|
+
},
|
|
1781
|
+
"name": "requestMemory",
|
|
1782
|
+
"optional": true,
|
|
1783
|
+
"type": {
|
|
1784
|
+
"primitive": "string"
|
|
1785
|
+
}
|
|
1786
|
+
},
|
|
1787
|
+
{
|
|
1788
|
+
"abstract": true,
|
|
1789
|
+
"docs": {
|
|
1790
|
+
"default": "- no tolerations",
|
|
1791
|
+
"stability": "stable",
|
|
1792
|
+
"summary": "Tolerations for the Varnish pods."
|
|
1793
|
+
},
|
|
1794
|
+
"immutable": true,
|
|
1795
|
+
"locationInModule": {
|
|
1796
|
+
"filename": "src/vinylcache.ts",
|
|
1797
|
+
"line": 128
|
|
1798
|
+
},
|
|
1799
|
+
"name": "tolerations",
|
|
1800
|
+
"optional": true,
|
|
1801
|
+
"type": {
|
|
1802
|
+
"collection": {
|
|
1803
|
+
"elementtype": {
|
|
1804
|
+
"fqn": "@bluedynamics/cdk8s-plone.VinylCacheToleration"
|
|
1805
|
+
},
|
|
1806
|
+
"kind": "array"
|
|
1807
|
+
}
|
|
1808
|
+
}
|
|
1809
|
+
},
|
|
1810
|
+
{
|
|
1811
|
+
"abstract": true,
|
|
1812
|
+
"docs": {
|
|
1813
|
+
"default": "- uses built-in plone-vinyl-backend-response.vcl",
|
|
1814
|
+
"remarks": "Replaces the default Plone backend_response snippet.",
|
|
1815
|
+
"stability": "stable",
|
|
1816
|
+
"summary": "Custom VCL snippet for vcl_backend_response subroutine."
|
|
1817
|
+
},
|
|
1818
|
+
"immutable": true,
|
|
1819
|
+
"locationInModule": {
|
|
1820
|
+
"filename": "src/vinylcache.ts",
|
|
1821
|
+
"line": 104
|
|
1822
|
+
},
|
|
1823
|
+
"name": "vclBackendResponseSnippet",
|
|
1824
|
+
"optional": true,
|
|
1825
|
+
"type": {
|
|
1826
|
+
"primitive": "string"
|
|
1827
|
+
}
|
|
1828
|
+
},
|
|
1829
|
+
{
|
|
1830
|
+
"abstract": true,
|
|
1831
|
+
"docs": {
|
|
1832
|
+
"default": "- uses built-in plone-vinyl-recv.vcl",
|
|
1833
|
+
"remarks": "Replaces the default Plone recv snippet.",
|
|
1834
|
+
"stability": "stable",
|
|
1835
|
+
"summary": "Custom VCL snippet for vcl_recv subroutine."
|
|
1836
|
+
},
|
|
1837
|
+
"immutable": true,
|
|
1838
|
+
"locationInModule": {
|
|
1839
|
+
"filename": "src/vinylcache.ts",
|
|
1840
|
+
"line": 97
|
|
1841
|
+
},
|
|
1842
|
+
"name": "vclRecvSnippet",
|
|
1843
|
+
"optional": true,
|
|
1844
|
+
"type": {
|
|
1845
|
+
"primitive": "string"
|
|
1846
|
+
}
|
|
1847
|
+
}
|
|
1848
|
+
],
|
|
1849
|
+
"symbolId": "src/vinylcache:PloneVinylCacheOptions"
|
|
1850
|
+
},
|
|
1851
|
+
"@bluedynamics/cdk8s-plone.VinylCacheToleration": {
|
|
1852
|
+
"assembly": "@bluedynamics/cdk8s-plone",
|
|
1853
|
+
"datatype": true,
|
|
1854
|
+
"docs": {
|
|
1855
|
+
"stability": "stable",
|
|
1856
|
+
"summary": "A Kubernetes toleration for the Varnish pods."
|
|
1857
|
+
},
|
|
1858
|
+
"fqn": "@bluedynamics/cdk8s-plone.VinylCacheToleration",
|
|
1859
|
+
"kind": "interface",
|
|
1860
|
+
"locationInModule": {
|
|
1861
|
+
"filename": "src/vinylcache.ts",
|
|
1862
|
+
"line": 16
|
|
1863
|
+
},
|
|
1864
|
+
"name": "VinylCacheToleration",
|
|
1865
|
+
"properties": [
|
|
1866
|
+
{
|
|
1867
|
+
"abstract": true,
|
|
1868
|
+
"docs": {
|
|
1869
|
+
"stability": "stable",
|
|
1870
|
+
"summary": "The taint key to tolerate."
|
|
1871
|
+
},
|
|
1872
|
+
"immutable": true,
|
|
1873
|
+
"locationInModule": {
|
|
1874
|
+
"filename": "src/vinylcache.ts",
|
|
1875
|
+
"line": 20
|
|
1876
|
+
},
|
|
1877
|
+
"name": "key",
|
|
1878
|
+
"type": {
|
|
1879
|
+
"primitive": "string"
|
|
1880
|
+
}
|
|
1881
|
+
},
|
|
1882
|
+
{
|
|
1883
|
+
"abstract": true,
|
|
1884
|
+
"docs": {
|
|
1885
|
+
"default": "- tolerate all effects",
|
|
1886
|
+
"stability": "stable",
|
|
1887
|
+
"summary": "The taint effect to tolerate (NoSchedule, PreferNoSchedule, NoExecute)."
|
|
1888
|
+
},
|
|
1889
|
+
"immutable": true,
|
|
1890
|
+
"locationInModule": {
|
|
1891
|
+
"filename": "src/vinylcache.ts",
|
|
1892
|
+
"line": 38
|
|
1893
|
+
},
|
|
1894
|
+
"name": "effect",
|
|
1895
|
+
"optional": true,
|
|
1896
|
+
"type": {
|
|
1897
|
+
"primitive": "string"
|
|
1898
|
+
}
|
|
1899
|
+
},
|
|
1900
|
+
{
|
|
1901
|
+
"abstract": true,
|
|
1902
|
+
"docs": {
|
|
1903
|
+
"default": "'Equal'",
|
|
1904
|
+
"stability": "stable",
|
|
1905
|
+
"summary": "The operator (Equal or Exists)."
|
|
1906
|
+
},
|
|
1907
|
+
"immutable": true,
|
|
1908
|
+
"locationInModule": {
|
|
1909
|
+
"filename": "src/vinylcache.ts",
|
|
1910
|
+
"line": 26
|
|
1911
|
+
},
|
|
1912
|
+
"name": "operator",
|
|
1913
|
+
"optional": true,
|
|
1914
|
+
"type": {
|
|
1915
|
+
"primitive": "string"
|
|
1916
|
+
}
|
|
1917
|
+
},
|
|
1918
|
+
{
|
|
1919
|
+
"abstract": true,
|
|
1920
|
+
"docs": {
|
|
1921
|
+
"default": "- no value",
|
|
1922
|
+
"stability": "stable",
|
|
1923
|
+
"summary": "The taint value to match (when operator is Equal)."
|
|
1924
|
+
},
|
|
1925
|
+
"immutable": true,
|
|
1926
|
+
"locationInModule": {
|
|
1927
|
+
"filename": "src/vinylcache.ts",
|
|
1928
|
+
"line": 32
|
|
1929
|
+
},
|
|
1930
|
+
"name": "value",
|
|
1931
|
+
"optional": true,
|
|
1932
|
+
"type": {
|
|
1933
|
+
"primitive": "string"
|
|
1934
|
+
}
|
|
1935
|
+
}
|
|
1936
|
+
],
|
|
1937
|
+
"symbolId": "src/vinylcache:VinylCacheToleration"
|
|
1501
1938
|
}
|
|
1502
1939
|
},
|
|
1503
|
-
"version": "0.1.
|
|
1504
|
-
"fingerprint": "
|
|
1940
|
+
"version": "0.1.25",
|
|
1941
|
+
"fingerprint": "Uzoxn5mBShzMv9UhB94ZeqRknaTOb9TNjpMQ7NrEqcs="
|
|
1505
1942
|
}
|