Skip to content

Commit

Permalink
feat: authenticate APIs using slade auth server
Browse files Browse the repository at this point in the history
  • Loading branch information
Salaton committed Jan 23, 2023
1 parent 3dd5380 commit 754f2a8
Show file tree
Hide file tree
Showing 11 changed files with 206 additions and 479 deletions.
17 changes: 10 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,13 @@ env:
CLOUD_HEALTH_FHIRSTORE_ID: ${{ secrets.CLOUD_HEALTH_FHIRSTORE_ID }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SAVANNAH_ADMIN_EMAIL: ${{ secrets.SAVANNAH_ADMIN_EMAIL }}
AUTHSERVER_ENDPOINT: ${{ secrets.AUTHSERVER_ENDPOINT }}
CLIENT_ID: ${{ secrets.CLIENT_ID }}
CLIENT_SECRET: ${{ secrets.CLIENT_SECRET }}
AUTH_USERNAME: ${{ secrets.AUTH_USERNAME }}
AUTH_PASSWORD: ${{ secrets.AUTH_PASSWORD }}
GRANT_TYPE: ${{ secrets.GRANT_TYPE }}

# Schema Registry CLI command version
CLI_VERSION: v0.0.1
# Schema Registry URL
REGISTRY_URL: ${{ secrets.TEST_SCHEMA_REGISTRY_URL }}

jobs:
lint_and_test:
Expand Down Expand Up @@ -72,13 +74,14 @@ jobs:
go get firebase.google.com/go/storage@v3.13.0+incompatible
go get github.com/tj/assert
go get golang.org/x/sys/unix
go install github.com/savannahghi/bewellcli@$CLI_VERSION
go get cloud.google.com/go/firestore@v1.9.0
go get cloud.google.com/go/logging/apiv2@v1.6.1
go get cloud.google.com/go/logging/apiv2@v1.6.1
go get google.golang.org/genproto/googleapis/longrunning@v0.0.0-20230112194545-e10362b5ecf9
- name: Run lint and test
run: |
echo $REGISTRY_URL
staticcheck ./...
bewellcli service validate-schema --name clinical --version $GITHUB_SHA --url ${{ secrets.SERVICE_GRAPHQL_URL }}
go fmt $(go list ./... | grep -v /vendor/)
go vet $(go list ./... | grep -v /vendor/)
golint -set_exit_status $(go list ./... | grep -v /vendor/)
Expand Down
41 changes: 6 additions & 35 deletions .github/workflows/demo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ on:
branches:
- demo

env:
# Schema Registry CLI command version
CLI_VERSION: v0.0.2

jobs:
deploy_to_demo:
Expand Down Expand Up @@ -56,35 +53,9 @@ jobs:
SERVICE_HOST=${{ secrets.SERVICE_HOST }}
OPENCONCEPTLAB_API_URL=${{ secrets.OPENCONCEPTLAB_API_URL }}
SAVANNAH_ADMIN_EMAIL=${{ secrets.SAVANNAH_ADMIN_EMAIL }}
push_schema_demo_registry:
name: Publish schema to demo schema registry
strategy:
matrix:
go-version: [1.18.x]
runs-on: ubuntu-latest
needs: [deploy_to_demo]
environment:
name: demo
env:
REGISTRY_URL: ${{ secrets.DEMO_SCHEMA_REGISTRY_URL }}
steps:
- name: Checkout working branches
uses: actions/checkout@v2

# Install Go
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}

# install CLI command and push schema to registry
# just to be sure, we re-validate the schema against schema registry
- name: Install CLI command and push schema to registry
run: |
go install github.com/savannahghi/bewellcli@$CLI_VERSION
bewellcli service validate-schema --name mycarehub --version $GITHUB_SHA --url https://mycarehub-demo.savannahghi.org/graphql
bewellcli service push-schema --name mycarehub --version $GITHUB_SHA --url https://mycarehub-demo.savannahghi.org/graphql
AUTHSERVER_ENDPOINT=${{ secrets.AUTHSERVER_ENDPOINT }}
CLIENT_ID=${{ secrets.CLIENT_ID }}
CLIENT_SECRET=${{ secrets.CLIENT_SECRET }}
AUTH_USERNAME=${{ secrets.AUTH_USERNAME }}
AUTH_PASSWORD=${{ secrets.AUTH_PASSWORD }}
GRANT_TYPE=${{ secrets.GRANT_TYPE }}
39 changes: 7 additions & 32 deletions .github/workflows/prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ on:
branches:
- main

env:
# Schema Registry CLI command version
CLI_VERSION: v0.0.2

jobs:
deploy_to_prod:
Expand Down Expand Up @@ -56,32 +53,10 @@ jobs:
SERVICE_HOST=${{ secrets.SERVICE_HOST }}
OPENCONCEPTLAB_API_URL=${{ secrets.OPENCONCEPTLAB_API_URL }}
SAVANNAH_ADMIN_EMAIL=${{ secrets.SAVANNAH_ADMIN_EMAIL }}
push_schema_prod_registry:
name: Publish schema to prod schema registry
strategy:
matrix:
go-version: [1.18.x]
runs-on: ubuntu-latest
needs: [deploy_to_prod]
environment:
name: production
env:
REGISTRY_URL: ${{ secrets.PROD_SCHEMA_REGISTRY_URL }}
steps:
- name: Checkout working branches
uses: actions/checkout@v2

# Install Go
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}

