Skip to content


The Include construct can be used to include an existing manifest in a chart.

The following example will include the Kubernetes Dashboard in MyChart:

import { Include } from 'cdk8s';

class MyChart extends Chart {
  constructor(scope: Construct, id: string) {
    super(scope, id);

    const dashboard = new Include(this, 'dashboard', {
      url: '',
      // or
      url: 'dashboard.yaml'

    // ...other resources

All API objects defined in the included manifest will be added as children ApiObjects under the Include construct’s scope and can be accessed through the apiObject property:

The following example queries for all the Deployment resources in the dashboard:

const deploymentApiObject = dashboard.apiObjects.find(c => c.kind === 'Deployment');

NOTE: names of included objects ( are preserved. This means that if you try to include the same manifest twice into the same chart, your manifest will have duplicate definitions of the same objects.