An open API service indexing awesome lists of open source software.

https://github.com/stuartleeks/virtual-kubelet-web-mock-go

Mock API for the Virtual Kubelet web provider written in Go
https://github.com/stuartleeks/virtual-kubelet-web-mock-go

Last synced: about 1 year ago
JSON representation

Mock API for the Virtual Kubelet web provider written in Go

Awesome Lists containing this project

README

          

# Virtual Kubelet Web Provider Go Mock Implementation
This project is a sample API implementation for the [Virtual Kubelet](https://github.com/virtual-kubelet/virtual-kubelet) [web provider](https://github.com/virtual-kubelet/virtual-kubelet/tree/master/providers/web) written in Go

This API simply stores the a list of the pods that it has been requested to create, marks them as started and serves up their status

```
+----------------+ +---------------------------+ +------------------------------+
| | | | HTTP | |
| Kubernetes | <-----> | Virtual Kubelet: Web | <------> | This sample/mock API |
| | | | | |
+----------------+ +---------------------------+ +------------------------------+
```

## Running locally for development

To run the API locally, run `go run main.go`

## Connecting the API with Virtual Kubelet locally

To connect Virtual Kubelet to the API, set the `WEB_ENDPOINT_URL` environment variable to `http://localhost:3000/` (or whatever you have exposed the API as)

```bash
export WEB_ENDPOINT_URL=http://localhost:3000/
```

Then run `virtual-kubelet` with the `--provider web` switch. This will run Virtual Kubelet on your local machine. It will connect to Kubernetes based on the kubectl config, and connect to the API defined in the `WEB_ENDPOINT_URL` environment variable

## Visualising the API state

You can use `kubectl` commands to query running pods, but you can also run [Virtual Kubelet Web UI](https://github.com/stuartleeks/virtual-kubelet-web-ui) to connect to the API directly and show details of the running pods and their status.