@bluedynamics/cdk8s-plone 0.1.22 → 0.1.24

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,7 +7,7 @@
7
7
  ]
8
8
  },
9
9
  "dependencies": {
10
- "cdk8s": "^2.70.52",
10
+ "cdk8s": "^2.70.54",
11
11
  "cdk8s-plus-30": "^2.4.10",
12
12
  "constructs": "^10.4.2"
13
13
  },
@@ -96,7 +96,7 @@
96
96
  "stability": "stable"
97
97
  },
98
98
  "homepage": "https://github.com/bluedynamics/cdk8s-plone.git",
99
- "jsiiVersion": "5.9.34 (build 8773a22)",
99
+ "jsiiVersion": "5.9.36 (build 27873df)",
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": "# CDK8S Plone\n\n> TypeScript and Python library for deploying Plone CMS to Kubernetes using CDK8S\n\n[![npm version](https://badge.fury.io/js/%40bluedynamics%2Fcdk8s-plone.svg)](https://www.npmjs.com/package/@bluedynamics/cdk8s-plone)\n[![PyPI version](https://badge.fury.io/py/cdk8s-plone.svg)](https://pypi.org/project/cdk8s-plone/)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](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 layer\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"
111
+ "markdown": "# CDK8S Plone\n\n> TypeScript and Python library for deploying Plone CMS to Kubernetes using CDK8S\n\n[![npm version](https://badge.fury.io/js/%40bluedynamics%2Fcdk8s-plone.svg)](https://www.npmjs.com/package/@bluedynamics/cdk8s-plone)\n[![PyPI version](https://badge.fury.io/py/cdk8s-plone.svg)](https://pypi.org/project/cdk8s-plone/)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](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",
@@ -1498,8 +1498,420 @@
1498
1498
  ],
1499
1499
  "name": "PloneVariant",
1500
1500
  "symbolId": "src/plone:PloneVariant"
