CI Updates (#251)

* Deploy QUIC Proxy (#210)

* Load listen addr from env

* Add deployment config for quic-forward-proxy

* ipv6 support

* Fix rpc_tester

* Read QUIC_PROXY_ADDR from env

* Add traces for debugging

* Add timeout for writing to SendStream

* disable GSO (Generic Segmentation Offload) for all outgoing QUIC-connects

should fix https://github.com/blockworks-foundation/lite-rpc/issues/199

* disable GSO (Generic Segmentation Offload) for all outgoing QUIC-connects (#200)

should fix https://github.com/blockworks-foundation/lite-rpc/issues/199

Co-authored-by: GroovieGermanikus <groovie@mango.markets>

* Add staging config, remove traces

* cargo fmt

* delete fly.toml - was split+renamed - see cd/

* remove misleading line

* comment on quic proxy

* revert some files

* Deploy dev from main, prod from production

---------

Co-authored-by: GroovieGermanikus <groovie@mango.markets>
Co-authored-by: Steve <95291500+grooviegermanikus@users.noreply.github.com>

* Update job names

* Fix launch params

---------

Co-authored-by: GroovieGermanikus <groovie@mango.markets>
Co-authored-by: Steve <95291500+grooviegermanikus@users.noreply.github.com>
This commit is contained in:
riordanp 2023-12-01 13:56:02 +00:00 committed by GitHub
parent 8760021e7f
commit 55ff9c8f4d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 49 additions and 43 deletions

View File

@ -0,0 +1,24 @@
name: Deploy to Fly Staging
on:
push:
branches: [main]
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Fly
uses: superfly/flyctl-actions/setup-flyctl@master
- name: Deploy lite-rpc-staging
run: flyctl deploy -c cd/lite-rpc-staging.toml --remote-only
# - name: Deploy quic-forward-proxy
# run: flyctl deploy -c cd/quic-forward-proxy.toml --remote-only

View File

@ -1,8 +1,8 @@
name: Deploy to Fly
name: Deploy to Fly Production
on:
push:
branches: [main]
branches: [production]
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
@ -17,11 +17,8 @@ jobs:
- name: Setup Fly
uses: superfly/flyctl-actions/setup-flyctl@master
- name: Deploy
run: flyctl deploy --remote-only
# - name: Deploy lite-rpc
# run: flyctl deploy -c cd/lite-rpc.toml --remote-only
- name: Deploy lite-rpc
run: flyctl deploy -c cd/lite-rpc.toml --remote-only
# - name: Deploy quic-forward-proxy
# run: flyctl deploy -c cd/quic-forward-proxy.toml --remote-only

View File

@ -110,7 +110,7 @@ need to explicitly disable GSO (Generic Segmenatin Offload) see
fly apps create my-lite-rpc
fly secrets set -a my-lite-rpc RPC_URL=... WS_URL=... # See above table for env options
fly scale vm dedicated-cpu-2x --memory 4096 -a my-lite-rpc
fly deploy -a my-lite-rpc --remote-only # To just launch lite-rpc
fly deploy -c cd/lite-rpc.toml -a my-lite-rpc --remote-only # To just launch lite-rpc
fly deploy -c cd/lite-rpc.toml -a my-lite-rpc --remote-only # To launch lite-rpc with proxy mode
```

20
cd/lite-rpc-staging.toml Normal file
View File

@ -0,0 +1,20 @@
#
# LiteRPC entrypoint will be served under https://api.mngo.cloud/lite-rpc-staging/v1/
#
app = "solana-lite-rpc-staging"
kill_signal = "SIGINT"
kill_timeout = 5
primary_region = "nrt"
[build]
dockerfile = "../Dockerfile"
[env]
PORT_HTTP = "8890"
PORT_WS = "8891"
RUST_LOG = "info"
[metrics]
path = "/metrics"
port = 9091

View File

@ -5,9 +5,6 @@ kill_timeout = 5
[build]
dockerfile = "../Dockerfile"
[experimental]
cmd = ["sh", "-c", "lite-rpc --rpc-addr $RPC_URL --ws-addr $WS_URL --quic-proxy-addr $QUIC_PROXY_ADDR"]
[env]
PORT_HTTP = "8890"
PORT_WS = "8891"

View File

@ -1,32 +0,0 @@
app = "solana-lite-rpc"
kill_signal = "SIGINT"
kill_timeout = 5
[env]
PORT_HTTP = "8890"
PORT_WS = "8891"
RUST_LOG = "info"
[[services]]
internal_port = 9000
processes = ["app"]
protocol = "tcp"
[services.concurrency]
hard_limit = 1024
soft_limit = 1024
type = "connections"
[[services]]
internal_port = 9001
processes = ["app"]
protocol = "tcp"
[services.concurrency]
hard_limit = 1024
soft_limit = 1024
type = "connections"
[metrics]
path = "/metrics"
port = 9091