tink-server is the primary metadata manager for Tinkerbell, using PostgreSQL for the data store and exposing a gRPC and HTTP API for you to interact with it.
Right now there are three main resources:
- Hardware Data represents a server, router, or generally something you want to provision via Tinkerbell.
- A Template represents what we want to execute.
- A Workflow is a single execution of a template targeting a specific hardware.
By default the gRPC server runs on port
:42113 but you can change it using the environment variable
The HTTP server runs on port
:42114 and you can change it as well using the environment variable
Building the Binary
tink-server uses the standard Golang toolchain.
You can clone the
git clone firstname.lastname@example.org:tinkerbell/tink go run cmd/tink-server/main.go ./tink-server
Currently, we're working on:
- Building better API and client documentation. Right now there is nothing in place.
- We want to version the current API (both gRPC and HTTP) under a
- gRPC requires TLS to work but the implementation is not great, there is no concept of identity and the cert is served by the HTTP client. Probably as first step we will remove TLS.