go.ice

module
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 3, 2019 License: MIT

README

go.ice


go.ice


GoDoc Build Status codecov loc FOSSA Status

go.ice is a server application toolkit with profiling in mind. It is still under early development, nothing is stable (including package names), see roadmap for current progress.

Goals

  • write server implementation and client library at same time
  • integration with tracing and monitoring systems
  • multiple transport support, HTTP, gRPC
  • a simple UI toolkit for build dashboard using Vue

Non Goals

  • a Rails like web framework, buffalo is a good choice if you want one

License

FOSSA Status

About

The name go.ice comes from @arrowrowe. The banner is drawn by @at15.

The project was started by @at15 as a server framework for developing tsdb benchmark tools & tsdb. (Xephonhq and BenchHub) and later transferred to dyweb.

Directories

Path Synopsis
api
generator
Package generator generates doc, http server stub, http client based on user defined types and definitions
Package generator generates doc, http server stub, http client based on user defined types and definitions
openapi
Package openapi defines structs for OpenAPI v3 schema The example specs snippets in the comments are directly copied from https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md
Package openapi defines structs for OpenAPI v3 schema The example specs snippets in the comments are directly copied from https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md
Package cli provides wrapper around spf13/cobra so test is easier
Package cli provides wrapper around spf13/cobra so test is easier
cmd
dk
dk is a docker cli using go.ice's cli and dockerclient package
dk is a docker cli using go.ice's cli and dockerclient package
Package db provides cli commands, util and migration for SQL databases
Package db provides cli commands, util and migration for SQL databases
example
github/pkg/icehubpb
Package icehubpb is a generated protocol buffer package.
Package icehubpb is a generated protocol buffer package.
github/pkg/server
Package server contains http and grpc server
Package server contains http and grpc server
github/pkg/transport/grpc
Package grpc is a generated protocol buffer package.
Package grpc is a generated protocol buffer package.
Package httpclient is a high level wrapper around net/http with more types and easier to use interface TODO: ref https://github.com/bradfitz/exp-httpclient
Package httpclient is a high level wrapper around net/http with more types and easier to use interface TODO: ref https://github.com/bradfitz/exp-httpclient
ice
cli
Package cli wraps cobra and provides util command for go.ice and gommon
Package cli wraps cobra and provides util command for go.ice and gommon
config
Package config defines common config struct to avoid cycle dependency
Package config defines common config struct to avoid cycle dependency
db
Package db defines interface for using RDBMS
Package db defines interface for using RDBMS
db/adapters/mysql
Package mysql wraps github.com/go-sql-driver/mysql
Package mysql wraps github.com/go-sql-driver/mysql
db/adapters/postgres
Package postgres wraps github.com/jackc/pgx
Package postgres wraps github.com/jackc/pgx
db/adapters/sqlite
Package sqlite wraps github.com/mattn/go-sqlite3
Package sqlite wraps github.com/mattn/go-sqlite3
db/migration
Package migration provides database schema migration
Package migration provides database schema migration
tracing
Package tracing wraps opentracing api
Package tracing wraps opentracing api
transport
Package transport wraps server creation for common protocols like http, grpc
Package transport wraps server creation for common protocols like http, grpc
transport/grpc
Package grpc wraps google.golang.org/grpc
Package grpc wraps google.golang.org/grpc
transport/http
Package http wraps net/http
Package http wraps net/http
lib
dockerclient
Package dockerclient is a docker client that only uses types defined in docker.
Package dockerclient is a docker client that only uses types defined in docker.
esclient
Package esclient is client for elasticsearch It is an example for httpclient package, it is currently in tree and will be moved to its own repo
Package esclient is client for elasticsearch It is an example for httpclient package, it is currently in tree and will be moved to its own repo
githubclient
Package githubclient is a client for https://developer.github.com/v3/ (v4 is GraphQL) It is an example for httpclient package, it is currently in tree and will be moved to its own repo
Package githubclient is a client for https://developer.github.com/v3/ (v4 is GraphQL) It is an example for httpclient package, it is currently in tree and will be moved to its own repo
playground
udash
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL