Skip to content

Commit

Permalink
update badges and remove technical information from readme, update co…
Browse files Browse the repository at this point in the history
…deql-action
  • Loading branch information
bubbajoe committed Apr 22, 2024
1 parent ef23625 commit 02c5312
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 54 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@v1
uses: github/codeql-action/autobuild@v3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v3
59 changes: 8 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,35 +3,26 @@
[![Go Report Card](https://goreportcard.com/badge/github.com/dgate-io/dgate)](https://goreportcard.com/report/github.com/dgate-io/dgate)
[![Go Reference](https://pkg.go.dev/badge/github.com/dgate-io/dgate.svg)](https://pkg.go.dev/github.com/dgate-io/dgate)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Build Status](https://github.com/dgate-io/dgate/actions/workflows/built_test_bench.yml/badge.svg)](https://github.com/dgate-io/dgate/actions/workflows/built_test_bench.yml)
[![Build Status](https://github.com/dgate-io/dgate/actions/workflows/built_test_bench.yml/badge.svg)](https://github.com/dgate-io/dgate/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/dgate-io/dgate/graph/badge.svg?token=KIDT82HSO9)](https://codecov.io/gh/dgate-io/dgate)
![GitHub Release](https://img.shields.io/github/v/release/dgate-io/dgate)


DGate is a distributed API Gateway built for developers. DGate allows you to use JavaScript/TypeScript to modify request/response data(L7). Inpired by [k6](https://github.com/grafana/k6) and [kong](https://github.com/Kong/kong).

> DGate is currently in development and is not ready for production use.
> DGate is currently in development and is not ready for production use. Please use at your own discretion.
## Getting Started

Coming soon @ dgate.io/docs/getting-started

### Prerequisites

- Go 1.22+
Coming soon @ http://dgate.io/docs/getting-started

### Installing

```bash
# requires go 1.22+
go install github.com/dgate-io/dgate/cmd/dgate-server@latest
```

### Performance tests
```
# requires k6 and jq
./functional-tests/admin_tests/performance_test_prep.sh
k6 run --summary-trend-stats="min,max,med,p(99),p(99.9),p(99.99)" --out web-dashboard performance-tests/perf-test.js
```

## Application Architecture

### DGate Server (dgate-server)
Expand All @@ -50,45 +41,11 @@ DGate Server is proxy and admin server bundled into one. the admin server is res

- Request Handler Module (`requestHandler`) - executed when a request is received from the client. This module is used to handle arbitrary requests, instead of using an upstream service.

#### Features

- Logs - view module logs using the Admin API
- Stats
- Track stats for each module, route, service, namespace, server and cluster
- Track request stats
- request count
- request latency
- request module latency
- request upstream latency
- request error count
- request error latency
- Testing (dgate-runtime - uses the dgate js/ts runtime to test modules)
- [ ] - Add unit testing for request handling
- [ ] - preserve host / strip path - upstream URL
- [ ] - upstream request/response headers
- [ ] - proxy request/response headers
- [ ] - Add tests for modules
- [ ] - javascript
- [ ] - typescript
- [ ] - async/await javascript/typescript
- [ ] - promises javascript/typescript
- Distributed Module Support
- [ ] - distributed module sync/async cache/storage functions

Production Ready Checklist:
- Tests
- [ ] - Unit Tests
- changelog compaction
- [ ] - Functional Tests
- admin tests
- raft tests
- module tests (needs to be single executable)
- grpc tests (needs to be single executable)
- ws tests (needs to be single executable)


- Examples
- [x] ip hash load balancer
- [x] short url service
- [x] modify json response
- [x] send multiple requests and combine the response
- [x] modify json request/response
- [x] send multiple upstream requests and combine them

0 comments on commit 02c5312

Please sign in to comment.