Skip to content

raelix/pulumi-kind

Repository files navigation

kind Resource Provider

The kind Resource Provider lets you manage kind resources.

It is based on the Kind Terraform Provider.

Installing

Install the plugin with pulumi cli

pulumi plugin install resource kind v0.0.1 --server "github://api.github.com/raelix"

Remember to replace the 'v0.0.1' with the right version

This package is available for several languages/platforms:

Node.js (JavaScript/TypeScript)

To use from JavaScript or TypeScript in Node.js, install using either npm:

npm install @pulumi/kind

or yarn:

yarn add @pulumi/kind

Python

To use from Python, install using pip:

pip install pulumi_kind

Go

To use from Go, use go get to grab the latest version of the library:

go get github.com/raelix/pulumi-kind/sdk/

.NET

To use from .NET, install using dotnet add package:

dotnet add package Pulumi.kind

Configuration

WIP The following configuration points are available for the kind provider:

  • kind:apiKey (environment: kind_API_KEY) - the API key for kind
  • kind:region (environment: kind_REGION) - the region in which to deploy resources

Reference

For detailed reference documentation, please visit the Pulumi registry.

Developer

Prerequisites

Ensure the following tools are installed and present in your $PATH:

Create the schema by running the following command:

Create the schema necessary to build the plugin

make tfgen

Build the provider

Build the binary and ensure there are no warnings about unmapped resources and no warnings about unmapped data sources:

make provider

Build the SDKs

Build the SDKs in the various languages Pulumi supports:

make build_sdks

Ensure the build

Run this command to ensure the Golang SDK is a proper go module:

cd sdk && go mod tidy && cd -

Expose the provider

Copy the pulumi-resource-kind binary generated by make provider and place it in your $PATH ($GOPATH/bin is a convenient choice), e.g.:

cp bin/pulumi-resource-kind $GOPATH/bin

Build and push

Pre-requisite

  • goreleaser

Check if locally itworks

goreleaser release --snapshot --clean

Export github token

export GITHUB_TOKEN="YOUR_GH_TOKEN"

Create a tag

git tag -a v0.1.0 -m "First release"
git push origin v0.1.0

Release

goreleaser release