diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-26 16:42:17 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-26 16:42:19 -0700 |
commit | 82f8b4d838de3fb8eda5db9b23c5bc48ab281f9e (patch) | |
tree | 2b684049829c72fbdd4289535b18a19b884f377b /golang/README.md | |
parent | 9b3e52e813bbd9dc9b1771ca2c63e33d93048e97 (diff) | |
download | fatcat-82f8b4d838de3fb8eda5db9b23c5bc48ab281f9e.tar.gz fatcat-82f8b4d838de3fb8eda5db9b23c5bc48ab281f9e.zip |
remove golang API server
Not following that path; this is to prevent future confusion. All code
is still in version control.
Diffstat (limited to 'golang/README.md')
-rw-r--r-- | golang/README.md | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/golang/README.md b/golang/README.md deleted file mode 100644 index 9bcfdfb5..00000000 --- a/golang/README.md +++ /dev/null @@ -1,65 +0,0 @@ - -This folder contains source for the fatcat API daemon ("fatcatd"), written in -golang. - - -## Structure - -fatcatd is essentially just glue between two declarative schemas: - -- a postgres-flavor SQL database schema -- an OpenAPI/Swagger REST API definition - -## Dev Setup - -- postgres 9.6+ running locally -- golang environment configured - - https://github.com/golang/dep -- checkout (or symlink) this repo to $GOPATH/src/git.archive.org/bnewbold/fatcat -- dep ensure - -On debian/ubuntu: - - sudo -u postgres createuser -s `whoami` - createdb -O `whoami` fatcat - psql fatcat -f fatcat-schema.sql - -Build with: - - go build ./cmd/*/ - -## Simplifications - -In early development, we'll make at least the following simplifications: - -- authentication (authn and authz) are not enforced and don't have user - interfaces. actual authentication will be eased in via a microservice and/or - oauth to gitlab/github/orcid.org -- "extra" metadata is stored in-entity as JSONB. In the future this might be - broken out to a separate table -- libraries won't be vendored; in the future they will be via a git submodule - - -## OpenAPI Code Generation - - cat fatcat-openapi2.yml | python3 -c 'import sys, yaml, json; json.dump(yaml.load(sys.stdin), sys.stdout, indent=4)' > fatcat-openapi2.json - -Install the go-swagger tool: - - go get -u github.com/go-swagger/go-swagger/cmd/swagger - - -"Simple" server: - - swagger generate server -A Fatcat -f fatcat-openapi2.json - -"Custom" server: - - swagger generate server -A fatcat -f ./fatcat-openapi2.json --exclude-main -t gen - -## Future - -Could refactor the API side to use gRPC and grpc-gateway instead of swagger -(which would result in a compatible REST JSON interface). For faster bots and -import, and lower latency between webface and backend. - |