11import { Construct } from 'constructs' ;
2- import { EksBlueprint , utils } from '@aws-quickstart/eks-blueprints' ;
2+ import { utils } from '@aws-quickstart/eks-blueprints' ;
33import * as blueprints from '@aws-quickstart/eks-blueprints' ;
44import { GrafanaOperatorSecretAddon } from './grafanaoperatorsecretaddon' ;
55import * as amp from 'aws-cdk-lib/aws-aps' ;
6+ import { ObservabilityBuilder } from '../common/observability-builder' ;
67import * as assert from "assert" ;
78
9+
810export default class SingleNewEksOpenSourceobservabilityConstruct {
911 constructor ( scope : Construct , id : string ) {
1012 // AddOns for the cluster
1113 const stackId = `${ id } -observability-accelerator` ;
12- // All Grafana Dashboard Default URLs
13- const clusterDefaultDashUrl = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/cluster.json" ;
14- const kubeletDefaultDashUrl = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/kubelet.json" ;
15- const namespaceWorkloadsDefaultDashUrl = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/namespace-workloads.json" ;
16- const nodeExporterDefaultDashUrl = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/nodeexporter-nodes.json" ;
17- const nodesDefaultDashUrl = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/nodes.json" ;
18- const workloadsDefaultDashUrl = "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/workloads.json" ;
1914
2015 const account = process . env . COA_ACCOUNT_ID ! || process . env . CDK_DEFAULT_ACCOUNT ! ;
2116 const region = process . env . COA_AWS_REGION ! || process . env . CDK_DEFAULT_REGION ! ;
@@ -24,24 +19,19 @@ export default class SingleNewEksOpenSourceobservabilityConstruct {
2419
2520 const amgEndpointUrl = process . env . COA_AMG_ENDPOINT_URL ;
2621
27- // All Grafana Dashboard URLs from `cdk.json` if present
28- const clusterDashUrl : string = utils . valueFromContext ( scope , "cluster.dashboard.url" , clusterDefaultDashUrl ) ;
29- const kubeletDashUrl : string = utils . valueFromContext ( scope , "kubelet.dashboard.url" , kubeletDefaultDashUrl ) ;
30- const namespaceWorkloadsDashUrl : string = utils . valueFromContext ( scope , "cluster.dashboard.url" , namespaceWorkloadsDefaultDashUrl ) ;
31- const nodeExporterDashUrl : string = utils . valueFromContext ( scope , "kubelet.dashboard.url" , nodeExporterDefaultDashUrl ) ;
32- const nodesDashUrl : string = utils . valueFromContext ( scope , "cluster.dashboard.url" , nodesDefaultDashUrl ) ;
33- const workloadsDashUrl : string = utils . valueFromContext ( scope , "kubelet.dashboard.url" , workloadsDefaultDashUrl ) ;
22+ // assert(amgEndpointUrl, "AMG Endpoint URL environmane variable COA_AMG_ENDPOINT_URL is mandatory");
23+
24+ // All Grafana Dashboard URLs from `cdk.json` if presentgi
25+ const clusterDashUrl : string = utils . valueFromContext ( scope , "cluster.dashboard.url" , undefined ) ;
26+ const kubeletDashUrl : string = utils . valueFromContext ( scope , "kubelet.dashboard.url" , undefined ) ;
27+ const namespaceWorkloadsDashUrl : string = utils . valueFromContext ( scope , "cluster.dashboard.url" , undefined ) ;
28+ const nodeExporterDashUrl : string = utils . valueFromContext ( scope , "kubelet.dashboard.url" , undefined ) ;
29+ const nodesDashUrl : string = utils . valueFromContext ( scope , "cluster.dashboard.url" , undefined ) ;
30+ const workloadsDashUrl : string = utils . valueFromContext ( scope , "kubelet.dashboard.url" , undefined ) ;
31+
3432
3533 Reflect . defineMetadata ( "ordered" , true , blueprints . addons . GrafanaOperatorAddon ) ;
3634 const addOns : Array < blueprints . ClusterAddOn > = [
37- new blueprints . addons . AwsLoadBalancerControllerAddOn ( ) ,
38- new blueprints . addons . VpcCniAddOn ( ) ,
39- new blueprints . addons . CoreDnsAddOn ( ) ,
40- new blueprints . addons . KubeProxyAddOn ( ) ,
41- new blueprints . addons . CertManagerAddOn ( ) ,
42- new blueprints . addons . ExternalsSecretsAddOn ( ) ,
43- new blueprints . addons . PrometheusNodeExporterAddOn ( ) ,
44- new blueprints . addons . KubeStateMetricsAddOn ( ) ,
4535 new blueprints . addons . CloudWatchLogsAddon ( {
4636 logGroupPrefix : `/aws/eks/${ stackId } ` ,
4737 logRetentionDays : 30
@@ -77,7 +67,7 @@ export default class SingleNewEksOpenSourceobservabilityConstruct {
7767 new GrafanaOperatorSecretAddon ( ) ,
7868 ] ;
7969
80- EksBlueprint . builder ( )
70+ ObservabilityBuilder . builder ( )
8171 . account ( account )
8272 . region ( region )
8373 . resourceProvider ( ampWorkspaceName , new blueprints . CreateAmpProvider ( ampWorkspaceName , ampWorkspaceName ) )
0 commit comments