commit 5be51f687366716da1b47629d8715cb6fa30b346 Author: Within Date: Tue Nov 5 11:27:00 2019 -0500 initial commit diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d27851a --- /dev/null +++ b/LICENSE @@ -0,0 +1,12 @@ +Copyright (c) 2019 Within + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file diff --git a/doc/spec.md b/doc/spec.md new file mode 100644 index 0000000..0420b1c --- /dev/null +++ b/doc/spec.md @@ -0,0 +1,17 @@ +# iconia: A Service Gateway + +The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", +"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be +interpreted as described in RFC 2119. + +## Abstract + +Operating TCP services in production environments can be a troublesome thing in +practice. At smaller scales it is easy to have a single server terminating a +single service. Once that scales however, that gets more and more difficult as +the complexity of the setup increases. + +We need a better option. + +Iconia is a service gateway designed to help alleviate these problems while +maintaining the diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..87b3683 --- /dev/null +++ b/go.mod @@ -0,0 +1,9 @@ +module tulpa.dev/cadey/iconia + +go 1.12 + +require ( + github.com/golang/protobuf v1.3.2 + github.com/twitchtv/twirp v5.8.0+incompatible + github.com/xtaci/smux v1.4.4 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..6fb4512 --- /dev/null +++ b/go.sum @@ -0,0 +1,10 @@ +github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/twitchtv/twirp v5.8.0+incompatible h1:DTfGS9u/jHbo34cBB+qhzVHRaAq+tRois71j8pvjQ5M= +github.com/twitchtv/twirp v5.8.0+incompatible/go.mod h1:RRJoFSAmTEh2weEqWtpPE3vFK5YBhA6bqp2l1kfCC5A= +github.com/xtaci/smux v1.4.4 h1:FukIfahko+KHhS9Gxppkp6756opZymvPOLNmpny1is4= +github.com/xtaci/smux v1.4.4/go.mod h1:LuA3S0xssf4fmGRJ7ow3EehgmDUzib4EcobaFNKvlMA= +github.com/xtaci/smux v2.0.1+incompatible h1:4NrCD5VzuFktMCxK08IShR0C5vKyNICJRShUzvk0U34= +github.com/xtaci/smux v2.0.1+incompatible/go.mod h1:f+nYm6SpuHMy/SH0zpbvAFHT1QoMcgLOsWcFip5KfPw= diff --git a/tools.go b/tools.go new file mode 100644 index 0000000..19be3d3 --- /dev/null +++ b/tools.go @@ -0,0 +1,16 @@ +//+build tools + +package main + +import ( + "fmt" + "os" + + _ "github.com/golang/protobuf/protoc-gen-go" + _ "github.com/twitchtv/twirp/protoc-gen-twirp" +) + +func main() { + fmt.Println("this is not meant to be called directly") + os.Exit(2) +}