Skip to content

Commit

Permalink
Merge pull request #559 from aws-quickstart/task/1.5.3-release-prep
Browse files Browse the repository at this point in the history
1.5.3 - Release
  • Loading branch information
shapirov103 authored Jan 12, 2023
2 parents 7e80943 + e657911 commit d517441
Show file tree
Hide file tree
Showing 36 changed files with 143 additions and 59 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@ aws --version
Install CDK matching the current version of the Blueprints QuickStart (which can be found in package.json).

```bash
npm install -g aws-cdk@2.51.1
npm install -g aws-cdk@2.59.0
```

Verify the installation.

```bash
cdk --version
# must output 2.51.1
# must output 2.59.0
```

Create a new CDK project. We use `typescript` for this example.
Expand Down
4 changes: 2 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@ aws --version
Install CDK matching the current version of the Blueprints QuickStart (which can be found in package.json).

```bash
npm install -g aws-cdk@2.51.1
npm install -g aws-cdk@2.59.0
```

Verify the installation.

```bash
cdk --version
# must output 2.51.1
# must output 2.59.0
```

Create a new CDK project. We use `typescript` for this example.
Expand Down
5 changes: 3 additions & 2 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ Create a directory that represents you project (e.g. `my-blueprints`) and then c

```bash
n stable # may require sudo
npm install -g aws-cdk@2.51.1 # may require sudo (Ubuntu) depending on configuration
cdk --version # must produce 2.51.1
npm install -g aws-cdk@2.59.0 # may require sudo (Ubuntu) depending on configuration
cdk --version # must produce 2.59.0
mkdir my-blueprints
cd my-blueprints
cdk init app --language typescript
Expand Down Expand Up @@ -68,6 +68,7 @@ const stack = blueprints.EksBlueprint.builder()
.account(account)
.region(region)
.addOns(...addOns)
.useDefaultSecretEncryption(true) // set to false to turn secret encryption off (non-production/demo cases)
.build(app, 'eks-blueprint');
```

