0.5.0 • Published 3 years ago

@keptn/keptn-executionplane-eks-blueprints-addon v0.5.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 years ago

Keptn Execution Plane Add-On for the Amazon EKS Blueprints

main

The Keptn Execution Plane Add-On for the Amazon EKS Blueprints enables platform administrators to install a keptn Execution Plane during the bootstrapping process of an EKS cluster.

Therefore, this Add-On installs the an Execution Plane Helm Chart and configures it to connect to your Keptn to your Keptn Control Plane

AWS Secret Manager Secrets

If you plan to use Secret Manager Secrets, you need to create a secret first.

Therefore:

  • Open your AWS Console
  • Search for "Secrets Manager"
  • Create a new secret ("Store a new secret")
    • Secret Type: "Other type of secret"
    • Key/value pairs
      • API_TOKEN=""
  • Remember the name you assigned to the secret

Usage

The Add-On can be used by either specifying the name of a Secrets Manager secret or the API Token and Bridge password.

You can find informations how to get started with EKS Blueprints Projects here.

Example Configuration (secrets in Secrets Manager):

import 'source-map-support/register';
import * as cdk from 'aws-cdk-lib';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { KeptnExecutionPlaneAddOn } from '@keptn/keptn-executionplane-eks-blueprints-addon' 

const app = new cdk.App();
const account = '<AWS ACCOUNT ID>';
const region = '<AWS REGION>';

const KeptnExecutionPlane = new KeptnExecutionPlaneAddOn({
    ssmSecretName: 'keptn-secrets',
    controlPlaneHost: 'mykeptn.yourdomain.com',    
})

blueprints.EksBlueprint.builder()
    .account(account)
    .region(region)
    .addOns(new blueprints.addons.CalicoAddOn)
    .addOns(new blueprints.addons.MetricsServerAddOn,)
    .addOns(new blueprints.addons.ClusterAutoScalerAddOn)
    .addOns(new blueprints.addons.ContainerInsightsAddOn)
    .addOns(new blueprints.addons.AwsLoadBalancerControllerAddOn())
    .addOns(new blueprints.addons.VpcCniAddOn())
    .addOns(new blueprints.addons.CoreDnsAddOn())
    .addOns(new blueprints.addons.KubeProxyAddOn())
    .addOns(new blueprints.addons.XrayAddOn())
    .addOns(KeptnExecutionPlane)
    .build(app, 'eks-blueprint');

Example Configuration (secrets in code and jmeter-service):

import 'source-map-support/register';
import * as cdk from 'aws-cdk-lib';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { KeptnExecutionPlaneAddOn } from '@keptn/keptn-executionplane-eks-blueprints-addon' 

const app = new cdk.App();
const account = '<AWS ACCOUNT ID>';
const region = '<AWS REGION>';

const KeptnExecutionPlane = new KeptnExecutionPlaneAddOn({
    apiToken: '<your-api-token>',
    chartName: 'jmeter-service',
    controlPlaneHost: 'mykeptn.yourdomain.com',
})

blueprints.EksBlueprint.builder()
    .account(account)
    .region(region)
    .addOns(new blueprints.addons.CalicoAddOn)
    .addOns(new blueprints.addons.MetricsServerAddOn,)
    .addOns(new blueprints.addons.ClusterAutoScalerAddOn)
    .addOns(new blueprints.addons.ContainerInsightsAddOn)
    .addOns(new blueprints.addons.AwsLoadBalancerControllerAddOn())
    .addOns(new blueprints.addons.VpcCniAddOn())
    .addOns(new blueprints.addons.CoreDnsAddOn())
    .addOns(new blueprints.addons.KubeProxyAddOn())
    .addOns(new blueprints.addons.XrayAddOn())
    .addOns(KeptnExecutionPlane)
    .build(app, 'eks-blueprint');

Add-On Options

NameTypeDefaultDescription
ssmSecretNamestringThe AWS Secrets Manager Secret which is containing the Keptn API Token (key: API_TOKEN)
apiTokenstringKeptn API Token is used to connect to the Keptn API, not needed if a ssmSecretName is specified
namespacestringkeptnNamespace where the keptn Control Plane will be deployed
helmrepostringhttps://storage.googleapis.com/keptn-installerHelm Repository which will be used for installing Keptn
versionstring0.11.4The Version of Keptn which should get installed
controlPlaneHoststringHostname of your Keptn Control Plane
chartNamestringhelm-serviceName of the Execution Plane helm-chart

Enhancements / Bugs

You are welcome to use issues to report bugs or request enhancements.