diff options
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 @@ -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) --- @@ -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" \ @@ -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 @@ -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 ) @@ -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" ) |