Skip to content

cdklabs/awscdk-asset-kubectl

Folders and files

NameName
Last commit message
Last commit date
Oct 29, 2024
Jan 25, 2025
Feb 7, 2025
Nov 1, 2022
Feb 11, 2025
Nov 19, 2024
Oct 10, 2024
Oct 10, 2024
Oct 18, 2024
Oct 10, 2024
Oct 10, 2024
Nov 1, 2022
Sep 14, 2022
Feb 7, 2025
Sep 14, 2022
Sep 14, 2022
Nov 2, 2022
Feb 25, 2025
Oct 10, 2024
Feb 27, 2025

Repository files navigation

Asset with KubeCtl v1.20


cdk-constructs: Stable


This module bundles the kubectl and the helm command line as a local asset. It exposes constants ASSET_FILE and LAYER_SOURCE_DIR that can be consumed via the cdk Asset construct.

  • Helm Version: 3.8.1
  • Kubectl Version: 1.20.0

Usage:

// ASSET_FILE bundles the 'kubectl' and 'helm' command lines
import { ASSET_FILE, LAYER_SOURCE_DIR } from '@aws-cdk/asset-kubectl-v20';
import * as lambda from 'aws-cdk-lib/aws-lambda';
import * as s3_assets from 'aws-cdk-lib/aws-s3-assets';
import { FileSystem } from 'aws-cdk-lib';

declare const fn: lambda.Function;
const asset = new s3_assets.Asset(this, 'layer-asset', {
  path: ASSET_FILE,
  assetHash: FileSystem.fingerprint(LAYER_SOURCE_DIR),
});

fn.addLayers(new lambda.LayerVersion(this, 'KubectlLayer', {
  code: lambda.Code.fromBucket(asset.bucket, asset.s3ObjectKey),
  description: '/opt/kubectl/kubectl and /opt/helm/helm',
}));

kubectl will be installed under /opt/kubectl/kubectl, and helm will be installed under /opt/helm/helm.