Skip to content

Commit

Permalink
Merge pull request #69 from nlnwa/tikv-rawkv
Browse files Browse the repository at this point in the history
Add TiKV backend and Kafka index source
  • Loading branch information
maeb authored Dec 8, 2022
2 parents c287f15 + 9e7a577 commit 5e5971b
Show file tree
Hide file tree
Showing 77 changed files with 4,886 additions and 2,919 deletions.
11 changes: 7 additions & 4 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: release
on:
push:
branches:
- master
- main
tags:
- v*

Expand All @@ -14,11 +14,14 @@ env:
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v3
uses: docker/metadata-action@v4
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
Expand All @@ -27,14 +30,14 @@ jobs:
type=ref,event=pr
- name: Log in to the container registry
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push Docker image
uses: docker/build-push-action@v2
uses: docker/build-push-action@v3
with:
push: true
build-args: |
Expand Down
39 changes: 33 additions & 6 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,25 @@ on:
permissions:
contents: read

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
unit_test:
name: Golang unit tests
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2
uses: actions/checkout@v3

- uses: actions/setup-go@v2
- uses: actions/setup-go@v3
with:
go-version: '^1.16'
go-version: '^1.19'

- name: Cache go modules
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: |
~/.cache/go-build
Expand All @@ -35,9 +39,32 @@ jobs:
name: Linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: golangci/golangci-lint-action@v2
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: '^1.19'
- uses: golangci/golangci-lint-action@v3
with:
version: latest
# Enable additional linters (see: https://golangci-lint.run/usage/linters/)
args: -E "bodyclose" -E "dogsled" -E "durationcheck" -E "errorlint" -E "forcetypeassert" -E "noctx" -E "exhaustive" -E "exportloopref" --timeout 3m0s
build:
runs-on: ubuntu-latest
steps:
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=semver,pattern={{version}}
type=ref,event=branch
type=ref,event=pr
- name: Build and push Docker image
uses: docker/build-push-action@v3
with:
build-args: |
VERSION=${{ steps.meta.outputs.version }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM golang:1.16 as build
FROM golang:1.19 as build

WORKDIR /build

Expand All @@ -21,7 +21,7 @@ RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
-ldflags "-s -w -X github.com/nlnwa/gowarcserver/cmd/version.Version=${VERSION}"


FROM gcr.io/distroless/base
FROM gcr.io/distroless/base-debian11
COPY --from=build /build/gowarcserver /
EXPOSE 9999

Expand Down
26 changes: 0 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,29 +28,3 @@ following the steps described in
golangci-lint's [local installation](https://golangci-lint.run/usage/install/#local-installation) guide. Note that on **linux** the guide expects you to have `$GOPATH/bin` included in your `PATH` variable.

golangci-lint run -E "bodyclose" -E "dogsled" -E "durationcheck" -E "errorlint" -E "forcetypeassert" -E "noctx" -E "exhaustive" -E "exportloopref" --timeout 3m0s

## Configuration

gowarcserver can be configured with a config file, environment variables and flags. Flags has precedence over
environment variables that has precedence over config file entries. An environment variable match the uppercased flag
name with underscore in place of dash.

| Name | Type | Description | Default | Sub command |
| ------------- | ------------- | ----------- | ------- | ------- |
| config | string | Path to configuration file | ./config.yaml | global |
| log-level | string | Log level. Legal values are "trace" , "debug", "info", "warn" or "error" | "info" | global |
| port | int | Server port | 9999 | serve |
| index | bool | Enable indexing when running server | true | serve |
| watch | bool | Update index when files change | false | serve |
| log-requests | bool | Enable request logging | false | serve |
| dirs | list of paths | Comma separated list of directories to index | ["."] | index, serve |
| db-dir | path | Location of index database | "." | index, serve |
| max-depth | int | Maximum index recursion depth | 4 | index, serve |
| include | list of suffixes | Only index files that match one of these suffixes | [] | index, serve |
| workers | int | Number of index workers | 8 | index, serve |
| compression | string | Database compression type. Legal values are: 'none', 'snappy', 'zstd' | "snappy" | index, serve |
| bloom | bool | Enable bloom filter when indexing with "toc" format | true | index |
| bloom-capacity | uint | Estimated bloom filter capacity | 1000 | index |
| bloom-fp | float64 | Estimated bloom filter false positive rate | 0.01 | index |
| child-urls | []string | Urls pointing to other gowarcserver processes running a server | [] | proxy |
| child-query-timeout | Duration | Child query timeout a request to a child can take before resulting in timeout | 300ms | proxy |
Loading

0 comments on commit 5e5971b

Please sign in to comment.