@jttc/projen-project-types 1.0.0-beta.5 → 1.0.0-beta.6

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/README.md CHANGED
@@ -24,6 +24,9 @@ npx projen new --from @jttc/projen-project-types cdk-app
24
24
 
25
25
  # Create a CDK8s construct library with Kubernetes support
26
26
  npx projen new --from @jttc/projen-project-types cdk8s-library
27
+
28
+ # Create a CDK8s application with Kubernetes support
29
+ npx projen new --from @jttc/projen-project-types cdk8s-app
27
30
  ```
28
31
 
29
32
  ## 📦 Available Project Types
@@ -33,6 +36,7 @@ npx projen new --from @jttc/projen-project-types cdk8s-library
33
36
  | **[CDK Library](https://jumptothecloud.github.io/projen-project-types/project-types/cdk-library/)** | AWS CDK construct libraries | Creating reusable AWS infrastructure components |
34
37
  | **[CDK App](https://jumptothecloud.github.io/projen-project-types/project-types/cdk-app/)** | AWS CDK applications | Building and deploying AWS infrastructure |
35
38
  | **[CDK8s Library](https://jumptothecloud.github.io/projen-project-types/project-types/cdk8s-library/)** | CDK8s libraries with Kubernetes | Creating reusable Kubernetes constructs |
39
+ | **[CDK8s App](https://jumptothecloud.github.io/projen-project-types/project-types/cdk8s-app/)** | CDK8s applications with Kubernetes | Building and deploying Kubernetes applications |
36
40
 
37
41
  ## 🧩 Available Components
38
42
 
package/docs/index.md CHANGED
@@ -38,6 +38,7 @@ Choose from our available project types and components:
38
38
  | **[CDK Library](project-types/cdk-library.md)** | AWS CDK construct libraries | Creating reusable CDK constructs | `npx projen new --from @jttc/projen-project-types cdk-library` |
39
39
  | **[CDK App](project-types/cdk-app.md)** | AWS CDK applications | Building deployable AWS infrastructure | `npx projen new --from @jttc/projen-project-types cdk-app` |
40
40
  | **[CDK8s Library](project-types/cdk8s-library.md)** | CDK8s construct libraries with Kubernetes support | Creating reusable Kubernetes constructs | `npx projen new --from @jttc/projen-project-types cdk8s-library` |
41
+ | **[CDK8s App](project-types/cdk8s-app.md)** | CDK8s applications with Kubernetes support | Building deployable Kubernetes applications | `npx projen new --from @jttc/projen-project-types cdk8s-app` |
41
42
 
42
43
  ### 🧩 Components
43
44
 
@@ -0,0 +1,353 @@
1
+ # CDK8s App Project
2
+
3
+ The CDK8s App Project type provides an opinionated setup for creating CDK8s applications with Kubernetes manifest generation, combining best practices and common configurations.
4
+
5
+ ## Overview
6
+
7
+ This project type extends the standard `TypeScriptProject` from projen with additional CDK8s features:
8
+
9
+ - **CDK8s integration** for Kubernetes manifest generation
10
+ - **Multi-version Kubernetes support** (v1.29 to v1.33)
11
+ - **Prettier configuration** and **VSCode settings** - see [Default Configurations](../default-configurations.md)
12
+ - **Common project structure** and tooling setup
13
+ - **Configurable CDK8s options** for custom workflows
14
+ - **Application-focused setup** for deploying Kubernetes applications
15
+
16
+ ## Quick Start
17
+
18
+ To create a new CDK8s App project, use the projen CLI:
19
+
20
+ ```bash linenums="1"
21
+ npx projen new --from @jttc/projen-project-types cdk8s-app
22
+ ```
23
+
24
+ This command will create a new project with the CDK8s App template and prompt you for the required configuration options such as:
25
+
26
+ - Project name
27
+ - Author information
28
+ - Repository URL
29
+ - Default branch
30
+ - Kubernetes version
31
+
32
+ After the project is created, you can customize it further by editing the `.projenrc.ts` file:
33
+
34
+ ```typescript linenums="1" title=".projenrc.ts" hl_lines="4 8 12 13 14 15"
35
+ import { Cdk8App } from '@jttc/projen-project-types';
36
+ import { K8sVersion } from '@jttc/projen-project-types';
37
+
38
+ const project = new Cdk8App({
39
+ name: 'my-awesome-cdk8s-app',
40
+ author: 'Your Name',
41
+ authorAddress: 'your.email@example.com',
42
+ repositoryUrl: 'https://github.com/yourusername/my-awesome-cdk8s-app.git',
43
+ defaultReleaseBranch: 'main',
44
+
45
+ // CDK8s specific configuration
46
+ k8sVersion: K8sVersion.V1_31,
47
+ appPath: 'src/k8s',
48
+ appFile: 'main.ts',
49
+ outputPath: 'dist/manifests',
50
+ imports: ['k8s@1.31.0/api/core/v1/configmap', 'k8s@1.31.0/api/apps/v1/deployment'],
51
+ });
52
+
53
+ project.synth();
54
+ ```
55
+
56
+ **Highlighted lines explanation:**
57
+
58
+ - **Line 4**: Choose a descriptive name for your CDK8s application
59
+ - **Line 8**: Set the repository URL for your project
60
+ - **Line 12**: Set the Kubernetes version for CDK8s imports
61
+ - **Line 13**: Configure custom path for Kubernetes source code
62
+ - **Line 14**: Set the main application file name
63
+ - **Line 15**: Set output directory for generated manifests
64
+ - **Line 16**: Add specific Kubernetes resource imports
65
+
66
+ ## Features
67
+
68
+ ### CDK8s Integration
69
+
70
+ The CDK8s App project includes full CDK8s integration with:
71
+
72
+ - **Automatic CDK8s setup** with configurable Kubernetes versions
73
+ - **Import generation** from Kubernetes APIs and custom resources
74
+ - **TypeScript-first** Kubernetes manifest authoring
75
+ - **CDK8s tasks** for building and synthesizing manifests
76
+ - **Application structure** optimized for Kubernetes deployments
77
+
78
+ ### Kubernetes Version Support
79
+
80
+ Choose from multiple supported Kubernetes versions:
81
+
82
+ | Version | CDK8s Plus Package | Description |
83
+ |---------|-------------------|-------------|
84
+ | v1.29 | `cdk8s-plus-29` | Kubernetes v1.29 support |
85
+ | v1.30 | `cdk8s-plus-30` | Kubernetes v1.30 support |
86
+ | v1.31 | `cdk8s-plus-31` | Kubernetes v1.31 support (default) |
87
+ | v1.32 | `cdk8s-plus-32` | Kubernetes v1.32 support |
88
+ | v1.33 | `cdk8s-plus-33` | Kubernetes v1.33 support |
89
+
90
+ ### Common Configurations
91
+
92
+ This project type includes the same common configurations as other project types:
93
+
94
+ !!! info "Default Configurations"
95
+ For complete details about Prettier and VSCode configurations, see [Default Configurations](../default-configurations.md). This includes:
96
+
97
+ - [Prettier Configuration](../default-configurations.md#prettier-configuration) - Code formatting rules and customization
98
+ - [VSCode Configuration](../default-configurations.md#vscode-configuration) - Editor settings and recommended extensions
99
+
100
+ ### CDK8s App Structure
101
+
102
+ The CDK8s App project creates a complete application structure with:
103
+
104
+ - **Main application entry point** (`src/main.ts`)
105
+ - **CDK8s configuration** (`cdk8s.yaml`)
106
+ - **Kubernetes source directory** (configurable, default: `src/k8s`)
107
+ - **Output directory** for generated manifests (configurable, default: `kubernetes`)
108
+ - **Import generation setup** for Kubernetes APIs
109
+ - **Proper TypeScript setup** for CDK8s development
110
+
111
+ ## Configuration Options
112
+
113
+ ### Basic Configuration
114
+
115
+ All standard `TypeScriptProjectOptions` are supported, along with CDK8s-specific options:
116
+
117
+ ```typescript
118
+ interface Cdk8sAppOptions extends Cdk8sBaseOptions, TypeScriptProjectOptions {
119
+ // Standard TypeScript project options
120
+ name: string;
121
+ defaultReleaseBranch: string;
122
+
123
+ // CDK8s specific options
124
+ k8sVersion?: K8sVersion;
125
+ appPath?: string;
126
+ appFile?: string;
127
+ outputPath?: string;
128
+ imports?: string[];
129
+ }
130
+ ```
131
+
132
+ ### CDK8s Configuration
133
+
134
+ | Option | Type | Default | Description |
135
+ |--------|------|---------|-------------|
136
+ | `k8sVersion` | `K8sVersion` | `V1_31` | Kubernetes version for CDK8s imports |
137
+ | `appPath` | `string` | `"src/k8s"` | Path to CDK8s application source |
138
+ | `appFile` | `string` | `"main.ts"` | Main application file name |
139
+ | `outputPath` | `string` | `"kubernetes"` | Output directory for manifests |
140
+ | `imports` | `string[]` | `[]` | Additional Kubernetes imports |
141
+
142
+ ### Advanced Configuration
143
+
144
+ ```typescript title="Advanced .projenrc.ts"
145
+ import { Cdk8App } from '@jttc/projen-project-types';
146
+ import { K8sVersion } from '@jttc/projen-project-types';
147
+
148
+ const project = new Cdk8App({
149
+ name: 'advanced-cdk8s-app',
150
+ defaultReleaseBranch: 'main',
151
+
152
+ // CDK8s Configuration
153
+ k8sVersion: K8sVersion.V1_31,
154
+ appPath: 'src/kubernetes',
155
+ appFile: 'app.ts',
156
+ outputPath: 'manifests',
157
+
158
+ // Kubernetes API imports
159
+ imports: [
160
+ 'k8s@1.31.0/api/core/v1/pod',
161
+ 'k8s@1.31.0/api/core/v1/service',
162
+ 'k8s@1.31.0/api/apps/v1/deployment',
163
+ 'k8s@1.31.0/api/networking/v1/ingress',
164
+ ],
165
+
166
+ // TypeScript project options
167
+ prettier: true,
168
+ vscode: true,
169
+ packageName: '@myorg/k8s-app',
170
+ });
171
+
172
+ project.synth();
173
+ ```
174
+
175
+ ## Common Usage Patterns
176
+
177
+ ### Simple Web Application
178
+
179
+ ```typescript title="Basic web app deployment"
180
+ import { Cdk8App } from '@jttc/projen-project-types';
181
+ import { K8sVersion } from '@jttc/projen-project-types';
182
+
183
+ const project = new Cdk8App({
184
+ name: 'my-web-app',
185
+ defaultReleaseBranch: 'main',
186
+ k8sVersion: K8sVersion.V1_31,
187
+
188
+ imports: [
189
+ 'k8s@1.31.0/api/core/v1/service',
190
+ 'k8s@1.31.0/api/apps/v1/deployment',
191
+ 'k8s@1.31.0/api/networking/v1/ingress',
192
+ ],
193
+ });
194
+
195
+ project.synth();
196
+ ```
197
+
198
+ ### Microservices Application
199
+
200
+ ```typescript title="Multi-service deployment"
201
+ import { Cdk8App } from '@jttc/projen-project-types';
202
+ import { K8sVersion } from '@jttc/projen-project-types';
203
+
204
+ const project = new Cdk8App({
205
+ name: 'microservices-platform',
206
+ defaultReleaseBranch: 'main',
207
+ k8sVersion: K8sVersion.V1_31,
208
+ appPath: 'src/platform',
209
+ outputPath: 'dist/k8s',
210
+
211
+ imports: [
212
+ 'k8s@1.31.0/api/core/v1/configmap',
213
+ 'k8s@1.31.0/api/core/v1/secret',
214
+ 'k8s@1.31.0/api/core/v1/service',
215
+ 'k8s@1.31.0/api/apps/v1/deployment',
216
+ 'k8s@1.31.0/api/networking/v1/networkpolicy',
217
+ ],
218
+ });
219
+
220
+ project.synth();
221
+ ```
222
+
223
+ ### Custom Resources Integration
224
+
225
+ ```typescript title="With custom Kubernetes operators"
226
+ import { Cdk8App } from '@jttc/projen-project-types';
227
+ import { K8sVersion } from '@jttc/projen-project-types';
228
+
229
+ const project = new Cdk8App({
230
+ name: 'custom-resources-app',
231
+ defaultReleaseBranch: 'main',
232
+ k8sVersion: K8sVersion.V1_31,
233
+
234
+ imports: [
235
+ // Standard Kubernetes resources
236
+ 'k8s@1.31.0/api/core/v1',
237
+ 'k8s@1.31.0/api/apps/v1',
238
+ // Custom resources from operators
239
+ 'prometheus-operator@0.65.1',
240
+ 'istio@1.18.0',
241
+ ],
242
+ });
243
+
244
+ project.synth();
245
+ ```
246
+
247
+ ## Development Workflow
248
+
249
+ ### Generated Files
250
+
251
+ The CDK8s App project generates several important files:
252
+
253
+ - **`cdk8s.yaml`**: CDK8s configuration file
254
+ - **`src/k8s/main.ts`**: Main CDK8s application (configurable path)
255
+ - **`kubernetes/`**: Generated Kubernetes manifests (configurable path)
256
+ - **Import files**: Generated TypeScript bindings for Kubernetes APIs
257
+
258
+ ### Available Tasks
259
+
260
+ | Task | Command | Description |
261
+ |------|---------|-------------|
262
+ | Build | `npm run build` | Compile TypeScript and generate manifests |
263
+ | Import | `npm run cdk8s:import` | Generate TypeScript bindings for Kubernetes APIs |
264
+ | Synthesize | `npm run cdk8s:synth` | Generate Kubernetes manifests |
265
+ | Test | `npm run test` | Run unit tests |
266
+
267
+ ### Typical Development Flow
268
+
269
+ 1. **Initial setup**: Run `npm run cdk8s:import` to generate API bindings
270
+ 2. **Write CDK8s code**: Create your Kubernetes application in the configured app path
271
+ 3. **Build and test**: Run `npm run build` and `npm run test`
272
+ 4. **Generate manifests**: Run `npm run cdk8s:synth` to create Kubernetes YAML
273
+ 5. **Deploy**: Apply the generated manifests to your Kubernetes cluster
274
+
275
+ ## CDK8s Component Integration
276
+
277
+ The CDK8s App project uses the [CDK8s Component](../components/cdk8s.md) internally to provide:
278
+
279
+ - Kubernetes API import management
280
+ - CDK8s task configuration
281
+ - Proper dependency management
282
+ - Custom resource integration
283
+
284
+ For more details on the underlying CDK8s functionality, see the [CDK8s Component documentation](../components/cdk8s.md).
285
+
286
+ ## Example Application
287
+
288
+ Here's a simple example of what your `src/k8s/main.ts` might look like:
289
+
290
+ ```typescript title="src/k8s/main.ts"
291
+ import { App, Chart, ChartProps } from 'cdk8s';
292
+ import { Construct } from 'constructs';
293
+ import { Deployment, Service, IntOrString } from 'cdk8s-plus-31';
294
+
295
+ export class MyChart extends Chart {
296
+ constructor(scope: Construct, id: string, props: ChartProps = { }) {
297
+ super(scope, id, props);
298
+
299
+ // Create a deployment
300
+ const deployment = new Deployment(this, 'my-app', {
301
+ replicas: 3,
302
+ containers: [{
303
+ image: 'nginx:latest',
304
+ ports: [{ containerPort: 80 }],
305
+ }],
306
+ });
307
+
308
+ // Expose the deployment
309
+ new Service(this, 'my-service', {
310
+ selector: deployment,
311
+ ports: [{ port: 80, targetPort: IntOrString.fromNumber(80) }],
312
+ });
313
+ }
314
+ }
315
+
316
+ const app = new App();
317
+ new MyChart(app, 'my-chart');
318
+ app.synth();
319
+ ```
320
+
321
+ This example creates a simple nginx deployment with a service to expose it.
322
+
323
+ ## Best Practices
324
+
325
+ ### Project Structure
326
+
327
+ - Keep your CDK8s application code in the configured `appPath` directory
328
+ - Use meaningful names for your charts and constructs
329
+ - Organize complex applications into multiple chart files
330
+ - Leverage TypeScript interfaces for configuration
331
+
332
+ ### Configuration Management
333
+
334
+ - Use ConfigMaps and Secrets for application configuration
335
+ - Implement proper resource naming conventions
336
+ - Use labels and annotations for better resource management
337
+ - Consider using CDK8s constructs for common patterns
338
+
339
+ ### Testing
340
+
341
+ - Write unit tests for your CDK8s constructs
342
+ - Use snapshot testing for manifest verification
343
+ - Test different configuration scenarios
344
+ - Validate generated manifests against Kubernetes schemas
345
+
346
+ ### Deployment
347
+
348
+ - Review generated manifests before deploying
349
+ - Use proper namespacing strategies
350
+ - Implement resource quotas and limits
351
+ - Consider using GitOps workflows for deployment
352
+
353
+ For more advanced CDK8s usage patterns and examples, refer to the [official CDK8s documentation](https://cdk8s.io/).
@@ -23,5 +23,5 @@ class CdkApp extends awscdk_1.AwsCdkTypeScriptApp {
23
23
  }
24
24
  exports.CdkApp = CdkApp;
25
25
  _a = JSII_RTTI_SYMBOL_1;
26
- CdkApp[_a] = { fqn: "@jttc/projen-project-types.CdkApp", version: "1.0.0-beta.5" };
26
+ CdkApp[_a] = { fqn: "@jttc/projen-project-types.CdkApp", version: "1.0.0-beta.6" };
27
27
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWFwcC1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nkay9jZGstYXBwLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FHMkI7QUFDM0IsNkRBQStEO0FBRS9EOzs7O0dBSUc7QUFDSCxNQUFhLE1BQU8sU0FBUSw0QkFBbUI7SUFDN0MsWUFBWSxPQUFtQztRQUM3QyxNQUFNLElBQUksR0FBRyxvQ0FBbUIsQ0FBQyx5QkFBeUIsQ0FBQztZQUN6RCxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUM7WUFDSixHQUFHLElBQUk7U0FDUixDQUFDLENBQUM7UUFDSCxvQ0FBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs7QUFUSCx3QkFVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEF3c0Nka1R5cGVTY3JpcHRBcHAsXG4gIEF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zLFxufSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5pbXBvcnQgeyBDb21tb25PcHRpb25zQ29uZmlnIH0gZnJvbSAnLi4vY29tbW9uL2NvbW1vbi1vcHRpb25zJztcblxuLyoqXG4gKiBDREsgVHlwZVNjcmlwdCBBcHAgUHJvamVjdFxuICpcbiAqIEBwamlkIGNkay1hcHBcbiAqL1xuZXhwb3J0IGNsYXNzIENka0FwcCBleHRlbmRzIEF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBBd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucykge1xuICAgIGNvbnN0IG9wdHMgPSBDb21tb25PcHRpb25zQ29uZmlnLndpdGhDb21tb25PcHRpb25zRGVmYXVsdHMoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRzLFxuICAgIH0pO1xuICAgIENvbW1vbk9wdGlvbnNDb25maWcud2l0aENvbW1vbkNvbXBvbmVudHModGhpcywgb3B0cyk7XG4gIH1cbn1cbiJdfQ==
@@ -23,5 +23,5 @@ class CdkLibrary extends awscdk_1.AwsCdkConstructLibrary {
23
23
  }
24
24
  exports.CdkLibrary = CdkLibrary;
25
25
  _a = JSII_RTTI_SYMBOL_1;
26
- CdkLibrary[_a] = { fqn: "@jttc/projen-project-types.CdkLibrary", version: "1.0.0-beta.5" };
26
+ CdkLibrary[_a] = { fqn: "@jttc/projen-project-types.CdkLibrary", version: "1.0.0-beta.6" };
27
27
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWxpYnJhcnktcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGsvY2RrLWxpYnJhcnktcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhDQUcyQjtBQUMzQiw2REFBK0Q7QUFFL0Q7Ozs7R0FJRztBQUNILE1BQWEsVUFBVyxTQUFRLCtCQUFzQjtJQUNwRCxZQUFZLE9BQXNDO1FBQ2hELE1BQU0sSUFBSSxHQUFHLG9DQUFtQixDQUFDLHlCQUF5QixDQUFDO1lBQ3pELEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQztZQUNKLEdBQUcsSUFBSTtTQUNSLENBQUMsQ0FBQztRQUNILG9DQUFtQixDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDOztBQVRILGdDQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXdzQ2RrQ29uc3RydWN0TGlicmFyeSxcbiAgQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMsXG59IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IENvbW1vbk9wdGlvbnNDb25maWcgfSBmcm9tICcuLi9jb21tb24vY29tbW9uLW9wdGlvbnMnO1xuXG4vKipcbiAqIENESyBDb25zdHJ1Y3QgTGlicmFyeSBQcm9qZWN0XG4gKlxuICogQHBqaWQgY2RrLWxpYnJhcnlcbiAqL1xuZXhwb3J0IGNsYXNzIENka0xpYnJhcnkgZXh0ZW5kcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMpIHtcbiAgICBjb25zdCBvcHRzID0gQ29tbW9uT3B0aW9uc0NvbmZpZy53aXRoQ29tbW9uT3B0aW9uc0RlZmF1bHRzKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0cyxcbiAgICB9KTtcbiAgICBDb21tb25PcHRpb25zQ29uZmlnLndpdGhDb21tb25Db21wb25lbnRzKHRoaXMsIG9wdHMpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { TypeScriptProject } from 'projen/lib/typescript';
2
+ import { Cdk8sAppOptions, Cdk8sComponent } from '../components';
3
+ /**
4
+ * CDK8s Application Project
5
+ *
6
+ * @pjid cdk8s-app
7
+ */
8
+ export declare class Cdk8App extends TypeScriptProject {
9
+ readonly cdk8s: Cdk8sComponent;
10
+ constructor(options: Cdk8sAppOptions);
11
+ postSynthesize(): void;
12
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Cdk8App = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const child_process_1 = require("child_process");
7
+ const typescript_1 = require("projen/lib/typescript");
8
+ const common_options_1 = require("../common/common-options");
9
+ const components_1 = require("../components");
10
+ /**
11
+ * CDK8s Application Project
12
+ *
13
+ * @pjid cdk8s-app
14
+ */
15
+ class Cdk8App extends typescript_1.TypeScriptProject {
16
+ constructor(options) {
17
+ const opts = common_options_1.CommonOptionsConfig.withCommonOptionsDefaults({
18
+ ...options,
19
+ sampleCode: false,
20
+ eslintOptions: {
21
+ dirs: ['src', 'test', 'build-tools', 'projenrc', '.projenrc.ts'],
22
+ ignorePatterns: [
23
+ '*.js',
24
+ '*.d.ts',
25
+ 'node_modules/',
26
+ '*.generated.ts',
27
+ 'coverage',
28
+ '**/k8s.ts',
29
+ ],
30
+ },
31
+ });
32
+ super(opts);
33
+ // Add constructs dependency
34
+ this.addDeps('constructs@^10.4.2');
35
+ this.cdk8s = new components_1.Cdk8sComponent(this, 'cdk8s-component', options);
36
+ common_options_1.CommonOptionsConfig.withCommonComponents(this, opts);
37
+ }
38
+ postSynthesize() {
39
+ const cdk8sImportTask = this.tasks.tryFind('cdk8s:import');
40
+ if (cdk8sImportTask) {
41
+ (0, child_process_1.execSync)(this.runTaskCommand(cdk8sImportTask), {
42
+ cwd: this.outdir,
43
+ });
44
+ }
45
+ }
46
+ }
47
+ exports.Cdk8App = Cdk8App;
48
+ _a = JSII_RTTI_SYMBOL_1;
49
+ Cdk8App[_a] = { fqn: "@jttc/projen-project-types.Cdk8App", version: "1.0.0-beta.6" };
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtYXBwLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrL2NkazhzLWFwcC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQXlDO0FBQ3pDLHNEQUEwRDtBQUMxRCw2REFBK0Q7QUFDL0QsOENBQWdFO0FBRWhFOzs7O0dBSUc7QUFDSCxNQUFhLE9BQVEsU0FBUSw4QkFBaUI7SUFHNUMsWUFBWSxPQUF3QjtRQUNsQyxNQUFNLElBQUksR0FBRyxvQ0FBbUIsQ0FBQyx5QkFBeUIsQ0FBQztZQUN6RCxHQUFHLE9BQU87WUFDVixVQUFVLEVBQUUsS0FBSztZQUNqQixhQUFhLEVBQUU7Z0JBQ2IsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLGNBQWMsQ0FBQztnQkFDaEUsY0FBYyxFQUFFO29CQUNkLE1BQU07b0JBQ04sUUFBUTtvQkFDUixlQUFlO29CQUNmLGdCQUFnQjtvQkFDaEIsVUFBVTtvQkFDVixXQUFXO2lCQUNaO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFWiw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRW5DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSwyQkFBYyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVsRSxvQ0FBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzRCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUEsd0JBQVEsRUFBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUM3QyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDakIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7O0FBckNILDBCQXNDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgeyBUeXBlU2NyaXB0UHJvamVjdCB9IGZyb20gJ3Byb2plbi9saWIvdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBDb21tb25PcHRpb25zQ29uZmlnIH0gZnJvbSAnLi4vY29tbW9uL2NvbW1vbi1vcHRpb25zJztcbmltcG9ydCB7IENkazhzQXBwT3B0aW9ucywgQ2RrOHNDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzJztcblxuLyoqXG4gKiBDREs4cyBBcHBsaWNhdGlvbiBQcm9qZWN0XG4gKlxuICogQHBqaWQgY2RrOHMtYXBwXG4gKi9cbmV4cG9ydCBjbGFzcyBDZGs4QXBwIGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3Qge1xuICByZWFkb25seSBjZGs4czogQ2RrOHNDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQ2RrOHNBcHBPcHRpb25zKSB7XG4gICAgY29uc3Qgb3B0cyA9IENvbW1vbk9wdGlvbnNDb25maWcud2l0aENvbW1vbk9wdGlvbnNEZWZhdWx0cyh7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgc2FtcGxlQ29kZTogZmFsc2UsXG4gICAgICBlc2xpbnRPcHRpb25zOiB7XG4gICAgICAgIGRpcnM6IFsnc3JjJywgJ3Rlc3QnLCAnYnVpbGQtdG9vbHMnLCAncHJvamVucmMnLCAnLnByb2plbnJjLnRzJ10sXG4gICAgICAgIGlnbm9yZVBhdHRlcm5zOiBbXG4gICAgICAgICAgJyouanMnLFxuICAgICAgICAgICcqLmQudHMnLFxuICAgICAgICAgICdub2RlX21vZHVsZXMvJyxcbiAgICAgICAgICAnKi5nZW5lcmF0ZWQudHMnLFxuICAgICAgICAgICdjb3ZlcmFnZScsXG4gICAgICAgICAgJyoqL2s4cy50cycsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgc3VwZXIob3B0cyk7XG5cbiAgICAvLyBBZGQgY29uc3RydWN0cyBkZXBlbmRlbmN5XG4gICAgdGhpcy5hZGREZXBzKCdjb25zdHJ1Y3RzQF4xMC40LjInKTtcblxuICAgIHRoaXMuY2RrOHMgPSBuZXcgQ2RrOHNDb21wb25lbnQodGhpcywgJ2NkazhzLWNvbXBvbmVudCcsIG9wdGlvbnMpO1xuXG4gICAgQ29tbW9uT3B0aW9uc0NvbmZpZy53aXRoQ29tbW9uQ29tcG9uZW50cyh0aGlzLCBvcHRzKTtcbiAgfVxuXG4gIHBvc3RTeW50aGVzaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IGNkazhzSW1wb3J0VGFzayA9IHRoaXMudGFza3MudHJ5RmluZCgnY2RrOHM6aW1wb3J0Jyk7XG4gICAgaWYgKGNkazhzSW1wb3J0VGFzaykge1xuICAgICAgZXhlY1N5bmModGhpcy5ydW5UYXNrQ29tbWFuZChjZGs4c0ltcG9ydFRhc2spLCB7XG4gICAgICAgIGN3ZDogdGhpcy5vdXRkaXIsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -45,5 +45,5 @@ class Cdk8sLibrary extends awscdk_1.AwsCdkConstructLibrary {
45
45
  }
46
46
  exports.Cdk8sLibrary = Cdk8sLibrary;
47
47
  _a = JSII_RTTI_SYMBOL_1;
48
- Cdk8sLibrary[_a] = { fqn: "@jttc/projen-project-types.Cdk8sLibrary", version: "1.0.0-beta.5" };
48
+ Cdk8sLibrary[_a] = { fqn: "@jttc/projen-project-types.Cdk8sLibrary", version: "1.0.0-beta.6" };
49
49
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtbGlicmFyeS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nkay9jZGs4cy1saWJyYXJ5LXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBeUM7QUFDekMsOENBQTJEO0FBQzNELDZEQUErRDtBQUMvRCw4Q0FBb0U7QUFFcEU7Ozs7R0FJRztBQUNILE1BQWEsWUFBYSxTQUFRLCtCQUFzQjtJQUd0RCxZQUFZLE9BQTRCO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLG9DQUFtQixDQUFDLHlCQUF5QixDQUFDO1lBQ3pELEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGFBQWEsRUFBRTtnQkFDYixJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDO2dCQUNoRSxjQUFjLEVBQUU7b0JBQ2QsTUFBTTtvQkFDTixRQUFRO29CQUNSLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixVQUFVO29CQUNWLFdBQVc7aUJBQ1o7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVaLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSwyQkFBYyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFbkMsb0NBQW1CLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0QsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFBLHdCQUFRLEVBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsRUFBRTtnQkFDN0MsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQ2pCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQW5DSCxvQ0FvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHsgQXdzQ2RrQ29uc3RydWN0TGlicmFyeSB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IENvbW1vbk9wdGlvbnNDb25maWcgfSBmcm9tICcuLi9jb21tb24vY29tbW9uLW9wdGlvbnMnO1xuaW1wb3J0IHsgQ2RrOHNDb21wb25lbnQsIENkazhzTGlicmFyeU9wdGlvbnMgfSBmcm9tICcuLi9jb21wb25lbnRzJztcblxuLyoqXG4gKiBDREsgQ29uc3RydWN0IExpYnJhcnkgUHJvamVjdFxuICpcbiAqIEBwamlkIGNkazhzLWxpYnJhcnlcbiAqL1xuZXhwb3J0IGNsYXNzIENkazhzTGlicmFyeSBleHRlbmRzIEF3c0Nka0NvbnN0cnVjdExpYnJhcnkge1xuICByZWFkb25seSBjZGs4czogQ2RrOHNDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQ2RrOHNMaWJyYXJ5T3B0aW9ucykge1xuICAgIGNvbnN0IG9wdHMgPSBDb21tb25PcHRpb25zQ29uZmlnLndpdGhDb21tb25PcHRpb25zRGVmYXVsdHMoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNhbXBsZUNvZGU6IGZhbHNlLFxuICAgICAgZXNsaW50T3B0aW9uczoge1xuICAgICAgICBkaXJzOiBbJ3NyYycsICd0ZXN0JywgJ2J1aWxkLXRvb2xzJywgJ3Byb2plbnJjJywgJy5wcm9qZW5yYy50cyddLFxuICAgICAgICBpZ25vcmVQYXR0ZXJuczogW1xuICAgICAgICAgICcqLmpzJyxcbiAgICAgICAgICAnKi5kLnRzJyxcbiAgICAgICAgICAnbm9kZV9tb2R1bGVzLycsXG4gICAgICAgICAgJyouZ2VuZXJhdGVkLnRzJyxcbiAgICAgICAgICAnY292ZXJhZ2UnLFxuICAgICAgICAgICcqKi9rOHMudHMnLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHN1cGVyKG9wdHMpO1xuXG4gICAgdGhpcy5jZGs4cyA9IG5ldyBDZGs4c0NvbXBvbmVudCh0aGlzLCAnY2RrOHMtY29tcG9uZW50Jywgb3B0cyk7XG4gICAgdGhpcy5hZGREZXBzKCdjb25zdHJ1Y3RzQF4xMC40LjInKTtcblxuICAgIENvbW1vbk9wdGlvbnNDb25maWcud2l0aENvbW1vbkNvbXBvbmVudHModGhpcywgb3B0cyk7XG4gIH1cblxuICBwb3N0U3ludGhlc2l6ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjZGs4c0ltcG9ydFRhc2sgPSB0aGlzLnRhc2tzLnRyeUZpbmQoJ2NkazhzOmltcG9ydCcpO1xuICAgIGlmIChjZGs4c0ltcG9ydFRhc2spIHtcbiAgICAgIGV4ZWNTeW5jKHRoaXMucnVuVGFza0NvbW1hbmQoY2RrOHNJbXBvcnRUYXNrKSwge1xuICAgICAgICBjd2Q6IHRoaXMub3V0ZGlyLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './cdk-app-project';
2
+ export * from './cdk-library-project';
3
+ export * from './cdk8s-app-project';
4
+ export * from './cdk8s-library-project';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cdk-app-project"), exports);
18
+ __exportStar(require("./cdk-library-project"), exports);
19
+ __exportStar(require("./cdk8s-app-project"), exports);
20
+ __exportStar(require("./cdk8s-library-project"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBa0M7QUFDbEMsd0RBQXNDO0FBQ3RDLHNEQUFvQztBQUNwQywwREFBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Nkay1hcHAtcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2Nkay1saWJyYXJ5LXByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9jZGs4cy1hcHAtcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2NkazhzLWxpYnJhcnktcHJvamVjdCc7XG4iXX0=
@@ -79,9 +79,16 @@ class Cdk8sComponent extends projen_1.Component {
79
79
  imports: this.imports,
80
80
  },
81
81
  });
82
- new projen_1.SampleFile(project, `${this.appPath}/${this.appFile}`, {
83
- sourcePath: path.join(__dirname, 'main.ts.template'),
84
- });
82
+ if (pjid === 'cdk8s-library') {
83
+ new projen_1.SampleFile(project, `${this.appPath}/${this.appFile}`, {
84
+ sourcePath: path.join(__dirname, 'main-library.ts.template'),
85
+ });
86
+ }
87
+ else {
88
+ new projen_1.SampleFile(project, `${this.appPath}/${this.appFile}`, {
89
+ sourcePath: path.join(__dirname, 'main.ts.template'),
90
+ });
91
+ }
85
92
  if (pjid === 'cdk8s-library' || pjid === 'cdk8s-app') {
86
93
  new projen_1.SampleFile(project, 'test/main.test.ts', {
87
94
  sourcePath: path.join(__dirname, 'main.test.ts.template'),
@@ -97,5 +104,5 @@ class Cdk8sComponent extends projen_1.Component {
97
104
  }
98
105
  exports.Cdk8sComponent = Cdk8sComponent;
99
106
  _a = JSII_RTTI_SYMBOL_1;
100
- Cdk8sComponent[_a] = { fqn: "@jttc/projen-project-types.Cdk8sComponent", version: "1.0.0-beta.5" };
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jZGs4cy9jZGs4cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IsbUNBTWdCO0FBRWhCLDhDQUFrRTtBQUVsRSxNQUFhLGNBQWUsU0FBUSxrQkFBUztJQU8zQyxZQUFZLE9BQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ2hFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFQWixZQUFPLEdBQVcsS0FBSyxDQUFDO1FBQ3hCLFlBQU8sR0FBVyxTQUFTLENBQUM7UUFFNUIsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUNsQyxlQUFVLEdBQWUsa0JBQVUsQ0FBQyxLQUFLLENBQUM7UUFLakQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFMUMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksS0FBSyxD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QUMsQ0FBQztRQUNuRSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUEsd0JBQVEsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDOztBQXhHSCx3Q0F5R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRGVwZW5kZW5jeVR5cGUsXG4gIFByb2plY3QsXG4gIFNhbXBsZUZpbGUsXG4gIFlhbWxGaWxlLFxufSBmcm9tICdwcm9qZW4nO1xuXG5pbXBvcnQgeyBLOHNWZXJzaW9uLCBDZGs4c0Jhc2VPcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL0NkazhzJztcblxuZXhwb3J0IGNsYXNzIENkazhzQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgYXBwUGF0aDogc3RyaW5nID0gJ3NyYyc7XG4gIHJlYWRvbmx5IGFwcEZpbGU6IHN0cmluZyA9ICdtYWluLnRzJztcbiAgcmVhZG9ubHkgaW1wb3J0czogc3RyaW5nW107XG4gIHJlYWRvbmx5IG91dHB1dFBhdGg6IHN0cmluZyA9ICdrdWJlcm5ldGVzJztcbiAgcmVhZG9ubHkgazhzVmVyc2lvbjogSzhzVmVyc2lvbiA9IEs4c1ZlcnNpb24uVjFfMzA7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBDZGs4c0Jhc2VPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwgaWQpO1xuXG4gICAgaWYgKHByb3BzICYmIHByb3BzLms4c1ZlcnNpb24pIHtcbiAgICAgIHRoaXMuazhzVmVyc2lvbiA9IHByb3BzLms4c1ZlcnNpb247XG4gICAgfVxuXG4gICAgdGhpcy5pbXBvcnRzID0gW2BrOHNAJHt0aGlzLms4c1ZlcnNpb259YF07XG5cbiAgICBpZiAocHJvcHMgJiYgcHJvcHMuYXBwUGF0aCkge1xuICAgICAgdGhpcy5hcHBQYXRoID0gcHJvcHMuYXBwUGF0aDtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMgJiYgcHJvcHMuYXBwRmlsZSkge1xuICAgICAgdGhpcy5hcHBGaWxlID0gcHJvcHMuYXBwRmlsZTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMgJiYgcHJvcHMub3V0cHV0UGF0aCkge1xuICAgICAgdGhpcy5vdXRwdXRQYXRoID0gcHJvcHMub3V0cHV0UGF0aDtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMgJiYgcHJvcHMuaW1wb3J0cykge1xuICAgICAgcHJvcHMuaW1wb3J0cy5mb3JFYWNoKChpbXBvcnRQYXRoKSA9PiB7XG4gICAgICAgIHRoaXMuaW1wb3J0cy5wdXNoKGltcG9ydFBhdGgpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgY2RrOHNQbHVzVmVyc2lvbiA9IGBjZGs4cy1wbHVzLSR7dGhpcy5rOHNWZXJzaW9uLnNwbGl0KCcuJylbMV19YDtcblxuICAgIC8vIE5vdGU6IGNvbnN0cnVjdHMgZGVwZW5kZW5jeSBpcyBub3cgbWFuYWdlZCBieSB0aGUgQmFzZVByb2plY3QgZGVwZW5kZW5jeSBvdmVycmlkZSBzeXN0ZW1cbiAgICAvLyB0byBhdm9pZCBjb25mbGljdHMgYmV0d2VlbiBkaWZmZXJlbnQgcHJvamVjdCB0eXBlc1xuICAgIHByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KCdjZGs4cycsIERlcGVuZGVuY3lUeXBlLlJVTlRJTUUpO1xuICAgIHByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KCdjZGs4cy1jbGknLCBEZXBlbmRlbmN5VHlwZS5CVUlMRCk7XG4gICAgcHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koY2RrOHNQbHVzVmVyc2lvbiwgRGVwZW5kZW5jeVR5cGUuUlVOVElNRSk7XG5cbiAgICAvLyBHZXQgcGppZCBmcm9tIGluaXRQcm9qZWN0IChhdmFpbGFibGUgaW4gQ0xJIHVzYWdlIGFuZCBtb2NrZWQgaW4gdGVzdHMpXG4gICAgY29uc3QgcGppZCA9IHByb2plY3QuaW5pdFByb2plY3Q/LnR5cGUucGppZDtcblxuICAgIHByb2plY3QuYWRkVGFzaygnY2RrOHMnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0NESzhzIGNvbW1hbmQnLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGV4ZWM6ICdjZGs4cycsXG4gICAgICAgICAgc2F5OiAnY2RrIGZvciBrdWJlcm5ldGVzJyxcbiAgICAgICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBwcm9qZWN0LmFkZFRhc2soJ2NkazhzOmltcG9ydCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnSW1wb3J0IGNkazhzIGNoYXJ0cycsXG4gICAgICBzdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgZXhlYzogYGNkazhzIGltcG9ydCAtLW91dHB1dCAke3RoaXMuYXBwUGF0aH0vaW1wb3J0c2AsXG4gICAgICAgICAgc2F5OiAnSW1wb3J0aW5nIGt1YmVybmV0ZXMgZmlsZXMnLFxuICAgICAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGlmIChwamlkICE9PSAnY2RrOHMtbGlicmFyeScpIHtcbiAgICAgIHByb2plY3QuYWRkVGFzaygnY2RrOHM6c3ludGgnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU3ludGhlc2l6ZWQgY2RrOHMgY29uc3RydWN0cycsXG4gICAgICAgIHN0ZXBzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZXhlYzogYGNkazhzIHN5bnRoIC0tb3V0cHV0ICR7dGhpcy5vdXRwdXRQYXRofWAsXG4gICAgICAgICAgICBzYXk6ICdTeW50aGVzaXppbmcga3ViZXJuZXRlcyBmaWxlcycsXG4gICAgICAgICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmV3IFlhbWxGaWxlKHByb2plY3QsICdjZGs4cy55YW1sJywge1xuICAgICAgb2JqOiB7XG4gICAgICAgIGxhbmd1YWdlOiAndHlwZXNjcmlwdCcsXG4gICAgICAgIGFwcDogYG5weCB0cy1ub2RlICR7dGhpcy5hcHBQYXRofS8ke3RoaXMuYXBwRmlsZX1gLFxuICAgICAgICBpbXBvcnRzOiB0aGlzLmltcG9ydHMsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbmV3IFNhbXBsZUZpbGUocHJvamVjdCwgYCR7dGhpcy5hcHBQYXRofS8ke3RoaXMuYXBwRmlsZX1gLCB7XG4gICAgICBzb3VyY2VQYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnbWFpbi50cy50ZW1wbGF0ZScpLFxuICAgIH0pO1xuXG4gICAgaWYgKHBqaWQgPT09ICdjZGs4cy1saWJyYXJ5JyB8fCBwamlkID09PSAnY2RrOHMtYXBwJykge1xuICAgICAgbmV3IFNhbXBsZUZpbGUocHJvamVjdCwgJ3Rlc3QvbWFpbi50ZXN0LnRzJywge1xuICAgICAgICBzb3VyY2VQYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnbWFpbi50ZXN0LnRzLnRlbXBsYXRlJyksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwb3N0U3ludGhlc2l6ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjZGs4c0ltcG9ydFRhc2sgPSB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZCgnY2RrOHM6aW1wb3J0Jyk7XG4gICAgaWYgKGNkazhzSW1wb3J0VGFzaykge1xuICAgICAgZXhlY1N5bmModGhpcy5wcm9qZWN0LnJ1blRhc2tDb21tYW5kKGNkazhzSW1wb3J0VGFzaykpO1xuICAgIH1cbiAgfVxufVxuIl19
107
+ Cdk8sComponent[_a] = { fqn: "@jttc/projen-project-types.Cdk8sComponent", version: "1.0.0-beta.6" };
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jZGs4cy9jZGs4cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUF5QztBQUN6Qyw2QkFBNkI7QUFDN0IsbUNBTWdCO0FBRWhCLDhDQUFrRTtBQUVsRSxNQUFhLGNBQWUsU0FBUSxrQkFBUztJQU8zQyxZQUFZLE9BQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ2hFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFQWixZQUFPLEdBQVcsS0FBSyxDQUFDO1FBQ3hCLFlBQU8sR0FBVyxTQUFTLENBQUM7UUFFNUIsZUFBVSxHQUFXLFlBQVksQ0FBQztRQUNsQyxlQUFVLEdBQWUsa0JBQVUsQ0FBQyxLQUFLLENBQUM7UUFLakQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFMUMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksS0FBSyxD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RSxDQUFDO1lBQ3JELElBQUksbUJBQVUsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7Z0JBQzNDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQzthQUMxRCxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkUsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFBLHdCQUFRLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQzs7QUE3R0gsd0NBOEdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIERlcGVuZGVuY3lUeXBlLFxuICBQcm9qZWN0LFxuICBTYW1wbGVGaWxlLFxuICBZYW1sRmlsZSxcbn0gZnJvbSAncHJvamVuJztcblxuaW1wb3J0IHsgSzhzVmVyc2lvbiwgQ2RrOHNCYXNlT3B0aW9ucyB9IGZyb20gJy4vaW50ZXJmYWNlcy9DZGs4cyc7XG5cbmV4cG9ydCBjbGFzcyBDZGs4c0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGFwcFBhdGg6IHN0cmluZyA9ICdzcmMnO1xuICByZWFkb25seSBhcHBGaWxlOiBzdHJpbmcgPSAnbWFpbi50cyc7XG4gIHJlYWRvbmx5IGltcG9ydHM6IHN0cmluZ1tdO1xuICByZWFkb25seSBvdXRwdXRQYXRoOiBzdHJpbmcgPSAna3ViZXJuZXRlcyc7XG4gIHJlYWRvbmx5IGs4c1ZlcnNpb246IEs4c1ZlcnNpb24gPSBLOHNWZXJzaW9uLlYxXzMwO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIGlkOiBzdHJpbmcsIHByb3BzPzogQ2RrOHNCYXNlT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QsIGlkKTtcblxuICAgIGlmIChwcm9wcyAmJiBwcm9wcy5rOHNWZXJzaW9uKSB7XG4gICAgICB0aGlzLms4c1ZlcnNpb24gPSBwcm9wcy5rOHNWZXJzaW9uO1xuICAgIH1cblxuICAgIHRoaXMuaW1wb3J0cyA9IFtgazhzQCR7dGhpcy5rOHNWZXJzaW9ufWBdO1xuXG4gICAgaWYgKHByb3BzICYmIHByb3BzLmFwcFBhdGgpIHtcbiAgICAgIHRoaXMuYXBwUGF0aCA9IHByb3BzLmFwcFBhdGg7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzICYmIHByb3BzLmFwcEZpbGUpIHtcbiAgICAgIHRoaXMuYXBwRmlsZSA9IHByb3BzLmFwcEZpbGU7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzICYmIHByb3BzLm91dHB1dFBhdGgpIHtcbiAgICAgIHRoaXMub3V0cHV0UGF0aCA9IHByb3BzLm91dHB1dFBhdGg7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzICYmIHByb3BzLmltcG9ydHMpIHtcbiAgICAgIHByb3BzLmltcG9ydHMuZm9yRWFjaCgoaW1wb3J0UGF0aCkgPT4ge1xuICAgICAgICB0aGlzLmltcG9ydHMucHVzaChpbXBvcnRQYXRoKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGNkazhzUGx1c1ZlcnNpb24gPSBgY2RrOHMtcGx1cy0ke3RoaXMuazhzVmVyc2lvbi5zcGxpdCgnLicpWzFdfWA7XG5cbiAgICAvLyBOb3RlOiBjb25zdHJ1Y3RzIGRlcGVuZGVuY3kgaXMgbm93IG1hbmFnZWQgYnkgdGhlIEJhc2VQcm9qZWN0IGRlcGVuZGVuY3kgb3ZlcnJpZGUgc3lzdGVtXG4gICAgLy8gdG8gYXZvaWQgY29uZmxpY3RzIGJldHdlZW4gZGlmZmVyZW50IHByb2plY3QgdHlwZXNcbiAgICBwcm9qZWN0LmRlcHMuYWRkRGVwZW5kZW5jeSgnY2RrOHMnLCBEZXBlbmRlbmN5VHlwZS5SVU5USU1FKTtcbiAgICBwcm9qZWN0LmRlcHMuYWRkRGVwZW5kZW5jeSgnY2RrOHMtY2xpJywgRGVwZW5kZW5jeVR5cGUuQlVJTEQpO1xuICAgIHByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KGNkazhzUGx1c1ZlcnNpb24sIERlcGVuZGVuY3lUeXBlLlJVTlRJTUUpO1xuXG4gICAgLy8gR2V0IHBqaWQgZnJvbSBpbml0UHJvamVjdCAoYXZhaWxhYmxlIGluIENMSSB1c2FnZSBhbmQgbW9ja2VkIGluIHRlc3RzKVxuICAgIGNvbnN0IHBqaWQgPSBwcm9qZWN0LmluaXRQcm9qZWN0Py50eXBlLnBqaWQ7XG5cbiAgICBwcm9qZWN0LmFkZFRhc2soJ2NkazhzJywge1xuICAgICAgZGVzY3JpcHRpb246ICdDREs4cyBjb21tYW5kJyxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBleGVjOiAnY2RrOHMnLFxuICAgICAgICAgIHNheTogJ2NkayBmb3Iga3ViZXJuZXRlcycsXG4gICAgICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgcHJvamVjdC5hZGRUYXNrKCdjZGs4czppbXBvcnQnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0ltcG9ydCBjZGs4cyBjaGFydHMnLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGV4ZWM6IGBjZGs4cyBpbXBvcnQgLS1vdXRwdXQgJHt0aGlzLmFwcFBhdGh9L2ltcG9ydHNgLFxuICAgICAgICAgIHNheTogJ0ltcG9ydGluZyBrdWJlcm5ldGVzIGZpbGVzJyxcbiAgICAgICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBpZiAocGppZCAhPT0gJ2NkazhzLWxpYnJhcnknKSB7XG4gICAgICBwcm9qZWN0LmFkZFRhc2soJ2NkazhzOnN5bnRoJywge1xuICAgICAgICBkZXNjcmlwdGlvbjogJ1N5bnRoZXNpemVkIGNkazhzIGNvbnN0cnVjdHMnLFxuICAgICAgICBzdGVwczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGV4ZWM6IGBjZGs4cyBzeW50aCAtLW91dHB1dCAke3RoaXMub3V0cHV0UGF0aH1gLFxuICAgICAgICAgICAgc2F5OiAnU3ludGhlc2l6aW5nIGt1YmVybmV0ZXMgZmlsZXMnLFxuICAgICAgICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIG5ldyBZYW1sRmlsZShwcm9qZWN0LCAnY2RrOHMueWFtbCcsIHtcbiAgICAgIG9iajoge1xuICAgICAgICBsYW5ndWFnZTogJ3R5cGVzY3JpcHQnLFxuICAgICAgICBhcHA6IGBucHggdHMtbm9kZSAke3RoaXMuYXBwUGF0aH0vJHt0aGlzLmFwcEZpbGV9YCxcbiAgICAgICAgaW1wb3J0czogdGhpcy5pbXBvcnRzLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBpZiAocGppZCA9PT0gJ2NkazhzLWxpYnJhcnknKSB7XG4gICAgICBuZXcgU2FtcGxlRmlsZShwcm9qZWN0LCBgJHt0aGlzLmFwcFBhdGh9LyR7dGhpcy5hcHBGaWxlfWAsIHtcbiAgICAgICAgc291cmNlUGF0aDogcGF0aC5qb2luKF9fZGlybmFtZSwgJ21haW4tbGlicmFyeS50cy50ZW1wbGF0ZScpLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ldyBTYW1wbGVGaWxlKHByb2plY3QsIGAke3RoaXMuYXBwUGF0aH0vJHt0aGlzLmFwcEZpbGV9YCwge1xuICAgICAgICBzb3VyY2VQYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnbWFpbi50cy50ZW1wbGF0ZScpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHBqaWQgPT09ICdjZGs4cy1saWJyYXJ5JyB8fCBwamlkID09PSAnY2RrOHMtYXBwJykge1xuICAgICAgbmV3IFNhbXBsZUZpbGUocHJvamVjdCwgJ3Rlc3QvbWFpbi50ZXN0LnRzJywge1xuICAgICAgICBzb3VyY2VQYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnbWFpbi50ZXN0LnRzLnRlbXBsYXRlJyksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwb3N0U3ludGhlc2l6ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjZGs4c0ltcG9ydFRhc2sgPSB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZCgnY2RrOHM6aW1wb3J0Jyk7XG4gICAgaWYgKGNkazhzSW1wb3J0VGFzaykge1xuICAgICAgZXhlY1N5bmModGhpcy5wcm9qZWN0LnJ1blRhc2tDb21tYW5kKGNkazhzSW1wb3J0VGFzaykpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
- import { AwsCdkConstructLibraryOptions, AwsCdkTypeScriptAppOptions } from 'projen/lib/awscdk';
1
+ import { AwsCdkConstructLibraryOptions } from 'projen/lib/awscdk';
2
+ import { TypeScriptProjectOptions } from 'projen/lib/typescript';
2
3
  export declare enum K8sVersion {
3
4
  V1_29 = "1.29.0",
4
5
  V1_30 = "1.30.0",
@@ -35,5 +36,5 @@ export interface Cdk8sBaseOptions {
35
36
  }
36
37
  export interface Cdk8sLibraryOptions extends Cdk8sBaseOptions, AwsCdkConstructLibraryOptions {
37
38
  }
38
- export interface Cdk8sAppOptions extends Cdk8sBaseOptions, AwsCdkTypeScriptAppOptions {
39
+ export interface Cdk8sAppOptions extends Cdk8sBaseOptions, TypeScriptProjectOptions {
39
40
  }
@@ -9,4 +9,4 @@ var K8sVersion;
9
9
  K8sVersion["V1_32"] = "1.32.0";
10
10
  K8sVersion["V1_33"] = "1.33.0";
11
11
  })(K8sVersion || (exports.K8sVersion = K8sVersion = {}));
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrOHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jZGs4cy9pbnRlcmZhY2VzL0NkazhzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLElBQVksVUFNWDtBQU5ELFdBQVksVUFBVTtJQUNwQiw4QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBZ0IsQ0FBQTtBQUNsQixDQUFDLEVBTlcsVUFBVSwwQkFBVixVQUFVLFFBTXJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMsXG4gIEF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zLFxufSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5cbmV4cG9ydCBlbnVtIEs4c1ZlcnNpb24ge1xuICBWMV8yOSA9ICcxLjI5LjAnLFxuICBWMV8zMCA9ICcxLjMwLjAnLFxuICBWMV8zMSA9ICcxLjMxLjAnLFxuICBWMV8zMiA9ICcxLjMyLjAnLFxuICBWMV8zMyA9ICcxLjMzLjAnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENkazhzQmFzZU9wdGlvbnMge1xuICAvKipcbiAgICogcGF0aCBvZiBtYWluIGZpbGUgdG8gZXhlY3V0ZSB0aGUgdHlwZXNjcmlwdCB0cmFuc3BpbGF0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IFwic3JjL2s4c1wiXG4gICAqL1xuICByZWFkb25seSBhcHBQYXRoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgbWFpbiBmaWxlXG4gICAqIEBkZWZhdWx0IG1haW4udHNcbiAgICovXG4gIHJlYWRvbmx5IGFwcEZpbGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBMaXN0IG9mIGt1YmVybmV0ZXMgaW1wb3J0cyB0byBiZSBhZGRlZFxuICAgKi9cbiAgcmVhZG9ubHkgaW1wb3J0cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB3aGVyZSB0aGUgb3V0cHV0IHN5bnRoZXNpemVkIGZpbGUgd2lsbCBiZSBzYXZlZFxuICAgKiBAZGVmYXVsdCBcImt1YmVybmV0ZXNcIlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0UGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGt1YmVybmV0ZXMgdmVyc2lvbiB0byB1c2VcbiAgICogQGRlZmF1bHQgMS4zMVxuICAgKi9cbiAgcmVhZG9ubHkgazhzVmVyc2lvbj86IEs4c1ZlcnNpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrOHNMaWJyYXJ5T3B0aW9uc1xuICBleHRlbmRzIENkazhzQmFzZU9wdGlvbnMsIEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrOHNBcHBPcHRpb25zXG4gIGV4dGVuZHMgQ2RrOHNCYXNlT3B0aW9ucywgQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMge31cbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2RrOHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jZGs4cy9pbnRlcmZhY2VzL0NkazhzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLElBQVksVUFNWDtBQU5ELFdBQVksVUFBVTtJQUNwQiw4QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBZ0IsQ0FBQTtBQUNsQixDQUFDLEVBTlcsVUFBVSwwQkFBVixVQUFVLFFBTXJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgfSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5pbXBvcnQgeyBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMgfSBmcm9tICdwcm9qZW4vbGliL3R5cGVzY3JpcHQnO1xuXG5leHBvcnQgZW51bSBLOHNWZXJzaW9uIHtcbiAgVjFfMjkgPSAnMS4yOS4wJyxcbiAgVjFfMzAgPSAnMS4zMC4wJyxcbiAgVjFfMzEgPSAnMS4zMS4wJyxcbiAgVjFfMzIgPSAnMS4zMi4wJyxcbiAgVjFfMzMgPSAnMS4zMy4wJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZGs4c0Jhc2VPcHRpb25zIHtcbiAgLyoqXG4gICAqIHBhdGggb2YgbWFpbiBmaWxlIHRvIGV4ZWN1dGUgdGhlIHR5cGVzY3JpcHQgdHJhbnNwaWxhdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCBcInNyYy9rOHNcIlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG1haW4gZmlsZVxuICAgKiBAZGVmYXVsdCBtYWluLnRzXG4gICAqL1xuICByZWFkb25seSBhcHBGaWxlPzogc3RyaW5nO1xuICAvKipcbiAgICogTGlzdCBvZiBrdWJlcm5ldGVzIGltcG9ydHMgdG8gYmUgYWRkZWRcbiAgICovXG4gIHJlYWRvbmx5IGltcG9ydHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHBhdGggd2hlcmUgdGhlIG91dHB1dCBzeW50aGVzaXplZCBmaWxlIHdpbGwgYmUgc2F2ZWRcbiAgICogQGRlZmF1bHQgXCJrdWJlcm5ldGVzXCJcbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dFBhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBrdWJlcm5ldGVzIHZlcnNpb24gdG8gdXNlXG4gICAqIEBkZWZhdWx0IDEuMzFcbiAgICovXG4gIHJlYWRvbmx5IGs4c1ZlcnNpb24/OiBLOHNWZXJzaW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENkazhzTGlicmFyeU9wdGlvbnNcbiAgZXh0ZW5kcyBDZGs4c0Jhc2VPcHRpb25zLCBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIENkazhzQXBwT3B0aW9uc1xuICBleHRlbmRzIENkazhzQmFzZU9wdGlvbnMsIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyB7fVxuIl19
@@ -0,0 +1,35 @@
1
+ import { App, Chart, ChartProps, ApiObject } from 'cdk8s';
2
+ import { Construct } from 'constructs';
3
+
4
+ export class MyChart extends Chart {
5
+ constructor(scope: Construct, id: string, props: ChartProps = {}) {
6
+ super(scope, id, props);
7
+
8
+ const label = { app: 'hello-k8s' };
9
+
10
+ new ApiObject(this, 'deployment', {
11
+ apiVersion: 'v1',
12
+ kind: 'Pod',
13
+ metadata: {
14
+ namespace: 'frontend',
15
+ name: 'nginx',
16
+ labels: label,
17
+ },
18
+ spec: {
19
+ containers: [
20
+ {
21
+ name: 'nginx',
22
+ image: 'nginx:1.14-alpine',
23
+ resources: {
24
+ limits: {
25
+ memory: '20Mi',
26
+ cpu: 0.2,
27
+ },
28
+ },
29
+ },
30
+ ],
31
+ },
32
+ });
33
+ }
34
+ }
35
+
package/lib/index.d.ts CHANGED
@@ -1,4 +1,2 @@
1
- export * from './cdk/cdk-library-project';
2
- export * from './cdk/cdk-app-project';
3
- export * from './cdk/cdk8s-library-project';
1
+ export * from './cdk';
4
2
  export * from './components';