Skip to content

Commit

Permalink
Merge pull request #104 from aws-observability/feature/observabilityB…
Browse files Browse the repository at this point in the history
…uilder

Observability Builder Upgrade
  • Loading branch information
shapirov103 committed Aug 29, 2023
2 parents 3dd7ba0 + fbfd97d commit a119c0a
Show file tree
Hide file tree
Showing 10 changed files with 29 additions and 119 deletions.
52 changes: 0 additions & 52 deletions lib/common/observability-builder.ts

This file was deleted.

9 changes: 4 additions & 5 deletions lib/existing-eks-awsnative-observability-pattern/index.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// import { Construct } from 'constructs';
import { ImportClusterProvider, utils } from '@aws-quickstart/eks-blueprints';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { ObservabilityBuilder } from '../common/observability-builder';
import { ObservabilityBuilder } from '@aws-quickstart/eks-blueprints';
import * as cdk from "aws-cdk-lib";
import * as eks from 'aws-cdk-lib/aws-eks';

export default class ExistingEksAwsNativeObservabilityPattern {
async buildAsync(scope: cdk.App, id: string) {
// AddOns for the cluster

const stackId = `${id}-observability-accelerator`;
const clusterName = utils.valueFromContext(scope, "existing.cluster.name", undefined);
const kubectlRoleName = utils.valueFromContext(scope, "existing.kubectl.rolename", undefined);
Expand Down Expand Up @@ -37,15 +37,14 @@ export default class ExistingEksAwsNativeObservabilityPattern {
new blueprints.addons.CloudWatchLogsAddon({
logGroupPrefix: `/aws/eks/${stackId}`,
logRetentionDays: 30
}),
new blueprints.addons.ContainerInsightsAddOn(),
})
];

ObservabilityBuilder.builder()
.account(account)
.region(region)
.version('auto')
.addExistingClusterObservabilityBuilderAddOns()
.enableNativePatternAddOns()
.clusterProvider(importClusterProvider)
.resourceProvider(blueprints.GlobalResources.Vpc, new blueprints.VpcProvider(vpcId)) // this is required with import cluster provider
.addOns(...addOns)
Expand Down
7 changes: 3 additions & 4 deletions lib/existing-eks-mixed-observability-pattern/index.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { ImportClusterProvider, utils } from '@aws-quickstart/eks-blueprints';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { cloudWatchDeploymentMode } from '@aws-quickstart/eks-blueprints';
import { ObservabilityBuilder } from '../common/observability-builder';
import { ObservabilityBuilder } from '@aws-quickstart/eks-blueprints';
import * as cdk from "aws-cdk-lib";
import * as eks from 'aws-cdk-lib/aws-eks';

