From 09d6460a133f7812f178dd893879cff8878c0be6 Mon Sep 17 00:00:00 2001 From: Vikram Rangnekar Date: Thu, 16 Apr 2020 00:26:32 -0400 Subject: [PATCH] Make go get to install work. --- .wtc.yaml | 2 +- Dockerfile | 8 +- Makefile | 18 ++-- core/internal/qcode/utils.go | 11 ++- core/internal/qcode/utils_test.go | 50 +++++++++++ docs/guide/guide.md | 41 ++++++--- {cmd => internal}/scripts/bench.sh | 0 {cmd => internal}/scripts/query.lua | 0 {cmd => internal}/scripts/start.sh | 0 {cmd/internal => internal}/serv/.gitignore | 0 {cmd/internal => internal}/serv/actions.go | 0 {cmd/internal => internal}/serv/api.go | 7 +- {cmd/internal => internal}/serv/cmd.go | 16 +++- {cmd/internal => internal}/serv/cmd_conf.go | 0 .../internal => internal}/serv/cmd_migrate.go | 2 +- {cmd/internal => internal}/serv/cmd_new.go | 0 {cmd/internal => internal}/serv/cmd_seed.go | 0 {cmd/internal => internal}/serv/cmd_serv.go | 0 {cmd/internal => internal}/serv/config.go | 0 {cmd/internal => internal}/serv/core.go | 0 .../internal => internal}/serv/corpus/001.gql | 0 {cmd/internal => internal}/serv/fuzz.go | 0 {cmd/internal => internal}/serv/fuzz_test.go | 0 {cmd/internal => internal}/serv/health.go | 0 {cmd/internal => internal}/serv/http.go | 2 +- {cmd/internal => internal}/serv/init.go | 84 +++++++++++++----- .../serv/internal/auth/auth.go | 0 .../serv/internal/auth/jwt.go | 0 .../serv/internal/auth/rails.go | 2 +- .../serv/internal/migrate/migrate.go | 0 .../serv/internal/migrate/migrate_test.go | 0 .../testdata/duplicate/001_create_t1.sql | 0 .../testdata/duplicate/002_create_t2.sql | 0 .../testdata/duplicate/002_duplicate.sql | 0 .../migrate/testdata/empty/.gitignore | 0 .../gap/001_create_people.sql.example | 0 .../migrate/testdata/gap/001_create_t1.sql | 0 .../migrate/testdata/gap/003_irreversible.sql | 0 .../noforward/001_create_no_forward.sql | 0 .../migrate/testdata/sample/001_create_t1.sql | 0 .../migrate/testdata/sample/002_create_t2.sql | 0 .../testdata/sample/003_irreversible.sql | 0 .../sample/004_data_interpolation.sql | 0 .../sample/005_template_inclusion.sql | 0 .../migrate/testdata/sample/shared/v1_001.sql | 0 .../testdata/sample/should_be_ignored.sql | 0 .../serv/internal/rails/auth.go | 0 .../serv/internal/rails/auth_test.go | 0 .../serv/internal/rails/cookie.go | 0 {cmd/internal => internal}/serv/introsp.go | 0 {cmd/internal => internal}/serv/reload.go | 0 {cmd/internal => internal}/serv/rice-box.go | 0 {cmd/internal => internal}/serv/serv.go | 2 +- {cmd/internal => internal}/serv/sqllog.go | 0 .../serv/tmpl/0_init.sql | 0 .../serv/tmpl/Dockerfile | 0 {cmd/internal => internal}/serv/tmpl/dev.yml | 40 ++++++--- .../serv/tmpl/docker-compose.yml | 0 {cmd/internal => internal}/serv/tmpl/prod.yml | 18 +++- {cmd/internal => internal}/serv/tmpl/seed.js | 0 {cmd/internal => internal}/serv/utils.go | 0 {cmd/internal => internal}/serv/utils_test.go | 0 .../internal => internal}/serv/web/.gitignore | 0 .../serv/web/build/asset-manifest.json | 0 .../serv/web/build/favicon.ico | Bin .../serv/web/build/index.html | 0 .../serv/web/build/manifest.json | 0 ...nifest.e33bc3c7c6774d7032c490820c96901d.js | 0 .../serv/web/build/service-worker.js | 0 .../build/static/css/main.c6b5c55c.chunk.css | 0 .../static/css/main.c6b5c55c.chunk.css.map | 0 .../web/build/static/js/2.03370bd3.chunk.js | 0 .../build/static/js/2.03370bd3.chunk.js.map | 0 .../build/static/js/main.04d74040.chunk.js | 0 .../static/js/main.04d74040.chunk.js.map | 0 .../build/static/js/runtime-main.4aea9da3.js | 0 .../static/js/runtime-main.4aea9da3.js.map | 0 .../GraphQLLanguageService.js.5ab204b9.flow | 0 .../media/autocompleteUtils.js.4ce7ba19.flow | 0 ...etAutocompleteSuggestions.js.7f98f032.flow | 0 .../media/getDefinition.js.4dbec62f.flow | 0 .../media/getDiagnostics.js.65b0979a.flow | 0 .../getHoverInformation.js.d9411837.flow | 0 .../static/media/getOutline.js.c04e3998.flow | 0 .../build/static/media/index.js.02c24280.flow | 0 .../web/build/static/media/logo.57ee3b60.png | Bin .../serv/web/package.json | 0 .../serv/web/public/favicon.ico | Bin .../serv/web/public/index.html | 0 .../serv/web/public/manifest.json | 0 .../internal => internal}/serv/web/src/App.js | 0 .../serv/web/src/App.test.js | 0 .../serv/web/src/index.css | 0 .../serv/web/src/index.js | 0 .../serv/web/src/logo.svg | 0 .../serv/web/src/serviceWorker.js | 0 {cmd/internal => internal}/serv/web/yarn.lock | 0 {cmd/internal => internal}/serv/ws.go | 0 cmd/main.go => main.go | 10 +-- 99 files changed, 240 insertions(+), 73 deletions(-) create mode 100644 core/internal/qcode/utils_test.go rename {cmd => internal}/scripts/bench.sh (100%) rename {cmd => internal}/scripts/query.lua (100%) rename {cmd => internal}/scripts/start.sh (100%) rename {cmd/internal => internal}/serv/.gitignore (100%) rename {cmd/internal => internal}/serv/actions.go (100%) rename {cmd/internal => internal}/serv/api.go (88%) rename {cmd/internal => internal}/serv/cmd.go (90%) rename {cmd/internal => internal}/serv/cmd_conf.go (100%) rename {cmd/internal => internal}/serv/cmd_migrate.go (99%) rename {cmd/internal => internal}/serv/cmd_new.go (100%) rename {cmd/internal => internal}/serv/cmd_seed.go (100%) rename {cmd/internal => internal}/serv/cmd_serv.go (100%) rename {cmd/internal => internal}/serv/config.go (100%) rename {cmd/internal => internal}/serv/core.go (100%) rename {cmd/internal => internal}/serv/corpus/001.gql (100%) rename {cmd/internal => internal}/serv/fuzz.go (100%) rename {cmd/internal => internal}/serv/fuzz_test.go (100%) rename {cmd/internal => internal}/serv/health.go (100%) rename {cmd/internal => internal}/serv/http.go (97%) rename {cmd/internal => internal}/serv/init.go (66%) rename {cmd/internal => internal}/serv/internal/auth/auth.go (100%) rename {cmd/internal => internal}/serv/internal/auth/jwt.go (100%) rename {cmd/internal => internal}/serv/internal/auth/rails.go (98%) rename {cmd/internal => internal}/serv/internal/migrate/migrate.go (100%) rename {cmd/internal => internal}/serv/internal/migrate/migrate_test.go (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/duplicate/001_create_t1.sql (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/duplicate/002_create_t2.sql (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/duplicate/002_duplicate.sql (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/empty/.gitignore (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/gap/001_create_people.sql.example (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/gap/001_create_t1.sql (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/gap/003_irreversible.sql (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/noforward/001_create_no_forward.sql (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/sample/001_create_t1.sql (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/sample/002_create_t2.sql (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/sample/003_irreversible.sql (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/sample/004_data_interpolation.sql (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/sample/005_template_inclusion.sql (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/sample/shared/v1_001.sql (100%) rename {cmd/internal => internal}/serv/internal/migrate/testdata/sample/should_be_ignored.sql (100%) rename {cmd/internal => internal}/serv/internal/rails/auth.go (100%) rename {cmd/internal => internal}/serv/internal/rails/auth_test.go (100%) rename {cmd/internal => internal}/serv/internal/rails/cookie.go (100%) rename {cmd/internal => internal}/serv/introsp.go (100%) rename {cmd/internal => internal}/serv/reload.go (100%) rename {cmd/internal => internal}/serv/rice-box.go (100%) rename {cmd/internal => internal}/serv/serv.go (98%) rename {cmd/internal => internal}/serv/sqllog.go (100%) rename {cmd/internal => internal}/serv/tmpl/0_init.sql (100%) rename {cmd/internal => internal}/serv/tmpl/Dockerfile (100%) rename {cmd/internal => internal}/serv/tmpl/dev.yml (86%) rename {cmd/internal => internal}/serv/tmpl/docker-compose.yml (100%) rename {cmd/internal => internal}/serv/tmpl/prod.yml (79%) rename {cmd/internal => internal}/serv/tmpl/seed.js (100%) rename {cmd/internal => internal}/serv/utils.go (100%) rename {cmd/internal => internal}/serv/utils_test.go (100%) rename {cmd/internal => internal}/serv/web/.gitignore (100%) rename {cmd/internal => internal}/serv/web/build/asset-manifest.json (100%) rename {cmd/internal => internal}/serv/web/build/favicon.ico (100%) rename {cmd/internal => internal}/serv/web/build/index.html (100%) rename {cmd/internal => internal}/serv/web/build/manifest.json (100%) rename {cmd/internal => internal}/serv/web/build/precache-manifest.e33bc3c7c6774d7032c490820c96901d.js (100%) rename {cmd/internal => internal}/serv/web/build/service-worker.js (100%) rename {cmd/internal => internal}/serv/web/build/static/css/main.c6b5c55c.chunk.css (100%) rename {cmd/internal => internal}/serv/web/build/static/css/main.c6b5c55c.chunk.css.map (100%) rename {cmd/internal => internal}/serv/web/build/static/js/2.03370bd3.chunk.js (100%) rename {cmd/internal => internal}/serv/web/build/static/js/2.03370bd3.chunk.js.map (100%) rename {cmd/internal => internal}/serv/web/build/static/js/main.04d74040.chunk.js (100%) rename {cmd/internal => internal}/serv/web/build/static/js/main.04d74040.chunk.js.map (100%) rename {cmd/internal => internal}/serv/web/build/static/js/runtime-main.4aea9da3.js (100%) rename {cmd/internal => internal}/serv/web/build/static/js/runtime-main.4aea9da3.js.map (100%) rename {cmd/internal => internal}/serv/web/build/static/media/GraphQLLanguageService.js.5ab204b9.flow (100%) rename {cmd/internal => internal}/serv/web/build/static/media/autocompleteUtils.js.4ce7ba19.flow (100%) rename {cmd/internal => internal}/serv/web/build/static/media/getAutocompleteSuggestions.js.7f98f032.flow (100%) rename {cmd/internal => internal}/serv/web/build/static/media/getDefinition.js.4dbec62f.flow (100%) rename {cmd/internal => internal}/serv/web/build/static/media/getDiagnostics.js.65b0979a.flow (100%) rename {cmd/internal => internal}/serv/web/build/static/media/getHoverInformation.js.d9411837.flow (100%) rename {cmd/internal => internal}/serv/web/build/static/media/getOutline.js.c04e3998.flow (100%) rename {cmd/internal => internal}/serv/web/build/static/media/index.js.02c24280.flow (100%) rename {cmd/internal => internal}/serv/web/build/static/media/logo.57ee3b60.png (100%) rename {cmd/internal => internal}/serv/web/package.json (100%) rename {cmd/internal => internal}/serv/web/public/favicon.ico (100%) rename {cmd/internal => internal}/serv/web/public/index.html (100%) rename {cmd/internal => internal}/serv/web/public/manifest.json (100%) rename {cmd/internal => internal}/serv/web/src/App.js (100%) rename {cmd/internal => internal}/serv/web/src/App.test.js (100%) rename {cmd/internal => internal}/serv/web/src/index.css (100%) rename {cmd/internal => internal}/serv/web/src/index.js (100%) rename {cmd/internal => internal}/serv/web/src/logo.svg (100%) rename {cmd/internal => internal}/serv/web/src/serviceWorker.js (100%) rename {cmd/internal => internal}/serv/web/yarn.lock (100%) rename {cmd/internal => internal}/serv/ws.go (100%) rename cmd/main.go => main.go (83%) diff --git a/.wtc.yaml b/.wtc.yaml index 233d2cf..215573f 100644 --- a/.wtc.yaml +++ b/.wtc.yaml @@ -7,7 +7,7 @@ rules: - name: run match: \.go$ ignore: web|examples|docs|_test\.go$ - command: go run cmd/main.go serv + command: go run main.go serv - name: test match: _test\.go$ command: go test -cover {PKG} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 42c38d3..63d1509 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # stage: 1 FROM node:10 as react-build WORKDIR /web -COPY /cmd/internal/serv/web/ ./ +COPY /internal/serv/web/ ./ RUN yarn RUN yarn build @@ -24,8 +24,8 @@ RUN chmod 755 /usr/local/bin/sops WORKDIR /app COPY . /app -RUN mkdir -p /app/cmd/internal/serv/web/build -COPY --from=react-build /web/build/ ./cmd/internal/serv/web/build +RUN mkdir -p /app/internal/serv/web/build +COPY --from=react-build /web/build/ ./internal/serv/web/build RUN go mod vendor RUN make build @@ -45,7 +45,7 @@ RUN mkdir -p /config COPY --from=go-build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --from=go-build /app/config/* /config/ COPY --from=go-build /app/super-graph . -COPY --from=go-build /app/cmd/scripts/start.sh . +COPY --from=go-build /app/internal/scripts/start.sh . COPY --from=go-build /usr/local/bin/sops . RUN chmod +x /super-graph diff --git a/Makefile b/Makefile index d2f9339..4131dc5 100644 --- a/Makefile +++ b/Makefile @@ -12,10 +12,10 @@ endif export GO111MODULE := on # Build-time Go variables -version = github.com/dosco/super-graph/cmd/internal/serv.version -gitBranch = github.com/dosco/super-graph/cmd/internal/serv.gitBranch -lastCommitSHA = github.com/dosco/super-graph/cmd/internal/serv.lastCommitSHA -lastCommitTime = github.com/dosco/super-graph/cmd/internal/serv.lastCommitTime +version = github.com/dosco/super-graph/internal/serv.version +gitBranch = github.com/dosco/super-graph/internal/serv.gitBranch +lastCommitSHA = github.com/dosco/super-graph/internal/serv.lastCommitSHA +lastCommitTime = github.com/dosco/super-graph/internal/serv.lastCommitTime BUILD_FLAGS ?= -ldflags '-s -w -X ${lastCommitSHA}=${BUILD} -X "${lastCommitTime}=${BUILD_DATE}" -X "${version}=${BUILD_VERSION}" -X ${gitBranch}=${BUILD_BRANCH}' @@ -28,18 +28,18 @@ BIN_DIR := $(GOPATH)/bin GORICE := $(BIN_DIR)/rice GOLANGCILINT := $(BIN_DIR)/golangci-lint GITCHGLOG := $(BIN_DIR)/git-chglog -WEB_BUILD_DIR := ./cmd/internal/serv/web/build/manifest.json +WEB_BUILD_DIR := ./internal/serv/web/build/manifest.json $(GORICE): @GO111MODULE=off go get -u github.com/GeertJohan/go.rice/rice $(WEB_BUILD_DIR): @echo "First install Yarn and create a build of the web UI then re-run make install" - @echo "Run this command: yarn --cwd cmd/internal/serv/web/ build" + @echo "Run this command: yarn --cwd internal/serv/web/ build" @exit 1 $(GITCHGLOG): - @GO111MODULE=off go get -u github.com/git-chglog/git-chglog/cmd/git-chglog + @GO111MODULE=off go get -u github.com/git-chglog/git-chglog/git-chglog changelog: $(GITCHGLOG) @git-chglog $(ARGS) @@ -57,7 +57,7 @@ os = $(word 1, $@) $(PLATFORMS): lint test @mkdir -p release - @GOOS=$(os) GOARCH=amd64 go build $(BUILD_FLAGS) -o release/$(BINARY)-$(BUILD_VERSION)-$(os)-amd64 cmd/main.go + @GOOS=$(os) GOARCH=amd64 go build $(BUILD_FLAGS) -o release/$(BINARY)-$(BUILD_VERSION)-$(os)-amd64 main.go release: windows linux darwin @@ -69,7 +69,7 @@ gen: $(GORICE) $(WEB_BUILD_DIR) @go generate ./... $(BINARY): clean - @go build $(BUILD_FLAGS) -o $(BINARY) cmd/main.go + @go build $(BUILD_FLAGS) -o $(BINARY) main.go clean: @rm -f $(BINARY) diff --git a/core/internal/qcode/utils.go b/core/internal/qcode/utils.go index 53c9790..e5a1881 100644 --- a/core/internal/qcode/utils.go +++ b/core/internal/qcode/utils.go @@ -1,12 +1,17 @@ package qcode func GetQType(gql string) QType { + ic := false for i := range gql { b := gql[i] - if b == '{' { + switch { + case b == '#': + ic = true + case b == '\n': + ic = false + case !ic && b == '{': return QTQuery - } - if al(b) { + case !ic && al(b): switch b { case 'm', 'M': return QTMutation diff --git a/core/internal/qcode/utils_test.go b/core/internal/qcode/utils_test.go new file mode 100644 index 0000000..ba75206 --- /dev/null +++ b/core/internal/qcode/utils_test.go @@ -0,0 +1,50 @@ +package qcode + +import "testing" + +func TestGetQType(t *testing.T) { + type args struct { + gql string + } + type ts struct { + name string + args args + want QType + } + tests := []ts{ + ts{ + name: "query", + args: args{gql: " query {"}, + want: QTQuery, + }, + ts{ + name: "mutation", + args: args{gql: " mutation {"}, + want: QTMutation, + }, + ts{ + name: "default query", + args: args{gql: " {"}, + want: QTQuery, + }, + ts{ + name: "default query with comment", + args: args{gql: `# query is good + {`}, + want: QTQuery, + }, + ts{ + name: "failed query with comment", + args: args{gql: `# query is good query {`}, + want: -1, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if got := GetQType(tt.args.gql); got != tt.want { + t.Errorf("GetQType() = %v, want %v", got, tt.want) + } + }) + } +} diff --git a/docs/guide/guide.md b/docs/guide/guide.md index 00a59d6..4358552 100644 --- a/docs/guide/guide.md +++ b/docs/guide/guide.md @@ -1790,18 +1790,37 @@ database: # Enable this if you need the user id in triggers, etc set_user_id: false - # Define additional variables here to be used with filters - variables: - admin_account_id: "5" + # database ping timeout is used for db health checking + ping_timeout: 1m - # Field and table names that you wish to block - blocklist: - - ar_internal_metadata - - schema_migrations - - secret - - password - - encrypted - - token + # Set up an secure tls encrypted db connection + enable_tls: false + + # Required for tls. For example with Google Cloud SQL it's + # :" + # server_name: blah + + # Required for tls. Can be a file path or the contents of the pem file + # server_cert: ./server-ca.pem + + # Required for tls. Can be a file path or the contents of the pem file + # client_cert: ./client-cert.pem + + # Required for tls. Can be a file path or the contents of the pem file + # client_key: ./client-key.pem + +# Define additional variables here to be used with filters +variables: + admin_account_id: "5" + +# Field and table names that you wish to block +blocklist: + - ar_internal_metadata + - schema_migrations + - secret + - password + - encrypted + - token # Create custom actions with their own api endpoints # For example the below action will be available at /api/v1/actions/refresh_leaderboard_users diff --git a/cmd/scripts/bench.sh b/internal/scripts/bench.sh similarity index 100% rename from cmd/scripts/bench.sh rename to internal/scripts/bench.sh diff --git a/cmd/scripts/query.lua b/internal/scripts/query.lua similarity index 100% rename from cmd/scripts/query.lua rename to internal/scripts/query.lua diff --git a/cmd/scripts/start.sh b/internal/scripts/start.sh similarity index 100% rename from cmd/scripts/start.sh rename to internal/scripts/start.sh diff --git a/cmd/internal/serv/.gitignore b/internal/serv/.gitignore similarity index 100% rename from cmd/internal/serv/.gitignore rename to internal/serv/.gitignore diff --git a/cmd/internal/serv/actions.go b/internal/serv/actions.go similarity index 100% rename from cmd/internal/serv/actions.go rename to internal/serv/actions.go diff --git a/cmd/internal/serv/api.go b/internal/serv/api.go similarity index 88% rename from cmd/internal/serv/api.go rename to internal/serv/api.go index 1e2cf9c..bf9ac90 100644 --- a/cmd/internal/serv/api.go +++ b/internal/serv/api.go @@ -3,8 +3,8 @@ package serv import ( "time" - "github.com/dosco/super-graph/cmd/internal/serv/internal/auth" "github.com/dosco/super-graph/core" + "github.com/dosco/super-graph/internal/serv/internal/auth" "github.com/spf13/viper" ) @@ -60,6 +60,11 @@ type Serv struct { PoolSize int32 `mapstructure:"pool_size"` MaxRetries int `mapstructure:"max_retries"` PingTimeout time.Duration `mapstructure:"ping_timeout"` + EnableTLS bool `mapstructure:"enable_tls"` + ServerName string `mapstructure:"server_name"` + ServerCert string `mapstructure:"server_cert"` + ClientCert string `mapstructure:"client_cert"` + ClientKey string `mapstructure:"client_key"` } `mapstructure:"database"` Actions []Action diff --git a/cmd/internal/serv/cmd.go b/internal/serv/cmd.go similarity index 90% rename from cmd/internal/serv/cmd.go rename to internal/serv/cmd.go index 0a14764..d90fe2e 100644 --- a/cmd/internal/serv/cmd.go +++ b/internal/serv/cmd.go @@ -156,6 +156,20 @@ func cmdVersion(cmd *cobra.Command, args []string) { } func BuildDetails() string { + if len(version) == 0 { + return fmt.Sprintf(` +Super Graph (unknown version) +For documentation, visit https://supergraph.dev + +To build with version information please use the Makefile +> git clone https://github.com/dosco/super-graph +> cd super-graph && make install + +Licensed under the Apache Public License 2.0 +Copyright 2020, Vikram Rangnekar +`) + } + return fmt.Sprintf(` Super Graph %v For documentation, visit https://supergraph.dev @@ -166,7 +180,7 @@ Branch : %v Go version : %v Licensed under the Apache Public License 2.0 -Copyright 2020, Vikram Rangnekar. +Copyright 2020, Vikram Rangnekar `, version, lastCommitSHA, diff --git a/cmd/internal/serv/cmd_conf.go b/internal/serv/cmd_conf.go similarity index 100% rename from cmd/internal/serv/cmd_conf.go rename to internal/serv/cmd_conf.go diff --git a/cmd/internal/serv/cmd_migrate.go b/internal/serv/cmd_migrate.go similarity index 99% rename from cmd/internal/serv/cmd_migrate.go rename to internal/serv/cmd_migrate.go index 0a5a75a..95b7fca 100644 --- a/cmd/internal/serv/cmd_migrate.go +++ b/internal/serv/cmd_migrate.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/dosco/super-graph/cmd/internal/serv/internal/migrate" + "github.com/dosco/super-graph/internal/serv/internal/migrate" "github.com/spf13/cobra" ) diff --git a/cmd/internal/serv/cmd_new.go b/internal/serv/cmd_new.go similarity index 100% rename from cmd/internal/serv/cmd_new.go rename to internal/serv/cmd_new.go diff --git a/cmd/internal/serv/cmd_seed.go b/internal/serv/cmd_seed.go similarity index 100% rename from cmd/internal/serv/cmd_seed.go rename to internal/serv/cmd_seed.go diff --git a/cmd/internal/serv/cmd_serv.go b/internal/serv/cmd_serv.go similarity index 100% rename from cmd/internal/serv/cmd_serv.go rename to internal/serv/cmd_serv.go diff --git a/cmd/internal/serv/config.go b/internal/serv/config.go similarity index 100% rename from cmd/internal/serv/config.go rename to internal/serv/config.go diff --git a/cmd/internal/serv/core.go b/internal/serv/core.go similarity index 100% rename from cmd/internal/serv/core.go rename to internal/serv/core.go diff --git a/cmd/internal/serv/corpus/001.gql b/internal/serv/corpus/001.gql similarity index 100% rename from cmd/internal/serv/corpus/001.gql rename to internal/serv/corpus/001.gql diff --git a/cmd/internal/serv/fuzz.go b/internal/serv/fuzz.go similarity index 100% rename from cmd/internal/serv/fuzz.go rename to internal/serv/fuzz.go diff --git a/cmd/internal/serv/fuzz_test.go b/internal/serv/fuzz_test.go similarity index 100% rename from cmd/internal/serv/fuzz_test.go rename to internal/serv/fuzz_test.go diff --git a/cmd/internal/serv/health.go b/internal/serv/health.go similarity index 100% rename from cmd/internal/serv/health.go rename to internal/serv/health.go diff --git a/cmd/internal/serv/http.go b/internal/serv/http.go similarity index 97% rename from cmd/internal/serv/http.go rename to internal/serv/http.go index af2d7a8..34ff9fb 100644 --- a/cmd/internal/serv/http.go +++ b/internal/serv/http.go @@ -8,8 +8,8 @@ import ( "net/http" "strings" - "github.com/dosco/super-graph/cmd/internal/serv/internal/auth" "github.com/dosco/super-graph/core" + "github.com/dosco/super-graph/internal/serv/internal/auth" "github.com/rs/cors" "go.uber.org/zap" ) diff --git a/cmd/internal/serv/init.go b/internal/serv/init.go similarity index 66% rename from cmd/internal/serv/init.go rename to internal/serv/init.go index 15c509d..48cb687 100644 --- a/cmd/internal/serv/init.go +++ b/internal/serv/init.go @@ -1,8 +1,14 @@ package serv import ( + "crypto/tls" + "crypto/x509" "database/sql" + "errors" + "fmt" + "io/ioutil" "path" + "strings" "time" "github.com/jackc/pgx/v4" @@ -10,6 +16,10 @@ import ( //_ "github.com/jackc/pgx/v4/stdlib" ) +const ( + PEM_SIG = "--BEGIN " +) + func initConf() (*Config, error) { c, err := ReadInConfig(path.Join(confPath, GetConfigName())) if err != nil { @@ -83,27 +93,6 @@ func initDB(c *Config, useDB bool) (*sql.DB, error) { var db *sql.DB var err error - // cs := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s", - // c.DB.Host, c.DB.Port, - // c.DB.User, c.DB.Password, - // c.DB.DBName) - - // fmt.Println(">>", cs) - - // for i := 1; i < 10; i++ { - // db, err = sql.Open("pgx", cs) - // if err == nil { - // break - // } - // time.Sleep(time.Duration(i*100) * time.Millisecond) - // } - - // if err != nil { - // return nil, err - // } - - // return db, nil - config, _ := pgx.ParseConfig("") config.Host = c.DB.Host config.Port = c.DB.Port @@ -118,6 +107,59 @@ func initDB(c *Config, useDB bool) (*sql.DB, error) { config.Database = c.DB.DBName } + if c.DB.EnableTLS { + if len(c.DB.ServerName) == 0 { + return nil, errors.New("server_name is required") + } + if len(c.DB.ServerCert) == 0 { + return nil, errors.New("server_cert is required") + } + if len(c.DB.ClientCert) == 0 { + return nil, errors.New("client_cert is required") + } + if len(c.DB.ClientKey) == 0 { + return nil, errors.New("client_key is required") + } + + rootCertPool := x509.NewCertPool() + var pem []byte + var err error + + if strings.Contains(c.DB.ServerCert, PEM_SIG) { + pem = []byte(c.DB.ServerCert) + } else { + pem, err = ioutil.ReadFile(c.DB.ServerCert) + } + + if err != nil { + return nil, fmt.Errorf("db tls: %w", err) + } + + if ok := rootCertPool.AppendCertsFromPEM(pem); !ok { + return nil, errors.New("db tls: failed to append pem") + } + + clientCert := make([]tls.Certificate, 0, 1) + var certs tls.Certificate + + if strings.Contains(c.DB.ClientCert, PEM_SIG) { + certs, err = tls.X509KeyPair([]byte(c.DB.ClientCert), []byte(c.DB.ClientKey)) + } else { + certs, err = tls.LoadX509KeyPair(c.DB.ClientCert, c.DB.ClientKey) + } + + if err != nil { + return nil, fmt.Errorf("db tls: %w", err) + } + + clientCert = append(clientCert, certs) + config.TLSConfig = &tls.Config{ + RootCAs: rootCertPool, + Certificates: clientCert, + ServerName: c.DB.ServerName, + } + } + // switch c.LogLevel { // case "debug": // config.LogLevel = pgx.LogLevelDebug diff --git a/cmd/internal/serv/internal/auth/auth.go b/internal/serv/internal/auth/auth.go similarity index 100% rename from cmd/internal/serv/internal/auth/auth.go rename to internal/serv/internal/auth/auth.go diff --git a/cmd/internal/serv/internal/auth/jwt.go b/internal/serv/internal/auth/jwt.go similarity index 100% rename from cmd/internal/serv/internal/auth/jwt.go rename to internal/serv/internal/auth/jwt.go diff --git a/cmd/internal/serv/internal/auth/rails.go b/internal/serv/internal/auth/rails.go similarity index 98% rename from cmd/internal/serv/internal/auth/rails.go rename to internal/serv/internal/auth/rails.go index f07a2d6..87b2634 100644 --- a/cmd/internal/serv/internal/auth/rails.go +++ b/internal/serv/internal/auth/rails.go @@ -9,8 +9,8 @@ import ( "strings" "github.com/bradfitz/gomemcache/memcache" - "github.com/dosco/super-graph/cmd/internal/serv/internal/rails" "github.com/dosco/super-graph/core" + "github.com/dosco/super-graph/internal/serv/internal/rails" "github.com/garyburd/redigo/redis" ) diff --git a/cmd/internal/serv/internal/migrate/migrate.go b/internal/serv/internal/migrate/migrate.go similarity index 100% rename from cmd/internal/serv/internal/migrate/migrate.go rename to internal/serv/internal/migrate/migrate.go diff --git a/cmd/internal/serv/internal/migrate/migrate_test.go b/internal/serv/internal/migrate/migrate_test.go similarity index 100% rename from cmd/internal/serv/internal/migrate/migrate_test.go rename to internal/serv/internal/migrate/migrate_test.go diff --git a/cmd/internal/serv/internal/migrate/testdata/duplicate/001_create_t1.sql b/internal/serv/internal/migrate/testdata/duplicate/001_create_t1.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/duplicate/001_create_t1.sql rename to internal/serv/internal/migrate/testdata/duplicate/001_create_t1.sql diff --git a/cmd/internal/serv/internal/migrate/testdata/duplicate/002_create_t2.sql b/internal/serv/internal/migrate/testdata/duplicate/002_create_t2.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/duplicate/002_create_t2.sql rename to internal/serv/internal/migrate/testdata/duplicate/002_create_t2.sql diff --git a/cmd/internal/serv/internal/migrate/testdata/duplicate/002_duplicate.sql b/internal/serv/internal/migrate/testdata/duplicate/002_duplicate.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/duplicate/002_duplicate.sql rename to internal/serv/internal/migrate/testdata/duplicate/002_duplicate.sql diff --git a/cmd/internal/serv/internal/migrate/testdata/empty/.gitignore b/internal/serv/internal/migrate/testdata/empty/.gitignore similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/empty/.gitignore rename to internal/serv/internal/migrate/testdata/empty/.gitignore diff --git a/cmd/internal/serv/internal/migrate/testdata/gap/001_create_people.sql.example b/internal/serv/internal/migrate/testdata/gap/001_create_people.sql.example similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/gap/001_create_people.sql.example rename to internal/serv/internal/migrate/testdata/gap/001_create_people.sql.example diff --git a/cmd/internal/serv/internal/migrate/testdata/gap/001_create_t1.sql b/internal/serv/internal/migrate/testdata/gap/001_create_t1.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/gap/001_create_t1.sql rename to internal/serv/internal/migrate/testdata/gap/001_create_t1.sql diff --git a/cmd/internal/serv/internal/migrate/testdata/gap/003_irreversible.sql b/internal/serv/internal/migrate/testdata/gap/003_irreversible.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/gap/003_irreversible.sql rename to internal/serv/internal/migrate/testdata/gap/003_irreversible.sql diff --git a/cmd/internal/serv/internal/migrate/testdata/noforward/001_create_no_forward.sql b/internal/serv/internal/migrate/testdata/noforward/001_create_no_forward.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/noforward/001_create_no_forward.sql rename to internal/serv/internal/migrate/testdata/noforward/001_create_no_forward.sql diff --git a/cmd/internal/serv/internal/migrate/testdata/sample/001_create_t1.sql b/internal/serv/internal/migrate/testdata/sample/001_create_t1.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/sample/001_create_t1.sql rename to internal/serv/internal/migrate/testdata/sample/001_create_t1.sql diff --git a/cmd/internal/serv/internal/migrate/testdata/sample/002_create_t2.sql b/internal/serv/internal/migrate/testdata/sample/002_create_t2.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/sample/002_create_t2.sql rename to internal/serv/internal/migrate/testdata/sample/002_create_t2.sql diff --git a/cmd/internal/serv/internal/migrate/testdata/sample/003_irreversible.sql b/internal/serv/internal/migrate/testdata/sample/003_irreversible.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/sample/003_irreversible.sql rename to internal/serv/internal/migrate/testdata/sample/003_irreversible.sql diff --git a/cmd/internal/serv/internal/migrate/testdata/sample/004_data_interpolation.sql b/internal/serv/internal/migrate/testdata/sample/004_data_interpolation.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/sample/004_data_interpolation.sql rename to internal/serv/internal/migrate/testdata/sample/004_data_interpolation.sql diff --git a/cmd/internal/serv/internal/migrate/testdata/sample/005_template_inclusion.sql b/internal/serv/internal/migrate/testdata/sample/005_template_inclusion.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/sample/005_template_inclusion.sql rename to internal/serv/internal/migrate/testdata/sample/005_template_inclusion.sql diff --git a/cmd/internal/serv/internal/migrate/testdata/sample/shared/v1_001.sql b/internal/serv/internal/migrate/testdata/sample/shared/v1_001.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/sample/shared/v1_001.sql rename to internal/serv/internal/migrate/testdata/sample/shared/v1_001.sql diff --git a/cmd/internal/serv/internal/migrate/testdata/sample/should_be_ignored.sql b/internal/serv/internal/migrate/testdata/sample/should_be_ignored.sql similarity index 100% rename from cmd/internal/serv/internal/migrate/testdata/sample/should_be_ignored.sql rename to internal/serv/internal/migrate/testdata/sample/should_be_ignored.sql diff --git a/cmd/internal/serv/internal/rails/auth.go b/internal/serv/internal/rails/auth.go similarity index 100% rename from cmd/internal/serv/internal/rails/auth.go rename to internal/serv/internal/rails/auth.go diff --git a/cmd/internal/serv/internal/rails/auth_test.go b/internal/serv/internal/rails/auth_test.go similarity index 100% rename from cmd/internal/serv/internal/rails/auth_test.go rename to internal/serv/internal/rails/auth_test.go diff --git a/cmd/internal/serv/internal/rails/cookie.go b/internal/serv/internal/rails/cookie.go similarity index 100% rename from cmd/internal/serv/internal/rails/cookie.go rename to internal/serv/internal/rails/cookie.go diff --git a/cmd/internal/serv/introsp.go b/internal/serv/introsp.go similarity index 100% rename from cmd/internal/serv/introsp.go rename to internal/serv/introsp.go diff --git a/cmd/internal/serv/reload.go b/internal/serv/reload.go similarity index 100% rename from cmd/internal/serv/reload.go rename to internal/serv/reload.go diff --git a/cmd/internal/serv/rice-box.go b/internal/serv/rice-box.go similarity index 100% rename from cmd/internal/serv/rice-box.go rename to internal/serv/rice-box.go diff --git a/cmd/internal/serv/serv.go b/internal/serv/serv.go similarity index 98% rename from cmd/internal/serv/serv.go rename to internal/serv/serv.go index 26b2e64..c00a435 100644 --- a/cmd/internal/serv/serv.go +++ b/internal/serv/serv.go @@ -11,7 +11,7 @@ import ( rice "github.com/GeertJohan/go.rice" "github.com/NYTimes/gziphandler" - "github.com/dosco/super-graph/cmd/internal/serv/internal/auth" + "github.com/dosco/super-graph/internal/serv/internal/auth" ) func initWatcher() { diff --git a/cmd/internal/serv/sqllog.go b/internal/serv/sqllog.go similarity index 100% rename from cmd/internal/serv/sqllog.go rename to internal/serv/sqllog.go diff --git a/cmd/internal/serv/tmpl/0_init.sql b/internal/serv/tmpl/0_init.sql similarity index 100% rename from cmd/internal/serv/tmpl/0_init.sql rename to internal/serv/tmpl/0_init.sql diff --git a/cmd/internal/serv/tmpl/Dockerfile b/internal/serv/tmpl/Dockerfile similarity index 100% rename from cmd/internal/serv/tmpl/Dockerfile rename to internal/serv/tmpl/Dockerfile diff --git a/cmd/internal/serv/tmpl/dev.yml b/internal/serv/tmpl/dev.yml similarity index 86% rename from cmd/internal/serv/tmpl/dev.yml rename to internal/serv/tmpl/dev.yml index 5acc98f..a4ed871 100644 --- a/cmd/internal/serv/tmpl/dev.yml +++ b/internal/serv/tmpl/dev.yml @@ -133,20 +133,36 @@ database: # database ping timeout is used for db health checking ping_timeout: 1m - # Define additional variables here to be used with filters - variables: - #admin_account_id: "5" - admin_account_id: "sql:select id from users where admin = true limit 1" + # Set up an secure tls encrypted db connection + enable_tls: false + + # Required for tls. For example with Google Cloud SQL it's + # :" + # server_name: blah + + # Required for tls. Can be a file path or the contents of the pem file + # server_cert: ./server-ca.pem + + # Required for tls. Can be a file path or the contents of the pem file + # client_cert: ./client-cert.pem + + # Required for tls. Can be a file path or the contents of the pem file + # client_key: ./client-key.pem + +# Define additional variables here to be used with filters +variables: + #admin_account_id: "5" + admin_account_id: "sql:select id from users where admin = true limit 1" - # Field and table names that you wish to block - blocklist: - - ar_internal_metadata - - schema_migrations - - secret - - password - - encrypted - - token +# Field and table names that you wish to block +blocklist: + - ar_internal_metadata + - schema_migrations + - secret + - password + - encrypted + - token # Create custom actions with their own api endpoints # For example the below action will be available at /api/v1/actions/refresh_leaderboard_users diff --git a/cmd/internal/serv/tmpl/docker-compose.yml b/internal/serv/tmpl/docker-compose.yml similarity index 100% rename from cmd/internal/serv/tmpl/docker-compose.yml rename to internal/serv/tmpl/docker-compose.yml diff --git a/cmd/internal/serv/tmpl/prod.yml b/internal/serv/tmpl/prod.yml similarity index 79% rename from cmd/internal/serv/tmpl/prod.yml rename to internal/serv/tmpl/prod.yml index f312ee8..b70a363 100644 --- a/cmd/internal/serv/tmpl/prod.yml +++ b/internal/serv/tmpl/prod.yml @@ -77,4 +77,20 @@ database: set_user_id: false # database ping timeout is used for db health checking - ping_timeout: 5m \ No newline at end of file + ping_timeout: 5m + + # Set up an secure tls encrypted db connection + enable_tls: false + + # Required for tls. For example with Google Cloud SQL it's + # :" + # server_name: blah + + # Required for tls. Can be a file path or the contents of the pem file + # server_cert: ./server-ca.pem + + # Required for tls. Can be a file path or the contents of the pem file + # client_cert: ./client-cert.pem + + # Required for tls. Can be a file path or the contents of the pem file + # client_key: ./client-key.pem \ No newline at end of file diff --git a/cmd/internal/serv/tmpl/seed.js b/internal/serv/tmpl/seed.js similarity index 100% rename from cmd/internal/serv/tmpl/seed.js rename to internal/serv/tmpl/seed.js diff --git a/cmd/internal/serv/utils.go b/internal/serv/utils.go similarity index 100% rename from cmd/internal/serv/utils.go rename to internal/serv/utils.go diff --git a/cmd/internal/serv/utils_test.go b/internal/serv/utils_test.go similarity index 100% rename from cmd/internal/serv/utils_test.go rename to internal/serv/utils_test.go diff --git a/cmd/internal/serv/web/.gitignore b/internal/serv/web/.gitignore similarity index 100% rename from cmd/internal/serv/web/.gitignore rename to internal/serv/web/.gitignore diff --git a/cmd/internal/serv/web/build/asset-manifest.json b/internal/serv/web/build/asset-manifest.json similarity index 100% rename from cmd/internal/serv/web/build/asset-manifest.json rename to internal/serv/web/build/asset-manifest.json diff --git a/cmd/internal/serv/web/build/favicon.ico b/internal/serv/web/build/favicon.ico similarity index 100% rename from cmd/internal/serv/web/build/favicon.ico rename to internal/serv/web/build/favicon.ico diff --git a/cmd/internal/serv/web/build/index.html b/internal/serv/web/build/index.html similarity index 100% rename from cmd/internal/serv/web/build/index.html rename to internal/serv/web/build/index.html diff --git a/cmd/internal/serv/web/build/manifest.json b/internal/serv/web/build/manifest.json similarity index 100% rename from cmd/internal/serv/web/build/manifest.json rename to internal/serv/web/build/manifest.json diff --git a/cmd/internal/serv/web/build/precache-manifest.e33bc3c7c6774d7032c490820c96901d.js b/internal/serv/web/build/precache-manifest.e33bc3c7c6774d7032c490820c96901d.js similarity index 100% rename from cmd/internal/serv/web/build/precache-manifest.e33bc3c7c6774d7032c490820c96901d.js rename to internal/serv/web/build/precache-manifest.e33bc3c7c6774d7032c490820c96901d.js diff --git a/cmd/internal/serv/web/build/service-worker.js b/internal/serv/web/build/service-worker.js similarity index 100% rename from cmd/internal/serv/web/build/service-worker.js rename to internal/serv/web/build/service-worker.js diff --git a/cmd/internal/serv/web/build/static/css/main.c6b5c55c.chunk.css b/internal/serv/web/build/static/css/main.c6b5c55c.chunk.css similarity index 100% rename from cmd/internal/serv/web/build/static/css/main.c6b5c55c.chunk.css rename to internal/serv/web/build/static/css/main.c6b5c55c.chunk.css diff --git a/cmd/internal/serv/web/build/static/css/main.c6b5c55c.chunk.css.map b/internal/serv/web/build/static/css/main.c6b5c55c.chunk.css.map similarity index 100% rename from cmd/internal/serv/web/build/static/css/main.c6b5c55c.chunk.css.map rename to internal/serv/web/build/static/css/main.c6b5c55c.chunk.css.map diff --git a/cmd/internal/serv/web/build/static/js/2.03370bd3.chunk.js b/internal/serv/web/build/static/js/2.03370bd3.chunk.js similarity index 100% rename from cmd/internal/serv/web/build/static/js/2.03370bd3.chunk.js rename to internal/serv/web/build/static/js/2.03370bd3.chunk.js diff --git a/cmd/internal/serv/web/build/static/js/2.03370bd3.chunk.js.map b/internal/serv/web/build/static/js/2.03370bd3.chunk.js.map similarity index 100% rename from cmd/internal/serv/web/build/static/js/2.03370bd3.chunk.js.map rename to internal/serv/web/build/static/js/2.03370bd3.chunk.js.map diff --git a/cmd/internal/serv/web/build/static/js/main.04d74040.chunk.js b/internal/serv/web/build/static/js/main.04d74040.chunk.js similarity index 100% rename from cmd/internal/serv/web/build/static/js/main.04d74040.chunk.js rename to internal/serv/web/build/static/js/main.04d74040.chunk.js diff --git a/cmd/internal/serv/web/build/static/js/main.04d74040.chunk.js.map b/internal/serv/web/build/static/js/main.04d74040.chunk.js.map similarity index 100% rename from cmd/internal/serv/web/build/static/js/main.04d74040.chunk.js.map rename to internal/serv/web/build/static/js/main.04d74040.chunk.js.map diff --git a/cmd/internal/serv/web/build/static/js/runtime-main.4aea9da3.js b/internal/serv/web/build/static/js/runtime-main.4aea9da3.js similarity index 100% rename from cmd/internal/serv/web/build/static/js/runtime-main.4aea9da3.js rename to internal/serv/web/build/static/js/runtime-main.4aea9da3.js diff --git a/cmd/internal/serv/web/build/static/js/runtime-main.4aea9da3.js.map b/internal/serv/web/build/static/js/runtime-main.4aea9da3.js.map similarity index 100% rename from cmd/internal/serv/web/build/static/js/runtime-main.4aea9da3.js.map rename to internal/serv/web/build/static/js/runtime-main.4aea9da3.js.map diff --git a/cmd/internal/serv/web/build/static/media/GraphQLLanguageService.js.5ab204b9.flow b/internal/serv/web/build/static/media/GraphQLLanguageService.js.5ab204b9.flow similarity index 100% rename from cmd/internal/serv/web/build/static/media/GraphQLLanguageService.js.5ab204b9.flow rename to internal/serv/web/build/static/media/GraphQLLanguageService.js.5ab204b9.flow diff --git a/cmd/internal/serv/web/build/static/media/autocompleteUtils.js.4ce7ba19.flow b/internal/serv/web/build/static/media/autocompleteUtils.js.4ce7ba19.flow similarity index 100% rename from cmd/internal/serv/web/build/static/media/autocompleteUtils.js.4ce7ba19.flow rename to internal/serv/web/build/static/media/autocompleteUtils.js.4ce7ba19.flow diff --git a/cmd/internal/serv/web/build/static/media/getAutocompleteSuggestions.js.7f98f032.flow b/internal/serv/web/build/static/media/getAutocompleteSuggestions.js.7f98f032.flow similarity index 100% rename from cmd/internal/serv/web/build/static/media/getAutocompleteSuggestions.js.7f98f032.flow rename to internal/serv/web/build/static/media/getAutocompleteSuggestions.js.7f98f032.flow diff --git a/cmd/internal/serv/web/build/static/media/getDefinition.js.4dbec62f.flow b/internal/serv/web/build/static/media/getDefinition.js.4dbec62f.flow similarity index 100% rename from cmd/internal/serv/web/build/static/media/getDefinition.js.4dbec62f.flow rename to internal/serv/web/build/static/media/getDefinition.js.4dbec62f.flow diff --git a/cmd/internal/serv/web/build/static/media/getDiagnostics.js.65b0979a.flow b/internal/serv/web/build/static/media/getDiagnostics.js.65b0979a.flow similarity index 100% rename from cmd/internal/serv/web/build/static/media/getDiagnostics.js.65b0979a.flow rename to internal/serv/web/build/static/media/getDiagnostics.js.65b0979a.flow diff --git a/cmd/internal/serv/web/build/static/media/getHoverInformation.js.d9411837.flow b/internal/serv/web/build/static/media/getHoverInformation.js.d9411837.flow similarity index 100% rename from cmd/internal/serv/web/build/static/media/getHoverInformation.js.d9411837.flow rename to internal/serv/web/build/static/media/getHoverInformation.js.d9411837.flow diff --git a/cmd/internal/serv/web/build/static/media/getOutline.js.c04e3998.flow b/internal/serv/web/build/static/media/getOutline.js.c04e3998.flow similarity index 100% rename from cmd/internal/serv/web/build/static/media/getOutline.js.c04e3998.flow rename to internal/serv/web/build/static/media/getOutline.js.c04e3998.flow diff --git a/cmd/internal/serv/web/build/static/media/index.js.02c24280.flow b/internal/serv/web/build/static/media/index.js.02c24280.flow similarity index 100% rename from cmd/internal/serv/web/build/static/media/index.js.02c24280.flow rename to internal/serv/web/build/static/media/index.js.02c24280.flow diff --git a/cmd/internal/serv/web/build/static/media/logo.57ee3b60.png b/internal/serv/web/build/static/media/logo.57ee3b60.png similarity index 100% rename from cmd/internal/serv/web/build/static/media/logo.57ee3b60.png rename to internal/serv/web/build/static/media/logo.57ee3b60.png diff --git a/cmd/internal/serv/web/package.json b/internal/serv/web/package.json similarity index 100% rename from cmd/internal/serv/web/package.json rename to internal/serv/web/package.json diff --git a/cmd/internal/serv/web/public/favicon.ico b/internal/serv/web/public/favicon.ico similarity index 100% rename from cmd/internal/serv/web/public/favicon.ico rename to internal/serv/web/public/favicon.ico diff --git a/cmd/internal/serv/web/public/index.html b/internal/serv/web/public/index.html similarity index 100% rename from cmd/internal/serv/web/public/index.html rename to internal/serv/web/public/index.html diff --git a/cmd/internal/serv/web/public/manifest.json b/internal/serv/web/public/manifest.json similarity index 100% rename from cmd/internal/serv/web/public/manifest.json rename to internal/serv/web/public/manifest.json diff --git a/cmd/internal/serv/web/src/App.js b/internal/serv/web/src/App.js similarity index 100% rename from cmd/internal/serv/web/src/App.js rename to internal/serv/web/src/App.js diff --git a/cmd/internal/serv/web/src/App.test.js b/internal/serv/web/src/App.test.js similarity index 100% rename from cmd/internal/serv/web/src/App.test.js rename to internal/serv/web/src/App.test.js diff --git a/cmd/internal/serv/web/src/index.css b/internal/serv/web/src/index.css similarity index 100% rename from cmd/internal/serv/web/src/index.css rename to internal/serv/web/src/index.css diff --git a/cmd/internal/serv/web/src/index.js b/internal/serv/web/src/index.js similarity index 100% rename from cmd/internal/serv/web/src/index.js rename to internal/serv/web/src/index.js diff --git a/cmd/internal/serv/web/src/logo.svg b/internal/serv/web/src/logo.svg similarity index 100% rename from cmd/internal/serv/web/src/logo.svg rename to internal/serv/web/src/logo.svg diff --git a/cmd/internal/serv/web/src/serviceWorker.js b/internal/serv/web/src/serviceWorker.js similarity index 100% rename from cmd/internal/serv/web/src/serviceWorker.js rename to internal/serv/web/src/serviceWorker.js diff --git a/cmd/internal/serv/web/yarn.lock b/internal/serv/web/yarn.lock similarity index 100% rename from cmd/internal/serv/web/yarn.lock rename to internal/serv/web/yarn.lock diff --git a/cmd/internal/serv/ws.go b/internal/serv/ws.go similarity index 100% rename from cmd/internal/serv/ws.go rename to internal/serv/ws.go diff --git a/cmd/main.go b/main.go similarity index 83% rename from cmd/main.go rename to main.go index 05ca597..e539de0 100644 --- a/cmd/main.go +++ b/main.go @@ -3,13 +3,13 @@ Super Graph For documentation, visit https://supergraph.dev -Commit SHA-1 : -Commit timestamp : -Branch : +Commit SHA-1 : 75ff551 +Commit timestamp : 2020-04-13 00:43:18 -0400 +Branch : master Go version : go1.14 Licensed under the Apache Public License 2.0 -Copyright 2020, Vikram Rangnekar. +Copyright 2020, Vikram Rangnekar Usage: super-graph [command] @@ -38,7 +38,7 @@ Use "super-graph [command] --help" for more information about a command. package main -import "github.com/dosco/super-graph/cmd/internal/serv" +import "github.com/dosco/super-graph/internal/serv" func main() { serv.Cmd()