@timmyers/pulumi-k8s-metrics-server

🍹📈 pulumi-k8s-metrics-server

Usage no npm install needed!

<script type="module">
  import timmyersPulumiK8sMetricsServer from 'https://cdn.skypack.dev/@timmyers/pulumi-k8s-metrics-server';
</script>

README

🍹📈 pulumi-k8s-metrics-server

Actions Status npm codecov semantic-release Dependabot Status

A pulumi module for instantiating Kubernetes Metrics Servers.

Aims to be a full-featured pulumi native alternative to the helm chart. Currently only javascript/typescript are supported. Other languages may follow.

Usage

yarn add @timmyers/pulumi-k8s-metrics-server

import K8sMetricsServer, { MetricsServerArgs } from '@timmyers/pulumi-k8s-metrics-server';

const args: MetricsServerArgs = {};
const metricsServer = new K8sMetricsServer('metrics-server', args);

The module exposes an interface MetricsServerArgs, which exposes many options that can be set, similar to the helm chart.

Examples

Instantiate an EKS cluster in multiple AWS regions, and create a metrics-server in each.

import * as aws from '@pulumi/aws';
import K8sMetricsServer from '@timmyers/pulumi-k8s-metrics-server';

const regions: aws.Region[] = [
  'us-west-2', // Oregon
  'eu-central-1', // Frankfurt
];

regions.forEach((region): void => {
  const provider = new aws.Provider(`provider-${region}`, { region });
  const defaultOpts: pulumi.ComponentResourceOptions = { provider };
  const cluster = new eks.Cluster(`cluster-${region}`, {}, defaultOpts);

  const k8sDefaultOpts = { providers: { kubernetes: cluster.provider } };
  const metricsServer = new K8sMetricsServer(name, {}, k8sDefaultOpts);
});

Development

Installation

Clone the repo, then: yarn

Running tests

yarn test