README
¶
solo-kit
A collection of code generation and libraries to for API development.
Description:
- Define your declarative API in
.proto
files - APIs are defined by top-level protobuf messages in
.proto
files - Run Solo Kit's code generation and import generated files as libraries into your application.
- These libraries provide an opinionated suite of tools for building a stateless, event-driven application.
- Currently only Go is supported, but other languages may be supported in the future.
- We are looking for community feedback and support!
Examples
See test/mock_resources.proto
and test/generate.go
for an example of how to use solo-kit
Build
- clone repo to gopath
- gather dependencies:
dep ensure -v
- use binary produced with
make solo-kit-gen
or importcmd.Run(...)
into your own code gen code
Usage
- re-run whenever you change or add an api (.proto file)
- api objects generated from messages defined in protobuf files with magic comments prefixed with
@solo-kit
- run
solo-kit-gen
recursively at the root of anapi
directory containing one or moresolo-kit.json
files - generated files have the
.sk.go
suffix (generated test files do not include this suffix)
solo-kit-gen
Note: solo-kit-gen
will become deprecated in favor of a more robustly featured solo-kit
CLI
sometime in the near future.
./solo-kit-gen -h
Usage of ./solo-kit-gen:
-docs
generate docs as well (default true)
-gogo
compile normal gogo protos (default true)
-i value
import additional directories as proto roots (repeated flag, specify as many times as desired)
-r string
path to project absoluteRoot
-s value
skip generating for this directory (repeated flag, specify as many times as desired)
Documentation
¶
There is no documentation for this package.
Directories
¶
Path | Synopsis |
---|---|
api
|
|
cmd
|
|
pkg
|
|
api/v1/clients/kube/crd/client/clientset/versioned
This package has the automatically generated clientset.
|
This package has the automatically generated clientset. |
api/v1/clients/kube/crd/client/clientset/versioned/fake
This package has the automatically generated fake clientset.
|
This package has the automatically generated fake clientset. |
api/v1/clients/kube/crd/client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
|
This package contains the scheme of the automatically generated clientset. |
api/v1/clients/kube/crd/client/clientset/versioned/typed/solo.io/v1
This package has the automatically generated typed clients.
|
This package has the automatically generated typed clients. |
api/v1/clients/kube/crd/client/clientset/versioned/typed/solo.io/v1/fake
Package fake has the automatically generated clients.
|
Package fake has the automatically generated clients. |
api/v1/clients/kube/crd/solo.io/v1
Package v1 is the v1 version of the API.
|
Package v1 is the v1 version of the API. |
api/v1/clients/mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
api/v1/control-plane/cache
Package cache defines a configuration cache for the server.
|
Package cache defines a configuration cache for the server. |
api/v1/control-plane/log
Package log provides a logging interface for use in this library.
|
Package log provides a logging interface for use in this library. |
api/v1/control-plane/server
Package server provides an implementation of a streaming xDS server.
|
Package server provides an implementation of a streaming xDS server. |
api/v1/control-plane/util
Package util contains shared utility functions.
|
Package util contains shared utility functions. |
test
|
|
Click to show internal directories.
Click to hide internal directories.