Run the following command to install the pulumi-eks package:
npm install @pulumi/eks
The package will be added to node_modules
, package.json
, and package-lock.json
. In keeping with our TDD theme, let’s
start with the tests failing to begin with (we are using the default VPC and not specifying a version). To our index.ts
, we
will add the following cluster declaration
import * as eks from "@pulumi/eks";
// Create a basic EKS cluster.
const cluster = new eks.Cluster("my-cluster", {
desiredCapacity: 2,
minSize: 1,
maxSize: 2,
storageClasses: "gp2",
deployDashboard: false,
});
To run our tests, we need to run the deployment with pulumi up
but also pass an extra parameter to point to the tests
policies.
As expected, the result shows a test failure at the bottom:
$ pulumi up --policy-pack tests
You will see similar information printed out as follows:
Diagnostics:
pulumi:pulumi:Stack (prop-testing-dev):
error: preview failed
Policy Violations:
[mandatory] tests-pack v0.0.1 eks-test (prop-testing-dev: pulumi:pulumi:Stack)
EKS integration tests.
Expected EKS Cluster 'my-cluster-eksCluster-89c1d7d' version to be '1.16' but found 'undefined'
Note that only one test failed: the VPC test requires the actual deployment to run to retrieve a VPC ID because ID is unknown during the preview (the VPC does not exist yet).