@rio-cloud/cdk-v2-constructs 4.1.0 → 4.2.0

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
@@ -3068,7 +3068,7 @@
3068
3068
  "kind": "interface",
3069
3069
  "locationInModule": {
3070
3070
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
3071
- "line": 97
3071
+ "line": 100
3072
3072
  },
3073
3073
  "name": "AppStackProps",
3074
3074
  "properties": [
@@ -3080,7 +3080,7 @@
3080
3080
  "immutable": true,
3081
3081
  "locationInModule": {
3082
3082
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
3083
- "line": 98
3083
+ "line": 101
3084
3084
  },
3085
3085
  "name": "serviceName",
3086
3086
  "type": {
@@ -3095,7 +3095,7 @@
3095
3095
  "immutable": true,
3096
3096
  "locationInModule": {
3097
3097
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
3098
- "line": 99
3098
+ "line": 102
3099
3099
  },
3100
3100
  "name": "version",
3101
3101
  "type": {
@@ -3436,7 +3436,7 @@
3436
3436
  "kind": "interface",
3437
3437
  "locationInModule": {
3438
3438
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
3439
- "line": 138
3439
+ "line": 162
3440
3440
  },
3441
3441
  "name": "CodeBuildOptions",
3442
3442
  "properties": [
@@ -3448,7 +3448,7 @@
3448
3448
  "immutable": true,
3449
3449
  "locationInModule": {
3450
3450
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
3451
- "line": 140
3451
+ "line": 164
3452
3452
  },
3453
3453
  "name": "buildEnvironment",
3454
3454
  "optional": true,
@@ -3464,7 +3464,7 @@
3464
3464
  "immutable": true,
3465
3465
  "locationInModule": {
3466
3466
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
3467
- "line": 139
3467
+ "line": 163
3468
3468
  },
3469
3469
  "name": "partialBuildSpecPath",
3470
3470
  "optional": true,
@@ -4531,7 +4531,7 @@
4531
4531
  "@rio-cloud/cdk-v2-constructs.IAppStackFactory": {
4532
4532
  "assembly": "@rio-cloud/cdk-v2-constructs",
4533
4533
  "docs": {
4534
- "example": "// Use e.g. within ApplicationProps as JSONObject:\n{ create: (construct, props) => new Stack(construct, 'AppStack', props) }\n\n// or simply as class interface within your stack implementation:\nclass PipelineStage extends Stage implements IAppStackFactory {\n constructor(scope: Construct, id: string, props: StageProps) {\n super(scope, id, props);\n // your stage definitiom\n }\n\n create(scope: Construct, props: AppStackProps): void {\n // app stack initiation goes in here\n }\n}",
4534
+ "example": "// Use e.g. within ApplicationProps as JSONObject:\n{ create: (construct, props) => new Stack(construct, 'AppStack', props) }\n\n// or simply as class interface within your stack implementation:\nclass PipelineStage extends Stage implements IAppStackFactory {\n constructor(scope: Construct, id: string, props: StageProps) {\n super(scope, id, props);\n // your stage definition\n }\n\n create(scope: Construct, props: AppStackProps): void {\n // app stack initiation goes in here\n }\n}",
4535
4535
  "remarks": "Simply place the AppStack creation into the create-method:",
4536
4536
  "stability": "stable",
4537
4537
  "summary": "Provider interface to create the AppStack within the specific scope."
@@ -4540,7 +4540,7 @@
4540
4540
  "kind": "interface",
4541
4541
  "locationInModule": {
4542
4542
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
4543
- "line": 87
4543
+ "line": 90
4544
4544
  },
4545
4545
  "methods": [
4546
4546
  {
@@ -4551,7 +4551,7 @@
4551
4551
  },
4552
4552
  "locationInModule": {
4553
4553
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
4554
- "line": 94
4554
+ "line": 97
4555
4555
  },
4556
4556
  "name": "create",
4557
4557
  "parameters": [
@@ -5705,7 +5705,7 @@
5705
5705
  },
5706
5706
  "locationInModule": {
5707
5707
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5708
- "line": 153
5708
+ "line": 186
5709
5709
  },
5710
5710
  "parameters": [
5711
5711
  {
@@ -5731,7 +5731,7 @@
5731
5731
  "kind": "class",
5732
5732
  "locationInModule": {
5733
5733
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5734
- "line": 143
5734
+ "line": 167
5735
5735
  },
5736
5736
  "name": "PipelineStack",
5737
5737
  "symbolId": "src/contributions/team-transport-two/pipeline/pipeline-stack:PipelineStack"
@@ -5749,7 +5749,7 @@
5749
5749
  "kind": "interface",
5750
5750
  "locationInModule": {
5751
5751
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5752
- "line": 27
5752
+ "line": 30
5753
5753
  },
5754
5754
  "name": "PipelineStackProps",
5755
5755
  "properties": [
@@ -5763,7 +5763,7 @@
5763
5763
  "immutable": true,
5764
5764
  "locationInModule": {
5765
5765
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5766
- "line": 44
5766
+ "line": 47
5767
5767
  },
5768
5768
  "name": "appStackFactory",
5769
5769
  "type": {
@@ -5779,7 +5779,7 @@
5779
5779
  "immutable": true,
5780
5780
  "locationInModule": {
5781
5781
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5782
- "line": 49
5782
+ "line": 52
5783
5783
  },
5784
5784
  "name": "pipelineType",
5785
5785
  "type": {
@@ -5796,7 +5796,7 @@
5796
5796
  "immutable": true,
5797
5797
  "locationInModule": {
5798
5798
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5799
- "line": 37
5799
+ "line": 40
5800
5800
  },
5801
5801
  "name": "serviceName",
5802
5802
  "type": {
@@ -5812,7 +5812,7 @@
5812
5812
  "immutable": true,
5813
5813
  "locationInModule": {
5814
5814
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5815
- "line": 63
5815
+ "line": 66
5816
5816
  },
5817
5817
  "name": "codeBuildOptions",
5818
5818
  "optional": true,
@@ -5830,7 +5830,7 @@
5830
5830
  "immutable": true,
5831
5831
  "locationInModule": {
5832
5832
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5833
- "line": 58
5833
+ "line": 61
5834
5834
  },
5835
5835
  "name": "secretsDeployStepProps",
5836
5836
  "optional": true,
@@ -5853,7 +5853,7 @@
5853
5853
  "kind": "interface",
5854
5854
  "locationInModule": {
5855
5855
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5856
- "line": 108
5856
+ "line": 111
5857
5857
  },
5858
5858
  "name": "PipelineStackRioSecretsDeployStepProps",
5859
5859
  "properties": [
@@ -5865,7 +5865,7 @@
5865
5865
  "immutable": true,
5866
5866
  "locationInModule": {
5867
5867
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5868
- "line": 109
5868
+ "line": 112
5869
5869
  },
5870
5870
  "name": "secretsFilePath",
5871
5871
  "type": {
@@ -5884,7 +5884,7 @@
5884
5884
  "kind": "enum",
5885
5885
  "locationInModule": {
5886
5886
  "filename": "src/contributions/team-transport-two/pipeline/pipeline-stack.ts",
5887
- "line": 112
5887
+ "line": 115
5888
5888
  },
5889
5889
  "members": [
5890
5890
  {
@@ -5897,9 +5897,19 @@
5897
5897
  },
5898
5898
  {
5899
5899
  "docs": {
5900
- "stability": "stable"
5900
+ "remarks": "Comes with a pre-defined buildspec.yaml for a gradle project. This buildspec.yaml is used for both the main and\nbranch pipeline and includes the following steps\n- build and test of the artifact via command \"./gradlew clean build\".\n<p> This gradle command must be provided by the gradle project.\n- license-check and upload of license-check-file via command \"./gradlew checkLicenses\".\n<p> This gradle command must be provided by the gradle project.\n- create a self-signed certificate to make TLS communication possible, e.g. with a loadbalancer.\n- request a certificate to authenticate against Kafka via mutual TLS\n- build the container image via command \"./gradlew jibBuildTar\".\n<p> This gradle command must be provided by the gradle project.",
5901
+ "stability": "stable",
5902
+ "summary": "Self-mutating codepipeline deploying the provided AppStack with additional steps needed to access Kafka."
5901
5903
  },
5902
5904
  "name": "STANDARD_GRADLE_KAFKA"
5905
+ },
5906
+ {
5907
+ "docs": {
5908
+ "remarks": "Comes with a pre-defined buildspec.yaml to synthesize the AppStack.\nNo branch or vulnerability pipeline is created.",
5909
+ "stability": "stable",
5910
+ "summary": "Self-mutating codepipeline deploying the provided AppStack."
5911
+ },
5912
+ "name": "STANDARD_INFRASTRUCTURE"
5903
5913
  }
5904
5914
  ],
5905
5915
  "name": "PipelineType",
@@ -6483,6 +6493,118 @@
6483
6493
  ],
6484
6494
  "symbolId": "src/fargate/rio-fargate-service:RioFargateServiceProps"
6485
6495
  },
6496
+ "@rio-cloud/cdk-v2-constructs.RioKafkaEventSource": {
6497
+ "assembly": "@rio-cloud/cdk-v2-constructs",
6498
+ "docs": {
6499
+ "remarks": "```\n const lambda = new nodejs.NodejsFunction(this, 'KafkaConsumerFunction', {\n entry: 'path.to.handler.ts',\n handler: 'handlerName',\n });\n\n const secret = Secret.fromSecretNameV2(this, 'ConsumerSecret', 'kafka-integration/msk-certificate/<FQDN>')\n\n lambda.addEventSource(new RioKafkaEventSource({\n secret,\n topic: '<TOPIC/NAME>',\n startingPosition: StartingPosition.TRIM_HORIZON,\n }));\n```",
6500
+ "stability": "stable",
6501
+ "summary": "Use the Rio Kafka as a streaming source for AWS Lambda."
6502
+ },
6503
+ "fqn": "@rio-cloud/cdk-v2-constructs.RioKafkaEventSource",
6504
+ "initializer": {
6505
+ "docs": {
6506
+ "stability": "stable"
6507
+ },
6508
+ "locationInModule": {
6509
+ "filename": "src/kafka/rio-kafka-event-source.ts",
6510
+ "line": 52
6511
+ },
6512
+ "parameters": [
6513
+ {
6514
+ "name": "props",
6515
+ "type": {
6516
+ "fqn": "@rio-cloud/cdk-v2-constructs.RioKafkaEventSourceProps"
6517
+ }
6518
+ }
6519
+ ]
6520
+ },
6521
+ "interfaces": [
6522
+ "aws-cdk-lib.aws_lambda.IEventSource"
6523
+ ],
6524
+ "kind": "class",
6525
+ "locationInModule": {
6526
+ "filename": "src/kafka/rio-kafka-event-source.ts",
6527
+ "line": 50
6528
+ },
6529
+ "methods": [
6530
+ {
6531
+ "docs": {
6532
+ "stability": "stable",
6533
+ "summary": "Called by `lambda.addEventSource` to allow the event source to bind to this function."
6534
+ },
6535
+ "locationInModule": {
6536
+ "filename": "src/kafka/rio-kafka-event-source.ts",
6537
+ "line": 55
6538
+ },
6539
+ "name": "bind",
6540
+ "overrides": "aws-cdk-lib.aws_lambda.IEventSource",
6541
+ "parameters": [
6542
+ {
6543
+ "name": "target",
6544
+ "type": {
6545
+ "fqn": "aws-cdk-lib.aws_lambda.IFunction"
6546
+ }
6547
+ }
6548
+ ]
6549
+ }
6550
+ ],
6551
+ "name": "RioKafkaEventSource",
6552
+ "symbolId": "src/kafka/rio-kafka-event-source:RioKafkaEventSource"
6553
+ },
6554
+ "@rio-cloud/cdk-v2-constructs.RioKafkaEventSourceProps": {
6555
+ "assembly": "@rio-cloud/cdk-v2-constructs",
6556
+ "datatype": true,
6557
+ "docs": {
6558
+ "stability": "stable",
6559
+ "summary": "Properties for RioKafkaEventSource."
6560
+ },
6561
+ "fqn": "@rio-cloud/cdk-v2-constructs.RioKafkaEventSourceProps",
6562
+ "interfaces": [
6563
+ "aws-cdk-lib.aws_lambda_event_sources.BaseStreamEventSourceProps"
6564
+ ],
6565
+ "kind": "interface",
6566
+ "locationInModule": {
6567
+ "filename": "src/kafka/rio-kafka-event-source.ts",
6568
+ "line": 14
6569
+ },
6570
+ "name": "RioKafkaEventSourceProps",
6571
+ "properties": [
6572
+ {
6573
+ "abstract": true,
6574
+ "docs": {
6575
+ "remarks": "You can use the `create-and-sign-certificate` script from the `kafka-integration` to create a suitable AWS Secrets Manager secret.\nSimply add the `--fqdn <fqdn> --lambda` parameters to the `create-and-sign-certificate` script and the script generates a secret named `kafka-integration/msk-certificate/<fqdn>` with all relevant data.\n\nPlease note that we do only support the `--lambda` parameter if the `--fqdn` parameter is present.\nWe encourage you to use the `--fqdn` parameter for all your Kafka consumers and producers as this eases the recovery process in the case of a disaster.\n(Otherwise, i.e., if you do not use the `--fqdn` parameter, your certificates CNAME contains the AWS account ID and you need to change all ACLs in case of a corrupted AWS account.)",
6576
+ "stability": "stable",
6577
+ "summary": "The secret with the Kafka credentials, see https://docs.aws.amazon.com/msk/latest/developerguide/msk-authentication.html for details."
6578
+ },
6579
+ "immutable": true,
6580
+ "locationInModule": {
6581
+ "filename": "src/kafka/rio-kafka-event-source.ts",
6582
+ "line": 29
6583
+ },
6584
+ "name": "secret",
6585
+ "type": {
6586
+ "fqn": "aws-cdk-lib.aws_secretsmanager.ISecret"
6587
+ }
6588
+ },
6589
+ {
6590
+ "abstract": true,
6591
+ "docs": {
6592
+ "stability": "stable",
6593
+ "summary": "The Kafka topic to subscribe to."
6594
+ },
6595
+ "immutable": true,
6596
+ "locationInModule": {
6597
+ "filename": "src/kafka/rio-kafka-event-source.ts",
6598
+ "line": 18
6599
+ },
6600
+ "name": "topic",
6601
+ "type": {
6602
+ "primitive": "string"
6603
+ }
6604
+ }
6605
+ ],
6606
+ "symbolId": "src/kafka/rio-kafka-event-source:RioKafkaEventSourceProps"
6607
+ },
6486
6608
  "@rio-cloud/cdk-v2-constructs.RioLandingZone": {
6487
6609
  "assembly": "@rio-cloud/cdk-v2-constructs",
6488
6610
  "docs": {
@@ -8737,5 +8859,5 @@
8737
8859
  }
8738
8860
  },
8739
8861
  "version": "0.0.0",
8740
- "fingerprint": "/+nX+kiENrJH7JrfqOyu1eF3gdj4bgXjQzWPUwtoK4I="
8862
+ "fingerprint": "GKKbIqT9xXrlltis8q1PoglfyapGiAmUR3TTs3+OQwE="
8741
8863
  }
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [4.2.0](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.1.1&sourceBranch=refs%2Ftags%2Fv4.2.0) (2022-12-19)
6
+
7
+
8
+ ### Features
9
+
10
+ * **RioKafkaEventSource:** add lambda EventSource for RIO Kafka ([7eba488](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/7eba488871fdeccdc5ce9ccc26944d65ea5a5ed9))
11
+ * **RioKafkaEventSource:** add tests and fix jsii compilation ([8c55a30](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/8c55a30a819b79d477dc9e056ae8ff5a5f44ee12))
12
+
13
+ ### [4.1.1](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.1.0&sourceBranch=refs%2Ftags%2Fv4.1.1) (2022-11-24)
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * **contributions:** pipeline-construct - Add missing kafka permission to gradle kafka branch build ([9dba7e2](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/9dba7e2815bbafde0a889958c7f78a871ae34f4a))
19
+
5
20
  ## [4.1.0](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv4.0.1&sourceBranch=refs%2Ftags%2Fv4.1.0) (2022-11-23)
6
21
 
7
22
 
@@ -1,7 +1,7 @@
1
1
  import * as codebuild from 'aws-cdk-lib/aws-codebuild';
2
2
  import * as pipelines from 'aws-cdk-lib/pipelines';
3
3
  import { Construct } from 'constructs';
4
- export interface RioGradleCodeBuildProjectProps {
4
+ export interface RioCodeBuildProjectProps {
5
5
  input: pipelines.IFileSetProducer;
6
6
  cdkOutDirectory?: string;
7
7
  partialBuildSpec: codebuild.BuildSpec;
@@ -10,6 +10,6 @@ export interface RioGradleCodeBuildProjectProps {
10
10
  hostedZoneName: string;
11
11
  env?: Record<string, string>;
12
12
  }
13
- export declare class RioGradleCodeBuildProject extends pipelines.CodeBuildStep {
14
- constructor(scope: Construct, id: string, props: RioGradleCodeBuildProjectProps);
13
+ export declare class RioCodeBuildProject extends pipelines.CodeBuildStep {
14
+ constructor(scope: Construct, id: string, props: RioCodeBuildProjectProps);
15
15
  }
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RioGradleCodeBuildProject = void 0;
3
+ exports.RioCodeBuildProject = void 0;
4
4
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
5
  const codebuild = require("aws-cdk-lib/aws-codebuild");
6
6
  const pipelines = require("aws-cdk-lib/pipelines");
7
- class RioGradleCodeBuildProject extends pipelines.CodeBuildStep {
7
+ class RioCodeBuildProject extends pipelines.CodeBuildStep {
8
8
  constructor(scope, id, props) {
9
9
  var _a, _b, _c, _d, _e, _f;
10
10
  super(id, {
@@ -28,5 +28,5 @@ class RioGradleCodeBuildProject extends pipelines.CodeBuildStep {
28
28
  });
29
29
  }
30
30
  }
31
- exports.RioGradleCodeBuildProject = RioGradleCodeBuildProject;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmlidXRpb25zL3RlYW0tdHJhbnNwb3J0LXR3by9waXBlbGluZS9idWlsZC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvQztBQUNwQyx1REFBdUQ7QUFDdkQsbURBQW1EO0FBYW5ELE1BQWEseUJBQTBCLFNBQVEsU0FBUyxDQUFDLGFBQWE7SUFDcEUsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQzs7UUFDN0UsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLFFBQVEsRUFBRSxFQUFFO1lBQ1osZ0JBQWdCLEVBQUU7Z0JBQ2hCLFVBQVUsRUFBRSxPQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxnQkFBZ0IsMENBQUUsVUFBVSxLQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCO2dCQUM3RixXQUFXLEVBQUUsT0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFdBQVcsS0FBSSxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUs7Z0JBQ2hGLG9CQUFvQixFQUFFO29CQUNwQixjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFO29CQUNsRCxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRTtvQkFDMUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxjQUFjLEVBQUU7b0JBQzVDLFNBQUcsS0FBSyxDQUFDLGdCQUFnQiwwQ0FBRSxvQkFBb0I7aUJBQ2hEO2dCQUNELFVBQVUsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFVBQVU7Z0JBQy9DLFdBQVcsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFdBQVc7YUFDbEQ7WUFDRCxzQkFBc0IsUUFBRSxLQUFLLENBQUMsZUFBZSxtQ0FBSSxJQUFJO1lBQ3JELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztTQUNmLENBQ0EsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXZCRCw4REF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNvZGVidWlsZCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCAqIGFzIHBpcGVsaW5lcyBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmlvR3JhZGxlQ29kZUJ1aWxkUHJvamVjdFByb3BzIHtcbiAgaW5wdXQ6IHBpcGVsaW5lcy5JRmlsZVNldFByb2R1Y2VyO1xuICBjZGtPdXREaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIHBhcnRpYWxCdWlsZFNwZWM6IGNvZGVidWlsZC5CdWlsZFNwZWM7XG4gIGJ1aWxkRW52aXJvbm1lbnQ/OiBjb2RlYnVpbGQuQnVpbGRFbnZpcm9ubWVudDtcbiAgc2VydmljZU5hbWU6IHN0cmluZztcbiAgaG9zdGVkWm9uZU5hbWU6IHN0cmluZztcbiAgZW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGNsYXNzIFJpb0dyYWRsZUNvZGVCdWlsZFByb2plY3QgZXh0ZW5kcyBwaXBlbGluZXMuQ29kZUJ1aWxkU3RlcCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSaW9HcmFkbGVDb2RlQnVpbGRQcm9qZWN0UHJvcHMpIHtcbiAgICBzdXBlcihpZCwge1xuICAgICAgaW5wdXQ6IHByb3BzLmlucHV0LFxuICAgICAgcGFydGlhbEJ1aWxkU3BlYzogcHJvcHMucGFydGlhbEJ1aWxkU3BlYyxcbiAgICAgIGNvbW1hbmRzOiBbXSxcbiAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgYnVpbGRJbWFnZTogcHJvcHM/LmJ1aWxkRW52aXJvbm1lbnQ/LmJ1aWxkSW1hZ2UgfHwgY29kZWJ1aWxkLkxpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl80LFxuICAgICAgICBjb21wdXRlVHlwZTogcHJvcHM/LmJ1aWxkRW52aXJvbm1lbnQ/LmNvbXB1dGVUeXBlIHx8IGNvZGVidWlsZC5Db21wdXRlVHlwZS5MQVJHRSxcbiAgICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXM6IHtcbiAgICAgICAgICBBV1NfQUNDT1VOVF9JRDogeyB2YWx1ZTogU3RhY2sub2Yoc2NvcGUpLmFjY291bnQgfSxcbiAgICAgICAgICBTRVJWSUNFX05BTUU6IHsgdmFsdWU6IHByb3BzLnNlcnZpY2VOYW1lIH0sXG4gICAgICAgICAgSE9TVEVEX1pPTkU6IHsgdmFsdWU6IHByb3BzLmhvc3RlZFpvbmVOYW1lIH0sXG4gICAgICAgICAgLi4ucHJvcHMuYnVpbGRFbnZpcm9ubWVudD8uZW52aXJvbm1lbnRWYXJpYWJsZXMsXG4gICAgICAgIH0sXG4gICAgICAgIHByaXZpbGVnZWQ6IHByb3BzPy5idWlsZEVudmlyb25tZW50Py5wcml2aWxlZ2VkLFxuICAgICAgICBjZXJ0aWZpY2F0ZTogcHJvcHM/LmJ1aWxkRW52aXJvbm1lbnQ/LmNlcnRpZmljYXRlLFxuICAgICAgfSxcbiAgICAgIHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6IHByb3BzLmNka091dERpcmVjdG9yeSA/PyAnLi8nLFxuICAgICAgZW52OiBwcm9wcy5lbnYsXG4gICAgfSxcbiAgICApO1xuICB9XG59XG4iXX0=
31
+ exports.RioCodeBuildProject = RioCodeBuildProject;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250cmlidXRpb25zL3RlYW0tdHJhbnNwb3J0LXR3by9waXBlbGluZS9idWlsZC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvQztBQUNwQyx1REFBdUQ7QUFDdkQsbURBQW1EO0FBYW5ELE1BQWEsbUJBQW9CLFNBQVEsU0FBUyxDQUFDLGFBQWE7SUFDOUQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjs7UUFDdkUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLFFBQVEsRUFBRSxFQUFFO1lBQ1osZ0JBQWdCLEVBQUU7Z0JBQ2hCLFVBQVUsRUFBRSxPQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxnQkFBZ0IsMENBQUUsVUFBVSxLQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCO2dCQUM3RixXQUFXLEVBQUUsT0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFdBQVcsS0FBSSxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUs7Z0JBQ2hGLG9CQUFvQixFQUFFO29CQUNwQixjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFO29CQUNsRCxZQUFZLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRTtvQkFDMUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxjQUFjLEVBQUU7b0JBQzVDLFNBQUcsS0FBSyxDQUFDLGdCQUFnQiwwQ0FBRSxvQkFBb0I7aUJBQ2hEO2dCQUNELFVBQVUsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFVBQVU7Z0JBQy9DLFdBQVcsUUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsZ0JBQWdCLDBDQUFFLFdBQVc7YUFDbEQ7WUFDRCxzQkFBc0IsUUFBRSxLQUFLLENBQUMsZUFBZSxtQ0FBSSxJQUFJO1lBQ3JELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztTQUNmLENBQ0EsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXZCRCxrREF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNvZGVidWlsZCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCAqIGFzIHBpcGVsaW5lcyBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmlvQ29kZUJ1aWxkUHJvamVjdFByb3BzIHtcbiAgaW5wdXQ6IHBpcGVsaW5lcy5JRmlsZVNldFByb2R1Y2VyO1xuICBjZGtPdXREaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIHBhcnRpYWxCdWlsZFNwZWM6IGNvZGVidWlsZC5CdWlsZFNwZWM7XG4gIGJ1aWxkRW52aXJvbm1lbnQ/OiBjb2RlYnVpbGQuQnVpbGRFbnZpcm9ubWVudDtcbiAgc2VydmljZU5hbWU6IHN0cmluZztcbiAgaG9zdGVkWm9uZU5hbWU6IHN0cmluZztcbiAgZW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGNsYXNzIFJpb0NvZGVCdWlsZFByb2plY3QgZXh0ZW5kcyBwaXBlbGluZXMuQ29kZUJ1aWxkU3RlcCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSaW9Db2RlQnVpbGRQcm9qZWN0UHJvcHMpIHtcbiAgICBzdXBlcihpZCwge1xuICAgICAgaW5wdXQ6IHByb3BzLmlucHV0LFxuICAgICAgcGFydGlhbEJ1aWxkU3BlYzogcHJvcHMucGFydGlhbEJ1aWxkU3BlYyxcbiAgICAgIGNvbW1hbmRzOiBbXSxcbiAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgYnVpbGRJbWFnZTogcHJvcHM/LmJ1aWxkRW52aXJvbm1lbnQ/LmJ1aWxkSW1hZ2UgfHwgY29kZWJ1aWxkLkxpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl80LFxuICAgICAgICBjb21wdXRlVHlwZTogcHJvcHM/LmJ1aWxkRW52aXJvbm1lbnQ/LmNvbXB1dGVUeXBlIHx8IGNvZGVidWlsZC5Db21wdXRlVHlwZS5MQVJHRSxcbiAgICAgICAgZW52aXJvbm1lbnRWYXJpYWJsZXM6IHtcbiAgICAgICAgICBBV1NfQUNDT1VOVF9JRDogeyB2YWx1ZTogU3RhY2sub2Yoc2NvcGUpLmFjY291bnQgfSxcbiAgICAgICAgICBTRVJWSUNFX05BTUU6IHsgdmFsdWU6IHByb3BzLnNlcnZpY2VOYW1lIH0sXG4gICAgICAgICAgSE9TVEVEX1pPTkU6IHsgdmFsdWU6IHByb3BzLmhvc3RlZFpvbmVOYW1lIH0sXG4gICAgICAgICAgLi4ucHJvcHMuYnVpbGRFbnZpcm9ubWVudD8uZW52aXJvbm1lbnRWYXJpYWJsZXMsXG4gICAgICAgIH0sXG4gICAgICAgIHByaXZpbGVnZWQ6IHByb3BzPy5idWlsZEVudmlyb25tZW50Py5wcml2aWxlZ2VkLFxuICAgICAgICBjZXJ0aWZpY2F0ZTogcHJvcHM/LmJ1aWxkRW52aXJvbm1lbnQ/LmNlcnRpZmljYXRlLFxuICAgICAgfSxcbiAgICAgIHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6IHByb3BzLmNka091dERpcmVjdG9yeSA/PyAnLi8nLFxuICAgICAgZW52OiBwcm9wcy5lbnYsXG4gICAgfSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ version: '0.2'
2
+ phases:
3
+ install:
4
+ runtime-versions:
5
+ nodejs: 16
6
+ build:
7
+ commands:
8
+ - cd infrastructure
9
+ - npm ci
10
+ - npm run cdk synth 1> /dev/null
11
+ - cd ..
12
+ cache:
13
+ paths:
14
+ - /root/.cache/**/*
@@ -2,7 +2,7 @@ import { Stack, StackProps } from 'aws-cdk-lib';
2
2
  import { BuildEnvironment } from 'aws-cdk-lib/aws-codebuild';
3
3
  import { Construct } from 'constructs';
4
4
  /**
5
- * @struct
5
+ * @struct
6
6
  */
7
7
  export interface PipelineStackProps extends StackProps {
8
8
  /**
@@ -51,7 +51,7 @@ export interface PipelineStackProps extends StackProps {
51
51
  * class PipelineStage extends Stage implements IAppStackFactory {
52
52
  * constructor(scope: Construct, id: string, props: StageProps) {
53
53
  * super(scope, id, props);
54
- * // your stage definitiom
54
+ * // your stage definition
55
55
  * }
56
56
  *
57
57
  * create(scope: Construct, props: AppStackProps): void {
@@ -96,7 +96,28 @@ export declare enum PipelineType {
96
96
  * <p> This gradle command must be provided by the gradle project.
97
97
  */
98
98
  STANDARD_GRADLE = "STANDARD_GRADLE",
99
- STANDARD_GRADLE_KAFKA = "STANDARD_GRADLE_KAFKA"
99
+ /**
100
+ * Self-mutating codepipeline deploying the provided AppStack with additional steps needed to access Kafka.
101
+ *
102
+ * Comes with a pre-defined buildspec.yaml for a gradle project. This buildspec.yaml is used for both the main and
103
+ * branch pipeline and includes the following steps
104
+ * - build and test of the artifact via command "./gradlew clean build".
105
+ * <p> This gradle command must be provided by the gradle project.
106
+ * - license-check and upload of license-check-file via command "./gradlew checkLicenses".
107
+ * <p> This gradle command must be provided by the gradle project.
108
+ * - create a self-signed certificate to make TLS communication possible, e.g. with a loadbalancer.
109
+ * - request a certificate to authenticate against Kafka via mutual TLS
110
+ * - build the container image via command "./gradlew jibBuildTar".
111
+ * <p> This gradle command must be provided by the gradle project.
112
+ */
113
+ STANDARD_GRADLE_KAFKA = "STANDARD_GRADLE_KAFKA",
114
+ /**
115
+ * Self-mutating codepipeline deploying the provided AppStack.
116
+ *
117
+ * Comes with a pre-defined buildspec.yaml to synthesize the AppStack.
118
+ * No branch or vulnerability pipeline is created.
119
+ */
120
+ STANDARD_INFRASTRUCTURE = "STANDARD_INFRASTRUCTURE"
100
121
  }
101
122
  /**
102
123
  * @param partialBuildSpecPath Path to a custom build-spec file to use for the main and branch pipeline.
@@ -111,7 +132,19 @@ export interface CodeBuildOptions {
111
132
  }
112
133
  export declare class PipelineStack extends Stack {
113
134
  private static addLifecycleRuleArtifactBucket;
135
+ private readonly bucket;
136
+ private readonly hostedZone;
137
+ private readonly inputMasterTriggerFile;
138
+ private readonly inputBranchTriggerFile;
139
+ private readonly ossLicensesBucketParameter;
140
+ private readonly ossLicensesBucket;
141
+ private readonly serviceKeystorePassword;
142
+ private readonly accountNameParameter;
143
+ private readonly nistDataMirrorUrl;
114
144
  constructor(scope: Construct, id: string, props: PipelineStackProps);
145
+ private addMainPipeline;
146
+ private addBranchPipeline;
147
+ private addVulnerabilityPipeline;
115
148
  private resolveDefaultBuildSpec;
116
149
  private grantPermissionsForKafkaIntegration;
117
150
  private loadBuildSpecFromFile;