1501
+ },
1502
+ "@bluedynamics/cdk8s-plone.PloneVinylCache": {
1503
+ "assembly": "@bluedynamics/cdk8s-plone",
1504
+ "base": "constructs.Construct",
1505
+ "docs": {
1506
+ "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",
1507
+ "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.",
1508
+ "stability": "stable",
1509
+ "summary": "PloneVinylCache construct for deploying Varnish Cache via cloud-vinyl operator."
1510
+ },
1511
+ "fqn": "@bluedynamics/cdk8s-plone.PloneVinylCache",
1512
+ "initializer": {
1513
+ "docs": {
1514
+ "stability": "stable"
1515
+ },
1516
+ "locationInModule": {
1517
+ "filename": "src/vinylcache.ts",
1518
+ "line": 155
1519
+ },
1520
+ "parameters": [
1521
+ {
1522
+ "name": "scope",
1523
+ "type": {
1524
+ "fqn": "constructs.Construct"
1525
+ }
1526
+ },
1527
+ {
1528
+ "name": "id",
1529
+ "type": {
1530
+ "primitive": "string"
1531
+ }
1532
+ },
1533
+ {
1534
+ "name": "options",
1535
+ "type": {
1536
+ "fqn": "@bluedynamics/cdk8s-plone.PloneVinylCacheOptions"
1537
+ }
1538
+ }
1539
+ ]
1540
+ },
1541
+ "kind": "class",
1542
+ "locationInModule": {
1543
+ "filename": "src/vinylcache.ts",
1544
+ "line": 148
1545
+ },
1546
+ "name": "PloneVinylCache",
1547
+ "properties": [
1548
+ {
1549
+ "docs": {
1550
+ "remarks": "Use this to reference the cache service from ingress or other constructs.",
1551
+ "stability": "stable",
1552
+ "summary": "Name of the VinylCache service created by the operator."
1553
+ },
1554
+ "immutable": true,
1555
+ "locationInModule": {
1556
+ "filename": "src/vinylcache.ts",
1557
+ "line": 153
1558
+ },
1559
+ "name": "vinylCacheServiceName",
1560
+ "type": {
1561
+ "primitive": "string"
1562
+ }
1563
+ }
1564
+ ],
1565
+ "symbolId": "src/vinylcache:PloneVinylCache"
1566
+ },
1567
+ "@bluedynamics/cdk8s-plone.PloneVinylCacheOptions": {
1568
+ "assembly": "@bluedynamics/cdk8s-plone",
1569
+ "datatype": true,
1570
+ "docs": {
1571
+ "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.",
1572
+ "stability": "stable",
1573
+ "summary": "Configuration options for PloneVinylCache (cloud-vinyl operator)."
1574
+ },
1575
+ "fqn": "@bluedynamics/cdk8s-plone.PloneVinylCacheOptions",
1576
+ "kind": "interface",
1577
+ "locationInModule": {
1578
+ "filename": "src/vinylcache.ts",
1579
+ "line": 49
1580
+ },
1581
+ "name": "PloneVinylCacheOptions",
1582
+ "properties": [
1583
+ {
1584
+ "abstract": true,
1585
+ "docs": {
1586
+ "remarks": "Backends are auto-configured from the Plone services.",
1587
+ "stability": "stable",
1588
+ "summary": "The Plone construct to attach the cache to."
1589
+ },
1590
+ "immutable": true,
1591
+ "locationInModule": {
1592
+ "filename": "src/vinylcache.ts",
1593
+ "line": 54
1594
+ },
1595
+ "name": "plone",
1596
+ "type": {
1597
+ "fqn": "@bluedynamics/cdk8s-plone.Plone"
1598
+ }
1599
+ },
1600
+ {
1601
+ "abstract": true,
1602
+ "docs": {
1603
+ "default": "'shard'",
1604
+ "stability": "stable",
1605
+ "summary": "Director type for load distribution."
1606
+ },
1607
+ "immutable": true,
1608
+ "locationInModule": {
1609
+ "filename": "src/vinylcache.ts",
1610
+ "line": 90
1611
+ },
1612
+ "name": "director",
1613
+ "optional": true,
1614
+ "type": {
1615
+ "primitive": "string"
1616
+ }
1617
+ },
1618
+ {
1619
+ "abstract": true,
1620
+ "docs": {
1621
+ "default": "'varnish:7.6'",
1622
+ "stability": "stable",
1623
+ "summary": "Container image for the Varnish pods."
1624
+ },
1625
+ "immutable": true,
1626
+ "locationInModule": {
1627
+ "filename": "src/vinylcache.ts",
1628
+ "line": 122
1629
+ },
1630
+ "name": "image",
1631
+ "optional": true,
1632
+ "type": {
1633
+ "primitive": "string"
1634
+ }
1635
+ },
1636
+ {
1637
+ "abstract": true,
1638
+ "docs": {
1639
+ "default": "true",
1640
+ "stability": "stable",
1641
+ "summary": "Enable cache invalidation (PURGE, BAN, xkey)."
1642
+ },
1643
+ "immutable": true,
1644
+ "locationInModule": {
1645
+ "filename": "src/vinylcache.ts",
1646
+ "line": 110
1647
+ },
1648
+ "name": "invalidation",
1649
+ "optional": true,
1650
+ "type": {
1651
+ "primitive": "boolean"
1652
+ }
1653
+ },
1654
+ {
1655
+ "abstract": true,
1656
+ "docs": {
1657
+ "default": "'500m'",
1658
+ "stability": "stable",
1659
+ "summary": "CPU limit for Varnish pods."
1660
+ },
1661
+ "immutable": true,
1662
+ "locationInModule": {
1663
+ "filename": "src/vinylcache.ts",
1664
+ "line": 78
1665
+ },
1666
+ "name": "limitCpu",
1667
+ "optional": true,
1668
+ "type": {
1669
+ "primitive": "string"
1670
+ }
1671
+ },
1672
+ {
1673
+ "abstract": true,
1674
+ "docs": {
1675
+ "default": "'512Mi'",
1676
+ "stability": "stable",
1677
+ "summary": "Memory limit for Varnish pods."
1678
+ },
1679
+ "immutable": true,
1680
+ "locationInModule": {
1681
+ "filename": "src/vinylcache.ts",
1682
+ "line": 84
1683
+ },
1684
+ "name": "limitMemory",
1685
+ "optional": true,
1686
+ "type": {
1687
+ "primitive": "string"
1688
+ }
1689
+ },
1690
+ {
1691
+ "abstract": true,
1692
+ "docs": {
1693
+ "default": "false",
1694
+ "stability": "stable",
1695
+ "summary": "Enable Prometheus monitoring (metrics + ServiceMonitor)."
1696
+ },
1697
+ "immutable": true,
1698
+ "locationInModule": {
1699
+ "filename": "src/vinylcache.ts",
1700
+ "line": 116
1701
+ },
1702
+ "name": "monitoring",
1703
+ "optional": true,
1704
+ "type": {
1705
+ "primitive": "boolean"
1706
+ }
1707
+ },
1708
+ {
1709
+ "abstract": true,
1710
+ "docs": {
1711
+ "default": "2",
1712
+ "stability": "stable",
1713
+ "summary": "Number of Varnish pod replicas."
1714
+ },
1715
+ "immutable": true,
1716
+ "locationInModule": {
1717
+ "filename": "src/vinylcache.ts",
1718
+ "line": 60
1719
+ },
1720
+ "name": "replicas",
1721
+ "optional": true,
1722
+ "type": {
1723
+ "primitive": "number"
1724
+ }
1725
+ },
1726
+ {
1727
+ "abstract": true,
1728
+ "docs": {
1729
+ "default": "'100m'",
1730
+ "stability": "stable",
1731
+ "summary": "CPU request for Varnish pods."
1732
+ },
1733
+ "immutable": true,
1734
+ "locationInModule": {
1735
+ "filename": "src/vinylcache.ts",
1736
+ "line": 66
1737
+ },
1738
+ "name": "requestCpu",
1739
+ "optional": true,
1740
+ "type": {
1741
+ "primitive": "string"
1742
+ }
1743
+ },
1744
+ {
1745
+ "abstract": true,
1746
+ "docs": {
1747
+ "default": "'256Mi'",
1748
+ "stability": "stable",
1749
+ "summary": "Memory request for Varnish pods."
1750
+ },
1751
+ "immutable": true,
1752
+ "locationInModule": {
1753
+ "filename": "src/vinylcache.ts",
1754
+ "line": 72
1755
+ },
1756
+ "name": "requestMemory",
1757
+ "optional": true,
1758
+ "type": {
1759
+ "primitive": "string"
1760
+ }
1761
+ },
1762
+ {
1763
+ "abstract": true,
1764
+ "docs": {
1765
+ "default": "- no tolerations",
1766
+ "stability": "stable",
1767
+ "summary": "Tolerations for the Varnish pods."
1768
+ },
1769
+ "immutable": true,
1770
+ "locationInModule": {
1771
+ "filename": "src/vinylcache.ts",
1772
+ "line": 128
1773
+ },
1774
+ "name": "tolerations",
1775
+ "optional": true,
1776
+ "type": {
1777
+ "collection": {
1778
+ "elementtype": {
1779
+ "fqn": "@bluedynamics/cdk8s-plone.VinylCacheToleration"
1780
+ },
1781
+ "kind": "array"
1782
+ }
1783
+ }
1784
+ },
1785
+ {
1786
+ "abstract": true,
1787
+ "docs": {
1788
+ "default": "- uses built-in plone-vinyl-backend-response.vcl",
1789
+ "remarks": "Replaces the default Plone backend_response snippet.",
1790
+ "stability": "stable",
1791
+ "summary": "Custom VCL snippet for vcl_backend_response subroutine."
1792
+ },
1793
+ "immutable": true,
1794
+ "locationInModule": {
1795
+ "filename": "src/vinylcache.ts",
1796
+ "line": 104
1797
+ },
1798
+ "name": "vclBackendResponseSnippet",
1799
+ "optional": true,
1800
+ "type": {
1801
+ "primitive": "string"
1802
+ }
1803
+ },
1804
+ {
1805
+ "abstract": true,
1806
+ "docs": {
1807
+ "default": "- uses built-in plone-vinyl-recv.vcl",
1808
+ "remarks": "Replaces the default Plone recv snippet.",
1809
+ "stability": "stable",
1810
+ "summary": "Custom VCL snippet for vcl_recv subroutine."
1811
+ },
1812
+ "immutable": true,
1813
+ "locationInModule": {
1814
+ "filename": "src/vinylcache.ts",
1815
+ "line": 97
1816
+ },
1817
+ "name": "vclRecvSnippet",
1818
+ "optional": true,
1819
+ "type": {
1820
+ "primitive": "string"
1821
+ }
1822
+ }
1823
+ ],
1824
+ "symbolId": "src/vinylcache:PloneVinylCacheOptions"
1825
+ },
1826
+ "@bluedynamics/cdk8s-plone.VinylCacheToleration": {
1827
+ "assembly": "@bluedynamics/cdk8s-plone",
1828
+ "datatype": true,
1829
+ "docs": {
1830
+ "stability": "stable",
1831
+ "summary": "A Kubernetes toleration for the Varnish pods."
1832
+ },
1833
+ "fqn": "@bluedynamics/cdk8s-plone.VinylCacheToleration",
1834
+ "kind": "interface",
1835
+ "locationInModule": {
1836
+ "filename": "src/vinylcache.ts",
1837
+ "line": 16
1838
+ },
1839
+ "name": "VinylCacheToleration",
1840
+ "properties": [
1841
+ {
1842
+ "abstract": true,
1843
+ "docs": {
1844
+ "stability": "stable",
1845
+ "summary": "The taint key to tolerate."
1846
+ },
1847
+ "immutable": true,
1848
+ "locationInModule": {
1849
+ "filename": "src/vinylcache.ts",
1850
+ "line": 20
1851
+ },
1852
+ "name": "key",
1853
+ "type": {
1854
+ "primitive": "string"
1855
+ }
1856
+ },
1857
+ {
1858
+ "abstract": true,
1859
+ "docs": {
1860
+ "default": "- tolerate all effects",
1861
+ "stability": "stable",
1862
+ "summary": "The taint effect to tolerate (NoSchedule, PreferNoSchedule, NoExecute)."
1863
+ },
1864
+ "immutable": true,
1865
+ "locationInModule": {
1866
+ "filename": "src/vinylcache.ts",
1867
+ "line": 38
1868
+ },
1869
+ "name": "effect",
1870
+ "optional": true,
1871
+ "type": {
1872
+ "primitive": "string"
1873
+ }
1874
+ },
1875
+ {
1876
+ "abstract": true,
1877
+ "docs": {
1878
+ "default": "'Equal'",
1879
+ "stability": "stable",
1880
+ "summary": "The operator (Equal or Exists)."
1881
+ },
1882
+ "immutable": true,
1883
+ "locationInModule": {
1884
+ "filename": "src/vinylcache.ts",
1885
+ "line": 26
1886
+ },
1887
+ "name": "operator",
1888
+ "optional": true,
1889
+ "type": {
1890
+ "primitive": "string"
1891
+ }
1892
+ },
1893
+ {
1894
+ "abstract": true,
1895
+ "docs": {
1896
+ "default": "- no value",
1897
+ "stability": "stable",
1898
+ "summary": "The taint value to match (when operator is Equal)."
1899
+ },
1900
+ "immutable": true,
1901
+ "locationInModule": {
1902
+ "filename": "src/vinylcache.ts",
1903
+ "line": 32
1904
+ },
1905
+ "name": "value",
1906
+ "optional": true,
1907
+ "type": {
1908
+ "primitive": "string"
1909
+ }
1910
+ }
1911
+ ],
1912
+ "symbolId": "src/vinylcache:VinylCacheToleration"
1501
1913
  }
1502
1914
  },
1503
- "version": "0.1.22",
1504
- "fingerprint": "MErr+3NOqQxwjiF62c8NEwWic9mEdSBxie66Wca7B38="
1915
+ "version": "0.1.24",
1916
+ "fingerprint": "WV/clfbQeNyN9Tq2EqLMkoN9eeJd5aGpgXE8qocssAg="
1505
1917
  }