Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raelix/pulumi-kind
https://github.com/raelix/pulumi-kind
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/raelix/pulumi-kind
- Owner: raelix
- License: apache-2.0
- Created: 2023-02-08T13:11:53.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-02-16T20:25:19.000Z (almost 2 years ago)
- Last Synced: 2024-06-22T09:44:36.343Z (6 months ago)
- Language: Python
- Size: 157 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE-OF-CONDUCT.md
Awesome Lists containing this project
README
# kind Resource Provider
The kind Resource Provider lets you manage [kind](https://kind.sigs.k8s.io/) resources.
It is based on the Kind Terraform Provider.
## Installing
Install the plugin with ```pulumi``` cli
```shell
pulumi plugin install resource kind v0.0.1 --server "github://api.github.com/raelix"
```
> Remember to replace the 'v0.0.1' with the right versionThis package is available for several languages/platforms:
### Node.js (JavaScript/TypeScript)
To use from JavaScript or TypeScript in Node.js, install using either `npm`:
```bash
npm install @pulumi/kind
```or `yarn`:
```bash
yarn add @pulumi/kind
```### Python
To use from Python, install using `pip`:
```bash
pip install pulumi_kind
```### Go
To use from Go, use `go get` to grab the latest version of the library:
```bash
go get github.com/raelix/pulumi-kind/sdk/
```### .NET
To use from .NET, install using `dotnet add package`:
```bash
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](https://www.pulumi.com/registry/packages/kind/api-docs/).
## Developer
### Prerequisites
Ensure the following tools are installed and present in your `$PATH`:
- [`pulumictl`](https://github.com/pulumi/pulumictl#installation)
- [Go 1.17](https://golang.org/dl/) or 1.latest
- [NodeJS](https://nodejs.org/en/) 14.x. We recommend using [nvm](https://github.com/nvm-sh/nvm) to manage NodeJS installations.
- [Yarn](https://yarnpkg.com/)
- [TypeScript](https://www.typescriptlang.org/)
- [Python](https://www.python.org/downloads/) (called as `python3`). For recent versions of MacOS, the system-installed version is fine.
- [.NET](https://dotnet.microsoft.com/download)### Create the schema by running the following command:
Create the schema necessary to build the plugin
```bash
make tfgen
```### Build the provider
Build the binary and ensure there are no warnings about unmapped resources and no warnings about unmapped data sources:
```bash
make provider
```### Build the SDKs
Build the SDKs in the various languages Pulumi supports:
```bash
make build_sdks
```### Ensure the build
Run this command to ensure the Golang SDK is a proper go module:
```bash
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.:
```bash
cp bin/pulumi-resource-kind $GOPATH/bin
```## Build and push
### Pre-requisite
- goreleaser### Check if locally itworks
```shell
goreleaser release --snapshot --clean
```
### Export github token
```shell
export GITHUB_TOKEN="YOUR_GH_TOKEN"
```
### Create a tag
```shell
git tag -a v0.1.0 -m "First release"
git push origin v0.1.0
```
### Release
```shell
goreleaser release
```