summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/ISSUE_TEMPLATE/bug-report.yml42
-rwxr-xr-x.github/ISSUE_TEMPLATE/bug_report.md38
-rw-r--r--.github/ISSUE_TEMPLATE/config.yml6
-rw-r--r--.github/ISSUE_TEMPLATE/feature-request.yml38
-rwxr-xr-x.github/ISSUE_TEMPLATE/feature_request.md23
-rw-r--r--.github/dependabot.yml5
-rw-r--r--.github/pull_request_template.md3
-rw-r--r--.github/workflows/codeql-analysis.yml45
-rw-r--r--.github/workflows/linters.yml18
-rw-r--r--.github/workflows/linux.yml77
-rw-r--r--.github/workflows/release.yml168
-rw-r--r--.github/workflows/release_grpc.yml119
-rw-r--r--.github/workflows/tests.yml157
-rwxr-xr-x.gitignore18
-rwxr-xr-x.golangci.yml28
-rw-r--r--.grype.yaml3
-rw-r--r--.rr.yaml1493
-rw-r--r--CHANGELOG.md6
-rw-r--r--Dockerfile8
-rw-r--r--README.md42
-rw-r--r--cmd/rr/command_test.go67
-rw-r--r--cmd/rr/main.go28
-rw-r--r--composer.json26
-rw-r--r--dev/README.md10
-rw-r--r--go.mod100
-rw-r--r--go.sum284
-rw-r--r--internal/cli/reset/command.go6
-rw-r--r--internal/cli/reset/command_test.go4
-rw-r--r--internal/cli/root.go12
-rw-r--r--internal/cli/root_test.go2
-rw-r--r--internal/cli/serve/command.go8
-rw-r--r--internal/cli/serve/command_test.go4
-rw-r--r--internal/cli/workers/command.go8
-rw-r--r--internal/cli/workers/command_test.go4
-rw-r--r--internal/cli/workers/render.go2
-rw-r--r--internal/container/config.go4
-rw-r--r--internal/container/config_test.go6
-rw-r--r--internal/container/container.go2
-rw-r--r--internal/container/container_test.go4
-rw-r--r--internal/container/plugins.go102
-rw-r--r--internal/container/plugins_test.go20
-rw-r--r--internal/debug/server_test.go2
-rw-r--r--internal/rpc/client.go8
-rw-r--r--internal/rpc/client_test.go4
44 files changed, 2276 insertions, 778 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml
deleted file mode 100644
index 35b55737..00000000
--- a/.github/ISSUE_TEMPLATE/bug-report.yml
+++ /dev/null
@@ -1,42 +0,0 @@
-name: Bug Report
-description: 🐛 File a bug report
-title: "[🐛 BUG]: "
-labels: ["B-bug", "F-need-verification"]
-assignees:
- - rustatian
-body:
- - type: markdown
- attributes:
- value: |
- Thanks for taking the time to fill out this bug report!
-
- - type: checkboxes
- id: search-done
- attributes:
- label: No duplicates đŸĨ˛.
- options:
- - label: I have searched for a similar issue in our bug tracker and didn't find any solutions.
- required: true
- - type: textarea
- id: what-happened
- attributes:
- label: What happened?
- description: Also tell us, what did you expect to happen?
- placeholder: Tell us what you see!
- value: "A bug happened!"
- validations:
- required: true
- - type: textarea
- id: version
- attributes:
- label: Version
- description: What version of our software are you running?
- placeholder: 2.6.0
- validations:
- required: true
- - type: textarea
- id: logs
- attributes:
- label: Relevant log output
- description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
- render: shell \ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100755
index 00000000..4d69101b
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,38 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: "[BUG]"
+labels: B-bug, F-need-verification
+assignees: 48d90782
+---
+
+<!--
+ Thank you for filing a bug report! 🐛 Please provide a short summary of the bug,
+ along with any information you feel relevant to replicating the bug.
+-->
+
+I tried this code:
+
+```go
+// code
+```
+
+I expected to see this happen: *explanation*
+
+Instead, this happened: *explanation*
+
+The **version of RR** used: *explanation*
+
+The **operation system** used: *explanation*
+
+RR configuration file content:
+
+```yaml
+# Paste here your `.rr.yaml` file content
+```
+
+Errortrace, Backtrace or Panictrace:
+
+```text
+// backtrace
+```
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
deleted file mode 100644
index c8f3ef0a..00000000
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-blank_issues_enabled: false
-
-contact_links:
- - name: ❓ Start a discussion or ask a question.
- url: https://github.com/spiral/roadrunner/discussions
- about: Please ask and answer questions here.
diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml
deleted file mode 100644
index e26fde19..00000000
--- a/.github/ISSUE_TEMPLATE/feature-request.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-name: Feauture request
-description: 💡 Suggest an idea for this project
-title: "[💡 FEATURE REQUEST]: "
-labels: ["C-feature-request"]
-assignees:
- - rustatian
-body:
- - type: markdown
- attributes:
- value: |
- Thanks for taking the time to share your idea!
-
- - type: dropdown
- id: plugin
- attributes:
- label: Plugin
- description: What plugin is affected?
- options:
- - GRPC
- - HTTP
- - JOBS
- - TCP
- - File server
- - Config
- - KV
- - Service
- - Server
- - Status
-
- - type: textarea
- id: idea
- attributes:
- label: I have an idea!
- description: Clear and concise description of your idea.
- placeholder: Tell us what you see!
- value: "I have an idea, listen to me!!"
- validations:
- required: true \ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100755
index 00000000..79b34409
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,23 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: "[FEATURE REQUEST]"
+labels: C-feature-request
+assignees: 48d90782, wolfy-j
+---
+
+### Is your feature request related to a problem? Please describe.
+
+A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+
+### Describe the solution you'd like
+
+A clear and concise description of what you want to happen.
+
+### Describe alternatives you've considered
+
+A clear and concise description of any alternative solutions or features you've considered.
+
+### Additional context
+
+Add any other context or screenshots about the feature request here.
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index ac2bfd0b..6271660c 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -2,11 +2,6 @@
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
-
-# To get started with Dependabot version updates, you'll need to specify which
-# package ecosystems to update and where the package manifests are located.
-# Please see the documentation for all configuration options:
-# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index c3467850..15476405 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -8,8 +8,7 @@
## License Acceptance
-By submitting this pull request, I confirm that my contribution is made under
-the terms of the MIT license.
+By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.
## PR Checklist
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 05ca036c..0a8818b2 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -1,66 +1,35 @@
-# For most projects, this workflow file will not need changing; you simply need
-# to commit it to your repository.
+# For most projects, this workflow file will not need changing; you simply need to commit it to your repository.
#
-# You may wish to alter this file to override the set of languages analyzed,
-# or to provide custom queries or build logic.
+# You may wish to alter this file to override the set of languages analyzed, or to provide custom queries or build logic.
name: "CodeQL"
on:
push:
- branches: [ master ]
+ branches: [ master, beta, stable ]
pull_request:
- # The branches below must be a subset of the branches above
- branches: [ master ]
+ branches: [ master, beta, stable ]
schedule:
- cron: '0 15 * * 6'
jobs:
analyze:
name: Analyze
- runs-on: ubuntu-latest
-
+ runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
- # Override automatic language detection by changing the below list
- # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
- language: [ 'go' ]
- # Learn more...
- # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
-
+ language: [ 'go' ] # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
- # We must fetch at least the immediate parents so that if this is
- # a pull request then we can checkout the head.
+ # We must fetch at least the immediate parents so that if this is a pull request then we can checkout the head
fetch-depth: 2
- # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
- # If you wish to specify custom queries, you can do so here or in a config file.
- # By default, queries listed here will override any specified in a config file.
- # Prefix the list here with "+" to use these queries and those in the config file.
- # queries: ./path/to/local/query, your-org/your-repo/queries@main
-
- # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
- # If this step fails, then you should remove it and run the build manually (see below)
- - name: Autobuild
- uses: github/codeql-action/autobuild@v1
-
- # ℹī¸ Command-line programs to run using the OS shell.
- # 📚 https://git.io/JvXDl
-
- # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines
- # and modify them (or add more) to build your code if your project
- # uses a compiled language
-
- #- run: |
- # make bootstrap
- # make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml
deleted file mode 100644
index ba6d0b9f..00000000
--- a/.github/workflows/linters.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-name: Linters
-
-on: [push, pull_request]
-
-jobs:
- golangci-lint:
- name: Golang-CI (lint)
- runs-on: ubuntu-latest
- steps:
- - name: Check out code
- uses: actions/checkout@v2
-
- - name: Run linter
- uses: golangci/golangci-lint-action@v2 # Action page: <https://github.com/golangci/golangci-lint-action>
- with:
- version: v1.43 # without patch version
- only-new-issues: false # show only new issues if it's a pull request
- args: --timeout=10m --build-tags=race
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
deleted file mode 100644
index 73d94462..00000000
--- a/.github/workflows/linux.yml
+++ /dev/null
@@ -1,77 +0,0 @@
-name: Linux
-
-on:
- push:
- branches:
- - master
- - beta
- - stable
- tags-ignore:
- - "**"
- paths-ignore:
- - "**.md"
- - "**.yaml"
- - "**.yml"
- pull_request:
- paths-ignore:
- - "**.md"
- - "**.yaml"
- - "**.yml"
-
-jobs:
- golang:
- name: Build (Go ${{ matrix.go }}, PHP ${{ matrix.php }}, OS ${{matrix.os}})
- runs-on: ${{ matrix.os }}
- timeout-minutes: 60
- strategy:
- fail-fast: true
- matrix:
- php: ["7.4", "8.0", "8.1"]
- go: ["1.17.5"]
- os: ["ubuntu-latest"]
- steps:
- - name: Set up Go ${{ matrix.go }}
- uses: actions/setup-go@v2 # action page: <https://github.com/actions/setup-go>
- with:
- go-version: ${{ matrix.go }}
-
- - name: Set up PHP ${{ matrix.php }}
- uses: shivammathur/setup-php@v2 # action page: <https://github.com/shivammathur/setup-php>
- with:
- php-version: ${{ matrix.php }}
- extensions: sockets
-
- - name: Check out code
- uses: actions/checkout@v2
-
- - name: Get Composer Cache Directory
- id: composer-cache
- run: echo "::set-output name=dir::$(composer config cache-files-dir)"
-
- - name: Init Composer Cache # Docs: <https://git.io/JfAKn#php---composer>
- uses: actions/cache@v2
- with:
- path: ${{ steps.composer-cache.outputs.dir }}
- key: ${{ runner.os }}-composer-${{ matrix.php }}-${{ hashFiles('**/composer.json') }}
- restore-keys: ${{ runner.os }}-composer-
-
- - name: Install Composer dependencies
- run: cd tests && composer update --prefer-dist --no-progress --ansi
-
- - name: Init Go modules Cache # Docs: <https://git.io/JfAKn#go---modules>
- uses: actions/cache@v2
- with:
- path: ~/go/pkg/mod
- key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- restore-keys: ${{ runner.os }}-go-
-
- - name: Install Go dependencies
- run: go mod download
-
- - name: Run golang tests with coverage
- run: make test_coverage
-
- - uses: codecov/codecov-action@v2 # Docs: <https://github.com/codecov/codecov-action>
- with:
- file: ./coverage-ci/summary.txt
- fail_ci_if_error: false
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 00000000..d467de71
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,168 @@
+name: release
+
+on:
+ release: # Docs: <https://help.github.com/en/articles/events-that-trigger-workflows#release-event-release>
+ types: [ published ]
+
+jobs:
+ build:
+ name: Build for ${{ matrix.os }} (${{ matrix.arch }}, ${{ matrix.compiler }})
+ runs-on: ubuntu-20.04
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ windows, darwin ] # linux, darwin, windows
+ compiler: [ gcc ] # gcc, musl-gcc
+ archiver: [ zip ] # tar, zip
+ arch: [ amd64 ] # amd64, 386
+ include:
+ - os: linux
+ compiler: gcc
+ archiver: tar
+ arch: amd64
+ - os: linux
+ compiler: gcc
+ archiver: tar
+ arch: arm64
+ - os: darwin
+ compiler: gcc
+ archiver: tar
+ arch: arm64
+ - os: ''
+ compiler: musl-gcc # more info: <https://musl.libc.org/>
+ archiver: zip
+ arch: amd64
+ steps:
+ - name: Set up Go
+ uses: actions/setup-go@v2
+ with:
+ go-version: 1.17.5
+
+ - name: Check out code
+ uses: actions/checkout@v2
+
+ - name: Install musl
+ if: matrix.compiler == 'musl-gcc'
+ run: sudo apt-get install -y musl-tools
+
+ - name: Download dependencies
+ run: go mod download # `-x` means "verbose" mode
+
+ - name: Generate builder values
+ id: values
+ run: |
+ echo "::set-output name=version::`echo ${GITHUB_REF##*/} | sed -e 's/^[vV ]*//'`"
+ echo "::set-output name=timestamp::`date +%FT%T%z`"
+ echo "::set-output name=binary-name::rr`[ ${{ matrix.os }} = 'windows' ] && echo '.exe'`"
+
+ - name: Compile binary file
+ env:
+ GOOS: ${{ matrix.os }}
+ GOARCH: ${{ matrix.arch }}
+ CC: ${{ matrix.compiler }}
+ CGO_ENABLED: 0
+ LDFLAGS: >-
+ -s
+ -X github.com/roadrunner-server/roadrunner/v2/internal/meta.version=${{ steps.values.outputs.version }}
+ -X github.com/roadrunner-server/roadrunner/v2/internal/meta.buildTime=${{ steps.values.outputs.timestamp }}
+ run: |
+ go build -trimpath -ldflags "$LDFLAGS" -o "./${{ steps.values.outputs.binary-name }}" ./cmd/rr
+ stat "./${{ steps.values.outputs.binary-name }}"
+
+ - name: Generate distributive directory name
+ id: dist-dir
+ run: >
+ echo "::set-output name=name::roadrunner-${{ steps.values.outputs.version }}-$(
+ [ ${{ matrix.os }} != '' ] && echo '${{ matrix.os }}' || echo 'unknown'
+ )$(
+ [ ${{ matrix.compiler }} = 'musl-gcc' ] && echo '-musl'
+ )-${{ matrix.arch }}"
+
+ - name: Generate distributive archive name
+ id: dist-arch
+ run: >
+ echo "::set-output name=name::${{ steps.dist-dir.outputs.name }}.$(
+ case ${{ matrix.archiver }} in
+ zip) echo 'zip';;
+ tar) echo 'tar.gz';;
+ *) exit 10;
+ esac
+ )"
+
+ - name: Create distributive
+ run: |
+ mkdir ${{ steps.dist-dir.outputs.name }}
+ mv "./${{ steps.values.outputs.binary-name }}" ./${{ steps.dist-dir.outputs.name }}/
+ cp ./README.md ./CHANGELOG.md ./LICENSE ./${{ steps.dist-dir.outputs.name }}/
+
+ - name: Pack distributive using tar
+ if: matrix.archiver == 'tar'
+ run: tar -zcf "${{ steps.dist-arch.outputs.name }}" "${{ steps.dist-dir.outputs.name }}"
+
+ - name: Pack distributive using zip
+ if: matrix.archiver == 'zip'
+ run: zip -r -q "${{ steps.dist-arch.outputs.name }}" "${{ steps.dist-dir.outputs.name }}"
+
+ - name: Upload artifact
+ uses: actions/upload-artifact@v2
+ with:
+ name: ${{ steps.dist-dir.outputs.name }}
+ path: ${{ steps.dist-arch.outputs.name }}
+ if-no-files-found: error
+ retention-days: 30
+
+ - name: Upload binaries to release
+ uses: svenstaro/upload-release-action@v2
+ with:
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ file: ${{ steps.dist-arch.outputs.name }}
+ asset_name: ${{ steps.dist-arch.outputs.name }}
+ tag: ${{ github.ref }}
+
+ docker:
+ name: Build docker image
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Check out code
+ uses: actions/checkout@v2
+
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v1 # Action page: <https://github.com/docker/setup-qemu-action>
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1 # Action page: <https://github.com/docker/setup-buildx-action>
+
+ - name: Login to Docker Hub
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKER_LOGIN }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+
+ - name: Login to GitHub Container Registry
+ uses: docker/login-action@v1
+ with:
+ registry: ghcr.io
+ username: ${{ secrets.GHCR_LOGIN }}
+ password: ${{ secrets.GHCR_PASSWORD }}
+
+ - name: Generate builder values
+ id: values
+ run: |
+ echo "::set-output name=version::`echo ${GITHUB_REF##*/} | sed -e 's/^[vV ]*//'`"
+ echo "::set-output name=timestamp::`date +%FT%T%z`"
+
+ - name: Build image
+ uses: docker/build-push-action@v2 # Action page: <https://github.com/docker/build-push-action>
+ with:
+ context: .
+ file: Dockerfile
+ push: true
+ platforms: linux/amd64,linux/arm64
+ build-args: |
+ APP_VERSION=${{ steps.values.outputs.version }}
+ BUILD_TIME=${{ steps.values.outputs.timestamp }}
+ tags: |
+ spiralscout/roadrunner:latest
+ spiralscout/roadrunner:${{ steps.values.outputs.version }}
+ ghcr.io/spiral/roadrunner:latest
+ ghcr.io/spiral/roadrunner:${{ steps.values.outputs.version }}
diff --git a/.github/workflows/release_grpc.yml b/.github/workflows/release_grpc.yml
new file mode 100644
index 00000000..a8ac882e
--- /dev/null
+++ b/.github/workflows/release_grpc.yml
@@ -0,0 +1,119 @@
+name: release_grpc
+
+on:
+ release: # Docs: <https://help.github.com/en/articles/events-that-trigger-workflows#release-event-release>
+ types: [ published ]
+
+jobs:
+ build:
+ name: Build for ${{ matrix.os }} (${{ matrix.arch }}, ${{ matrix.compiler }})
+ runs-on: ubuntu-20.04
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ windows, darwin ] # linux, darwin, windows
+ compiler: [ gcc ] # gcc, musl-gcc
+ archiver: [ zip ] # tar, zip
+ arch: [ amd64 ] # amd64, 386
+ include:
+ - os: linux
+ compiler: gcc
+ archiver: tar
+ arch: amd64
+ - os: linux
+ compiler: gcc
+ archiver: tar
+ arch: arm64
+ - os: darwin
+ compiler: gcc
+ archiver: tar
+ arch: arm64
+ - os: ''
+ compiler: musl-gcc # more info: <https://musl.libc.org/>
+ archiver: zip
+ arch: amd64
+ steps:
+ - name: Set up Go
+ uses: actions/setup-go@v2
+ with:
+ go-version: 1.17.5
+
+ - name: Check out code
+ uses: actions/checkout@v2
+ with:
+ repository: 'spiral/roadrunner-plugins'
+
+ - name: Install musl
+ if: matrix.compiler == 'musl-gcc'
+ run: sudo apt-get install -y musl-tools
+
+ - name: Download dependencies
+ run: go mod download
+
+ - name: Generate builder values
+ id: values
+ run: |
+ echo "::set-output name=version::`echo ${GITHUB_REF##*/} | sed -e 's/^[vV ]*//'`"
+ echo "::set-output name=timestamp::`date +%FT%T%z`"
+ echo "::set-output name=binary-name::protoc-gen-php-grpc`[ ${{ matrix.os }} = 'windows' ] && echo '.exe'`"
+
+ - name: Compile binary file
+ env:
+ GOOS: ${{ matrix.os }}
+ GOARCH: ${{ matrix.arch }}
+ CC: ${{ matrix.compiler }}
+ CGO_ENABLED: 0
+ LDFLAGS: >-
+ -s
+ run: |
+ go build -trimpath -ldflags "$LDFLAGS" -o "./${{ steps.values.outputs.binary-name }}" grpc/protoc_plugins/protoc-gen-php-grpc/main.go
+ stat "./${{ steps.values.outputs.binary-name }}"
+
+ - name: Generate distributive directory name
+ id: dist-dir
+ run: >
+ echo "::set-output name=name::protoc-gen-php-grpc-${{ steps.values.outputs.version }}-$(
+ [ ${{ matrix.os }} != '' ] && echo '${{ matrix.os }}' || echo 'unknown'
+ )$(
+ [ ${{ matrix.compiler }} = 'musl-gcc' ] && echo '-musl'
+ )-${{ matrix.arch }}"
+
+ - name: Generate distributive archive name
+ id: dist-arch
+ run: >
+ echo "::set-output name=name::${{ steps.dist-dir.outputs.name }}.$(
+ case ${{ matrix.archiver }} in
+ zip) echo 'zip';;
+ tar) echo 'tar.gz';;
+ *) exit 10;
+ esac
+ )"
+
+ - name: Create distributive
+ run: |
+ mkdir ${{ steps.dist-dir.outputs.name }}
+ mv "./${{ steps.values.outputs.binary-name }}" ./${{ steps.dist-dir.outputs.name }}/
+
+ - name: Pack distributive using tar
+ if: matrix.archiver == 'tar'
+ run: tar -zcf "${{ steps.dist-arch.outputs.name }}" "${{ steps.dist-dir.outputs.name }}"
+
+ - name: Pack distributive using zip
+ if: matrix.archiver == 'zip'
+ run: zip -r -q "${{ steps.dist-arch.outputs.name }}" "${{ steps.dist-dir.outputs.name }}"
+
+ - name: Upload artifact
+ uses: actions/upload-artifact@v2
+ with:
+ name: ${{ steps.dist-dir.outputs.name }}
+ path: ${{ steps.dist-arch.outputs.name }}
+ if-no-files-found: error
+ retention-days: 30
+
+ - name: Upload binaries to release
+ uses: svenstaro/upload-release-action@v2
+ with:
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ file: ${{ steps.dist-arch.outputs.name }}
+ asset_name: ${{ steps.dist-arch.outputs.name }}
+ tag: ${{ github.ref }}
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 00000000..e93d15ad
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,157 @@
+name: tests
+
+on:
+ push:
+ branches:
+ - master
+ - beta
+ - stable
+ tags-ignore:
+ - '**'
+ paths-ignore:
+ - '**.md'
+ pull_request:
+ paths-ignore:
+ - '**.md'
+
+jobs:
+ validate-config-file:
+ name: Validate config file
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Check out code
+ uses: actions/checkout@v2
+
+ - name: Setup nodejs
+ uses: actions/setup-node@v2
+ with:
+ node-version: '14'
+
+ - name: Install linter
+ run: npm install -g ajv-cli # Package page: <https://www.npmjs.com/package/ajv-cli>
+
+ - name: Run linter
+ run: ajv validate --all-errors --verbose -s ./schemas/config/2.0.schema.json -d ./.rr.yaml
+
+ golangci-lint:
+ name: Golang-CI (lint)
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Check out code
+ uses: actions/checkout@v2
+
+ - name: Run linter
+ uses: golangci/golangci-lint-action@v2 # Action page: <https://github.com/golangci/golangci-lint-action>
+ with:
+ version: v1.43 # without patch version
+ only-new-issues: false # show only new issues if it's a pull request
+ args: --build-tags=safe --timeout=10m
+
+ go-test:
+ name: Unit tests
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Set up Go
+ uses: actions/setup-go@v2
+ with:
+ go-version: 1.17.5
+
+ - name: Check out code
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 2 # Fixes codecov error 'Issue detecting commit SHA'
+
+ - name: Init Go modules Cache # Docs: <https://git.io/JfAKn#go---modules>
+ uses: actions/cache@v2
+ with:
+ path: ~/go/pkg/mod
+ key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
+ restore-keys: ${{ runner.os }}-go-
+
+ - name: Install Go dependencies
+ run: go mod download
+
+ - name: Run Unit tests
+ run: go test -race -covermode=atomic -coverprofile /tmp/coverage.txt ./...
+
+ - name: Upload Coverage report to CodeCov
+ continue-on-error: true
+ uses: codecov/[email protected] # https://github.com/codecov/codecov-action
+ with:
+ file: /tmp/coverage.txt
+
+ build:
+ name: Build for ${{ matrix.os }}
+ runs-on: ubuntu-20.04
+ needs: [ golangci-lint, go-test ]
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ linux, darwin, windows ]
+ steps:
+ - name: Set up Go
+ uses: actions/setup-go@v2 # action page: <https://github.com/actions/setup-go>
+ with:
+ go-version: 1.17.5
+
+ - name: Check out code
+ uses: actions/checkout@v2
+
+ - name: Init Go modules Cache # Docs: <https://git.io/JfAKn#go---modules>
+ uses: actions/cache@v2
+ with:
+ path: ~/go/pkg/mod
+ key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
+ restore-keys: ${{ runner.os }}-go-
+
+ - name: Install Go dependencies
+ run: go mod download && go mod verify
+
+ - name: Generate version value
+ id: values # for PR this value will be `merge@__hash__`, SO: <https://stackoverflow.com/a/59780579/2252921>
+ run: |
+ echo "::set-output name=version::`echo ${GITHUB_REF##*/}`@`echo ${GITHUB_SHA} | cut -c1-8`"
+ echo "::set-output name=timestamp::`date +%FT%T%z`"
+
+ - name: Compile binary file
+ env:
+ GOOS: ${{ matrix.os }}
+ GOARCH: amd64
+ CGO_ENABLED: 0
+ LDFLAGS: -s
+ -X github.com/roadrunner-server/roadrunner/v2/internal/meta.version=${{ steps.values.outputs.version }}
+ -X github.com/roadrunner-server/roadrunner/v2/internal/meta.buildTime=${{ steps.values.outputs.timestamp }}
+ run: go build -trimpath -ldflags "$LDFLAGS" -o ./rr ./cmd/rr
+
+ - name: Try to execute
+ if: matrix.os == 'linux'
+ run: ./rr -v
+
+ - name: Upload artifact
+ uses: actions/upload-artifact@v2
+ with:
+ name: rr-${{ matrix.os }}
+ path: ./rr
+ if-no-files-found: error
+ retention-days: 90
+
+ docker-image:
+ name: Build docker image
+ runs-on: ubuntu-20.04
+ needs: [ golangci-lint, go-test ]
+ steps:
+ - name: Check out code
+ uses: actions/checkout@v2
+
+ - name: Build image
+ run: docker build -t rr:local -f ./Dockerfile .
+
+ - name: Try to execute
+ run: docker run --rm rr:local -v
+
+ - name: Scan image
+ uses: anchore/scan-action@v3 # action page: <https://github.com/anchore/scan-action>
+ with:
+ image: rr:local
+ fail-build: true
+ severity-cutoff: low # negligible, low, medium, high or critical
diff --git a/.gitignore b/.gitignore
index 86a94bda..79623904 100755
--- a/.gitignore
+++ b/.gitignore
@@ -9,10 +9,6 @@
# Test binary, built with `go test -c`
*.test
-unit_tests
-unit_tests_copied
-dir1
-coverage-ci
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
@@ -20,11 +16,15 @@ coverage-ci
# Dependency directories (remove the comment below to include it)
# vendor/
.idea
-composer.lock
-vendor
builds/
tests/vendor/
+unit_tests
+unit_tests_copied
+dir1
+coverage
+/rr
+rr.exe
+.rr-sample-bench.yaml
+.rr-with-temporal.yaml
.rr-sample.yaml
-cmd
-rr
-**/old
+.rr-sample-bench-*
diff --git a/.golangci.yml b/.golangci.yml
index f623ed70..cde73399 100755
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -5,20 +5,18 @@ run:
skip-dirs:
- .github
- .git
- - tests/mocks
- modules-download-mode: readonly
allow-parallel-runners: true
output:
format: colored-line-number # colored-line-number|line-number|json|tab|checkstyle|code-climate
linters-settings:
+ wsl:
+ allow-assign-and-anything: true
govet:
check-shadowing: true
- revive:
- confidence: 0.8
- errorCode: 0
- warningCode: 0
+ golint:
+ min-confidence: 0.1
gocyclo:
min-complexity: 15
godot:
@@ -49,23 +47,31 @@ linters: # All available linters list: <https://golangci-lint.run/usage/linters/
- deadcode # Finds unused code
- depguard # Go linter that checks if package imports are in a list of acceptable packages
- dogsled # Checks assignments with too many blank identifiers (e.g. x, _, _, _, := f())
+ - dupl # Tool for code clone detection
- errcheck # Errcheck is a program for checking for unchecked errors in go programs. These unchecked errors can be critical bugs in some cases
+ - errorlint # find code that will cause problems with the error wrapping scheme introduced in Go 1.13
- exhaustive # check exhaustiveness of enum switch statements
- exportloopref # checks for pointers to enclosing loop variables
+ - funlen # Tool for detection of long functions
+ - gochecknoglobals # Checks that no globals are present in Go code
- gochecknoinits # Checks that no init functions are present in Go code
- gocognit # Computes and checks the cognitive complexity of functions
- goconst # Finds repeated strings that could be replaced by a constant
- gocritic # The most opinionated Go source code linter
+ - gocyclo # Computes and checks the cyclomatic complexity of functions
- gofmt # Gofmt checks whether code was gofmt-ed. By default this tool runs with -s option to check for code simplification
- goimports # Goimports does everything that gofmt does. Additionally it checks unused imports
- - revive # Golint differs from gofmt. Gofmt reformats Go source code, whereas golint prints out style mistakes
+ - revive
- goprintffuncname # Checks that printf-like functions are named with `f` at the end
- gosec # Inspects source code for security problems
- gosimple # Linter for Go source code that specializes in simplifying a code
- govet # Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string
- ineffassign # Detects when assignments to existing variables are not used
+ - lll # Reports long lines
- misspell # Finds commonly misspelled English words in comments
- nakedret # Finds naked returns in functions greater than a specified function length
+ - nestif # Reports deeply nested if statements
+ - nlreturn # checks for a new line before return and branch statements to increase code clarity
- noctx # finds sending http request without context.Context
- nolintlint # Reports ill-formed or insufficient nolint directives
- prealloc # Finds slice declarations that could potentially be preallocated
@@ -74,10 +80,13 @@ linters: # All available linters list: <https://golangci-lint.run/usage/linters/
- structcheck # Finds unused struct fields
- stylecheck # Stylecheck is a replacement for golint
- tparallel # detects inappropriate usage of t.Parallel() method in your Go test codes
+ - typecheck # Like the front-end of a Go compiler, parses and type-checks Go code
- unconvert # Remove unnecessary type conversions
+ - unparam # Reports unused function parameters
- unused # Checks Go code for unused constants, variables, functions and types
- varcheck # Finds unused global variables and constants
- whitespace # Tool for detection of leading and trailing whitespace
+ - wsl # Whitespace Linter - Forces you to use empty lines!
issues:
exclude-rules:
@@ -87,8 +96,3 @@ issues:
- funlen
- scopelint
- gocognit
- - goconst
- - noctx
- - gosimple
- - revive
- - gochecknoinits
diff --git a/.grype.yaml b/.grype.yaml
new file mode 100644
index 00000000..df59c9bb
--- /dev/null
+++ b/.grype.yaml
@@ -0,0 +1,3 @@
+ignore:
+ # temporary ignore this CVE as false positive on the Go package
+ - vulnerability: CVE-2015-5237
diff --git a/.rr.yaml b/.rr.yaml
new file mode 100644
index 00000000..ff5e2343
--- /dev/null
+++ b/.rr.yaml
@@ -0,0 +1,1493 @@
+######################################################################################
+# THIS IS SAMPLE OF THE CONFIGURATION #
+# IT'S NOT A DEFAULT CONFIGURATION, IT'S JUST A REFERENCE TO ALL OPTIONS AND PLUGINS #
+# MORE DOCS CAN BE FOUND HERE: <https://roadrunner.dev/docs/intro-config> #
+######################################################################################
+
+# Production usage guide: https://roadrunner.dev/docs/beep-beep-production
+
+# Hint: RR will replace any config options using reference to environment variables,
+# eg.: `option_key: ${ENVIRONMENT_VARIABLE_NAME}`.
+
+# Important: TCP port numbers for each plugin (rpc, http, etc) must be unique!
+
+# RR configuration version
+version: "2.7"
+
+# Remote Procedures Calling (docs: https://roadrunner.dev/docs/beep-beep-rpc)
+# Is used for connecting to RoadRunner server from your PHP workers.
+rpc:
+ # TCP address:port for listening.
+ #
+ # Default: "tcp://127.0.0.1:6001"
+ listen: tcp://127.0.0.1:6001
+
+# Application server settings (docs: https://roadrunner.dev/docs/php-worker)
+server:
+ #[SINCE 2.6]
+ on_init:
+ # Command to execute before the main server's command
+ #
+ # This option is required if using on_init
+ command: "any php or script here"
+
+ # Script execute timeout
+ #
+ # Default: 60s [60m, 60h], if used w/o units its means - NANOSECONDS.
+ exec_timeout: 20s
+
+ # Environment variables for the worker processes.
+ #
+ # Default: <empty map>
+ env:
+ - SOME_KEY: "SOME_VALUE"
+ - SOME_KEY2: "SOME_VALUE2"
+ # Worker starting command, with any required arguments.
+ #
+ # This option is required.
+ command: "php psr-worker.php"
+
+ # Username (not UID) for the worker processes. An empty value means to use the RR process user.
+ #
+ # Default: ""
+ user: ""
+
+ # Group name (not GID) for the worker processes. An empty value means to use the RR process user.
+ #
+ # Default: ""
+ group: ""
+
+ # Environment variables for the worker processes.
+ #
+ # Default: <empty map>
+ env:
+ - SOME_KEY: "SOME_VALUE"
+ - SOME_KEY2: "SOME_VALUE2"
+
+ # Worker relay can be: "pipes", TCP (eg.: tcp://127.0.0.1:6002), or socket (eg.: unix:///var/run/rr.sock).
+ #
+ # Default: "pipes"
+ relay: pipes
+
+ # Timeout for relay connection establishing (only for socket and TCP port relay).
+ #
+ # Default: 60s
+ relay_timeout: 60s
+
+# Logging settings (docs: https://roadrunner.dev/docs/beep-beep-logging)
+logs:
+ # Logging mode can be "development", "production" or "raw". Do not forget to change this value for production environment.
+ #
+ # Development mode (which makes DPanicLevel logs panic), uses a console encoder, writes to standard error, and
+ # disables sampling. Stacktraces are automatically included on logs of WarnLevel and above.
+ #
+ # Default: "development"
+ mode: development
+
+ # Logging level can be "panic", "error", "warn", "info", "debug".
+ #
+ # Default: "debug"
+ level: debug
+
+ # Encoding format can be "console" or "json" (last is preferred for production usage).
+ #
+ # Default: "console"
+ encoding: console
+
+ # Log line ending
+ #
+ # Default: "\n"
+ line_ending: "\n"
+
+ # Output can be file (eg.: "/var/log/rr_errors.log"), "stderr" or "stdout".
+ #
+ # Default: "stderr"
+ output: stderr
+
+ # Errors only output can be file (eg.: "/var/log/rr_errors.log"), "stderr" or "stdout".
+ #
+ # Default: "stderr"
+ err_output: stderr
+
+ # You can configure each plugin log messages individually (key is plugin name, and value is logging options in same
+ # format as above).
+ #
+ # Default: <empty map>
+ channels:
+ http:
+ mode: development
+ level: panic
+ encoding: console
+ output: stdout
+ err_output: stderr
+ server:
+ mode: production
+ level: info
+ encoding: json
+ output: stdout
+ err_output: stdout
+ rpc:
+ mode: raw
+ level: debug
+ encoding: console
+ output: stderr
+ err_output: stdout
+
+# Workflow and activity mesh service.
+#
+# Drop this section for temporal feature disabling.
+temporal:
+ # Address of temporal server.
+ #
+ # Default: "127.0.0.1:7233"
+ address: 127.0.0.1:7233
+
+ # Sticky cache size. Sticky workflow execution is the affinity
+ # between workflow tasks of a specific workflow execution to a specific worker. The benefit of sticky execution is that
+ # the workflow does not have to reconstruct state by replaying history from the beginning. The cache is shared between
+ # workers running within same process. This must be called before any worker is started. If not called, the default
+ # size of 10K (which may change) will be used.
+ #
+ # Default: 10_000
+ cache_size: 10000
+
+ # Namespace name for this client to work with
+ #
+ # Default: default
+ namespace: default
+
+ # Internal temporal communication protocol, can be "proto" or "json".
+ #
+ # Default: "proto"
+ codec: proto
+
+ # Debugging level (only for "json" codec). Set 0 for nothing, 1 for "normal", and 2 for colorized messages.
+ #
+ # Default: 0
+ debug_level: 2
+
+ # Temporal metrics
+ #
+ # Optional section
+ metrics:
+ # Server metrics address
+ #
+ # Required for the production. Default: 127.0.0.1:9091, for the metrics 127.0.0.1:9091/metrics
+ address: 127.0.0.1:9091
+ # Metrics type
+ #
+ # Default: "summary". Supported values: summary, histogram
+ type: "summary"
+
+ # Temporal metrics prefix
+ #
+ # Default: (empty)
+ prefix: "foobar"
+
+ # Activities pool settings.
+ activities:
+ # Debug mode for the pool. In this mode, pool will not pre-allocate the worker. Worker (only 1, num_workers ignored) will be allocated right after the request arrived.
+ #
+ # Default: false
+ debug: false
+
+ # How many worker processes will be started. Zero (or nothing) means the number of logical CPUs.
+ #
+ # Default: 0
+ num_workers: 0
+
+ # Maximal count of worker executions. Zero (or nothing) means no limit.
+ #
+ # Default: 0
+ max_jobs: 64
+
+ # Timeout for worker allocation. Zero means no limit.
+ #
+ # Default: 60s
+ allocate_timeout: 60s
+
+ # Timeout for worker destroying before process killing. Zero means no limit.
+ #
+ # Default: 60s
+ destroy_timeout: 60s
+
+ # Supervisor is used to control http workers (previous name was "limit", docs:
+ # https://roadrunner.dev/docs/php-limit). "Soft" limits will not interrupt current request processing. "Hard"
+ # limit on the contrary - interrupts the execution of the request.
+ supervisor:
+ # How often to check the state of the workers.
+ #
+ # Default: 1s
+ watch_tick: 1s
+
+ # Maximum time worker is allowed to live (soft limit). Zero means no limit.
+ #
+ # Default: 0s
+ ttl: 0s
+
+ # How long worker can spend in IDLE mode after first using (soft limit). Zero means no limit.
+ #
+ # Default: 0s
+ idle_ttl: 10s
+
+ # Maximal worker memory usage in megabytes (soft limit). Zero means no limit.
+ #
+ # Default: 0
+ max_worker_memory: 128
+
+ # Maximal job lifetime (hard limit). Zero means no limit.
+ #
+ # Default: 0s
+ exec_ttl: 60s
+
+
+# KV plugin settings. Available drivers: boltdb, redis, memcached, memory.
+# Any number of sections can be defined here.
+kv:
+ # User defined name of the section
+ #
+ # Default: none
+ boltdb-south:
+ # Driver which should be used for the storage
+ #
+ # This option is required.
+ driver: boltdb
+ # Local configuration section
+ #
+ # This option is required to use local section, otherwise (boltdb-south) global configuration will be used.
+ config:
+ # File name for the DB
+ #
+ # Default: "rr.db"
+ file: "rr.db"
+ # Access permission for the DB file.
+ #
+ # Default: "0777"
+ permissions: 0777
+ # TTL keys check interval in seconds. It's safe to use 1 second here, but can be a little costly to performance.
+ #
+ # Default: "60" seconds
+ interval: 40
+
+ # User defined name of the section (us-cental-kv used as example)
+ #
+ # Default: none
+ us-central-kv:
+ # Driver which should be used for the storage
+ #
+ # Default: none
+ driver: memcached
+ # Local configuration section
+ #
+ # This option is required to use local section, otherwise (us-central-kv) global configuration will be used.
+ config:
+ # Driver specific section. Address of the memcached node.
+ #
+ # Default: "localhost:11211"
+ addr: [ "localhost:11211" ]
+
+ # User defined name of the section
+ #
+ # Default: none
+ fast-kv-fr:
+ # Driver which should be used for the storage.
+ #
+ # Default: none
+ driver: redis
+ # Redis specific section. If one address provided - single node client will be used.
+ #
+ #
+ # UniversalClient is an abstract client which - based on the provided options -
+ # can connect to either clusters, or sentinel-backed failover instances
+ # or simple single-instance servers. This can be useful for testing
+ # cluster-specific applications locally.
+ # if the number of addrs is 1 and master_name is empty, a single-node redis Client will be returned
+ # if the number of addrs is two or more, a ClusterClient will be returned
+
+ # Local configuration section
+ #
+ # This option is required to use local section, otherwise (fast-kv-fr) global configuration will be used.
+ config:
+ addrs:
+ - "localhost:6379"
+ # if a MasterName is passed a sentinel-backed FailoverClient will be returned
+ master_name: ""
+ username: ""
+ password: ""
+ db: 0
+ sentinel_password: ""
+ route_by_latency: false
+ route_randomly: false
+ dial_timeout: 0 # accepted values [1s, 5m, 3h]
+ max_retries: 1
+ min_retry_backoff: 0 # accepted values [1s, 5m, 3h]
+ max_retry_backoff: 0 # accepted values [1s, 5m, 3h]
+ pool_size: 0
+ min_idle_conns: 0
+ max_conn_age: 0 # accepted values [1s, 5m, 3h]
+ read_timeout: 0 # accepted values [1s, 5m, 3h]
+ write_timeout: 0 # accepted values [1s, 5m, 3h]
+ pool_timeout: 0 # accepted values [1s, 5m, 3h]
+ idle_timeout: 0 # accepted values [1s, 5m, 3h]
+ idle_check_freq: 0 # accepted values [1s, 5m, 3h]
+ read_only: false
+
+ # User defined name of the section
+ #
+ # Default: none
+ local-memory:
+ # In memory driver specific section
+ #
+ # Default: none
+ driver: memory
+ # Local configuration section
+ #
+ # This option is required to use local section, otherwise (local-memory) global configuration will be used.
+ config:
+ # TTL check interval in seconds
+ #
+ # Default: 60 seconds
+ interval: 1
+
+# Service plugin settings
+service:
+ # User defined service name
+ #
+ # Default: none, required
+ some_service_1:
+ # Command to execute. Can be any command here which can be executed.
+ #
+ # Default: none, required.
+ command: php tests/plugins/service/test_files/loop.php
+
+ # Env variables for the process
+ #
+ # Default: empty
+ env:
+ foo: "BAR"
+ foo2: "BAR2"
+
+ # Number of copies (processes) to start per command.
+ #
+ # Default: 1
+ process_num: 1
+
+ # Allowed time before stop.
+ #
+ # Default: 0 (infinity), can be 1s, 2m, 2h (seconds, minutes, hours)
+ exec_timeout: 0
+
+ # Remain process after exit. In other words, restart process after exit with any exit code.
+ #
+ # Default: "false"
+ remain_after_exit: true
+
+ # Number of seconds to wait before process restart.
+ #
+ # Default: 30
+ restart_sec: 1
+
+ # User defined service name
+ #
+ # Default: none, required
+ some_service_2:
+ # Command to execute. Can be any command here which can be executed.
+ #
+ # Default: none, required.
+ command: "binary"
+
+ # Env variables for the process
+ #
+ # Default: empty
+ env:
+ foo: "BAR"
+ foo2: "BAR2"
+
+ # Number of copies (processes) to start per command.
+ #
+ # Default: 1
+ process_num: 1
+
+ # Allowed time before stop.
+ #
+ # Default: 0 (infinity), can be 1s, 2m, 2h (seconds, minutes, hours)
+ exec_timeout: 0
+
+ # Remain process after exit. In other words, restart process after exit with any exit code.
+ #
+ # Default: "false"
+ remain_after_exit: true
+
+ # Number of seconds to wait before process restart.
+ #
+ # Default: 30
+ restart_sec: 1
+
+# HTTP plugin settings.
+http:
+ # Host and port to listen on (eg.: `127.0.0.1:8080`).
+ #
+ # This option is required.
+ address: 127.0.0.1:8080
+
+ # override http error code for the internal RR errors
+ #
+ # Default: 500
+ internal_error_code: 505
+
+ # HTTP access logs
+ #
+ # Default: false
+ access_logs: false
+
+ # Maximal incoming request size in megabytes. Zero means no limit.
+ #
+ # Default: 0
+ max_request_size: 256
+
+ # Middlewares for the http plugin, order is important. Allowed values is: "headers", "gzip", "static", "websockets", "sendfile", [SINCE 2.6] -> "new_relic", [SINCE 2.6] -> "http_metrics", [SINCE 2.7] -> "cache"
+ #
+ # Default value: []
+ middleware: [ "headers", "gzip" ]
+
+ # Allow incoming requests only from the following subnets (https://en.wikipedia.org/wiki/Reserved_IP_addresses).
+ #
+ # Default: ["10.0.0.0/8", "127.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", "::1/128", "fc00::/7", "fe80::/10"]
+ trusted_subnets:
+ [
+ "10.0.0.0/8",
+ "127.0.0.0/8",
+ "172.16.0.0/12",
+ "192.168.0.0/16",
+ "::1/128",
+ "fc00::/7",
+ "fe80::/10",
+ ]
+
+ # [SINCE 2.6] New Relic middleware
+ new_relic:
+ # Application name.
+ #
+ # Error if empty. NEW_RELIC_APP_NAME env variable should be set if the app_name key is empty. If both empty - error.
+ app_name: "app"
+
+ # Licence key
+ #
+ # Error if empty. NEW_RELIC_LICENSE_KEY env variable should be set if the license_key key is empty. If both empty - error.
+ license_key: "key"
+
+ # RFC 7234 (partially) RR Cache middleware
+ cache:
+ # Cache driver
+ #
+ # Default: memory. Available drivers: memory
+ driver: memory
+
+ # Methods to cache
+ #
+ # According to the RFC, we can cache only GET, HEAD or POST requests. Currently, only GET method supported.
+ cache_methods: ["GET", "HEAD", "POST"]
+
+ # Configuration for the driver
+ #
+ # Empty for the memory
+ config: {}
+
+ # File uploading settings.
+ uploads:
+ # Directory for file uploads. Empty value means to use $TEMP based on your OS.
+ #
+ # Default: ""
+ dir: "/tmp"
+
+ # Deny files with the following extensions to upload.
+ #
+ # Default: [".php", ".exe", ".bat"]
+ forbid: [ ".php", ".exe", ".bat", ".sh" ]
+
+ # [SINCE 2.6] Allow files with the following extensions to upload
+ #
+ # Default: empty
+ allow: [ ".html", ".aaa" ]
+
+ # Settings for "headers" middleware (docs: https://roadrunner.dev/docs/http-headers).
+ headers:
+ # Allows to control CORS headers. Additional headers "Vary: Origin", "Vary: Access-Control-Request-Method",
+ # "Vary: Access-Control-Request-Headers" will be added to the server responses. Drop this section for this
+ # feature disabling.
+ cors:
+ # Controls "Access-Control-Allow-Origin" header value (docs: https://mzl.la/2OgD4Qf).
+ #
+ # Default: ""
+ allowed_origin: "*"
+
+ # Controls "Access-Control-Allow-Headers" header value (docs: https://mzl.la/2OzDVvk).
+ #
+ # Default: ""
+ allowed_headers: "*"
+
+ # Controls "Access-Control-Allow-Methods" header value (docs: https://mzl.la/3lbwyXf).
+ #
+ # Default: ""
+ allowed_methods: "GET,POST,PUT,DELETE"
+
+ # Controls "Access-Control-Allow-Credentials" header value (docs: https://mzl.la/3ekJGaY).
+ #
+ # Default: false
+ allow_credentials: true
+
+ # Controls "Access-Control-Expose-Headers" header value (docs: https://mzl.la/3qAqgkF).
+ #
+ # Default: ""
+ exposed_headers: "Cache-Control,Content-Language,Content-Type,Expires,Last-Modified,Pragma"
+
+ # Controls "Access-Control-Max-Age" header value in seconds (docs: https://mzl.la/2PCSdvt).
+ #
+ # Default: 0
+ max_age: 600
+
+ # Automatically add headers to every request passed to PHP.
+ #
+ # Default: <empty map>
+ request:
+ input: "custom-header"
+
+ # Automatically add headers to every response.
+ #
+ # Default: <empty map>
+ response:
+ X-Powered-By: "RoadRunner"
+
+ # Settings for "static" middleware (docs: https://roadrunner.dev/docs/http-static).
+ static:
+ # Path to the directory to serve
+ #
+ # Default: "." (current)
+ dir: "."
+
+ # File patterns to forbid
+ #
+ # Default: empty
+ forbid: [ "" ]
+
+ # Etag calculation (base on the body CRC32)
+ #
+ # Default: false
+ calculate_etag: false
+
+ # Weak etag calculation (based only on the content-length CRC32)
+ #
+ # Default: false
+ weak: false
+
+ # Patterns to allow
+ #
+ # Default: empty
+ allow: [ ".txt", ".php" ]
+
+ # Request headers
+ #
+ # Default: empty
+ request:
+ input: "custom-header"
+
+ # Response headers
+ #
+ # Default: empty
+ response:
+ output: "output-header"
+
+ # Workers pool settings.
+ pool:
+ # Debug mode for the pool. In this mode, pool will not pre-allocate the worker. Worker (only 1, num_workers ignored) will be allocated right after the request arrived.
+ #
+ # Default: false
+ debug: false
+
+ # How many worker processes will be started. Zero (or nothing) means the number of logical CPUs.
+ #
+ # Default: 0
+ num_workers: 0
+
+ # Maximal count of worker executions. Zero (or nothing) means no limit.
+ #
+ # Default: 0
+ max_jobs: 64
+
+ # Timeout for worker allocation. Zero means no limit.
+ #
+ # Default: 60s
+ allocate_timeout: 60s
+
+ # Timeout for worker destroying before process killing. Zero means no limit.
+ #
+ # Default: 60s
+ destroy_timeout: 60s
+
+ # Supervisor is used to control http workers (previous name was "limit", docs:
+ # https://roadrunner.dev/docs/php-limit). "Soft" limits will not interrupt current request processing. "Hard"
+ # limit on the contrary - interrupts the execution of the request.
+ supervisor:
+ # How often to check the state of the workers.
+ #
+ # Default: 1s
+ watch_tick: 1s
+
+ # Maximum time worker is allowed to live (soft limit). Zero means no limit.
+ #
+ # Default: 0s
+ ttl: 0s
+
+ # How long worker can spend in IDLE mode after first using (soft limit). Zero means no limit.
+ #
+ # Default: 0s
+ idle_ttl: 10s
+
+ # Maximal worker memory usage in megabytes (soft limit). Zero means no limit.
+ #
+ # Default: 0
+ max_worker_memory: 128
+
+ # Maximal job lifetime (hard limit). Zero means no limit.
+ #
+ # Default: 0s
+ exec_ttl: 60s
+
+ # SSL (Secure Sockets Layer) (TLS) settings (docs: https://roadrunner.dev/docs/http-https).
+ ssl:
+ # Host and port to listen on (eg.: `127.0.0.1:443`).
+ #
+ # Default: ":443"
+ address: "127.0.0.1:443"
+
+ # Use ACME certificates provider (Let's encrypt)
+ acme:
+ # Directory to use as a certificate/pk, account info storage
+ #
+ # Optional. Default: rr_cache
+ certs_dir: rr_le_certs
+
+ # User email
+ #
+ # Used to create LE account. Mandatory. Error on empty.
+ email: you-email-here@email
+
+ # Alternate port for the http challenge. Challenge traffic should be redirected to this port if overridden.
+ #
+ # Optional. Default: 80
+ alt_http_port: 80
+
+
+ # Alternate port for the tls-alpn-01 challenge. Challenge traffic should be redirected to this port if overridden.
+ #
+ # Optional. Default: 443.
+ alt_tlsalpn_port: 443
+
+ # Challenge types
+ #
+ # Optional. Default: http-01. Possible values: http-01, tlsalpn-01
+ challenge_type: http-01
+
+ # Use production or staging endpoint. NOTE, try to use staging endpoint to make sure, that everything works correctly.
+ #
+ # Optional, but for production should be set to true. Default: false
+ use_production_endpoint: true
+
+ # List of your domains to obtain certificates
+ #
+ # Mandatory. Error on empty.
+ domains: [
+ "your-cool-domain.here",
+ "your-second-domain.here"
+ ]
+
+ # Automatic redirect from http:// to https:// schema.
+ #
+ # Default: false
+ redirect: true
+
+ # Path to the cert file. This option is required for SSL working.
+ #
+ # This option is required.
+ cert: /ssl/server.crt
+
+ # Path to the cert key file.
+ #
+ # This option is required.
+ key: /ssl/server.key
+
+ # Path to the root certificate authority file.
+ #
+ # This option is optional.
+ root_ca: /ssl/root.crt
+
+ # FastCGI frontend support.
+ fcgi:
+ # FastCGI connection DSN. Supported TCP and Unix sockets. An empty value disables this.
+ #
+ # Default: ""
+ address: tcp://0.0.0.0:7921
+
+ # HTTP/2 settings.
+ http2:
+ # HTTP/2 over non-encrypted TCP connection using H2C.
+ #
+ # Default: false
+ h2c: false
+
+ # Maximal concurrent streams count.
+ #
+ # Default: 128
+ max_concurrent_streams: 128
+
+# Redis section. Should be defined to use as a broadcast driver for the websockets (with no limitation to use in other plugins)
+redis:
+ # UniversalClient is an abstract client which - based on the provided options -
+ # can connect to either clusters, or sentinel-backed failover instances
+ # or simple single-instance servers. This can be useful for testing
+ # cluster-specific applications locally.
+ # if the number of addrs is 1 and master_name is empty, a single-node redis Client will be returned
+ # if the number of addrs is two or more, a ClusterClient will be returned
+ addrs:
+ - "localhost:6379"
+ # if a MasterName is passed a sentinel-backed FailoverClient will be returned
+ master_name: ""
+ username: ""
+ password: ""
+ db: 0
+ sentinel_password: ""
+ route_by_latency: false
+ route_randomly: false
+ dial_timeout: 0 # accepted values [1s, 5m, 3h]
+ max_retries: 1
+ min_retry_backoff: 0 # accepted values [1s, 5m, 3h]
+ max_retry_backoff: 0 # accepted values [1s, 5m, 3h]
+ pool_size: 0
+ min_idle_conns: 0
+ max_conn_age: 0 # accepted values [1s, 5m, 3h]
+ read_timeout: 0 # accepted values [1s, 5m, 3h]
+ write_timeout: 0 # accepted values [1s, 5m, 3h]
+ pool_timeout: 0 # accepted values [1s, 5m, 3h]
+ idle_timeout: 0 # accepted values [1s, 5m, 3h]
+ idle_check_freq: 0 # accepted values [1s, 5m, 3h]
+ read_only: false
+
+# Websockets plugin
+#
+# Should be attached as a middleware to the http plugin middlewares
+websockets:
+ # Broker to use. Brokers can be set in the broadcast plugin. For example, if you use broker: default here, broadcast plugin should have default broker in its config.
+ #
+ # This option is required.
+ broker: default-redis
+
+ # Allowed request origin (single value). This option is optional (allowed all by default)
+ #
+ # Default: "*". Samples: "https://*.my.site", "http//*.com", "10.1.1.1", etc
+ allowed_origin: "*"
+
+ # http path where to handle websockets connections
+ #
+ # Default: /ws
+ path: "/ws"
+
+# Broadcast plugin. It main purpose is to broadcast published messages via all brokers
+#
+# Use it in conjunction with the websockets, memory and redis plugins.
+# LIMITATION: DO NOT use the same redis connection within different sections or messages will be duplicated.
+# There is no limitation to use different redis connections (ie localhost:6379, localhost:6378, etc) in different sections.
+broadcast:
+ # Section name.
+ #
+ # This option is required and should match with other plugins broker section.
+ default:
+ # Driver to use. Available drivers: redis, memory. In-memory driver does not require any configuration.
+ #
+ # This option is required. There is no config for this driver for the broadcast, thus we need to use {}
+ driver: memory
+ # This option is required if you want to use local configuration
+ #
+ # Default: empty.
+ config: { }
+
+ # Section name.
+ #
+ # This option is required and should match with other plugins broker section.
+ default-redis:
+ # Driver to use. Available drivers: redis, memory. Redis driver require configuration (if empty - localhost:6379 one-node client will be used, see redis plugin config).
+ #
+ # This option is required.
+ driver: redis
+ # Local configuration section
+ #
+ # This option is required to use local section, otherwise (default-redis) global configuration will be used.
+ config:
+ # Redis configuration. This configuration related to the default-redis section. Broadcast plugin will use this configuration first.
+ # If section configuration doesn't exists, second priority - global redis configuration.
+ # If there are no configurations provided, default will be used.
+ #
+ # Default: localhost:6379
+ addrs:
+ - "localhost:6379"
+ # if a MasterName is passed a sentinel-backed FailoverClient will be returned
+ master_name: ""
+ username: ""
+ password: ""
+ db: 0
+ sentinel_password: ""
+ route_by_latency: false
+ route_randomly: false
+ dial_timeout: 0 # accepted values [1s, 5m, 3h]
+ max_retries: 1
+ min_retry_backoff: 0 # accepted values [1s, 5m, 3h]
+ max_retry_backoff: 0 # accepted values [1s, 5m, 3h]
+ pool_size: 0
+ min_idle_conns: 0
+ max_conn_age: 0 # accepted values [1s, 5m, 3h]
+ read_timeout: 0 # accepted values [1s, 5m, 3h]
+ write_timeout: 0 # accepted values [1s, 5m, 3h]
+ pool_timeout: 0 # accepted values [1s, 5m, 3h]
+ idle_timeout: 0 # accepted values [1s, 5m, 3h]
+ idle_check_freq: 0 # accepted values [1s, 5m, 3h]
+ read_only: false
+
+# Application metrics in Prometheus format (docs: https://roadrunner.dev/docs/beep-beep-metrics). Drop this section
+# for this feature disabling.
+metrics:
+ # Prometheus client address (path /metrics added automatically).
+ #
+ # Default: "127.0.0.1:2112"
+ address: "127.0.0.1:2112"
+
+ # Application-specific metrics (published using an RPC connection to the server).
+ collect:
+ app_metric:
+ type: histogram
+ help: "Custom application metric"
+ labels: [ "type" ]
+ buckets: [ 0.1, 0.2, 0.3, 1.0 ]
+ # Objectives defines the quantile rank estimates with their respective absolute error (for summary only).
+ objectives:
+ - 1.4: 2.3
+ - 2.0: 1.4
+
+# Health check endpoint (docs: https://roadrunner.dev/docs/beep-beep-health). If response code is 200 - it means at
+# least one worker ready to serve requests. 500 - there are no workers ready to service requests.
+# Drop this section for this feature disabling.
+status:
+ # Host and port to listen on (eg.: `127.0.0.1:2114`). Use the following URL: http://127.0.0.1:2114/health?plugin=http
+ # Multiple plugins must be separated using "&" - http://127.0.0.1:2114/health?plugin=http&plugin=rpc where "http" and
+ # "rpc" are active (connected) plugins.
+ #
+ # This option is required.
+ address: 127.0.0.1:2114
+
+ # Response status code if a requested plugin not ready to handle requests
+ # Valid for both /health and /ready endpoints
+ #
+ # Default: 503
+ unavailable_status_code: 503
+
+# Automatically detect PHP file changes and reload connected services (docs:
+# https://roadrunner.dev/docs/beep-beep-reload). Drop this section for this feature disabling.
+reload:
+ # Sync interval.
+ #
+ # Default: "1s"
+ interval: 1s
+
+ # Global patterns to sync.
+ #
+ # Default: [".php"]
+ patterns: [ ".php" ]
+
+ # List of included for sync services (this is a map, where key name is a plugin name).
+ #
+ # Default: <empty map>
+ services:
+ http:
+ # Directories to sync. If recursive is set to true, recursive sync will be applied only to the directories in
+ # "dirs" section. Dot (.) means "current working directory".
+ #
+ # Default: []
+ dirs: [ "." ]
+
+ # Recursive search for file patterns to add.
+ #
+ # Default: false
+ recursive: true
+
+ # Ignored folders.
+ #
+ # Default: []
+ ignore: [ "vendor" ]
+
+ # Service specific file pattens to sync.
+ #
+ # Default: []
+ patterns: [ ".php", ".go", ".md" ]
+
+
+# NATS jobs driver
+#
+# Default: nats://127.0.0.1:4222
+nats:
+ addr: "demo.nats.io"
+
+# Boltdb jobs driver
+#
+# This option is required to use boltdb driver
+boltdb:
+ # Permissions for hte boltdb database file
+ #
+ # This option is optional. Default: 0777
+ permissions: 0777
+
+# AMQP jobs driver
+#
+# This option is required to use AMQP driver
+amqp:
+ # AMQP Uri to connect to the rabbitmq server https://www.rabbitmq.com/uri-spec.html
+ #
+ # This option is required for the production. Default: amqp://guest:[email protected]:5672
+ addr: amqp://guest:[email protected]:5672/
+
+# Beanstalk jobs driver
+#
+# This option is required to use Beanstalk driver
+beanstalk:
+ # Beanstalk address
+ #
+ # This option is required for the production. Default: tcp://127.0.0.1:11300
+ addr: tcp://127.0.0.1:11300
+
+ # Beanstalk connect timeout.
+ #
+ # Default: 30s
+ timeout: 10s
+
+# SQS jobs driver (https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html)
+#
+# This option is required to use SQS driver
+sqs:
+ # AccessKey ID
+ #
+ # This option is required for the production. Default: empty
+ key: api-key
+
+ # Secret access key
+ #
+ # This option is required for the production. Default: empty
+ secret: api-secret
+
+ # AWS region
+ #
+ # This option is required for the production. Default: empty
+ region: us-west-1
+
+ # AWS session token
+ #
+ # This option is required for the production. Default: empty
+ session_token: test
+
+ # AWS SQS endpoint to connect
+ #
+ # This option is required for the production. Default: http://127.0.0.1:9324
+ endpoint: http://127.0.0.1:9324
+
+jobs:
+ # Number of threads which will try to obtain the job from the priority queue
+ #
+ # Default: number of the logical CPU cores
+ num_pollers: 32
+
+ # Size of the internal priority queue
+ #
+ # Default: 1_000_000
+ pipeline_size: 100000
+
+ # worker pool configuration
+ pool:
+ num_workers: 10
+ max_jobs: 0
+ allocate_timeout: 60s
+ destroy_timeout: 60s
+
+ # List of broker pipelines associated with the drivers.
+ #
+ # This option is not required since you can declare pipelines in the runtime. Pipeline driver should exist.
+ pipelines:
+ # Pipeline name
+ #
+ # This option is required when defining pipelines via configuration.
+ test-local:
+
+ # Driver associated with the pipeline
+ #
+ # This option is required. Possible values: amqp, memory, sqs, beanstalk, boltdb
+ driver: memory
+
+ # Driver's configuration
+ #
+ # Should not be empty
+ config:
+ # Pipeline priority
+ #
+ # If the job has priority set to 0, it will inherit the pipeline's priority. Default: 10.
+ priority: 10
+
+ # Number of job to prefetch from the driver.
+ #
+ # Default: 100_000.
+ prefetch: 10000
+
+ # Pipeline name
+ #
+ # This option is required when defining pipelines via configuration.
+ test-local-1:
+ # Driver associated with the pipeline
+ #
+ # This option is required. Possible values: amqp, memory, sqs, beanstalk, boltdb
+ driver: boltdb
+
+ # Driver's configuration
+ #
+ # Should not be empty
+ config:
+ # BoldDB file to create or DB to use
+ #
+ # Default: "rr.db"
+ file: "path/to/rr.db"
+
+ # Pipeline priority
+ #
+ # If the job has priority set to 0, it will inherit the pipeline's priority. Default: 10.
+ priority: 10
+
+ # Number of job to prefetch from the driver.
+ #
+ # Default: 100_000.
+ prefetch: 10000
+
+ test-local-2:
+ # Driver name
+ #
+ # This option is required.
+ driver: amqp
+
+ # Driver's configuration
+ #
+ # Should not be empty
+ config:
+
+ # QoS - prefetch.
+ #
+ # Default: 10
+ prefetch: 10
+
+ # Pipeline priority
+ #
+ # If the job has priority set to 0, it will inherit the pipeline's priority. Default: 10.
+ priority: 1
+
+ # Durable queue
+ #
+ # Default: false
+ durable: false
+
+ # Delete queue when stopping the pipeline
+ #
+ # Default: false
+ delete_queue_on_stop: false
+
+ # Queue name
+ #
+ # Default: default
+ queue: test-1-queue
+
+ # Exchange name
+ #
+ # Default: amqp.default
+ exchange: default
+
+ # Exchange type
+ #
+ # Default: direct.
+ exchange_type: direct
+
+ # Routing key for the queue
+ #
+ # Default: empty.
+ routing_key: test
+
+ # Declare a queue exclusive at the exchange
+ #
+ # Default: false
+ exclusive: false
+
+ # When multiple is true, this delivery and all prior unacknowledged deliveries
+ # on the same channel will be acknowledged. This is useful for batch processing
+ # of deliveries
+ #
+ # Default:false
+ multiple_ack: false
+
+ # Use rabbitmq mechanism to requeue the job on fail
+ #
+ # Default: false
+ requeue_on_fail: false
+
+ test-local-3:
+ # Driver name
+ #
+ # This option is required.
+ driver: beanstalk
+
+ # Driver's configuration
+ #
+ # Should not be empty
+ config:
+
+ # Pipeline priority
+ #
+ # Default
+ priority: 11
+
+ # Beanstalk internal tube priority
+ #
+ # Default: 1
+ tube_priority: 1
+
+ # Tube name
+ #
+ # Default: default
+ tube: default-1
+
+ # If no job is available before this timeout has passed, Reserve returns a ConnError recording ErrTimeout.
+ #
+ # Default: 5s
+ reserve_timeout: 10s
+
+ test-local-4:
+ # Driver name
+ #
+ # This option is required.
+ driver: sqs
+
+ # Driver's configuration
+ #
+ # Should not be empty
+ config:
+
+ # Pipeline priority
+ #
+ # If the job has priority set to 0, it will inherit the pipeline's priority. Default: 10.
+ priority: 10
+
+ # Number of jobs to prefetch from the SQS. mazon SQS never returns more messages than this value
+ # (however, fewer messages might be returned). Valid values: 1 to 10.
+ #
+ # Default: 10
+ prefetch: 10
+
+ # The duration (in seconds) that the received messages are hidden from subsequent
+ # retrieve requests after being retrieved by a ReceiveMessage request
+ #
+ # Default: 0
+ visibility_timeout: 0
+
+ # The duration (in seconds) for which the call waits for a message to arrive
+ # in the queue before returning. If a message is available, the call returns
+ # sooner than WaitTimeSeconds. If no messages are available and the wait time
+ # expires, the call returns successfully with an empty list of messages.
+ #
+ # Default: 0
+ wait_time_seconds: 0
+
+ # Queue name.
+ #
+ # Default: default
+ queue: default
+
+ # List of the AWS SQS attributes https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SetQueueAttributes.html.
+ attributes:
+ DelaySeconds: 0
+ MaximumMessageSize: 262144
+ MessageRetentionPeriod: 345600
+ ReceiveMessageWaitTimeSeconds: 0
+ VisibilityTimeout: 30
+ # Tags don't have any semantic meaning. Amazon SQS interprets tags as character
+ # strings.
+ tags:
+ test: "tag"
+
+ test-local-5:
+ # Driver name
+ #
+ # This option is required
+ driver: nats
+
+ # Driver's configuration
+ #
+ # Should not be empty
+ config:
+
+ # Pipeline priority
+ #
+ # If the job has priority set to 0, it will inherit the pipeline's priority. Default: 10.
+ priority: 2
+
+ # NATS prefetch
+ #
+ # Messages to read into the channel
+ prefetch: 100
+
+ # NATS subject
+ #
+ # Default: default
+ subject: default
+
+ # NATS stream
+ #
+ # Default: default-stream
+ stream: foo
+
+ # The consumer will only start receiving messages that were created after the consumer was created
+ #
+ # Default: false (deliver all messages from the stream beginning)
+ deliver_new: true
+
+ # Consumer rate-limiter in bytes https://docs.nats.io/jetstream/concepts/consumers#ratelimit
+ #
+ # Default: 1000
+ rate_limit: 100
+
+ # Delete the stream when after pipeline was stopped
+ #
+ # Default: false
+ delete_stream_on_stop: false
+
+ # Delete message from the stream after successful acknowledge
+ #
+ # Default: false
+ delete_after_ack: false
+
+ # list of pipelines to be consumed by the server automatically at the start, keep empty if you want to start consuming manually
+ consume:
+ [
+ "test-local",
+ "test-local-1",
+ "test-local-2",
+ "test-local-3",
+ "test-local-4",
+ "test-local-5",
+ ]
+
+grpc:
+ # GRPC address to listen
+ #
+ # This option is required
+ listen: "tcp://localhost:9001"
+
+ # Proto file to use, multiply files supported [SINCE 2.6]
+ #
+ # This option is required
+ proto:
+ - "first.proto"
+ - "second.proto"
+
+ # GRPC TLS configuration
+ #
+ # This section is optional
+ tls:
+ # Path to the key file
+ #
+ # This option is required
+ key: ""
+
+ # Path to the certificate
+ #
+ # This option is required
+ cert: ""
+
+ # Path to the CA certificate, defines the set of root certificate authorities that servers use if required to verify a client certificate. Used with the `client_auth_type` option.
+ #
+ # This option is optional
+ root_ca: ""
+
+ # Client auth type.
+ #
+ # This option is optional. Default value: no_client_certs. Possible values: request_client_cert, require_any_client_cert, verify_client_cert_if_given, require_and_verify_client_cert, no_client_certs
+ client_auth_type: no_client_certs
+
+ # Maximum send message size
+ #
+ # This option is optional. Default value: 50 (MB)
+ max_send_msg_size: 50
+
+ # Maximum receive message size
+ #
+ # This option is optional. Default value: 50 (MB)
+ max_recv_msg_size: 50
+
+ # MaxConnectionIdle is a duration for the amount of time after which an
+ # idle connection would be closed by sending a GoAway. Idleness duration is
+ # defined since the most recent time the number of outstanding RPCs became
+ # zero or the connection establishment.
+ #
+ # This option is optional. Default value: infinity.
+ max_connection_idle: 0s
+
+ # MaxConnectionAge is a duration for the maximum amount of time a
+ # connection may exist before it will be closed by sending a GoAway. A
+ # random jitter of +/-10% will be added to MaxConnectionAge to spread out
+ # connection storms.
+ #
+ # This option is optional. Default value: infinity.
+ max_connection_age: 0s
+
+ # MaxConnectionAgeGrace is an additive period after MaxConnectionAge after
+ # which the connection will be forcibly closed.
+ max_connection_age_grace: 0s8h
+
+ # MaxConnectionAgeGrace is an additive period after MaxConnectionAge after
+ # which the connection will be forcibly closed.
+ #
+ # This option is optional: Default value: 10
+ max_concurrent_streams: 10
+
+ # After a duration of this time if the server doesn't see any activity it
+ # pings the client to see if the transport is still alive.
+ # If set below 1s, a minimum value of 1s will be used instead.
+ #
+ # This option is optional. Default value: 2h
+ ping_time: 1s
+
+ # After having pinged for keepalive check, the server waits for a duration
+ # of Timeout and if no activity is seen even after that the connection is
+ # closed.
+ #
+ # This option is optional. Default value: 20s
+ timeout: 200s
+
+ # Usual workers pool configuration
+ pool:
+ num_workers: 2
+ max_jobs: 0
+ allocate_timeout: 60s
+ destroy_timeout: 60
+
+# [SINCE 2.6] TCP plugin
+tcp:
+ # The list of TCP servers to start. There are can be any number of servers you want to allocate.
+ servers:
+
+ # Server name. Can be any string. Will be sent to the worker in the context.
+ #
+ # Default: none.
+ server1:
+
+ # Address to listen.
+ #
+ # Error if empty.
+ addr: 127.0.0.1:7778
+
+ # Data packets delimiter. Every send should end either with EOF or with the delimiter.
+ #
+ # Default: CRLF (\r\n)
+ delimiter: "\r\n"
+
+ # Chunks that RR uses to read the data. In MB. If you expect big payloads on a TCP server, to reduce `read` syscalls, would be a good practice to use a fairly big enough buffer.
+ #
+ # Default: 1MB
+ read_buf_size: 1
+ server2:
+ addr: 127.0.0.1:8811
+ read_buf_size: 10
+ server3:
+ addr: 127.0.0.1:8812
+ delimiter: "\r\n"
+ read_buf_size: 1
+
+ pool:
+ num_workers: 5
+ max_jobs: 0
+ allocate_timeout: 60s
+ destroy_timeout: 60s
+
+# [SINCE 2.6] Fileserver to serve static files.
+fileserver:
+ # File server address
+ #
+ # Error on empty
+ address: 127.0.0.1:10101
+ # Etag calculation. Request body CRC32.
+ #
+ # Default: false
+ calculate_etag: true
+
+ # Weak etag calculation
+ #
+ # Default: false
+ weak: false
+
+ # Enable body streaming for the files more than 4KB
+ #
+ # Default: false
+ stream_request_body: true
+
+ serve:
+ # HTTP prefix
+ #
+ # Error on empty
+ - prefix: "/foo"
+
+ # Directory to serve
+ #
+ # Default: "."
+ root: "../../../tests"
+
+ # When set to true, the server tries minimizing CPU usage by caching compressed files
+ #
+ # Default: false
+ compress: false
+
+ # Expiration duration for inactive file handlers. Units: seconds.
+ #
+ # Default: 10, use a negative value to disable it.
+ cache_duration: 10
+
+ # The value for the Cache-Control HTTP-header. Units: seconds
+ #
+ # Default: 10 seconds
+ max_age: 10
+
+ # Enable range requests
+ # https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests
+ #
+ # Default: false
+ bytes_range: true
+
+ - prefix: "/foo/bar"
+ root: "../../../tests"
+ compress: false
+ cache_duration: 10
+ max_age: 10
+ bytes_range: true
+
+## RoadRunner internal container configuration (docs: https://github.com/spiral/endure).
+endure:
+ # How long to wait for stopping.
+ #
+ # Default: 30s
+ grace_period: 30s
+
+ # Print graph in the graphviz format to the stdout (paste here to visualize https://dreampuf.github.io)
+ #
+ # Default: false
+ print_graph: false
+
+ # Logging level. Possible values: "debug", "info", "warn", "error", "panic", "fatal".
+ #
+ # Default: "error"
+ log_level: error
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d0c9a309..f6c488eb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -518,7 +518,7 @@ http:
## 🩹 Fixes:
-- 🐛 Fix: ASLR builds causes [problems](https://github.com/spiral/roadrunner-binary/issues/120) in the docker.
+- 🐛 Fix: ASLR builds causes [problems](https://github.com/roadrunner-server/roadrunner/issues/120) in the docker.
## v2.5.1 (22.10.2021)
@@ -769,7 +769,7 @@ jobs:
- 🐛 Fix: fixed bug with goroutines waiting on the internal worker's container channel, [issue](https://github.com/spiral/roadrunner/issues/750).
- 🐛 Fix: RR become unresponsive when new workers failed to re-allocate, [issue](https://github.com/spiral/roadrunner/issues/772).
-- 🐛 Fix: add `debug` pool config key to the `.rr.yaml` configuration [reference](https://github.com/spiral/roadrunner-binary/issues/79).
+- 🐛 Fix: add `debug` pool config key to the `.rr.yaml` configuration [reference](https://github.com/roadrunner-server/roadrunner/issues/79).
## đŸ“Ļ Packages:
@@ -780,7 +780,7 @@ jobs:
## 📈 Summary:
- RR Milestone [2.4.0](https://github.com/spiral/roadrunner/milestone/29?closed=1)
-- RR-Binary Milestone [2.4.0](https://github.com/spiral/roadrunner-binary/milestone/10?closed=1)
+- RR-Binary Milestone [2.4.0](https://github.com/roadrunner-server/roadrunner/milestone/10?closed=1)
---
diff --git a/Dockerfile b/Dockerfile
index ac4981bf..5ecd3752 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -12,8 +12,8 @@ WORKDIR /src
# arguments to pass on each go tool link invocation
ENV LDFLAGS="-s \
--X github.com/spiral/roadrunner-binary/v2/internal/meta.version=$APP_VERSION \
--X github.com/spiral/roadrunner-binary/v2/internal/meta.buildTime=$BUILD_TIME"
+-X github.com/roadrunner-server/roadrunner/v2/internal/meta.version=$APP_VERSION \
+-X github.com/roadrunner-server/roadrunner/v2/internal/meta.buildTime=$BUILD_TIME"
# compile binary file
RUN set -x \
@@ -32,8 +32,8 @@ ARG BUILD_TIME="undefined"
LABEL \
org.opencontainers.image.title="roadrunner" \
org.opencontainers.image.description="High-performance PHP application server, load-balancer and process manager" \
- org.opencontainers.image.url="https://github.com/spiral/roadrunner-binary" \
- org.opencontainers.image.source="https://github.com/spiral/roadrunner-binary" \
+ org.opencontainers.image.url="https://github.com/roadrunner-server/roadrunner" \
+ org.opencontainers.image.source="https://github.com/roadrunner-server/roadrunner" \
org.opencontainers.image.vendor="SpiralScout" \
org.opencontainers.image.version="$APP_VERSION" \
org.opencontainers.image.created="$BUILD_TIME" \
diff --git a/README.md b/README.md
index f3e47837..d255cae4 100644
--- a/README.md
+++ b/README.md
@@ -2,13 +2,15 @@
<img src="https://user-images.githubusercontent.com/796136/50286124-6f7f3780-046f-11e9-9f45-e8fedd4f786d.png" height="75px" alt="RoadRunner">
</p>
<p align="center">
- <a href="https://github.com/spiral/roadrunner-binary/releases"><img src="https://img.shields.io/github/v/release/spiral/roadrunner-binary.svg?maxAge=30"></a>
- <a href="https://pkg.go.dev/github.com/spiral/roadrunner-binary/v2"><img src="https://godoc.org/github.com/spiral/roadrunner-binary/v2?status.svg"></a>
- <a href="https://github.com/spiral/roadrunner-binary/actions"><img src="https://github.com/spiral/roadrunner-binary/workflows/tests/badge.svg"></a>
- <a href="https://goreportcard.com/report/github.com/spiral/roadrunner-binary"><img src="https://goreportcard.com/badge/github.com/spiral/roadrunner-binary"></a>
- <a href="https://lgtm.com/projects/g/spiral/roadrunner-binary/alerts/"><img alt="Total alerts" src="https://img.shields.io/lgtm/alerts/g/spiral/roadrunner-binary.svg?logo=lgtm&logoWidth=18"/></a>
+ <a href="https://packagist.org/packages/spiral/roadrunner"><img src="https://poser.pugx.org/spiral/roadrunner/version"></a>
+ <a href="https://pkg.go.dev/github.com/roadrunner-server/roadrunner/v2?tab=doc"><img src="https://godoc.org/github.com/roadrunner-server/roadrunner/v2?status.svg"></a>
+ <a href="https://github.com/roadrunner-server/roadrunner/actions"><img src="https://github.com/roadrunner-server/roadrunner/workflows/Linux/badge.svg" alt=""></a>
+ <a href="https://github.com/roadrunner-server/roadrunner/actions"><img src="https://github.com/roadrunner-server/roadrunner/workflows/Linters/badge.svg" alt=""></a>
+ <a href="https://goreportcard.com/report/github.com/roadrunner-server/roadrunner"><img src="https://goreportcard.com/badge/github.com/roadrunner-server/roadrunner"></a>
+ <a href="https://codecov.io/gh/roadrunner-server/roadrunner/"><img src="https://codecov.io/gh/roadrunner-server/roadrunner/branch/master/graph/badge.svg"></a>
+ <a href="https://lgtm.com/projects/g/roadrunner-server/roadrunner/alerts/"><img alt="Total alerts" src="https://img.shields.io/lgtm/alerts/g/roadrunner-server/roadrunner.svg?logo=lgtm&logoWidth=18"/></a>
<a href="https://discord.gg/TFeEmCs"><img src="https://img.shields.io/badge/discord-chat-magenta.svg"></a>
- <img alt="All releases" src="https://img.shields.io/github/downloads/spiral/roadrunner-binary/total">
+ <a href="https://packagist.org/packages/spiral/roadrunner"><img src="https://img.shields.io/packagist/dd/spiral/roadrunner?style=flat-square"></a>
</p>
RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager.
@@ -31,7 +33,7 @@ Features:
- HTTPS and HTTP/2 support (including HTTP/2 Push, H2C)
- A Fully customizable server, FastCGI support
- Flexible environment configuration
-- No external PHP dependencies (64bit version required), drop-in (based on [Goridge](https://github.com/spiral/goridge))
+- No external PHP dependencies (64bit version required), drop-in (based on [Goridge](https://github.com/roadrunner-server/goridge))
- Load balancer, process manager and task pipeline
- Integrated metrics (Prometheus)
- [Workflow engine](https://github.com/temporalio/sdk-php) by [Temporal.io](https://temporal.io)
@@ -40,14 +42,14 @@ Features:
- Worker create/allocate/destroy timeouts
- Max jobs per worker
- Worker lifecycle management (controller)
- - maxMemory (graceful stop)
- - TTL (graceful stop)
- - idleTTL (graceful stop)
- - execTTL (brute, max_execution_time)
+ - maxMemory (graceful stop)
+ - TTL (graceful stop)
+ - idleTTL (graceful stop)
+ - execTTL (brute, max_execution_time)
- Payload context and body
- Protocol, worker and job level error management (including PHP errors)
- Development Mode
-- Integrations with Symfony, [Laravel](https://github.com/spiral/roadrunner-laravel), Slim, CakePHP, Zend Expressive
+- Integrations with Symfony, [Laravel](https://github.com/roadrunner-server/roadrunner-laravel), Slim, CakePHP, Zend Expressive
- Application server for [Spiral](https://github.com/spiral/framework)
- Included in Laravel Octane
- Automatic reloading on file changes
@@ -57,17 +59,15 @@ Installation:
--------
```bash
-$ composer require spiral/roadrunner:v2.0 nyholm/psr7
+$ composer require roadrunner-server/roadrunner:v2.0 nyholm/psr7
$ ./vendor/bin/rr get-binary
```
> For getting roadrunner binary file you can use our docker image: `spiralscout/roadrunner:X.X.X` (more information about
-> image and tags can be found [here](https://hub.docker.com/r/spiralscout/roadrunner/)).
->
-> Important notice: we strongly recommend to use a versioned tag (like `1.2.3`) instead `latest`.
+> image and tags can be found [here](https://hub.docker.com/r/spiralscout/roadrunner/))
Configuration can be located in `.rr.yaml`
-file ([full sample](https://github.com/spiral/roadrunner/blob/master/.rr.yaml)):
+file ([full sample](https://github.com/roadrunner-server/roadrunner/blob/master/.rr.yaml)):
```yaml
rpc:
@@ -125,3 +125,11 @@ License:
--------
The MIT License (MIT). Please see [`LICENSE`](./LICENSE) for more information. Maintained
by [Spiral Scout](https://spiralscout.com).
+
+## Contributors
+
+Thanks to all the people who already contributed!
+
+<a href="https://github.com/roadrunner-server/roadrunner/graphs/contributors">
+ <img src="https://contributors-img.web.app/image?repo=roadrunner-server/roadrunner" />
+</a>
diff --git a/cmd/rr/command_test.go b/cmd/rr/command_test.go
new file mode 100644
index 00000000..0e111f4b
--- /dev/null
+++ b/cmd/rr/command_test.go
@@ -0,0 +1,67 @@
+package main
+
+import (
+ "bytes"
+ "io"
+ "os"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+)
+
+func Test_Main(t *testing.T) {
+ os.Args = []string{"", "--help"}
+ exitFn = func(code int) { assert.Equal(t, 0, code) }
+
+ r, w, err := os.Pipe()
+ require.NoError(t, err)
+ os.Stdout = w
+
+ main()
+ _ = w.Close()
+ buf := new(bytes.Buffer)
+ _, err = io.Copy(buf, r)
+ require.NoError(t, err)
+
+ assert.Contains(t, buf.String(), "Usage:")
+ assert.Contains(t, buf.String(), "Available Commands:")
+ assert.Contains(t, buf.String(), "Flags:")
+}
+
+func Test_MainWithoutCommands(t *testing.T) {
+ os.Args = []string{""}
+ exitFn = func(code int) { assert.Equal(t, 0, code) }
+
+ r, w, err := os.Pipe()
+ require.NoError(t, err)
+ os.Stdout = w
+
+ main()
+ _ = w.Close()
+ buf := new(bytes.Buffer)
+ _, err = io.Copy(buf, r)
+ require.NoError(t, err)
+
+ assert.Contains(t, buf.String(), "Usage:")
+ assert.Contains(t, buf.String(), "Available Commands:")
+ assert.Contains(t, buf.String(), "Flags:")
+}
+
+func Test_MainUnknownSubcommand(t *testing.T) {
+ os.Args = []string{"", "foobar"}
+ exitFn = func(code int) { assert.Equal(t, 1, code) }
+
+ r, w, err := os.Pipe()
+ require.NoError(t, err)
+ os.Stderr = w
+
+ main()
+ _ = w.Close()
+ buf := new(bytes.Buffer)
+ _, err = io.Copy(buf, r)
+ require.NoError(t, err)
+
+ assert.Contains(t, buf.String(), "unknown command")
+ assert.Contains(t, buf.String(), "foobar")
+}
diff --git a/cmd/rr/main.go b/cmd/rr/main.go
new file mode 100644
index 00000000..054b192e
--- /dev/null
+++ b/cmd/rr/main.go
@@ -0,0 +1,28 @@
+package main
+
+import (
+ "os"
+ "path/filepath"
+
+ "github.com/fatih/color"
+ "github.com/roadrunner-server/roadrunner/v2/internal/cli"
+)
+
+// exitFn is a function for application exiting.
+var exitFn = os.Exit //nolint:gochecknoglobals
+
+// main CLI application entrypoint.
+func main() { exitFn(run()) }
+
+// run this CLI application.
+func run() int {
+ cmd := cli.NewCommand(filepath.Base(os.Args[0]))
+
+ if err := cmd.Execute(); err != nil {
+ _, _ = color.New(color.FgHiRed, color.Bold).Fprintln(os.Stderr, err.Error())
+
+ return 1
+ }
+
+ return 0
+}
diff --git a/composer.json b/composer.json
new file mode 100644
index 00000000..4a34ba04
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,26 @@
+{
+ "name": "roadrunner-server/roadrunner",
+ "type": "metapackage",
+ "description": "RoadRunner: High-performance PHP application server, load-balancer and process manager written in Golang",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "Anton Titov / Wolfy-J",
+ "email": "[email protected]"
+ },
+ {
+ "name": "RoadRunner Community",
+ "homepage": "https://github.com/roadrunner-server/roadrunner/graphs/contributors"
+ }
+ ],
+ "require": {
+ "spiral/roadrunner-worker": "^2.0",
+ "spiral/roadrunner-cli": "^2.0",
+ "spiral/roadrunner-http": "^2.0"
+ },
+ "config": {
+ "sort-packages": true
+ },
+ "minimum-stability": "dev",
+ "prefer-stable": true
+}
diff --git a/dev/README.md b/dev/README.md
index 0d055321..315b2038 100644
--- a/dev/README.md
+++ b/dev/README.md
@@ -4,7 +4,7 @@
1. Build the RR binary with the following command: `make build`. As the result you'll see a RR binary.
2. If you are testing you own plugin (Go), you may use `replace` directive in the root `go.mod` file, for example:
```go
-module github.com/spiral/roadrunner-binary/v2
+module github.com/roadrunner-server/roadrunner/v2
go 1.17
@@ -18,10 +18,10 @@ require (
github.com/olekukonko/tablewriter v0.0.5
github.com/spf13/cobra v1.2.1
// SPIRAL ------------
- github.com/spiral/endure v1.0.3
- github.com/spiral/errors v1.0.12
+ github.com/roadrunner-server/endure v1.2.1
+ github.com/roadrunner-server/errors v1.1.0
github.com/spiral/goridge/v3 v3.2.1
- github.com/spiral/roadrunner/v2 v2.4.0-rc.1
+ github.com/roadrunner-server/roadrunner/v2 v2.4.0-rc.1
// ---------------------
github.com/stretchr/testify v1.7.0
// SPIRAL --------------
@@ -30,7 +30,7 @@ require (
github.com/vbauerster/mpb/v5 v5.4.0
)
-replace github.com/spiral/roadrunner/v2 => ../roadrunner <----- SAMPLE
+replace github.com/roadrunner-server/roadrunner/v2 => ../roadrunner <----- SAMPLE
```
3. Replace sample worker `psr-worker.php` with your application. You can do that by putting all `dev` env into the folder
diff --git a/go.mod b/go.mod
index 02de8b9d..1c98b31a 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module github.com/spiral/roadrunner-binary/v2
+module github.com/roadrunner-server/roadrunner/v2
go 1.17
@@ -9,132 +9,66 @@ require (
github.com/joho/godotenv v1.4.0
github.com/mattn/go-runewidth v0.0.13
github.com/olekukonko/tablewriter v0.0.5
- github.com/roadrunner-server/api/v2 v2.0.0-rc.1
+ // spiral
+ github.com/roadrunner-server/api/v2 v2.0.0-rc.2
+ github.com/roadrunner-server/config/v2 v2.0.0-rc.3
+ github.com/roadrunner-server/endure v1.2.1
+ github.com/roadrunner-server/errors v1.1.0
+ github.com/roadrunner-server/goridge/v3 v3.3.0
+ github.com/roadrunner-server/informer/v2 v2.0.0-rc.1
+ github.com/roadrunner-server/rpc/v2 v2.0.0-rc.1
+ github.com/roadrunner-server/sdk/v2 v2.0.0-rc.1
+ // spiral
github.com/spf13/cobra v1.3.0
- github.com/spiral/endure v1.1.0
- github.com/spiral/errors v1.0.12
- github.com/spiral/goridge/v3 v3.2.7
- github.com/spiral/roadrunner-plugins/v2 v2.7.1
- github.com/spiral/roadrunner/v2 v2.7.1
github.com/stretchr/testify v1.7.0
- github.com/temporalio/roadrunner-temporal v1.1.0
github.com/vbauerster/mpb/v5 v5.4.0
)
require (
github.com/VividCortex/ewma v1.2.0 // indirect
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect
- github.com/andybalholm/brotli v1.0.4 // indirect
- github.com/aws/aws-sdk-go-v2 v1.12.0 // indirect
- github.com/aws/aws-sdk-go-v2/config v1.12.0 // indirect
- github.com/aws/aws-sdk-go-v2/credentials v1.7.0 // indirect
- github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.9.0 // indirect
- github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.3 // indirect
- github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.1.0 // indirect
- github.com/aws/aws-sdk-go-v2/internal/ini v1.3.3 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.6.0 // indirect
- github.com/aws/aws-sdk-go-v2/service/sqs v1.15.0 // indirect
- github.com/aws/aws-sdk-go-v2/service/sso v1.8.0 // indirect
- github.com/aws/aws-sdk-go-v2/service/sts v1.13.0 // indirect
- github.com/aws/smithy-go v1.9.1 // indirect
- github.com/beanstalkd/go-beanstalk v0.1.0 // indirect
- github.com/beorn7/perks v1.0.1 // indirect
- github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d // indirect
- github.com/caddyserver/certmagic v0.15.2 // indirect
github.com/cenkalti/backoff/v4 v4.1.2 // indirect
- github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
- github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
- github.com/emicklei/proto v1.9.1 // indirect
- github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a // indirect
github.com/fsnotify/fsnotify v1.5.1 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
- github.com/go-redis/redis/v8 v8.11.4 // indirect
- github.com/gobwas/httphead v0.1.0 // indirect
- github.com/gobwas/pool v0.2.1 // indirect
- github.com/gobwas/ws v1.1.0 // indirect
- github.com/goccy/go-json v0.9.1 // indirect
- github.com/gofiber/fiber/v2 v2.24.0 // indirect
- github.com/gogo/googleapis v1.4.1 // indirect
- github.com/gogo/protobuf v1.3.2 // indirect
- github.com/gogo/status v1.1.0 // indirect
- github.com/golang/mock v1.6.0 // indirect
- github.com/golang/protobuf v1.5.2 // indirect
+ github.com/goccy/go-json v0.9.3 // indirect
github.com/google/uuid v1.3.0 // indirect
- github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
github.com/hashicorp/go-version v1.4.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/inconshreveable/mousetrap v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
- github.com/klauspost/compress v1.14.1 // indirect
- github.com/klauspost/cpuid/v2 v2.0.9 // indirect
- github.com/libdns/libdns v0.2.1 // indirect
+ github.com/kr/text v0.2.0 // indirect
github.com/magiconair/properties v1.8.5 // indirect
github.com/mattn/go-colorable v0.1.12 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
- github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
- github.com/mholt/acmez v1.0.1 // indirect
- github.com/miekg/dns v1.1.45 // indirect
- github.com/minio/highwayhash v1.0.2 // indirect
github.com/mitchellh/mapstructure v1.4.3 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
- github.com/nats-io/jwt/v2 v2.1.0 // indirect
- github.com/nats-io/nats.go v1.13.0 // indirect
- github.com/nats-io/nkeys v0.3.0 // indirect
- github.com/nats-io/nuid v1.0.1 // indirect
- github.com/newrelic/go-agent/v3 v3.15.2 // indirect
- github.com/pborman/uuid v1.2.1 // indirect
+ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
github.com/pelletier/go-toml v1.9.4 // indirect
- github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
- github.com/prometheus/client_golang v1.11.0 // indirect
- github.com/prometheus/client_model v0.2.0 // indirect
- github.com/prometheus/common v0.32.1 // indirect
- github.com/prometheus/procfs v0.7.3 // indirect
- github.com/rabbitmq/amqp091-go v1.2.0 // indirect
github.com/rivo/uniseg v0.2.0 // indirect
- github.com/robfig/cron v1.2.0 // indirect
+ github.com/roadrunner-server/tcplisten v1.1.0 // indirect
github.com/shirou/gopsutil v3.21.11+incompatible // indirect
github.com/spf13/afero v1.8.0 // indirect
github.com/spf13/cast v1.4.1 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/spf13/viper v1.10.1 // indirect
- github.com/spiral/sdk-go v1.12.0 // indirect
- github.com/spiral/sdk-go/contrib/tally v0.0.0-20211210212330-614642034d01 // indirect
- github.com/spiral/tcplisten v1.0.0 // indirect
- github.com/stretchr/objx v0.3.0 // indirect
github.com/subosito/gotenv v1.2.0 // indirect
github.com/tklauser/go-sysconf v0.3.9 // indirect
github.com/tklauser/numcpus v0.3.0 // indirect
- github.com/twmb/murmur3 v1.1.6 // indirect
- github.com/uber-go/tally/v4 v4.1.1 // indirect
- github.com/valyala/bytebufferpool v1.0.0 // indirect
- github.com/valyala/fasthttp v1.32.0 // indirect
- github.com/valyala/tcplisten v1.0.0 // indirect
github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
github.com/yusufpapurcu/wmi v1.2.2 // indirect
- go.etcd.io/bbolt v1.3.6 // indirect
- go.temporal.io/api v1.7.0 // indirect
go.uber.org/atomic v1.9.0 // indirect
go.uber.org/multierr v1.7.0 // indirect
go.uber.org/zap v1.20.0 // indirect
- golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce // indirect
- golang.org/x/mod v0.5.1 // indirect
- golang.org/x/net v0.0.0-20220111093109-d55c255bac03 // indirect
- golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
- golang.org/x/sys v0.0.0-20220111092808-5a964db01320 // indirect
+ golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect
golang.org/x/text v0.3.7 // indirect
- golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11 // indirect
- golang.org/x/tools v0.1.8 // indirect
- golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
- google.golang.org/genproto v0.0.0-20220112215332-a9c7c0acf9f2 // indirect
- google.golang.org/grpc v1.43.0 // indirect
google.golang.org/protobuf v1.27.1 // indirect
+ gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect
gopkg.in/ini.v1 v1.66.2 // indirect
- gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
)
diff --git a/go.sum b/go.sum
index a5976a5c..27cac74f 100644
--- a/go.sum
+++ b/go.sum
@@ -49,12 +49,10 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
-github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
-github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA=
github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow=
github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4=
@@ -65,63 +63,28 @@ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuy
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
-github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y=
-github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
-github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
-github.com/aws/aws-sdk-go-v2 v1.12.0 h1:z5bijqy+eXLK/QqF6eQcwCN2qw1k+m9OUDicqCZygu0=
-github.com/aws/aws-sdk-go-v2 v1.12.0/go.mod h1:tWhQI5N5SiMawto3uMAQJU5OUN/1ivhDDHq7HTsJvZ0=
-github.com/aws/aws-sdk-go-v2/config v1.12.0 h1:WOhIzj5HdixjlvQ4SLYAOk6OUUsuu88RwcsTzexa9cg=
-github.com/aws/aws-sdk-go-v2/config v1.12.0/go.mod h1:GQONFVSDdG6RRho1C730SGNyDhS1kSTnxpOE76ptBqo=
-github.com/aws/aws-sdk-go-v2/credentials v1.7.0 h1:KFuKwPs7i5SE5a0LxqAxz75qxSjr2HnHnhu0UPGlvpM=
-github.com/aws/aws-sdk-go-v2/credentials v1.7.0/go.mod h1:Kmq64kahHJtXfmnEwnvRKeNjLBqkdP++Itln9BmQerE=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.9.0 h1:fPq3oloONbHaA0O8KX/KYUQk7pG9JjKBwYQvQsQDK84=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.9.0/go.mod h1:19SxQ+9zANyJCnNaoF3ovl8bFil4TaqCYEDdqNGKM+A=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.3 h1:YPNiEXnuWdkpNOwBFHhcLwkSmewwQRcPFO9dHmxU0qg=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.3/go.mod h1:L72JSFj9OwHwyukeuKFFyTj6uFWE4AjB0IQp97bd9Lc=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.1.0 h1:ArRd27pSm66f7cCBDPS77wvxiS4IRjFatpzVBD7Aojc=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.1.0/go.mod h1:KdVvdk4gb7iatuHZgIkIqvJlWHBtjCJLUtD/uO/FkWw=
-github.com/aws/aws-sdk-go-v2/internal/ini v1.3.3 h1:fmGqMNlFTHr9Y48qmYYv2qIo+TAsST3qZa2d1HcwBeo=
-github.com/aws/aws-sdk-go-v2/internal/ini v1.3.3/go.mod h1:N4dv+zawriMFZBO/6UKg3zt+XO6xWOQo1neAA0lFbo4=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.6.0 h1:rwE0kWa5qm0yEoNPwC3zhrt1tFVXTmkWRlUxLayAwyc=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.6.0/go.mod h1:wTgFkG6t7jS/6Y0SILXwfspV3IXowb6ngsAlSajW0Kc=
-github.com/aws/aws-sdk-go-v2/service/sqs v1.15.0 h1:XqJ0gfT7oWQtLoig+sNiqBYJPOAGV7bTsSxDR2NJsBw=
-github.com/aws/aws-sdk-go-v2/service/sqs v1.15.0/go.mod h1:z9jr/hWntzJNl1ISnw27SCKa/bnI9Pm0u0OgEKxrE2Y=
-github.com/aws/aws-sdk-go-v2/service/sso v1.8.0 h1:X77LUt6Djy3Z02r6tW7Z+4FNr6GCnEG54EXfskc19M4=
-github.com/aws/aws-sdk-go-v2/service/sso v1.8.0/go.mod h1:AB6v3BedyhVRIbPQbJnUsBmtup2pFiikpp5n3YyB6Ac=
-github.com/aws/aws-sdk-go-v2/service/sts v1.13.0 h1:n8+dZMOvwkGtmhub8B2wYvRHut45/NB7DeNhNcUnBpg=
-github.com/aws/aws-sdk-go-v2/service/sts v1.13.0/go.mod h1:jQto17aC9pJ6xRa1g29uXZhbcS6qNT3PSnKfPShq4sY=
-github.com/aws/smithy-go v1.9.1 h1:5vetTooLk4hPWV8q6ym6+lXKAT1Urnm49YkrRKo2J8o=
-github.com/aws/smithy-go v1.9.1/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E=
-github.com/beanstalkd/go-beanstalk v0.1.0 h1:IiNwYbAoVBDs5xEOmleGoX+DRD3Moz99EpATbl8672w=
-github.com/beanstalkd/go-beanstalk v0.1.0/go.mod h1:/G8YTyChOtpOArwLTQPY1CHB+i212+av35bkPXXj56Y=
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
-github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
-github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d h1:pVrfxiGfwelyab6n21ZBkbkmbevaf+WvMIiR7sr97hw=
-github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
github.com/buger/goterm v1.0.1 h1:kSgw3jcjYUzC0Uh/eG8ULjccuz353solup27lUH8Zug=
github.com/buger/goterm v1.0.1/go.mod h1:HiFWV3xnkolgrBV3mY8m0X0Pumt4zg4QhbdOzQtB8tE=
-github.com/cactus/go-statsd-client/statsd v0.0.0-20200423205355-cb0885a1018c/go.mod h1:l/bIBLeOl9eX+wxJAzxS4TveKRtAqlyDpHjhkfO0MEI=
-github.com/caddyserver/certmagic v0.15.2 h1:OMTakTsLM1ZfzMDjwvYprfUgFzpVPh3u87oxMPwmeBc=
-github.com/caddyserver/certmagic v0.15.2/go.mod h1:qhkAOthf72ufAcp3Y5jF2RaGE96oip3UbEQRIzwe3/8=
+github.com/buger/goterm v1.0.3 h1:7V/HeAQHrzPk/U4BvyH2g9u+xbUW9nr4yRPyG59W4fM=
+github.com/buger/goterm v1.0.3/go.mod h1:HiFWV3xnkolgrBV3mY8m0X0Pumt4zg4QhbdOzQtB8tE=
github.com/cenkalti/backoff/v4 v4.1.2 h1:6Yo7N8UP2K6LWZnW94DLVSSrbobcWdVzAYOisuDPIFo=
github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
@@ -146,12 +109,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
-github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
-github.com/emicklei/proto v1.9.1 h1:MUgjFo5xlMwYv72TnF5xmmdKZ04u+dVbv6wdARv16D8=
-github.com/emicklei/proto v1.9.1/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
@@ -163,14 +122,10 @@ github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.
github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws=
-github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a h1:yDWHCSQ40h88yih2JAcL6Ls/kVkSE8GFACTGVnMPruw=
-github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a/go.mod h1:7Ga40egUymuWXxAe151lTNnCv97MddSOVsjpPPkityA=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
-github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI=
github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
@@ -185,31 +140,14 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
-github.com/go-redis/redis/v8 v8.11.4 h1:kHoYkfZP6+pe04aFTnhDH6GDROa5yJdHJVNxV3F46Tg=
-github.com/go-redis/redis/v8 v8.11.4/go.mod h1:2Z2wHZXdQpCDXEGzqMockDpNyYvi2l4Pxt6RJr792+w=
-github.com/go-restit/lzjson v0.0.0-20161206095556-efe3c53acc68/go.mod h1:7vXSKQt83WmbPeyVjCfNT9YDJ5BUFmcwFsEjI9SCvYM=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
-github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU=
-github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM=
-github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og=
-github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
-github.com/gobwas/ws v1.1.0 h1:7RFti/xnNkMJnrK7D1yQ/iCIB5OrrY/54/H930kIbHA=
-github.com/gobwas/ws v1.1.0/go.mod h1:nzvNcVha5eUziGrbxFCo6qFIojQHjJV5cLYIbezhfL0=
github.com/goccy/go-json v0.9.1 h1:xurvfvj3gq6SWUkkZ0opoUDTms7jif41uZ9z9s+hVlY=
github.com/goccy/go-json v0.9.1/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
+github.com/goccy/go-json v0.9.3 h1:VYKeLtdIQXWaeTZy5JNGZbVui5ck7Vf5MlWEcflqz0s=
+github.com/goccy/go-json v0.9.3/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
-github.com/gofiber/fiber/v2 v2.24.0 h1:18rpLoQMJBVlLtX/PwgHj3hIxPSeWfN1YeDJ2lEnzjU=
-github.com/gofiber/fiber/v2 v2.24.0/go.mod h1:MR1usVH3JHYRyQwMe2eZXRSZHRX38fkV+A7CPB+DlDQ=
-github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
-github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0=
-github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
-github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
-github.com/gogo/status v1.1.0 h1:+eIkrewn5q6b30y+g/BJINVVdi2xH7je5MPJ3ZPK3JA=
-github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@@ -223,7 +161,6 @@ github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
-github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -241,7 +178,6 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
-github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
@@ -280,7 +216,6 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe
github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
-github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
@@ -289,10 +224,6 @@ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5m
github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
-github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
-github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
-github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw=
-github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M=
github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0=
@@ -328,14 +259,11 @@ github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOn
github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=
github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk=
github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4=
-github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
-github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
-github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/joho/godotenv v1.4.0 h1:3l4+N6zfMWnkbPEXKng2o2/MR5mSwTrBih4ZEkkz1lg=
github.com/joho/godotenv v1.4.0/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
@@ -347,16 +275,10 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
-github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
-github.com/klauspost/compress v1.14.1 h1:hLQYb23E8/fO+1u53d02A97a8UnsddcvYzq4ERRU4ds=
-github.com/klauspost/compress v1.14.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
-github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4=
-github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
@@ -367,8 +289,6 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/libdns/libdns v0.2.1 h1:Wu59T7wSHRgtA0cfxC+n1c/e+O3upJGWytknkmFEDis=
-github.com/libdns/libdns v0.2.1/go.mod h1:yQCXzk1lEZmmCPa857bnk4TsOiqYasqpyOEeSObbb40=
github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w=
github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls=
github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
@@ -388,19 +308,10 @@ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27k
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU=
github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
-github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
-github.com/mholt/acmez v1.0.1 h1:J7uquHOKEmo71UDnVApy1sSLA0oF/r+NtVrNzMKKA9I=
-github.com/mholt/acmez v1.0.1/go.mod h1:8qnn8QA/Ewx8E3ZSsmscqsIjhhpxuy9vqdgbX2ceceM=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI=
-github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4=
-github.com/miekg/dns v1.1.45 h1:g5fRIhm9nx7g8osrAvgb16QJfmyMsyOCb+J7LSv+Qzk=
-github.com/miekg/dns v1.1.45/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME=
-github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
-github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g=
-github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
@@ -417,44 +328,12 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
-github.com/nats-io/jwt v1.2.2 h1:w3GMTO969dFg+UOKTmmyuu7IGdusK+7Ytlt//OYH/uU=
-github.com/nats-io/jwt v1.2.2/go.mod h1:/xX356yQA6LuXI9xWW7mZNpxgF2mBmGecH+Fj34sP5Q=
-github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY=
-github.com/nats-io/jwt/v2 v2.1.0 h1:1UbfD5g1xTdWmSeRV8bh/7u+utTiBsRtWhLl1PixZp4=
-github.com/nats-io/jwt/v2 v2.1.0/go.mod h1:0tqz9Hlu6bCBFLWAASKhE5vUA4c24L9KPUUgvwumE/k=
-github.com/nats-io/nats-server/v2 v2.6.1 h1:cJy+ia7/4EaJL+ZYDmIy2rD1mDWTfckhtPBU0GYo8xM=
-github.com/nats-io/nats-server/v2 v2.6.1/go.mod h1:Az91TbZiV7K4a6k/4v6YYdOKEoxCXj+iqhHVf/MlrKo=
-github.com/nats-io/nats.go v1.12.3/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w=
-github.com/nats-io/nats.go v1.13.0 h1:LvYqRB5epIzZWQp6lmeltOOZNLqCvm4b+qfvzZO03HE=
-github.com/nats-io/nats.go v1.13.0/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w=
-github.com/nats-io/nkeys v0.2.0/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1tqEu/s=
-github.com/nats-io/nkeys v0.3.0 h1:cgM5tL53EvYRU+2YLXIK0G2mJtK12Ft9oeooSZMA2G8=
-github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4=
-github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw=
-github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
-github.com/newrelic/go-agent/v3 v3.15.2 h1:NEpksu2AhuZncbwkDqUg2IvUJst3JQ/TemYfK4WdS/Y=
-github.com/newrelic/go-agent/v3 v3.15.2/go.mod h1:1A1dssWBwzB7UemzRU6ZVaGDsI+cEn5/bNxI0wiYlIc=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
-github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
-github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
-github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
-github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
-github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
-github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc=
-github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0=
-github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
-github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
-github.com/onsi/gomega v1.16.0 h1:6gjqkI8iiRHMvdccRJM8rVKjCWk6ZIm6FTm3ddIe4/c=
-github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
-github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
-github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
-github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw=
-github.com/pborman/uuid v1.2.1/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM=
github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -471,34 +350,42 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
-github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ=
github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
-github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4=
github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
-github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU=
github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
-github.com/rabbitmq/amqp091-go v1.2.0 h1:1pHBxAsQh54R9eX/xo679fUEAfv3loMqi0pvRFOj2nk=
-github.com/rabbitmq/amqp091-go v1.2.0/go.mod h1:ogQDLSOACsLPsIq0NpbtiifNZi2YOz0VTJ0kHRghqbM=
github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
-github.com/roadrunner-server/api/v2 v2.0.0-rc.1 h1:MpQimB7BumOLhyIxSyKdYQqaona7XvE2kVXTtVQgkl4=
-github.com/roadrunner-server/api/v2 v2.0.0-rc.1/go.mod h1:dLgRibV6GMnrxOfmaZONAXoSp4Ej4L1S4g/UxazoxXA=
-github.com/robfig/cron v1.2.0 h1:ZjScXvvxeQ63Dbyxy76Fj3AT3Ut0aKsyd2/tl3DTMuQ=
-github.com/robfig/cron v1.2.0/go.mod h1:JGuDeoQd7Z6yL4zQhZ3OPEVHB7fL6Ka6skscFHfmt2k=
+github.com/roadrunner-server/api/v2 v2.0.0-rc.2 h1:tuvIP5HqsoM2GORkjLojvzhxpwnOS+vgpyR+ZrWi9e8=
+github.com/roadrunner-server/api/v2 v2.0.0-rc.2/go.mod h1:ChnLyPJ01qVRsVS/AEGV8hzny9dIfnv9edhGoeKSfAY=
+github.com/roadrunner-server/config/v2 v2.0.0-rc.3 h1:xv5Ej7s+IrERQd9OgfEJ0x503yAf9xnRt0HI4l4l9Pw=
+github.com/roadrunner-server/config/v2 v2.0.0-rc.3/go.mod h1:+2CarS2gJ6SvpPR7JSsspXg1jDSHK81qNDD5bTI93uU=
+github.com/roadrunner-server/endure v1.2.1 h1:LwapekBTGlsgEXR6Fbp50WYIjAGq/FwTssZThemyawE=
+github.com/roadrunner-server/endure v1.2.1/go.mod h1:36kWruojFlPhtsP/is8wVtWGYuGGxUWDVnn1TTBbbas=
+github.com/roadrunner-server/errors v1.1.0 h1:ZjsvlJJkOpxNrZebo8DeXTCbytBIs+j2PjSrFmtqDAI=
+github.com/roadrunner-server/errors v1.1.0/go.mod h1:MzHjhRZIZc1ooMyYllUhNs0aTqRUbwcgUSO0TN7kCII=
+github.com/roadrunner-server/goridge/v3 v3.3.0 h1:Zrftjk2xNGzNnrma31ZrlPmwTJQIAa0Kmdeb58v+BQ4=
+github.com/roadrunner-server/goridge/v3 v3.3.0/go.mod h1:nOtQp0LEx2vxfnVT8/1PQIyK0BpFGhg8S0OCdlKdXbI=
+github.com/roadrunner-server/informer/v2 v2.0.0-rc.1 h1:ug67yDewErrmxiZxebn9iIeJ7TF8gzyN7sJXkFhfAJY=
+github.com/roadrunner-server/informer/v2 v2.0.0-rc.1/go.mod h1:kcDjdCpGrHlshXTQ+uKGEsZCnd3SRXelaDUxZSlr/u4=
+github.com/roadrunner-server/rpc/v2 v2.0.0-rc.1 h1:xfGlO7GFpkwihLc6SCd/+pr0MmjsqwKFgG30k6vMCeA=
+github.com/roadrunner-server/rpc/v2 v2.0.0-rc.1/go.mod h1:Kd7CtFvcJa92WtdQzha1aobX5JXfaTsLLdEA7vTI1Iw=
+github.com/roadrunner-server/sdk/v2 v2.0.0-rc.1 h1:Lr74Slj3Hy+R6msDtx1yZwr52sOk/7jEICOs5d14LnA=
+github.com/roadrunner-server/sdk/v2 v2.0.0-rc.1/go.mod h1:p3ENuBdCHQGgUn8Xji4N5tRb6e5NXX8yKbgtHY/caxQ=
+github.com/roadrunner-server/tcplisten v1.1.0 h1:DozwuIiND9seqz4infLvGTcSIJ5nDv9gF9H8UKNtXP8=
+github.com/roadrunner-server/tcplisten v1.1.0/go.mod h1:2MjzsggdgxCca4p2k3YJdWdo/QnQehiOTy0knlE226c=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
@@ -511,9 +398,6 @@ github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMT
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
-github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
-github.com/smartystreets/assertions v1.1.1/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo=
-github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
@@ -530,32 +414,8 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An
github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM=
github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk=
github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU=
-github.com/spiral/endure v1.1.0 h1:v9CzvnQvvLyR0aiZpA04ZTIq444x0FR2PTCJAPNEO6g=
-github.com/spiral/endure v1.1.0/go.mod h1:M2AHi+x+YdQ4gW1rV2aDWGkT6hxJwVWpK4qRiax8Zzw=
-github.com/spiral/errors v1.0.12 h1:38Waf8ZL/Xvxg4HTYGmrUbvi7TCHivmuatNQZlBhQ8s=
-github.com/spiral/errors v1.0.12/go.mod h1:j5UReqxZxfkwXkI9mFY87VhEXcXmSg7kAk5Sswy1eEA=
-github.com/spiral/goridge/v3 v3.2.4/go.mod h1:a6qAtZy+FBaPj/76GweHj6SkgIr+oRVgW5p4e5vLZF4=
-github.com/spiral/goridge/v3 v3.2.6/go.mod h1:a6qAtZy+FBaPj/76GweHj6SkgIr+oRVgW5p4e5vLZF4=
-github.com/spiral/goridge/v3 v3.2.7 h1:tiV1d025QwEAIr8WRo7kUQW9PhWGa405QpC3HrEjCPY=
-github.com/spiral/goridge/v3 v3.2.7/go.mod h1:a6qAtZy+FBaPj/76GweHj6SkgIr+oRVgW5p4e5vLZF4=
-github.com/spiral/roadrunner-plugins/v2 v2.7.0/go.mod h1:57IrBZzvi6LyuY9N+QhNh5rDrbDTxbmObupuE7HtC50=
-github.com/spiral/roadrunner-plugins/v2 v2.7.1 h1:eMLJDuPam+I5DIPGKuwk82VzZo/kWzfdVhxl3vlSOQM=
-github.com/spiral/roadrunner-plugins/v2 v2.7.1/go.mod h1:NuHOUIr0MmAko5YWsBHorD0Bvyx09PBX+Tzf4v5u1B0=
-github.com/spiral/roadrunner/v2 v2.7.0-rc.2/go.mod h1:S/ash+OWnvvBR79EV+3YDk8uACC4p3Fi/MSDFqkA3Jo=
-github.com/spiral/roadrunner/v2 v2.7.0/go.mod h1:MJVb9hFHZfVigPbATmcxgmP3WQG0QvW4bUR431Vw0js=
-github.com/spiral/roadrunner/v2 v2.7.1 h1:D/i+lzZfddSwgvcAXG/2MCzBPTEB4KsPWjdGx4KsP8E=
-github.com/spiral/roadrunner/v2 v2.7.1/go.mod h1:MJOw6nV5j0nCDn6qNogiyU4+WjTZJcc6EriA2f/pn78=
-github.com/spiral/sdk-go v1.11.2/go.mod h1:iRDEyfVAr6PgFGaOv1+o5OVG9kmgTgspBwmO0GOY1p8=
-github.com/spiral/sdk-go v1.12.0 h1:PSKXMVLwifyWhuveSdKlBJm5Grcs/0bRfp1XqXRO+QI=
-github.com/spiral/sdk-go v1.12.0/go.mod h1:Y3IKVPm7/RAca9DDuTmFFo+f3Sj+QAm/MHo08Kb3oLY=
-github.com/spiral/sdk-go/contrib/tally v0.0.0-20211210212330-614642034d01 h1:qQfQEQ3z6fG+FWxqyzUSiuUZpbWbze6hb5UthrT8i00=
-github.com/spiral/sdk-go/contrib/tally v0.0.0-20211210212330-614642034d01/go.mod h1:fHu9AnyudU85kM53B1XeXb4RZq8G0OYgXc7g2rCMEbQ=
-github.com/spiral/tcplisten v1.0.0 h1:dII3R20Xslll6Uk60ac1JCn9zQwfwbt88CLrs3OryZg=
-github.com/spiral/tcplisten v1.0.0/go.mod h1:+anIsZh2ZYw2EogG2pO1yEZKcGN7lEf41hUQilctYJo=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.3.0 h1:NGXK3lHquSN08v5vWalVI/L8XU9hdzE/G6xsrze47As=
-github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -565,42 +425,24 @@ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5Cc
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
-github.com/temporalio/roadrunner-temporal v1.1.0 h1:oi1MgJxRJGmCK569EpQ2+RRYVTaOOoPP3LGoSbc2SyU=
-github.com/temporalio/roadrunner-temporal v1.1.0/go.mod h1:sLAuIKRiQXhtx2iS2I/GExnz3q9NUIy6Byn2fVOR8Fg=
github.com/tklauser/go-sysconf v0.3.9 h1:JeUVdAOWhhxVcU6Eqr/ATFHgXk/mmiItdKeJPev3vTo=
github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs=
github.com/tklauser/numcpus v0.3.0 h1:ILuRUQBtssgnxw0XXIjKUC56fgnOrFoQQ/4+DeU2biQ=
github.com/tklauser/numcpus v0.3.0/go.mod h1:yFGUr7TUHQRAhyqBcEg0Ge34zDBAsIvJJcyE6boqnA8=
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
-github.com/twmb/murmur3 v1.1.5/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ=
-github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg=
-github.com/twmb/murmur3 v1.1.6/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ=
-github.com/uber-go/tally/v4 v4.1.1 h1:jhy6WOZp4nHyCqeV43x3Wz370LXUGBhgW2JmzOIHCWI=
-github.com/uber-go/tally/v4 v4.1.1/go.mod h1:aXeSTDMl4tNosyf6rdU8jlgScHyjEGGtfJ/uwCIf/vM=
-github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
-github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
-github.com/valyala/fasthttp v1.31.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus=
-github.com/valyala/fasthttp v1.32.0 h1:keswgWzyKyNIIjz2a7JmCYHOOIkRp6HMx9oTV6QrZWY=
-github.com/valyala/fasthttp v1.32.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus=
-github.com/valyala/tcplisten v1.0.0 h1:rBHj/Xf+E1tRGZyWIWwJDiRY0zc1Js+CV5DqwacVSA8=
-github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc=
github.com/vbauerster/mpb/v5 v5.4.0 h1:n8JPunifvQvh6P1D1HAl2Ur9YcmKT1tpoUuiea5mlmg=
github.com/vbauerster/mpb/v5 v5.4.0/go.mod h1:fi4wVo7BVQ22QcvFObm+VwliQXlV1eBT8JDaKXR4JGI=
github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU=
github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc=
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
-github.com/yookoala/gofast v0.6.0/go.mod h1:OJU201Q6HCaE1cASckaTbMm3KB6e0cZxK0mgqfwOKvQ=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
-github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
-go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU=
-go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4=
go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs=
@@ -611,32 +453,16 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
-go.opentelemetry.io/otel v1.2.0/go.mod h1:aT17Fk0Z1Nor9e0uisf98LrntPGMnk4frBO9+dkf69I=
-go.opentelemetry.io/otel/sdk v1.2.0/go.mod h1:jNN8QtpvbsKhgaC6V5lHiejMoKD+V8uadoSafgHPx1U=
-go.opentelemetry.io/otel/trace v1.2.0/go.mod h1:N5FLswTubnxKxOJHM7XZC074qpeEdLy3CgAVsdMucK0=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
-go.temporal.io/api v1.6.0/go.mod h1:YLj7h12DVi4m1ox3BgdGyD6OKO1yDn/cW4pO/SLrkcU=
-go.temporal.io/api v1.7.0 h1:fMaxrk8u12zPPOKgN6HCHyJjQQX6HcCxtMQTjck1rGE=
-go.temporal.io/api v1.7.0/go.mod h1:Bjxr81kDTMY0IYxbosWleAVOFE+Pnp4SRk87oWchYv8=
-go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
-go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
-go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
+go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
-go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA=
-go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ=
-go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
-go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/multierr v1.7.0 h1:zaiO/rmgFjbmCXdSYJWQcdvOCsthmdaHfr3Gm2Kx4Ec=
go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak=
-go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
-go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
-go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc=
go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
-go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI=
go.uber.org/zap v1.20.0 h1:N4oPlghZwYG55MlU6LXk/Zp00FVNE9X9wrYO8CEs4lc=
go.uber.org/zap v1.20.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@@ -647,17 +473,10 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
-golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
-golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce h1:Roh6XWxHFKrPgC/EQhVubSAGQ6Ozk6IdxHSzt1mR0EI=
-golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -694,11 +513,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
-golang.org/x/mod v0.5.1 h1:OJxoQ/rynoF0dcCdI7cLPktw/hR2cueqYfjm43oqK38=
-golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -723,7 +539,6 @@ golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/
golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
@@ -738,19 +553,9 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8=
-golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211101193420-4a448f8816b3/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20220111093109-d55c255bac03 h1:0FB83qp0AzVJm+0wcIlauAjJ+tNdh7jLuacRYCIVv7s=
-golang.org/x/net v0.0.0-20220111093109-d55c255bac03/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -778,15 +583,12 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -797,15 +599,12 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -827,14 +626,11 @@ golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201218084310-7d0127a74742/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -862,14 +658,11 @@ golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20211209171907-798191bca915/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220111092808-5a964db01320 h1:0jf+tOCoZ3LyutmCOWpVni1chK4VfFLhRsDK7MhqGRY=
-golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0=
+golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -884,16 +677,12 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11 h1:GZokNIeuVkl3aZHJchRrr13WCsols02MLUcz1U9is6M=
-golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
@@ -904,8 +693,6 @@ golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtn
golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
@@ -933,11 +720,9 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
-golang.org/x/tools v0.0.0-20200908211811-12e1bf57a112/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
@@ -947,9 +732,6 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.1.8 h1:P1HhGGuLW4aAclzjtmJdf0mJOjVUZUzOTqkAkWL+l6w=
-golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -995,7 +777,6 @@ google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/genproto v0.0.0-20180518175338-11a468237815/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
@@ -1017,7 +798,6 @@ google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfG
google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
@@ -1057,16 +837,11 @@ google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEc
google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20211101144312-62acf1d99145/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20211129164237-f09f9a12af12/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20220111164026-67b88f271998/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20220112215332-a9c7c0acf9f2 h1:z+R4M/SuyaRsj1zu3WC+nIQyfSrSIpuDcY01/R3uCtg=
-google.golang.org/genproto v0.0.0-20220112215332-a9c7c0acf9f2/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
@@ -1093,9 +868,7 @@ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD
google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
-google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k=
google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
-google.golang.org/grpc v1.43.0 h1:Eeu7bZtDZ2DpRCsLhUlcrLnvYaMK1Gz86a+hMVvELmM=
google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
@@ -1119,15 +892,8 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
-gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
-gopkg.in/ini.v1 v1.38.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI=
gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
-gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=
-gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
-gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
-gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
-gopkg.in/validator.v2 v2.0.0-20200605151824-2b28d334fa05/go.mod h1:o4V0GXN9/CAmCsvJ0oXYZvrZOe7syiDZSN1GWGZTGzc=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/internal/cli/reset/command.go b/internal/cli/reset/command.go
index d6cf7087..1d7dd78c 100644
--- a/internal/cli/reset/command.go
+++ b/internal/cli/reset/command.go
@@ -4,13 +4,13 @@ import (
"fmt"
"sync"
- internalRpc "github.com/spiral/roadrunner-binary/v2/internal/rpc"
+ internalRpc "github.com/roadrunner-server/roadrunner/v2/internal/rpc"
"github.com/fatih/color"
"github.com/mattn/go-runewidth"
+ "github.com/roadrunner-server/config/v2"
+ "github.com/roadrunner-server/errors"
"github.com/spf13/cobra"
- "github.com/spiral/errors"
- "github.com/spiral/roadrunner-plugins/v2/config"
"github.com/vbauerster/mpb/v5"
"github.com/vbauerster/mpb/v5/decor"
)
diff --git a/internal/cli/reset/command_test.go b/internal/cli/reset/command_test.go
index 00cd046e..1983cc5c 100644
--- a/internal/cli/reset/command_test.go
+++ b/internal/cli/reset/command_test.go
@@ -3,9 +3,9 @@ package reset_test
import (
"testing"
- "github.com/spiral/roadrunner-binary/v2/internal/cli/reset"
+ "github.com/roadrunner-server/roadrunner/v2/internal/cli/reset"
- "github.com/spiral/roadrunner-plugins/v2/config"
+ "github.com/roadrunner-server/config/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/internal/cli/root.go b/internal/cli/root.go
index 8572bdc6..29fd14b8 100644
--- a/internal/cli/root.go
+++ b/internal/cli/root.go
@@ -6,15 +6,15 @@ import (
"path/filepath"
"runtime"
- "github.com/spiral/roadrunner-binary/v2/internal/cli/reset"
- "github.com/spiral/roadrunner-binary/v2/internal/cli/serve"
- "github.com/spiral/roadrunner-binary/v2/internal/cli/workers"
- dbg "github.com/spiral/roadrunner-binary/v2/internal/debug"
- "github.com/spiral/roadrunner-binary/v2/internal/meta"
+ "github.com/roadrunner-server/roadrunner/v2/internal/cli/reset"
+ "github.com/roadrunner-server/roadrunner/v2/internal/cli/serve"
+ "github.com/roadrunner-server/roadrunner/v2/internal/cli/workers"
+ dbg "github.com/roadrunner-server/roadrunner/v2/internal/debug"
+ "github.com/roadrunner-server/roadrunner/v2/internal/meta"
"github.com/joho/godotenv"
+ "github.com/roadrunner-server/config/v2"
"github.com/spf13/cobra"
- "github.com/spiral/roadrunner-plugins/v2/config"
)
// NewCommand creates root command.
diff --git a/internal/cli/root_test.go b/internal/cli/root_test.go
index 59af9294..28e7d237 100644
--- a/internal/cli/root_test.go
+++ b/internal/cli/root_test.go
@@ -3,7 +3,7 @@ package cli_test
import (
"testing"
- "github.com/spiral/roadrunner-binary/v2/internal/cli"
+ "github.com/roadrunner-server/roadrunner/v2/internal/cli"
"github.com/spf13/cobra"
"github.com/stretchr/testify/assert"
diff --git a/internal/cli/serve/command.go b/internal/cli/serve/command.go
index 6679d795..a0ce36db 100644
--- a/internal/cli/serve/command.go
+++ b/internal/cli/serve/command.go
@@ -6,12 +6,12 @@ import (
"os/signal"
"syscall"
- "github.com/spiral/roadrunner-binary/v2/internal/container"
- "github.com/spiral/roadrunner-binary/v2/internal/meta"
+ "github.com/roadrunner-server/roadrunner/v2/internal/container"
+ "github.com/roadrunner-server/roadrunner/v2/internal/meta"
+ configImpl "github.com/roadrunner-server/config/v2"
+ "github.com/roadrunner-server/errors"
"github.com/spf13/cobra"
- "github.com/spiral/errors"
- configImpl "github.com/spiral/roadrunner-plugins/v2/config"
)
// NewCommand creates `serve` command.
diff --git a/internal/cli/serve/command_test.go b/internal/cli/serve/command_test.go
index 0e61ce83..8aef0ff7 100644
--- a/internal/cli/serve/command_test.go
+++ b/internal/cli/serve/command_test.go
@@ -3,9 +3,9 @@ package serve_test
import (
"testing"
- "github.com/spiral/roadrunner-binary/v2/internal/cli/serve"
+ "github.com/roadrunner-server/roadrunner/v2/internal/cli/serve"
- "github.com/spiral/roadrunner-plugins/v2/config"
+ "github.com/roadrunner-server/config/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/internal/cli/workers/command.go b/internal/cli/workers/command.go
index 283887e4..e3f8f7e3 100644
--- a/internal/cli/workers/command.go
+++ b/internal/cli/workers/command.go
@@ -9,14 +9,14 @@ import (
"time"
"github.com/roadrunner-server/api/v2/plugins/jobs"
- internalRpc "github.com/spiral/roadrunner-binary/v2/internal/rpc"
+ internalRpc "github.com/roadrunner-server/roadrunner/v2/internal/rpc"
tm "github.com/buger/goterm"
"github.com/fatih/color"
+ "github.com/roadrunner-server/config/v2"
+ "github.com/roadrunner-server/errors"
+ "github.com/roadrunner-server/informer/v2"
"github.com/spf13/cobra"
- "github.com/spiral/errors"
- "github.com/spiral/roadrunner-plugins/v2/config"
- "github.com/spiral/roadrunner-plugins/v2/informer"
)
// NewCommand creates `workers` command.
diff --git a/internal/cli/workers/command_test.go b/internal/cli/workers/command_test.go
index e593686d..d0c92e63 100644
--- a/internal/cli/workers/command_test.go
+++ b/internal/cli/workers/command_test.go
@@ -3,9 +3,9 @@ package workers_test
import (
"testing"
- "github.com/spiral/roadrunner-binary/v2/internal/cli/workers"
+ "github.com/roadrunner-server/roadrunner/v2/internal/cli/workers"
- "github.com/spiral/roadrunner-plugins/v2/config"
+ "github.com/roadrunner-server/config/v2"
"github.com/stretchr/testify/assert"
)
diff --git a/internal/cli/workers/render.go b/internal/cli/workers/render.go
index 0bdf09b6..cf81a04e 100644
--- a/internal/cli/workers/render.go
+++ b/internal/cli/workers/render.go
@@ -9,7 +9,7 @@ import (
"github.com/fatih/color"
"github.com/olekukonko/tablewriter"
"github.com/roadrunner-server/api/v2/plugins/jobs"
- "github.com/spiral/roadrunner/v2/state/process"
+ "github.com/roadrunner-server/sdk/v2/state/process"
)
const (
diff --git a/internal/container/config.go b/internal/container/config.go
index 54e2bb5b..149d6b9b 100644
--- a/internal/container/config.go
+++ b/internal/container/config.go
@@ -4,8 +4,8 @@ import (
"fmt"
"time"
- endure "github.com/spiral/endure/pkg/container"
- "github.com/spiral/roadrunner-plugins/v2/config"
+ "github.com/roadrunner-server/config/v2"
+ endure "github.com/roadrunner-server/endure/pkg/container"
)
type Config struct {
diff --git a/internal/container/config_test.go b/internal/container/config_test.go
index 9919def4..e20b2d9e 100644
--- a/internal/container/config_test.go
+++ b/internal/container/config_test.go
@@ -4,10 +4,10 @@ import (
"testing"
"time"
- "github.com/spiral/roadrunner-binary/v2/internal/container"
+ "github.com/roadrunner-server/roadrunner/v2/internal/container"
- endure "github.com/spiral/endure/pkg/container"
- "github.com/spiral/roadrunner-plugins/v2/config"
+ "github.com/roadrunner-server/config/v2"
+ endure "github.com/roadrunner-server/endure/pkg/container"
"github.com/stretchr/testify/assert"
)
diff --git a/internal/container/container.go b/internal/container/container.go
index aa767b2e..25ba6326 100644
--- a/internal/container/container.go
+++ b/internal/container/container.go
@@ -1,7 +1,7 @@
package container
import (
- endure "github.com/spiral/endure/pkg/container"
+ endure "github.com/roadrunner-server/endure/pkg/container"
)
// NewContainer creates endure container with all required options (based on container Config). Logger is nil by
diff --git a/internal/container/container_test.go b/internal/container/container_test.go
index c6d613a0..9be043e2 100644
--- a/internal/container/container_test.go
+++ b/internal/container/container_test.go
@@ -4,9 +4,9 @@ import (
"testing"
"time"
- "github.com/spiral/roadrunner-binary/v2/internal/container"
+ "github.com/roadrunner-server/roadrunner/v2/internal/container"
- endure "github.com/spiral/endure/pkg/container"
+ endure "github.com/roadrunner-server/endure/pkg/container"
"github.com/stretchr/testify/assert"
)
diff --git a/internal/container/plugins.go b/internal/container/plugins.go
index 6c962793..8a9fb253 100644
--- a/internal/container/plugins.go
+++ b/internal/container/plugins.go
@@ -1,104 +1,6 @@
package container
-import (
- "github.com/spiral/roadrunner-plugins/v2/amqp"
- "github.com/spiral/roadrunner-plugins/v2/beanstalk"
- "github.com/spiral/roadrunner-plugins/v2/boltdb"
- "github.com/spiral/roadrunner-plugins/v2/broadcast"
- "github.com/spiral/roadrunner-plugins/v2/fileserver"
- grpcPlugin "github.com/spiral/roadrunner-plugins/v2/grpc"
- httpPlugin "github.com/spiral/roadrunner-plugins/v2/http"
- "github.com/spiral/roadrunner-plugins/v2/http/middleware/gzip"
- "github.com/spiral/roadrunner-plugins/v2/http/middleware/headers"
- newrelic "github.com/spiral/roadrunner-plugins/v2/http/middleware/new_relic"
- "github.com/spiral/roadrunner-plugins/v2/http/middleware/prometheus"
- "github.com/spiral/roadrunner-plugins/v2/http/middleware/static"
- "github.com/spiral/roadrunner-plugins/v2/http/middleware/websockets"
- "github.com/spiral/roadrunner-plugins/v2/informer"
- "github.com/spiral/roadrunner-plugins/v2/jobs"
- "github.com/spiral/roadrunner-plugins/v2/kv"
- "github.com/spiral/roadrunner-plugins/v2/logger"
- "github.com/spiral/roadrunner-plugins/v2/memcached"
- "github.com/spiral/roadrunner-plugins/v2/memory"
- "github.com/spiral/roadrunner-plugins/v2/metrics"
- "github.com/spiral/roadrunner-plugins/v2/nats"
- "github.com/spiral/roadrunner-plugins/v2/redis"
- "github.com/spiral/roadrunner-plugins/v2/reload"
- "github.com/spiral/roadrunner-plugins/v2/resetter"
- rpcPlugin "github.com/spiral/roadrunner-plugins/v2/rpc"
- "github.com/spiral/roadrunner-plugins/v2/server"
- "github.com/spiral/roadrunner-plugins/v2/service"
- "github.com/spiral/roadrunner-plugins/v2/sqs"
- "github.com/spiral/roadrunner-plugins/v2/status"
- "github.com/spiral/roadrunner-plugins/v2/tcp"
- roadrunner_temporal "github.com/temporalio/roadrunner-temporal"
-)
-
// Plugins returns active plugins for the endure container. Feel free to add or remove any plugins.
-func Plugins() []interface{} { //nolint:funlen
- return []interface{}{
- // bundled
- // informer plugin (./rr workers, ./rr workers -i)
- &informer.Plugin{},
- // resetter plugin (./rr reset)
- &resetter.Plugin{},
-
- // logger plugin
- &logger.ZapLogger{},
- // metrics plugin
- &metrics.Plugin{},
- // reload plugin
- &reload.Plugin{},
- // rpc plugin (workers, reset)
- &rpcPlugin.Plugin{},
- // server plugin (NewWorker, NewWorkerPool)
- &server.Plugin{},
- // service plugin
- &service.Plugin{},
-
- // ========= JOBS bundle
- &jobs.Plugin{},
- &amqp.Plugin{},
- &sqs.Plugin{},
- &nats.Plugin{},
- &beanstalk.Plugin{},
- // =========
-
- // http server plugin with middleware
- &httpPlugin.Plugin{},
- &newrelic.Plugin{},
- &static.Plugin{},
- &headers.Plugin{},
- &status.Plugin{},
- &gzip.Plugin{},
- &prometheus.Plugin{},
-
- &fileserver.Plugin{},
- // ===================
-
- &grpcPlugin.Plugin{},
- // kv + ws + jobs plugin
- &memory.Plugin{},
- // KV + Jobs
- &boltdb.Plugin{},
-
- // broadcast via memory or redis
- // used in conjunction with Websockets, memory and redis plugins
- &broadcast.Plugin{},
- // ======== websockets broadcast bundle
- &websockets.Plugin{},
- &redis.Plugin{},
- // =========
-
- // ============== KV
- &kv.Plugin{},
- &memcached.Plugin{},
- // ==============
-
- // raw TCP connections handling
- &tcp.Plugin{},
-
- // temporal plugins
- &roadrunner_temporal.Plugin{},
- }
+func Plugins() []interface{} {
+ return []interface{}{}
}
diff --git a/internal/container/plugins_test.go b/internal/container/plugins_test.go
deleted file mode 100644
index da639f7d..00000000
--- a/internal/container/plugins_test.go
+++ /dev/null
@@ -1,20 +0,0 @@
-package container_test
-
-import (
- "reflect"
- "testing"
-
- "github.com/spiral/roadrunner-binary/v2/internal/container"
-)
-
-func TestPlugins(t *testing.T) {
- for _, p := range container.Plugins() {
- if p == nil {
- t.Error("plugin cannot be nil")
- }
-
- if pk := reflect.TypeOf(p).Kind(); pk != reflect.Ptr && pk != reflect.Struct {
- t.Errorf("plugin %v must be a structure or pointer to the structure", p)
- }
- }
-}
diff --git a/internal/debug/server_test.go b/internal/debug/server_test.go
index d2e1f9f0..37df0636 100644
--- a/internal/debug/server_test.go
+++ b/internal/debug/server_test.go
@@ -9,7 +9,7 @@ import (
"testing"
"time"
- "github.com/spiral/roadrunner-binary/v2/internal/debug"
+ "github.com/roadrunner-server/roadrunner/v2/internal/debug"
"github.com/stretchr/testify/assert"
)
diff --git a/internal/rpc/client.go b/internal/rpc/client.go
index f371a51c..4e58972b 100644
--- a/internal/rpc/client.go
+++ b/internal/rpc/client.go
@@ -4,10 +4,10 @@ package rpc
import (
"net/rpc"
- "github.com/spiral/errors"
- goridgeRpc "github.com/spiral/goridge/v3/pkg/rpc"
- "github.com/spiral/roadrunner-plugins/v2/config"
- rpcPlugin "github.com/spiral/roadrunner-plugins/v2/rpc"
+ "github.com/roadrunner-server/config/v2"
+ "github.com/roadrunner-server/errors"
+ goridgeRpc "github.com/roadrunner-server/goridge/v3/pkg/rpc"
+ rpcPlugin "github.com/roadrunner-server/rpc/v2"
)
// NewClient creates client ONLY for internal usage (communication between our application with RR side).
diff --git a/internal/rpc/client_test.go b/internal/rpc/client_test.go
index b39788a2..34240826 100644
--- a/internal/rpc/client_test.go
+++ b/internal/rpc/client_test.go
@@ -4,9 +4,9 @@ import (
"net"
"testing"
- "github.com/spiral/roadrunner-binary/v2/internal/rpc"
+ "github.com/roadrunner-server/roadrunner/v2/internal/rpc"
- "github.com/spiral/roadrunner-plugins/v2/config"
+ "github.com/roadrunner-server/config/v2"
"github.com/stretchr/testify/assert"
)