Toolkit for developing stateless, event-driven, declarative API systems
Branch: master
Clone or download
yuval-k for eds to work, mem client need to support all namespaces (#87)
* for eds to work, mem client need to support all namespaces

* modify test to test all namespaces
Latest commit 73680f9 Feb 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.githooks
api
cmd Sk rst (#83) Feb 14, 2019
pkg for eds to work, mem client need to support all namespaces (#87) Feb 20, 2019
test for eds to work, mem client need to support all namespaces (#87) Feb 20, 2019
.gitignore
Gopkg.lock NamespaceAll, Secret/Configmap Caching (#81) Feb 6, 2019
Gopkg.toml remove control plane from toml, as we dont care about its version (#76) Jan 28, 2019
Makefile
README.md remove undeleted protoc plugin stuff, update readme (#26) Dec 21, 2018
cloudbuild.yaml Skip docs gen (#77) Jan 29, 2019

README.md

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 import cmd.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 an api directory containing one or more solo-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)