# install CLI command and push schema to registry
# just to be sure, we re-validate the schema against schema registry
- name: Install CLI command and push schema to registry
run: |
go install github.com/savannahghi/bewellcli@$CLI_VERSION
bewellcli service validate-schema --name clinical --version $GITHUB_SHA --url ${{ secrets.GRAPHQL_URL }}
bewellcli service push-schema --name clinical --version $GITHUB_SHA --url ${{ secrets.GRAPHQL_URL }}
AUTHSERVER_ENDPOINT=${{ secrets.AUTHSERVER_ENDPOINT }}
CLIENT_ID=${{ secrets.CLIENT_ID }}
CLIENT_SECRET=${{ secrets.CLIENT_SECRET }}
AUTH_USERNAME=${{ secrets.AUTH_USERNAME }}
AUTH_PASSWORD=${{ secrets.AUTH_PASSWORD }}
GRANT_TYPE=${{ secrets.GRANT_TYPE }}
43 changes: 7 additions & 36 deletions .github/workflows/staging.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@ on:
push:
branches:
- develop

env:
# Schema Registry CLI command version
CLI_VERSION: v0.0.2

jobs:
deploy_to_staging:
Expand Down Expand Up @@ -56,35 +52,10 @@ jobs:
SERVICE_HOST=${{ secrets.SERVICE_HOST }}
OPENCONCEPTLAB_API_URL=${{ secrets.OPENCONCEPTLAB_API_URL }}
SAVANNAH_ADMIN_EMAIL=${{ secrets.SAVANNAH_ADMIN_EMAIL }}


push_schema_staging_registry:
name: Publish schema to staging schema registry
strategy:
matrix:
go-version: [1.18.x]
runs-on: ubuntu-latest
needs: [deploy_to_staging]
environment:
name: staging
env:
REGISTRY_URL: ${{ secrets.STAGING_SCHEMA_REGISTRY_URL }}
steps:
- name: Checkout working branches
uses: actions/checkout@v2

# Install Go
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go-version }}

# install CLI command and push schema to registry
# just to be sure, we re-validate the schema against schema registry
- name: Install CLI command and push schema to registry
run: |
go install github.com/savannahghi/bewellcli@$CLI_VERSION
bewellcli service validate-schema --name clinical --version $GITHUB_SHA --url ${{ secrets.GRAPHQL_URL }}
bewellcli service push-schema --name clinical --version $GITHUB_SHA --url ${{ secrets.GRAPHQL_URL }}
AUTHSERVER_ENDPOINT=${{ secrets.AUTHSERVER_ENDPOINT }}
CLIENT_ID=${{ secrets.CLIENT_ID }}
CLIENT_SECRET=${{ secrets.CLIENT_SECRET }}
AUTH_USERNAME=${{ secrets.AUTH_USERNAME }}
AUTH_PASSWORD=${{ secrets.AUTH_PASSWORD }}
GRANT_TYPE=${{ secrets.GRANT_TYPE }}
39 changes: 6 additions & 33 deletions .github/workflows/testing.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@ on:
push:
branches:
- alpha

env:
# Schema Registry CLI command version
CLI_VERSION: v0.0.2

jobs:
deploy_to_testing:
Expand Down Expand Up @@ -56,32 +52,9 @@ jobs:
SERVICE_HOST=${{ secrets.SERVICE_HOST }}
OPENCONCEPTLAB_API_URL=${{ secrets.OPENCONCEPTLAB_API_URL }}
SAVANNAH_ADMIN_EMAIL=${{ secrets.SAVANNAH_ADMIN_EMAIL }}
push_schema_test_registry:
name: Publish schema to schema registry
strategy:
matrix:
go-version: [1.18.x]
runs-on: ubuntu-latest
needs: [deploy_to_testing]
environment:
name: test
env:
REGISTRY_URL: ${{ secrets.TEST_SCHEMA_REGISTRY_URL }}
steps:
- name: Checkout working branches
uses: actions/checkout@v2

# Install Go
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}

# install CLI command and push schema to registry
# just to be sure, we re-validate the schema against schema registry
- name: Install CLI command and push schema to registry
run: |
go install github.com/savannahghi/bewellcli@$CLI_VERSION
bewellcli service validate-schema --name clinical --version $GITHUB_SHA --url https://clinical-testing.savannahghi.org/graphql
bewellcli service push-schema --name clinical --version $GITHUB_SHA --url https://clinical-testing.savannahghi.org/graphql
AUTHSERVER_ENDPOINT=${{ secrets.AUTHSERVER_ENDPOINT }}
CLIENT_ID=${{ secrets.CLIENT_ID }}
CLIENT_SECRET=${{ secrets.CLIENT_SECRET }}
AUTH_USERNAME=${{ secrets.AUTH_USERNAME }}
AUTH_PASSWORD=${{ secrets.AUTH_PASSWORD }}
GRANT_TYPE=${{ secrets.GRANT_TYPE }}
3 changes: 2 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,12 @@ require (
github.com/labstack/gommon v0.3.1
github.com/mitchellh/mapstructure v1.5.0
github.com/rs/xid v1.4.0
github.com/savannahghi/authutils v0.0.7
github.com/savannahghi/converterandformatter v0.0.11
github.com/savannahghi/enumutils v0.0.3
github.com/savannahghi/errorcodeutil v0.0.6
github.com/savannahghi/feedlib v0.0.6
github.com/savannahghi/firebasetools v0.0.17
github.com/savannahghi/firebasetools v0.0.19
github.com/savannahghi/interserviceclient v0.0.18
github.com/savannahghi/profileutils v0.0.26
github.com/savannahghi/pubsubtools v0.0.3
Expand Down
Loading

0 comments on commit 754f2a8

Please sign in to comment.