export default class ExistingEksMixedobservabilityPattern {
async buildAsync(scope: cdk.App, id: string) {
// AddOns for the cluster

const stackId = `${id}-observability-accelerator`;

const clusterName = utils.valueFromContext(scope, "existing.cluster.name", undefined);
Expand Down Expand Up @@ -46,7 +46,6 @@ export default class ExistingEksMixedobservabilityPattern {
logGroupPrefix: `/aws/eks/${stackId}`,
logRetentionDays: 30
}),
new blueprints.addons.AdotCollectorAddOn(),
cloudWatchAdotAddOn,
new blueprints.addons.XrayAdotAddOn(),
];
Expand All @@ -55,7 +54,7 @@ export default class ExistingEksMixedobservabilityPattern {
.account(account)
.region(region)
.version('auto')
.addExistingClusterObservabilityBuilderAddOns()
.enableMixedPatternAddOns()
.clusterProvider(importClusterProvider)
.resourceProvider(blueprints.GlobalResources.Vpc, new blueprints.VpcProvider(vpcId)) // this is required with import cluster provider
.addOns(...addOns)
Expand Down
12 changes: 3 additions & 9 deletions lib/existing-eks-opensource-observability-pattern/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ import { ImportClusterProvider, utils } from '@aws-quickstart/eks-blueprints';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { GrafanaOperatorSecretAddon } from './grafanaoperatorsecretaddon';
import * as amp from 'aws-cdk-lib/aws-aps';
import { ObservabilityBuilder } from '../common/observability-builder';
import { ObservabilityBuilder } from '@aws-quickstart/eks-blueprints';
import * as cdk from "aws-cdk-lib";
import * as eks from 'aws-cdk-lib/aws-eks';

export default class ExistingEksOpenSourceobservabilityPattern {
async buildAsync(scope: cdk.App, id: string) {
// AddOns for the cluster

const stackId = `${id}-observability-accelerator`;
const clusterName = utils.valueFromContext(scope, "existing.cluster.name", undefined);
const kubectlRoleName = utils.valueFromContext(scope, "existing.kubectl.rolename", undefined);
Expand Down Expand Up @@ -76,13 +76,7 @@ export default class ExistingEksOpenSourceobservabilityPattern {
logGroupPrefix: `/aws/eks/${stackId}`,
logRetentionDays: 30
}),
new blueprints.addons.AdotCollectorAddOn(),
new blueprints.addons.AmpAddOn(ampAddOnProps),
new blueprints.addons.XrayAdotAddOn(),
new blueprints.addons.ExternalsSecretsAddOn(),
new blueprints.addons.GrafanaOperatorAddon({
version: 'v5.0.0-rc3'
}),
new blueprints.addons.FluxCDAddOn({"repositories": [fluxRepository]}),
new GrafanaOperatorSecretAddon(),
];
Expand All @@ -91,7 +85,7 @@ export default class ExistingEksOpenSourceobservabilityPattern {
.account(account)
.region(region)
.version('auto')
.addExistingClusterObservabilityBuilderAddOns()
.enableOpenSourcePatternAddOns(ampAddOnProps)
.clusterProvider(importClusterProvider)
.resourceProvider(blueprints.GlobalResources.Vpc, new blueprints.VpcProvider(vpcId)) // this is required with import cluster provider
.resourceProvider(ampWorkspaceName, new blueprints.CreateAmpProvider(ampWorkspaceName, ampWorkspaceName))
Expand Down
11 changes: 3 additions & 8 deletions lib/single-new-eks-awsnative-observability-pattern/index.ts
Original file line number Diff line number Diff line change
@@ -1,32 +1,27 @@
import { Construct } from 'constructs';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { ObservabilityBuilder } from '../common/observability-builder';
import { ObservabilityBuilder } from '@aws-quickstart/eks-blueprints';

export default class SingleNewEksClusterAWSNativeobservabilityPattern {
constructor(scope: Construct, id: string) {
// AddOns for the cluster

const stackId = `${id}-observability-accelerator`;

const account = process.env.COA_ACCOUNT_ID! || process.env.CDK_DEFAULT_ACCOUNT!;
const region = process.env.COA_AWS_REGION! || process.env.CDK_DEFAULT_REGION!;

const addOns: Array<blueprints.ClusterAddOn> = [
new blueprints.addons.KubeProxyAddOn(),
new blueprints.addons.AwsLoadBalancerControllerAddOn(),
new blueprints.addons.CertManagerAddOn(),
new blueprints.addons.CloudWatchLogsAddon({
logGroupPrefix: `/aws/eks/${stackId}`,
logRetentionDays: 30
}),
new blueprints.addons.ContainerInsightsAddOn(),
new blueprints.addons.XrayAddOn()
];

ObservabilityBuilder.builder()
.account(account)
.region(region)
.version('auto')
.addNewClusterObservabilityBuilderAddOns()
.enableNativePatternAddOns()
.addOns(...addOns)
.build(scope, stackId);
}
Expand Down
4 changes: 1 addition & 3 deletions lib/single-new-eks-cluster-pattern/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Construct } from 'constructs';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { ObservabilityBuilder } from '../common/observability-builder';
import { ObservabilityBuilder } from '@aws-quickstart/eks-blueprints';

export default class SingleNewEksPattern {
constructor(scope: Construct, id: string) {
Expand All @@ -10,15 +10,13 @@ export default class SingleNewEksPattern {
const region = process.env.COA_AWS_REGION! || process.env.CDK_DEFAULT_REGION!;

const addOns: Array<blueprints.ClusterAddOn> = [
new blueprints.addons.KubeProxyAddOn(),
new blueprints.addons.ClusterAutoScalerAddOn()
];

ObservabilityBuilder.builder()
.account(account)
.region(region)
.version('auto')
.addNewClusterObservabilityBuilderAddOns()
.addOns(...addOns)
.build(scope, stackId);
}
Expand Down
14 changes: 5 additions & 9 deletions lib/single-new-eks-mixed-observability-pattern/index.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import { Construct } from 'constructs';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { cloudWatchDeploymentMode } from '@aws-quickstart/eks-blueprints';
import { ObservabilityBuilder } from '../common/observability-builder';
import { ObservabilityBuilder } from '@aws-quickstart/eks-blueprints';

export default class SingleNewEksMixedobservabilityPattern {
constructor(scope: Construct, id: string) {
// AddOns for the cluster
const stackId = `${id}-observability-accelerator`;

const stackId = `${id}-observability-accelerator`;
const account = process.env.COA_ACCOUNT_ID! || process.env.CDK_DEFAULT_ACCOUNT!;
const region = process.env.COA_AWS_REGION! || process.env.CDK_DEFAULT_REGION!;

Expand All @@ -18,24 +17,21 @@ export default class SingleNewEksMixedobservabilityPattern {
metricsNameSelectors: ['apiserver_request_.*', 'container_memory_.*', 'container_threads', 'otelcol_process_.*'],
});

Reflect.defineMetadata("ordered", true, blueprints.addons.CloudWatchLogsAddon);
const addOns: Array<blueprints.ClusterAddOn> = [
new blueprints.addons.KubeProxyAddOn(),
new blueprints.addons.AwsLoadBalancerControllerAddOn(),
new blueprints.addons.CertManagerAddOn(),
cloudWatchAdotAddOn,
new blueprints.addons.CloudWatchLogsAddon({
logGroupPrefix: `/aws/eks/${stackId}`,
logRetentionDays: 30
}),
new blueprints.addons.AdotCollectorAddOn(),
cloudWatchAdotAddOn,
new blueprints.addons.XrayAdotAddOn(),
];

ObservabilityBuilder.builder()
.account(account)
.region(region)
.version('auto')
.addNewClusterObservabilityBuilderAddOns()
.enableMixedPatternAddOns()
.addOns(...addOns)
.build(scope, stackId);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import { GrafanaOperatorSecretAddon } from './grafanaoperatorsecretaddon';
import * as amp from 'aws-cdk-lib/aws-aps';
import * as eks from 'aws-cdk-lib/aws-eks';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
import { ObservabilityBuilder } from '../common/observability-builder';
import { ObservabilityBuilder } from '@aws-quickstart/eks-blueprints';

export default class SingleNewEksGravitonOpenSourceObservabilityPattern {
constructor(scope: Construct, id: string) {
// AddOns for the cluster

const stackId = `${id}-observability-accelerator`;

const account = process.env.COA_ACCOUNT_ID! || process.env.CDK_DEFAULT_ACCOUNT!;
Expand Down Expand Up @@ -53,20 +53,11 @@ export default class SingleNewEksGravitonOpenSourceObservabilityPattern {

Reflect.defineMetadata("ordered", true, blueprints.addons.GrafanaOperatorAddon);
const addOns: Array<blueprints.ClusterAddOn> = [
new blueprints.addons.KubeProxyAddOn("v1.27.1-eksbuild.1"),
new blueprints.addons.AwsLoadBalancerControllerAddOn(),
new blueprints.addons.CertManagerAddOn(),
new blueprints.addons.CloudWatchLogsAddon({
logGroupPrefix: `/aws/eks/${stackId}`,
logRetentionDays: 30
}),
new blueprints.addons.AdotCollectorAddOn(),
new blueprints.addons.AmpAddOn(ampAddOnProps),
new blueprints.addons.XrayAdotAddOn(),
new blueprints.addons.ExternalsSecretsAddOn(),
new blueprints.addons.GrafanaOperatorAddon({
version: 'v5.0.0-rc3'
}),
new blueprints.addons.FluxCDAddOn({"repositories": [fluxRepository]}),
new GrafanaOperatorSecretAddon(),
];
Expand All @@ -81,7 +72,7 @@ export default class SingleNewEksGravitonOpenSourceObservabilityPattern {
.account(account)
.region(region)
.version('auto')
.addNewClusterObservabilityBuilderAddOns()
.enableOpenSourcePatternAddOns(ampAddOnProps,"v1.27.1-eksbuild.1")
.resourceProvider(ampWorkspaceName, new blueprints.CreateAmpProvider(ampWorkspaceName, ampWorkspaceName))
.clusterProvider(new blueprints.MngClusterProvider(mngProps))
.addOns(...addOns)
Expand Down
16 changes: 3 additions & 13 deletions lib/single-new-eks-opensource-observability-pattern/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@ import { utils } from '@aws-quickstart/eks-blueprints';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { GrafanaOperatorSecretAddon } from './grafanaoperatorsecretaddon';
import * as amp from 'aws-cdk-lib/aws-aps';
import { ObservabilityBuilder } from '../common/observability-builder';

import { ObservabilityBuilder } from '@aws-quickstart/eks-blueprints';

export default class SingleNewEksOpenSourceobservabilityPattern {
constructor(scope: Construct, id: string) {
// AddOns for the cluster

const stackId = `${id}-observability-accelerator`;

const account = process.env.COA_ACCOUNT_ID! || process.env.CDK_DEFAULT_ACCOUNT!;
Expand Down Expand Up @@ -55,20 +54,11 @@ export default class SingleNewEksOpenSourceobservabilityPattern {

Reflect.defineMetadata("ordered", true, blueprints.addons.GrafanaOperatorAddon);
const addOns: Array<blueprints.ClusterAddOn> = [
new blueprints.addons.KubeProxyAddOn(),
new blueprints.addons.AwsLoadBalancerControllerAddOn(),
new blueprints.addons.CertManagerAddOn(),
new blueprints.addons.CloudWatchLogsAddon({
logGroupPrefix: `/aws/eks/${stackId}`,
logRetentionDays: 30
}),
new blueprints.addons.AdotCollectorAddOn(),
new blueprints.addons.AmpAddOn(ampAddOnProps),
new blueprints.addons.XrayAdotAddOn(),
new blueprints.addons.ExternalsSecretsAddOn(),
new blueprints.addons.GrafanaOperatorAddon({
version: 'v5.0.0-rc3'
}),
new blueprints.addons.FluxCDAddOn({"repositories": [fluxRepository]}),
new GrafanaOperatorSecretAddon(),
];
Expand All @@ -77,7 +67,7 @@ export default class SingleNewEksOpenSourceobservabilityPattern {
.account(account)
.region(region)
.version('auto')
.addNewClusterObservabilityBuilderAddOns()
.enableOpenSourcePatternAddOns(ampAddOnProps)
.resourceProvider(ampWorkspaceName, new blueprints.CreateAmpProvider(ampWorkspaceName, ampWorkspaceName))
.addOns(...addOns)
.build(scope, stackId);
Expand Down
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "cdk-aws-observability-accelerator",
"version": "0.1.0",
"version": "0.2.0",
"scripts": {
"build": "rm -rf dist && tsc --skipLibCheck",
"watch": "tsc -w",
Expand All @@ -10,7 +10,7 @@
"lint": "npx eslint . --ext .js,.jsx,.ts,.tsx"
},
"devDependencies": {
"@aws-quickstart/eks-blueprints": "^1.11.0",
"@aws-quickstart/eks-blueprints": "^1.11.3",
"@types/jest": "^29.5.1",
"@types/node": "^18.15.12",
"@typescript-eslint/eslint-plugin": "^5.59.0",
Expand All @@ -23,14 +23,14 @@
"typescript": "^5.0.4"
},
"dependencies": {
"@aws-quickstart/eks-blueprints": "^1.11.0",
"@aws-quickstart/eks-blueprints": "^1.11.3",
"constructs": "^10.0.0",
"aws-cdk": "2.91.0",
"eks-blueprints-cdk-kubeflow-ext": "0.1.9",
"source-map-support": "^0.5.21"
},
"overrides": {
"@aws-quickstart/eks-blueprints": "^1.11.0",
"@aws-quickstart/eks-blueprints": "^1.11.3",
"aws-cdk": "2.91.0",
"xml2js": "0.5.0"
}
Expand Down

0 comments on commit a119c0a

Please sign in to comment.