Expand Down
11 changes: 9 additions & 2 deletions examples/blueprint-construct/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export interface BlueprintConstructProps {
export default class BlueprintConstruct {
constructor(scope: Construct, props: cdk.StackProps) {

HelmAddOn.validateHelmVersions = true;
HelmAddOn.validateHelmVersions = false;
HelmAddOn.failOnVersionValidation = false;

// TODO: fix IAM user provisioning for admin user
Expand Down Expand Up @@ -76,6 +76,8 @@ export default class BlueprintConstruct {
new blueprints.addons.KubeProxyAddOn(),
new blueprints.addons.OpaGatekeeperAddOn(),
new blueprints.addons.AckAddOn({
id: "s3-ack",
createNamespace: true,
skipVersionValidation: true,
serviceName: AckServiceName.S3
}),
Expand Down Expand Up @@ -140,6 +142,7 @@ export default class BlueprintConstruct {
},
enableIngress: false,
notebookStack: 'jupyter/datascience-notebook',
values: { prePuller: { hook: { enabled: false }}}
}),
new blueprints.EmrEksAddOn()
];
Expand All @@ -161,14 +164,18 @@ export default class BlueprintConstruct {
{
id: "mng1",
amiType: NodegroupAmiType.AL2_X86_64,
instanceTypes: [new ec2.InstanceType('m5.2xlarge')],
instanceTypes: [new ec2.InstanceType('m5.4xlarge')],
diskSize: 25,
desiredSize: 2,
maxSize: 3,
nodeGroupSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }
},
{
id: "mng2-customami",
instanceTypes: [new ec2.InstanceType('t3.large')],
nodeGroupCapacityType: CapacityType.SPOT,
desiredSize: 0,
minSize: 0,
customAmi: {
machineImage: ec2.MachineImage.genericLinux({
'us-east-1': 'ami-08e520f5673ee0894',
Expand Down
7 changes: 4 additions & 3 deletions lib/addons/ack/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// lib/certmanager_addon.ts
import { ManagedPolicy } from 'aws-cdk-lib/aws-iam';
import { Construct } from 'constructs';
import merge from "ts-deepmerge";
import { ClusterInfo, Values } from "../../spi";
import "reflect-metadata";
import { createNamespace, setPath } from "../../utils";
import { HelmAddOn, HelmAddOnProps, HelmAddOnUserProps } from "../helm-addon";
import { serviceMappings, AckServiceName } from './serviceMappings';
import { AckServiceName, serviceMappings } from './serviceMappings';

export * from "./serviceMappings";

/**
Expand Down Expand Up @@ -50,6 +51,7 @@ const defaultProps: AckAddOnProps = {
/**
* Main class to instantiate the Helm chart
*/
@Reflect.metadata("ordered", true)
export class AckAddOn extends HelmAddOn {

readonly options: AckAddOnProps;
Expand All @@ -59,7 +61,6 @@ export class AckAddOn extends HelmAddOn {
super(populateDefaults(defaultProps, props) as HelmAddOnProps);
this.options = this.props as AckAddOnProps;
this.id = this.options.id;
console.log(this.options);
}

deploy(clusterInfo: ClusterInfo): Promise<Construct> {
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/appmesh/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ const defaultProps = {
name: "appmesh-controller",
namespace: "appmesh-system",
chart: "appmesh-controller",
version: "1.9.0",
version: "1.10.0",
release: "appmesh-release",
repository: "https://aws.github.io/eks-charts"
};
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/aws-node-termination-handler/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export interface AwsNodeTerminationHandlerProps extends HelmAddOnUserProps {
const defaultProps: AwsNodeTerminationHandlerProps = {
chart: 'aws-node-termination-handler',
repository: 'https://aws.github.io/eks-charts',
version: '0.16.0',
version: '0.20.2',
release: 'blueprints-addon-aws-node-termination-handler',
name: 'aws-node-termination-handler',
namespace: 'kube-system',
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/aws-privateca-issuer/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const defaultProps: HelmAddOnProps & AWSPrivateCAIssuerAddonProps = {
name: "blueprints-aws-pca-issuer-addon",
chart: "aws-privateca-issuer",
namespace:"aws-pca-issuer",
version: "1.2.2",
version: "1.2.4",
release: "aws-pca-issuer",
repository: "https://cert-manager.github.io/aws-privateca-issuer",
values: {},
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/cert-manager/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const defaultProps: HelmAddOnProps & CertManagerAddOnProps = {
name: "blueprints-cert-manager-addon",
namespace: "cert-manager",
chart: "cert-manager",
version: "1.10.1",
version: "1.11.0",
release: "cert-manager",
repository: "https://charts.jetstack.io",
values: {},
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/coredns/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export class CoreDnsAddOn extends CoreAddOn {
constructor(version?: string) {
super({
addOnName: "coredns",
version: version ?? "v1.8.7-eksbuild.2",
version: version ?? "v1.8.7-eksbuild.3",
saName: "coredns"
});
}
Expand Down
4 changes: 2 additions & 2 deletions lib/addons/ebs-csi-driver/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import { getEbsDriverPolicyDocument } from "./iam-policy";
*/
const defaultProps = {
addOnName: 'aws-ebs-csi-driver',
version: 'v1.11.4-eksbuild.1',
saName: 'ebs-csi-controller-sa'
version: 'v1.14.0-eksbuild.1',
saName: 'aws-ebs-csi-driver'
};

/**
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/efs-csi-driver/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export interface EfsCsiDriverProps extends HelmAddOnUserProps {
* Defaults options for the add-on
*/
const defaultProps: EfsCsiDriverProps = {
version: '2.3.4',
version: '2.3.6',
namespace: "kube-system",
repository: "https://kubernetes-sigs.github.io/aws-efs-csi-driver/",
name: EFS_CSI_DRIVER,
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/external-dns/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const defaultProps = {
namespace: 'external-dns',
repository: 'https://charts.bitnami.com/bitnami',
release: 'blueprints-addon-external-dns',
version: '6.12.1',
version: '6.13.0',
values: {},
};

Expand Down
2 changes: 1 addition & 1 deletion lib/addons/external-secrets/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const defaultProps: ExternalsSecretsAddOnProps = {
name: "external-secrets",
chart: "external-secrets",
release: "blueprints-addon-external-secrets",
version: "0.6.1",
version: "0.7.1",
repository: "https://charts.external-secrets.io",
namespace: "external-secrets",
values: {},
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/helm-addon/helm-version-checker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ export function listChartVersions(chart: HelmChartVersion): string[] {
export function checkHelmChartVersion(chart: HelmChartVersion) : CheckVersionResult {
let versions = listChartVersions(chart);
if(versions === null || versions.length == 0) {
console.error("No versions are found for " + chart.chart + " in repository " + chart.repository );
console.warn("No versions are found for " + chart.chart + " in repository " + chart.repository );
return {
allVersions: versions,
highestVersion: undefined,
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/istio-base/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ const defaultProps = {
release: "istio-base",
namespace: "istio-system",
chart: "base",
version: "1.16.0",
version: "1.16.1",
repository: "https://istio-release.storage.googleapis.com/charts"
};

Expand Down
2 changes: 1 addition & 1 deletion lib/addons/istio-control-plane/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ const defaultProps = {
release: "istiod",
namespace: "istio-system",
chart: "istiod",
version: "1.16.0",
version: "1.16.1",
repository: "https://istio-release.storage.googleapis.com/charts"
};

Expand Down
2 changes: 1 addition & 1 deletion lib/addons/jupyterhub/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ export class JupyterHubAddOn extends HelmAddOn {
}

// Create Helm Chart
const jupyterHubChart = this.addHelmChart(clusterInfo, values, false, true);
const jupyterHubChart = this.addHelmChart(clusterInfo, values, false, false);

// Add dependency
jupyterHubChart.node.addDependency(ns);
Expand Down
10 changes: 5 additions & 5 deletions lib/addons/keda/index.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { Construct } from 'constructs';
import { ManagedPolicy } from "aws-cdk-lib/aws-iam";
import { ServiceAccount } from 'aws-cdk-lib/aws-eks';
import { ManagedPolicy } from "aws-cdk-lib/aws-iam";
import { Construct } from 'constructs';
import merge from "ts-deepmerge";
import { HelmAddOn, HelmAddOnUserProps, HelmAddOnProps } from "../helm-addon";
import { ClusterInfo, Values } from "../../spi";
import { setPath, createNamespace } from "../../utils";
import { createNamespace, setPath } from "../../utils";
import { HelmAddOn, HelmAddOnProps, HelmAddOnUserProps } from "../helm-addon";

/**
* User provided options for the Helm Chart
Expand Down Expand Up @@ -52,7 +52,7 @@ const defaultProps: HelmAddOnProps & KedaAddOnProps = {
name: "blueprints-keda-addon",
chart: "keda",
namespace:"keda",
version: "2.8.2",
version: "2.9.1",
release: "keda",
repository: "https://kedacore.github.io/charts",
values: {},
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/kube-proxy/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export class KubeProxyAddOn extends CoreAddOn {
constructor(version?: string) {
super({
addOnName: "kube-proxy",
version: version ?? "v1.23.8-eksbuild.2",
version: version ?? "v1.23.15-eksbuild.1",
saName: "kube-proxy"
});
}
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/kube-state-metrics/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ const defaultProps: HelmAddOnProps & KubeStateMetricsAddOnProps = {
name: "kube-state-metrics",
namespace: "kube-system",
chart: "kube-state-metrics",
version: "4.24.0",
version: "4.28.0",
release: "kube-state-metrics",
repository: "https://prometheus-community.github.io/helm-charts",
values: {},
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/metrics-server/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ type MetricsServerAddOnProps = HelmAddOnUserProps;
const defaultProps: HelmAddOnProps = {
chart: "metrics-server",
repository: "https://kubernetes-sigs.github.io/metrics-server",
version: "3.8.2",
version: "3.8.3",
release: 'blueprints-addon-metrics-server',
name: 'metrics-server',
namespace: 'kube-system'
Expand Down
4 changes: 2 additions & 2 deletions lib/addons/opa-gatekeeper/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { HelmAddOn, HelmAddOnProps, HelmAddOnUserProps } from "../helm-addon";
/**
* Properties available to configure opa gatekeeper.
* namespace default is gatekeeper-system
* version default is 3.9.0
* version default is 3.11.0
* values as per https://github.com/open-policy-agent/gatekeeper/tree/master/charts/gatekeeper
*/
export type OpaGatekeeperAddOnProps = HelmAddOnUserProps;
Expand All @@ -19,7 +19,7 @@ const defaultProps: HelmAddOnProps = {
namespace: 'gatekeeper-system',
chart: 'gatekeeper',
repository: "https://open-policy-agent.github.io/gatekeeper/charts",
version: '3.10.0'
version: '3.11.0'
};

export class OpaGatekeeperAddOn extends HelmAddOn implements ClusterPostDeploy {
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/prometheus-node-exporter/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ const defaultProps: HelmAddOnProps & PrometheusNodeExporterAddOnProps = {
name: "prometheus-node-exporter",
namespace: "prometheus-node-exporter",
chart: "prometheus-node-exporter",
version: "4.8.0",
version: "4.12.0",
release: "prometheus-node-exporter",
repository: "https://prometheus-community.github.io/helm-charts",
values: {},
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/secrets-store/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ const defaultProps: SecretsStoreAddOnProps = {
chart: 'secrets-store-csi-driver',
name: 'secrets-store-csi-driver',
namespace: 'kube-system',
version: '1.2.4',
version: '1.3.0',
release: 'blueprints-addon-secret-store-csi-driver',
repository: 'https://kubernetes-sigs.github.io/secrets-store-csi-driver/charts',
rotationPollInterval: undefined,
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/velero/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export interface VeleroAddOnProps extends HelmAddOnUserProps {
*/
const defaultProps = {
name: 'velero',
version: "2.32.4",
version: "3.1.0",
namespace: "velero",
createNamespace: true,
chart: "velero",
Expand Down
2 changes: 1 addition & 1 deletion lib/addons/vpc-cni/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export class VpcCniAddOn extends CoreAddOn {
constructor(version?: string) {
super({
addOnName: "vpc-cni",
version: version ?? "v1.11.4-eksbuild.1",
version: version ?? "v1.12.0-eksbuild.1",
saName: "vpc-cni"
});
}
Expand Down
6 changes: 4 additions & 2 deletions lib/cluster-providers/generic-cluster-provider.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

import { KubectlV22Layer } from "@aws-cdk/lambda-layer-kubectl-v22";
import { KubectlV23Layer } from "@aws-cdk/lambda-layer-kubectl-v23";
import { } from "aws-cdk-lib/";
import { KubectlV24Layer } from "@aws-cdk/lambda-layer-kubectl-v24";
import * as autoscaling from 'aws-cdk-lib/aws-autoscaling';
import * as ec2 from "aws-cdk-lib/aws-ec2";
import { IVpc } from "aws-cdk-lib/aws-ec2";
Expand Down Expand Up @@ -199,7 +199,7 @@ export class GenericClusterProvider implements ClusterProvider {
/**
* @override
*/
createCluster(scope: Construct, vpc: IVpc, secretsEncryptionKey: IKey): ClusterInfo {
createCluster(scope: Construct, vpc: IVpc, secretsEncryptionKey: IKey | undefined): ClusterInfo {
const id = scope.node.id;

// Props for the cluster.
Expand Down Expand Up @@ -267,6 +267,8 @@ export class GenericClusterProvider implements ClusterProvider {
*/
protected getKubectlLayer(scope: Construct, version: eks.KubernetesVersion) : ILayerVersion | undefined {
switch(version) {
case eks.KubernetesVersion.V1_24:
return new KubectlV24Layer(scope, "kubectllayer24");
case eks.KubernetesVersion.V1_23:
return new KubectlV23Layer(scope, "kubectllayer23");
case eks.KubernetesVersion.V1_22:
Expand Down
2 changes: 1 addition & 1 deletion lib/pipelines/code-pipeline.ts
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ class CodePipeline {
input: codePipelineSource,
installCommands: [
'n stable',
'npm install -g aws-cdk@2.51.1',
'npm install -g aws-cdk@2.59.0',
'npm install',
],
commands: ['npm run build', 'npx cdk synth']
Expand Down
2 changes: 1 addition & 1 deletion lib/spi/cluster-contracts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ import {IKey} from "aws-cdk-lib/aws-kms";
* ClusterProvider is the interface to which all Cluster Providers should conform.
*/
export declare interface ClusterProvider {
createCluster(scope: Construct, vpc: IVpc, secretsEncryptionKey: IKey): ClusterInfo;
createCluster(scope: Construct, vpc: IVpc, secretsEncryptionKey?: IKey): ClusterInfo;
}

Loading

0 comments on commit d517441

Please sign in to comment.