-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit fd74da0
Showing
137 changed files
with
22,687 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
on: | ||
workflow_dispatch: | ||
|
||
jobs: | ||
converge: | ||
name: Converge | ||
runs-on: ubuntu-latest | ||
steps: | ||
|
||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Install werf | ||
uses: werf/actions/[email protected] | ||
|
||
- name: Log in to registry | ||
# This is where you will update the personal access token to GITHUB_TOKEN | ||
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin | ||
|
||
- name: Run echo | ||
run: | | ||
werf version | ||
docker version | ||
echo $GITHUB_REPOSITORY | ||
echo $GITHUB_SHA | ||
- name: Run Build | ||
run: | | ||
. $(werf ci-env github --as-file) | ||
werf export service --tag ghcr.io/$GITHUB_REPOSITORY:$GITHUB_SHA |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
on: | ||
push: | ||
branches: | ||
- 'main' | ||
|
||
jobs: | ||
converge: | ||
name: Converge | ||
runs-on: ubuntu-latest | ||
steps: | ||
|
||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Install werf | ||
uses: werf/actions/[email protected] | ||
|
||
- name: Log in to registry | ||
# This is where you will update the personal access token to GITHUB_TOKEN | ||
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin | ||
|
||
- name: Run echo | ||
run: | | ||
werf version | ||
docker version | ||
echo $GITHUB_REPOSITORY | ||
echo $GITHUB_SHA | ||
- name: Run Build | ||
run: | | ||
. $(werf ci-env github --as-file) | ||
werf export service --tag ghcr.io/$GITHUB_REPOSITORY:$GITHUB_SHA |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
on: | ||
pull_request: | ||
|
||
permissions: | ||
checks: write | ||
contents: read | ||
pull-requests: write | ||
|
||
jobs: | ||
lint: | ||
name: code-review | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: golangci-lint | ||
uses: reviewdog/action-golangci-lint@v2 | ||
with: | ||
reporter: github-pr-review | ||
cache: false | ||
golangci_lint_flags: --timeout=2m |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Builds the docs and deploys to GitHub pages | ||
# | ||
# https://github.com/actions/setup-node | ||
# Using https://github.com/marketplace/actions/deploy-to-github-pages | ||
name: Deploy to Github pages | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- main | ||
- master | ||
|
||
jobs: | ||
deploy_pages: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: '18' | ||
|
||
- run: | | ||
cd ./docs | ||
npm install | ||
npm run build | ||
- run: touch docs/.nojekyll | ||
- name: Deploy docs 🚀 | ||
uses: JamesIves/github-pages-deploy-action@releases/v3 | ||
with: | ||
BRANCH: gh-pages # The branch the action should deploy to. | ||
FOLDER: docs/web_deploy # The folder the action should deploy. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
on: | ||
push: | ||
tags: | ||
- 'v[0-9]+.[0-9]+.[0-9]+' | ||
- 'v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+' | ||
|
||
jobs: | ||
converge: | ||
name: Converge | ||
runs-on: ubuntu-latest | ||
steps: | ||
|
||
- name: Checkout code | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Install werf | ||
uses: werf/actions/[email protected] | ||
|
||
- name: Log in to registry | ||
# This is where you will update the personal access token to GITHUB_TOKEN | ||
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin | ||
|
||
- name: Run echo | ||
run: | | ||
werf version | ||
docker version | ||
echo $GITHUB_REPOSITORY | ||
echo $GITHUB_REF_NAME | ||
- name: Run Build | ||
run: | | ||
. $(werf ci-env github --as-file) | ||
werf export service --tag ghcr.io/$GITHUB_REPOSITORY:$GITHUB_REF_NAME |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
.vscode/ | ||
.idea/ | ||
config.*.yaml | ||
docker-compose.yaml | ||
docs/node_modules | ||
docs/web_deploy | ||
vendor/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
linters: | ||
enable: | ||
- asciicheck | ||
- bodyclose | ||
- dogsled | ||
- dupl | ||
- errcheck | ||
- exportloopref | ||
- goconst | ||
- gofmt | ||
- goimports | ||
- revive | ||
- gosimple | ||
- govet | ||
- ineffassign | ||
- misspell | ||
- nakedret | ||
- nolintlint | ||
- prealloc | ||
- staticcheck | ||
- stylecheck | ||
- typecheck | ||
- unconvert | ||
- unused | ||
|
||
issues: | ||
max-same-issues: 50 | ||
|
||
linters-settings: | ||
dogsled: | ||
max-blank-identifiers: 3 | ||
golint: | ||
min-confidence: 0 | ||
maligned: | ||
suggest-new: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
FROM golang:1.22-alpine as buildbase | ||
|
||
RUN apk add git build-base | ||
|
||
WORKDIR /go/src/github.com/rarimo/geo-points-svc | ||
COPY vendor . | ||
COPY . . | ||
|
||
RUN GOOS=linux go build -o /usr/local/bin/geo-points-svc /go/src/github.com/rarimo/geo-points-svc | ||
|
||
|
||
FROM alpine:3.9 | ||
|
||
COPY --from=buildbase /usr/local/bin/geo-points-svc /usr/local/bin/geo-points-svc | ||
RUN apk add --no-cache ca-certificates | ||
|
||
ENTRYPOINT ["geo-points-svc"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
# geo-points-svc | ||
|
||
## Description | ||
|
||
Core service of Points System for Georgia local usage | ||
|
||
## Install | ||
|
||
``` | ||
git clone github.com/rarimo/geo-points-svc | ||
cd geo-points-svc | ||
go build main.go | ||
export KV_VIPER_FILE=./config.yaml | ||
./main migrate up | ||
./main run service | ||
``` | ||
|
||
## API documentation | ||
|
||
[Online docs](https://rarimo.github.io/geo-points-svc/) are available. | ||
|
||
All endpoints from docs MUST be publicly accessible. | ||
|
||
### Private endpoints | ||
|
||
Private endpoints are not documented and MUST only be accessible within the | ||
internal network. They do not require authorization in order to simplify back-end | ||
interactions with Points service. | ||
|
||
The path for internal endpoints is `/integrations/geo-points-svc/v1/private/*`. | ||
|
||
### Add referrals | ||
|
||
Private endpoint to set usage count for genesis referral code or create a new | ||
_System user_ with genesis referral code. _System user_ is unable to claim events or | ||
withdraw, it has `is_disabled` attribute set to `true`, so the client app should | ||
not allow it interactions with the system, although it is technically possible | ||
to do other actions. | ||
|
||
Path: `/integrations/geo-points-svc/v1/private/referrals` | ||
Body: | ||
```json | ||
{ | ||
"nullifier": "0x0000000000000000000000000000000000000000000000000000000000000000", | ||
"count": 2 | ||
} | ||
``` | ||
Response: | ||
```json | ||
{ | ||
"referral": "kPRQYQUcWzW", | ||
"usage_left": 2 | ||
} | ||
``` | ||
|
||
Parameters: | ||
- `nullifier` - nullifier to create or edit referrals for | ||
- `count` - number of referral usage | ||
|
||
### Local build | ||
|
||
We do use openapi:json standard for API. We use swagger for documenting our API. | ||
|
||
To open online documentation, go to [swagger editor](http://localhost:8080/swagger-editor/) here is how you can start it | ||
``` | ||
cd docs | ||
npm install | ||
npm run start | ||
``` | ||
To build documentation use `npm run build` command, | ||
that will create open-api documentation in `web_deploy` folder. | ||
|
||
To generate resources for Go models run `./generate.sh` script in root folder. | ||
use `./generate.sh --help` to see all available options. | ||
|
||
Note: if you are using Gitlab for building project `docs/spec/paths` folder must not be | ||
empty, otherwise only `Build and Publish` job will be passed. | ||
|
||
## Running from Source | ||
|
||
* Run dependencies, based on config example | ||
* Set up environment value with config file path `KV_VIPER_FILE=./config.yaml` | ||
* Provide valid config file | ||
* Launch the service with `migrate up` command to create database schema | ||
* Launch the service with `run service` command | ||
|
||
### Database | ||
For services, we do use ***PostgresSQL*** database. | ||
You can [install it locally](https://www.postgresql.org/download/) or use [docker image](https://hub.docker.com/_/postgres/). |
Oops, something went wrong.