From 6da596c6309b221544901ca30d13dfac32290c17 Mon Sep 17 00:00:00 2001 From: Xavier Basty Date: Thu, 13 Jul 2023 10:54:52 +0200 Subject: [PATCH] chore: rename project to `archive` --- .editorconfig | 4 + .env.example | 2 +- .github/ISSUE_TEMPLATE/feature_request.yml | 4 +- .github/workflows/cd.yml | 4 +- .github/workflows/ci.yml | 17 +- .github/workflows/ci_terraform.yml | 35 +- .github/workflows/deploy-infra.yml | 4 +- .github/workflows/release.yml | 4 +- Cargo.lock | 1128 ++++++++--------- Cargo.toml | 6 +- Dockerfile | 8 +- README.md | 12 +- integration/integration.test.ts | 8 +- justfile | 32 +- ops/Dockerfile-dev | 2 +- ops/docker-compose.gilgamesh.yml | 8 +- ops/docker-compose.storage.yml | 10 +- ops/docker-compose.test.yml | 8 +- package.json | 2 +- src/auth/mod.rs | 2 +- src/error.rs | 14 +- src/handlers/save_message.rs | 4 +- src/lib.rs | 2 +- src/main.rs | 6 +- src/metrics/mod.rs | 2 +- src/state.rs | 2 +- terraform/README.md | 22 +- terraform/context.tf | 4 +- terraform/docdb/README.md | 12 +- terraform/docdb/main.tf | 2 +- terraform/docdb/terraform.tf | 2 +- terraform/ecs/README.md | 8 +- terraform/ecs/main.tf | 8 +- terraform/ecs/terraform.tf | 8 + terraform/ecs/variables.tf | 4 +- terraform/main.tf | 27 +- terraform/monitoring/README.md | 20 +- terraform/monitoring/dashboard.jsonnet | 14 +- terraform/monitoring/data_sources.tf | 2 +- terraform/monitoring/outputs.tf | 5 + .../get_queries.libsonnet | 0 .../received_items.libsonnet | 0 .../registrations.libsonnet | 0 .../served_items.libsonnet | 0 .../stored_items.libsonnet | 0 terraform/monitoring/panels/panels.libsonnet | 12 +- terraform/monitoring/prometheus.tf | 3 + terraform/monitoring/terraform.tf | 20 +- terraform/monitoring/test.dashboard.jsonnet | 14 +- terraform/monitoring/variables.tf | 10 +- terraform/provider.tf | 22 - terraform/terraform.tf | 14 +- terraform/variables.tf | 3 +- tests/context/mod.rs | 6 +- tests/context/server.rs | 15 +- tests/context/store.rs | 6 +- tests/integration.rs | 4 +- tests/messages/mod.rs | 18 +- tests/registration/mod.rs | 2 +- tests/storage/messages.rs | 2 +- tests/storage/mocks/messages.rs | 6 +- tests/storage/mocks/registrations.rs | 4 +- tests/storage/registrations.rs | 2 +- 63 files changed, 803 insertions(+), 828 deletions(-) rename terraform/monitoring/panels/{history => archive}/get_queries.libsonnet (100%) rename terraform/monitoring/panels/{history => archive}/received_items.libsonnet (100%) rename terraform/monitoring/panels/{history => archive}/registrations.libsonnet (100%) rename terraform/monitoring/panels/{history => archive}/served_items.libsonnet (100%) rename terraform/monitoring/panels/{history => archive}/stored_items.libsonnet (100%) create mode 100644 terraform/monitoring/prometheus.tf delete mode 100644 terraform/provider.tf diff --git a/.editorconfig b/.editorconfig index 6aee114..d8c8c1f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -13,3 +13,7 @@ trim_trailing_whitespace = true [*.rs] indent_size = 4 tab_width = 4 + +[*.{jsonnet,libsonnet}] +indent_size = 2 +tab_width = 2 diff --git a/.env.example b/.env.example index 8f0c7ce..7e0f758 100644 --- a/.env.example +++ b/.env.example @@ -1,7 +1,7 @@ PORT=3000 PUBLIC_URL=http://localhost:3000 LOG_LEVEL=ERROR -MONGO_ADDRESS=mongodb://admin:admin@localhost:27017/gilgamesh?authSource=admin +MONGO_ADDRESS=mongodb://admin:admin@localhost:27017/archive?authSource=admin # Don't validate signatures - allows for users to send push notifications from # HTTP clients e.g. curl, insomnia, postman, etc diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 07c3207..f8b946b 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -7,7 +7,7 @@ body: - type: markdown attributes: value: | - Thanks for taking the time to suggest a new feature for Gilgamesh! ✨ + Thanks for taking the time to suggest a new feature for Archive Server! ✨ - type: checkboxes attributes: label: Is there an existing issue for this? @@ -32,7 +32,7 @@ body: label: Anything else? description: | Links? References? Anything that will give us more context about the issue you are encountering! - + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. validations: required: false diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index c44d8f3..b71a45d 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -50,7 +50,7 @@ jobs: with: version: ${{ needs.get-version.outputs.version }} environment: 'staging' - environment_url: https://staging.history.walletconnect.com/health + environment_url: https://staging.archive.walletconnect.com/health validate-staging: needs: @@ -68,7 +68,7 @@ jobs: with: version: ${{ needs.get-version.outputs.version }} environment: 'prod' - environment_url: https://history.walletconnect.com/health + environment_url: https://archive.walletconnect.com/health validate-prod: needs: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 99e8f27..b182dcd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ concurrency: cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: - tasks: + checks: name: "${{ matrix.cargo.name }} [${{ matrix.os }}/rust-${{matrix.rust}}]" runs-on: ubuntu-latest strategy: @@ -182,7 +182,7 @@ jobs: uses: supercharge/mongodb-github-action@1.8.0 with: mongodb-version: '4.4' - mongodb-db: gilgamesh + mongodb-db: archive - name: Install Protoc uses: arduino/setup-protoc@v1 @@ -191,7 +191,7 @@ jobs: - name: "Storage Tests" uses: actions-rs/cargo@v1 env: - MONGO_ADDRESS: mongodb://localhost:27017/gilgamesh + MONGO_ADDRESS: mongodb://localhost:27017/archive with: command: test args: --features storage-tests @@ -203,8 +203,9 @@ jobs: run: sccache --stop-server || true - release: - needs: [tasks, integration] - if: github.event_name != 'pull_request' - uses: ./.github/workflows/release.yml - secrets: inherit +# TODO: Enable release +# release: +# needs: [checks, integration] +# if: github.event_name != 'pull_request' +# uses: ./.github/workflows/release.yml +# secrets: inherit diff --git a/.github/workflows/ci_terraform.yml b/.github/workflows/ci_terraform.yml index 6b30c3b..8c4cdd4 100644 --- a/.github/workflows/ci_terraform.yml +++ b/.github/workflows/ci_terraform.yml @@ -35,7 +35,7 @@ jobs: id: tf-init uses: WalletConnect/actions/terraform/init/@1.0.3 with: - environment: staging + environment: staging/app - name: Check Terraform Formatting id: tf-fmt @@ -86,8 +86,8 @@ jobs: contents: 'read' pull-requests: 'write' environment: - name: infra/staging - url: https://staging.history.walletconnect.com/health + name: staging/infra + url: https://staging.archive.walletconnect.com/health steps: - name: Checkout @@ -122,7 +122,7 @@ jobs: id: tf-init uses: WalletConnect/actions/terraform/init/@1.0.3 with: - environment: staging + environment: staging/app - name: Run Terraform Plan id: tf-plan-staging @@ -133,7 +133,7 @@ jobs: TF_VAR_image_version: ${{ needs.get-version.outputs.version }} with: github-token: ${{ secrets.GITHUB_TOKEN }} - environment: staging + environment: staging/app - name: Delete Grafana key id: grafana-delete-key @@ -153,8 +153,8 @@ jobs: contents: 'read' pull-requests: 'write' environment: - name: infra/prod - url: https://history.walletconnect.com/health + name: prod/infra + url: https://archive.walletconnect.com/health steps: - name: Checkout @@ -189,7 +189,7 @@ jobs: id: tf-init uses: WalletConnect/actions/terraform/init/@1.0.3 with: - environment: prod + environment: prod/app - name: Run Terraform Plan id: tf-plan-staging @@ -200,7 +200,7 @@ jobs: TF_VAR_image_version: ${{ needs.get-version.outputs.version }} with: github-token: ${{ secrets.GITHUB_TOKEN }} - environment: prod + environment: prod/app - name: Delete Grafana key id: grafana-delete-key @@ -211,11 +211,12 @@ jobs: workspace-id: ${{ steps.grafana-get-details.outputs.workspace-id }} - kick-off-release: - if: github.event_name != 'pull_request' - needs: - - check-fmt - - plan-staging - - plan-prod - uses: ./.github/workflows/cd.yml - secrets: inherit +# TODO: Enable release +# release: +# if: github.event_name != 'pull_request' +# needs: +# - check-fmt +# - plan-staging +# - plan-prod +# uses: ./.github/workflows/cd.yml +# secrets: inherit diff --git a/.github/workflows/deploy-infra.yml b/.github/workflows/deploy-infra.yml index ea4d07c..905ae96 100644 --- a/.github/workflows/deploy-infra.yml +++ b/.github/workflows/deploy-infra.yml @@ -16,7 +16,7 @@ on: description: 'the URL of the environment' required: true type: string - default: https://history.walletconnect.com/health + default: https://archive.walletconnect.com/health workflow_call: inputs: environment: @@ -28,7 +28,7 @@ on: description: 'the URL of the environment' required: true type: string - default: https://history.walletconnect.com/health + default: https://archive.walletconnect.com/health version: description: 'the release version' required: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dab6539..5995331 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -110,9 +110,9 @@ jobs: uses: docker/metadata-action@v4 with: images: | - ${{ steps.login-ecr.outputs.registry }}/gilgamesh + ${{ steps.login-ecr.outputs.registry }}/archive ghcr.io/${{ github.repository }} - walletconnect/gilgamesh,enable=false + walletconnect/archive,enable=false flavor: | latest=auto tags: | diff --git a/Cargo.lock b/Cargo.lock index 866a9e1..b142571 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,26 +12,48 @@ dependencies = [ "regex", ] +[[package]] +name = "addr2line" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + [[package]] name = "ahash" -version = "0.7.6" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" dependencies = [ - "getrandom 0.2.8", + "cfg-if", + "getrandom 0.2.10", "once_cell", "version_check", ] [[package]] name = "aho-corasick" -version = "0.7.20" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" dependencies = [ "memchr", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -43,28 +65,71 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.70" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" +checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" + +[[package]] +name = "archive" +version = "1.0.0" +dependencies = [ + "anyhow", + "async-trait", + "atty", + "axum", + "build-info", + "build-info-build", + "chrono", + "data-encoding", + "dotenv", + "ed25519-dalek 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "envy", + "function_name", + "futures", + "hex", + "hyper", + "jsonwebtoken", + "log", + "moka", + "opentelemetry", + "opentelemetry-otlp", + "opentelemetry-prometheus", + "prometheus", + "relay_rpc", + "reqwest", + "serde", + "serde_json", + "test-context", + "thiserror", + "tokio", + "tower", + "tower-http", + "tracing", + "tracing-appender", + "tracing-opentelemetry", + "tracing-subscriber", + "wither", + "wither_derive", +] [[package]] name = "async-io" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" dependencies = [ "async-lock", "autocfg", + "cfg-if", "concurrent-queue", "futures-lite", - "libc", "log", "parking", "polling", + "rustix", "slab", - "socket2", + "socket2 0.4.9", "waker-fn", - "windows-sys 0.42.0", ] [[package]] @@ -78,9 +143,9 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad445822218ce64be7a341abfb0b1ea43b5c23aa83902542a4542e78309d8e5e" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" dependencies = [ "async-stream-impl", "futures-core", @@ -89,24 +154,24 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4655ae1a7b0cdf149156f780c5bf3f1352bc53cbd9e0a361a7ef7b22947e965" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.25", ] [[package]] name = "async-trait" -version = "0.1.67" +version = "0.1.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86ea188f25f0255d8f92797797c97ebf5631fa88178beb1a46fdf5622c9a00e4" +checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.5", + "syn 2.0.25", ] [[package]] @@ -128,13 +193,13 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "axum" -version = "0.6.11" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13d8068b6ccb8b34db9de397c7043f91db8b4c66414952c6db944f238c4d3db3" +checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39" dependencies = [ "async-trait", "axum-core", - "bitflags", + "bitflags 1.3.2", "bytes", "futures-util", "http", @@ -160,9 +225,9 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2f958c80c248b34b9a877a643811be8dbca03ca5ba827f2b63baf3a81e5fc4e" +checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" dependencies = [ "async-trait", "bytes", @@ -175,6 +240,21 @@ dependencies = [ "tower-service", ] +[[package]] +name = "backtrace" +version = "0.3.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + [[package]] name = "base64" version = "0.13.1" @@ -183,9 +263,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" [[package]] name = "bincode" @@ -202,6 +282,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" + [[package]] name = "bitvec" version = "1.0.1" @@ -241,29 +327,29 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bson" version = "2.6.0" -source = "git+https://github.com/mongodb/bson-rust?branch=main#3cc6dd32993a26f13c4129ea343282ab3908fda7" +source = "git+https://github.com/mongodb/bson-rust?branch=main#b243db19b74745fcf52eacd9e4d34077186186d5" dependencies = [ "ahash", "base64 0.13.1", "bitvec", "chrono", "hex", - "indexmap", + "indexmap 1.9.3", "js-sys", - "lazy_static", + "once_cell", "rand 0.8.5", "serde", "serde_bytes", "serde_json", - "time 0.3.20", + "time 0.3.23", "uuid", ] [[package]] name = "build-info" -version = "0.0.30" +version = "0.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36484c58823abd59bb12a8873fff765f0637723e3c4fbd9c523a9035995e95ce" +checksum = "8b301350c1c448e35b896f32b68c49c8ecd969a71978fbafc4ebd09ec3f4eee2" dependencies = [ "build-info-common", "build-info-proc", @@ -272,15 +358,15 @@ dependencies = [ [[package]] name = "build-info-build" -version = "0.0.30" +version = "0.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a81141b1af6bc87316a3fdcc3b33658f7a9153c7677da6b0e57d762c87f8ee61" +checksum = "2b314717755dd6a06fc11ad3f7909ba4c0ae2ab516f5cb0404fe924c71bfc7d0" dependencies = [ "anyhow", - "base64 0.21.0", + "base64 0.21.2", "bincode", "build-info-common", - "cargo_metadata 0.15.3", + "cargo_metadata 0.15.4", "chrono", "git2", "glob", @@ -293,9 +379,9 @@ dependencies = [ [[package]] name = "build-info-common" -version = "0.0.30" +version = "0.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0209923629b6854e590663db44001ea7cf35b3c7c13b04428c227f42bfda0489" +checksum = "5e040d36472d40ec9424c36a7b54be589072e605596b6f20b0c56c5230b460cc" dependencies = [ "chrono", "derive_more", @@ -305,12 +391,12 @@ dependencies = [ [[package]] name = "build-info-proc" -version = "0.0.30" +version = "0.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a05d014e9d21c950661a8f774d0147297b7d24f22c1ce8605a1e3853c8dfdaf" +checksum = "ffd5f241ddd417436c48d35da9869480891449ddd1ae3fd483bbcfbae741a422" dependencies = [ "anyhow", - "base64 0.21.0", + "base64 0.21.2", "bincode", "build-info-common", "chrono", @@ -320,15 +406,15 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.5", + "syn 2.0.25", "xz2", ] [[package]] name = "bumpalo" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" [[package]] name = "bytecount" @@ -350,9 +436,9 @@ checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" [[package]] name = "camino" -version = "1.1.4" +version = "1.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c530edf18f37068ac2d977409ed5cd50d53d73bc653c7647b48eb78976ac9ae2" +checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" dependencies = [ "serde", ] @@ -381,9 +467,9 @@ dependencies = [ [[package]] name = "cargo_metadata" -version = "0.15.3" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a1ec454bc3eead8719cb56e15dbbfecdbc14e4b3a3ae4936cc6e31f5fc0d07" +checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", @@ -410,35 +496,25 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.24" +version = "0.4.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", "serde", - "time 0.1.43", + "time 0.1.45", "wasm-bindgen", "winapi", ] -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - [[package]] name = "concurrent-queue" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" +checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" dependencies = [ "crossbeam-utils", ] @@ -461,24 +537,24 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.5" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] [[package]] name = "crossbeam-channel" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf2b3e8478797446514c91ef04bafcb59faba183e621ad488df88983cc14128c" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" dependencies = [ "cfg-if", "crossbeam-utils", @@ -486,9 +562,9 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.14" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ "autocfg", "cfg-if", @@ -499,9 +575,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.15" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" dependencies = [ "cfg-if", ] @@ -516,16 +592,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "ctor" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" -dependencies = [ - "quote", - "syn 1.0.109", -] - [[package]] name = "curve25519-dalek" version = "3.2.1" @@ -539,50 +605,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "cxx" -version = "1.0.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c00419335c41018365ddf7e4d5f1c12ee3659ddcf3e01974650ba1de73d038" -dependencies = [ - "cc", - "cxxbridge-flags", - "cxxbridge-macro", - "link-cplusplus", -] - -[[package]] -name = "cxx-build" -version = "1.0.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb8307ad413a98fff033c8545ecf133e3257747b3bae935e7602aab8aa92d4ca" -dependencies = [ - "cc", - "codespan-reporting", - "once_cell", - "proc-macro2", - "quote", - "scratch", - "syn 2.0.5", -] - -[[package]] -name = "cxxbridge-flags" -version = "1.0.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc52e2eb08915cb12596d29d55f0b5384f00d697a646dbd269b6ecb0fbd9d31" - -[[package]] -name = "cxxbridge-macro" -version = "1.0.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "631569015d0d8d54e6c241733f944042623ab6df7bc3be7466874b05fcdb1c5f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.5", -] - [[package]] name = "darling" version = "0.10.2" @@ -655,12 +677,12 @@ dependencies = [ [[package]] name = "dashmap" -version = "5.4.0" +version = "5.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc" +checksum = "6943ae99c34386c84a470c499d3414f66502a41340aa895406e0d2e4a207b91d" dependencies = [ "cfg-if", - "hashbrown", + "hashbrown 0.14.0", "lock_api", "once_cell", "parking_lot_core", @@ -668,9 +690,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] name = "derivative" @@ -713,9 +735,9 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", "crypto-common", @@ -800,15 +822,21 @@ dependencies = [ "serde", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "errno" -version = "0.2.8" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" dependencies = [ "errno-dragonfly", "libc", - "winapi", + "windows-sys", ] [[package]] @@ -874,9 +902,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ "percent-encoding", ] @@ -904,9 +932,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531ac96c6ff5fd7c62263c5e3c67a603af4fcaee2e1a0ae5565ba3a11e69e549" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" dependencies = [ "futures-channel", "futures-core", @@ -919,9 +947,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", "futures-sink", @@ -929,15 +957,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" [[package]] name = "futures-executor" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" dependencies = [ "futures-core", "futures-task", @@ -946,15 +974,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d422fa3cbe3b40dca574ab087abb5bc98258ea57eea3fd6f1fa7162c778b91" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] name = "futures-lite" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" dependencies = [ "fastrand", "futures-core", @@ -967,32 +995,32 @@ dependencies = [ [[package]] name = "futures-macro" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.25", ] [[package]] name = "futures-sink" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec93083a4aecafb2a80a885c9de1f0ccae9dbd32c2bb54b0c3a65690e0b8d2f2" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" [[package]] name = "futures-task" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" [[package]] name = "futures-util" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ "futures-channel", "futures-core", @@ -1008,9 +1036,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", @@ -1029,9 +1057,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", "libc", @@ -1039,55 +1067,18 @@ dependencies = [ ] [[package]] -name = "gilgamesh" -version = "0.8.2" -dependencies = [ - "anyhow", - "async-trait", - "atty", - "axum", - "build-info", - "build-info-build", - "chrono", - "data-encoding", - "dotenv", - "ed25519-dalek 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "envy", - "function_name", - "futures", - "hex", - "hyper", - "jsonwebtoken", - "log", - "moka", - "opentelemetry", - "opentelemetry-otlp", - "opentelemetry-prometheus", - "prometheus", - "relay_rpc", - "reqwest", - "serde", - "serde_json", - "test-context", - "thiserror", - "tokio", - "tower", - "tower-http", - "tracing", - "tracing-appender", - "tracing-opentelemetry", - "tracing-subscriber", - "wither", - "wither_derive", -] +name = "gimli" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" [[package]] name = "git2" -version = "0.16.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf7f68c2995f392c49fffb4f95ae2c873297830eb25c6bc4c114ce8f4562acc" +checksum = "7b989d6a7ca95a362cf2cfc5ad688b3a467be1f87e480b8dad07fee8c79b0044" dependencies = [ - "bitflags", + "bitflags 1.3.2", "libc", "libgit2-sys", "log", @@ -1102,9 +1093,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "h2" -version = "0.3.16" +version = "0.3.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be7b54589b581f624f566bf5d8eb2bab1db736c51528720b6bd36b96b55924d" +checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" dependencies = [ "bytes", "fnv", @@ -1112,7 +1103,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap", + "indexmap 1.9.3", "slab", "tokio", "tokio-util", @@ -1125,6 +1116,12 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + [[package]] name = "heck" version = "0.4.1" @@ -1142,18 +1139,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" [[package]] name = "hex" @@ -1167,7 +1155,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -1223,9 +1211,9 @@ checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "hyper" -version = "0.14.25" +version = "0.14.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5e554ff619822309ffd57d8734d77cd5ce6238bc956f037ea06c58238c9899" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" dependencies = [ "bytes", "futures-channel", @@ -1238,7 +1226,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -1272,9 +1260,9 @@ dependencies = [ [[package]] name = "iana-time-zone" -version = "0.1.54" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c17cc76786e99f8d2f055c11159e7f0091c42474dcc3189fbab96072e873e6d" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1286,12 +1274,11 @@ dependencies = [ [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", ] [[package]] @@ -1313,9 +1300,9 @@ dependencies = [ [[package]] name = "idna" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -1323,12 +1310,22 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", ] [[package]] @@ -1342,32 +1339,32 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09270fd4fa1111bc614ed2246c7ef56239a3063d5be0d1ec3b589c505d400aeb" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.1", + "hermit-abi 0.3.2", "libc", - "windows-sys 0.45.0", + "windows-sys", ] [[package]] name = "ipconfig" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2", + "socket2 0.5.3", "widestring", - "winapi", - "winreg", + "windows-sys", + "winreg 0.50.0", ] [[package]] name = "ipnet" -version = "2.7.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] name = "itertools" @@ -1380,9 +1377,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" +checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" [[package]] name = "jobserver" @@ -1395,9 +1392,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" dependencies = [ "wasm-bindgen", ] @@ -1408,7 +1405,7 @@ version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" dependencies = [ - "base64 0.21.0", + "base64 0.21.2", "pem", "ring", "serde", @@ -1424,15 +1421,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.140" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "libgit2-sys" -version = "0.14.2+1.5.1" +version = "0.15.2+1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4" +checksum = "a80df2e11fb4a61f4ba2ab42dbe7f74468da143f1a75c74e11dee7c813f694fa" dependencies = [ "cc", "libc", @@ -1442,9 +1439,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" +checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" dependencies = [ "cc", "libc", @@ -1452,15 +1449,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "link-cplusplus" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" -dependencies = [ - "cc", -] - [[package]] name = "linked-hash-map" version = "0.5.6" @@ -1469,15 +1457,15 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.1.4" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" dependencies = [ "autocfg", "scopeguard", @@ -1485,12 +1473,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" [[package]] name = "lru-cache" @@ -1513,10 +1498,10 @@ dependencies = [ ] [[package]] -name = "mach" -version = "0.3.2" +name = "mach2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa" +checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" dependencies = [ "libc", ] @@ -1533,7 +1518,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ - "regex-automata", + "regex-automata 0.1.10", ] [[package]] @@ -1554,7 +1539,7 @@ version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -1565,9 +1550,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memoffset" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" dependencies = [ "autocfg", ] @@ -1578,23 +1563,31 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + [[package]] name = "mio" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", - "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.45.0", + "windows-sys", ] [[package]] name = "moka" -version = "0.10.0" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b6446f16d504e3d575df79cabb11bfbe9f24b17e9562d964a815db7b28ae3ec" +checksum = "206bf83f415b0579fd885fe0804eb828e727636657dc1bf73d80d2f1218e14a1" dependencies = [ "async-io", "async-lock", @@ -1602,7 +1595,6 @@ dependencies = [ "crossbeam-epoch", "crossbeam-utils", "futures-util", - "num_cpus", "once_cell", "parking_lot", "quanta", @@ -1623,7 +1615,7 @@ source = "git+https://github.com/mongodb/mongo-rust-driver?rev=c9c4e3f#c9c4e3f6e dependencies = [ "async-trait", "base64 0.13.1", - "bitflags", + "bitflags 1.3.2", "bson", "chrono", "derivative", @@ -1645,8 +1637,8 @@ dependencies = [ "serde_bytes", "serde_with", "sha-1", - "sha2 0.10.6", - "socket2", + "sha2 0.10.7", + "socket2 0.4.9", "stringprep", "strsim 0.10.0", "take_mut", @@ -1727,19 +1719,28 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.2", "libc", ] +[[package]] +name = "object" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +dependencies = [ + "memchr", +] + [[package]] name = "once_cell" -version = "1.17.1" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "opaque-debug" @@ -1749,11 +1750,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.47" +version = "0.10.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b277f87dacc05a6b709965d1cbafac4649d6ce9f3ce9ceb88508b5666dfec9" +checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "foreign-types", "libc", @@ -1764,13 +1765,13 @@ dependencies = [ [[package]] name = "openssl-macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.25", ] [[package]] @@ -1781,11 +1782,10 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.82" +version = "0.9.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a95792af3c4e0153c3914df2261bedd30a98476f94dc892b67dfe1d89d433a04" +checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" dependencies = [ - "autocfg", "cc", "libc", "pkg-config", @@ -1854,7 +1854,7 @@ dependencies = [ "fnv", "futures-channel", "futures-util", - "indexmap", + "indexmap 1.9.3", "js-sys", "once_cell", "pin-project-lite", @@ -1883,15 +1883,6 @@ dependencies = [ "tokio-stream", ] -[[package]] -name = "output_vt100" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66" -dependencies = [ - "winapi", -] - [[package]] name = "overload" version = "0.1.1" @@ -1900,9 +1891,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "parking" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" +checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" [[package]] name = "parking_lot" @@ -1916,15 +1907,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-sys 0.45.0", + "windows-targets", ] [[package]] @@ -1933,7 +1924,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -1947,9 +1938,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "petgraph" @@ -1958,34 +1949,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" dependencies = [ "fixedbitset", - "indexmap", + "indexmap 1.9.3", ] [[package]] name = "pin-project" -version = "1.0.12" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.12" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.25", ] [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" [[package]] name = "pin-utils" @@ -1995,24 +1986,24 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.26" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "polling" -version = "2.6.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e1f879b2998099c2d69ab9605d145d5b661195627eccc680002c4918a7fb6fa" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" dependencies = [ "autocfg", - "bitflags", + "bitflags 1.3.2", "cfg-if", "concurrent-queue", "libc", "log", "pin-project-lite", - "windows-sys 0.45.0", + "windows-sys", ] [[package]] @@ -2023,13 +2014,11 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "pretty_assertions" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a25e9bcb20aa780fd0bb16b72403a9064d6b3f22f026946029acb941a50af755" +checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" dependencies = [ - "ctor", "diff", - "output_vt100", "yansi", ] @@ -2069,9 +2058,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da" dependencies = [ "unicode-ident", ] @@ -2093,9 +2082,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48e50df39172a3e7eb17e14642445da64996989bc212b583015435d39a58537" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" dependencies = [ "bytes", "prost-derive", @@ -2103,9 +2092,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c828f93f5ca4826f97fedcbd3f9a536c16b12cff3dbbb4a007f932bbad95b12" +checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", "heck", @@ -2125,9 +2114,9 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea9b0f8cbe5e15a8a042d030bd96668db28ecb567ec37d691971ff5731d2b1b" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", "itertools", @@ -2138,9 +2127,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "379119666929a1afd7a043aa6cf96fa67a6dce9af60c88095a4686dbce4c9c88" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" dependencies = [ "prost", ] @@ -2153,27 +2142,27 @@ checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" [[package]] name = "pulldown-cmark" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63" +checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" dependencies = [ - "bitflags", + "bitflags 1.3.2", "memchr", "unicase", ] [[package]] name = "quanta" -version = "0.10.1" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e31331286705f455e56cca62e0e717158474ff02b7936c1fa596d983f4ae27" +checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab" dependencies = [ "crossbeam-utils", "libc", - "mach", + "mach2", "once_cell", "raw-cpuid", - "wasi 0.10.2+wasi-snapshot-preview1", + "wasi 0.11.0+wasi-snapshot-preview1", "web-sys", "winapi", ] @@ -2186,9 +2175,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] name = "quote" -version = "1.0.26" +version = "1.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" +checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" dependencies = [ "proc-macro2", ] @@ -2258,7 +2247,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.10", ] [[package]] @@ -2276,27 +2265,28 @@ version = "10.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] name = "redox_syscall" -version = "0.2.16" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] name = "regex" -version = "1.7.2" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce168fea28d3e05f158bda4576cf0c844d5045bc2cc3620fa0292ed5bb5814c" +checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-automata 0.3.3", + "regex-syntax 0.7.4", ] [[package]] @@ -2305,7 +2295,18 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" dependencies = [ - "regex-syntax", + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.7.4", ] [[package]] @@ -2314,6 +2315,12 @@ version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" +[[package]] +name = "regex-syntax" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" + [[package]] name = "relay_rpc" version = "0.1.0" @@ -2331,17 +2338,17 @@ dependencies = [ "serde", "serde-aux", "serde_json", - "sha2 0.10.6", + "sha2 0.10.7", "thiserror", ] [[package]] name = "reqwest" -version = "0.11.15" +version = "0.11.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ba30cc2c0cd02af1222ed216ba659cdb2f879dfe3181852fe7c50b1d0005949" +checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" dependencies = [ - "base64 0.21.0", + "base64 0.21.2", "bytes", "encoding_rs", "futures-core", @@ -2369,7 +2376,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg", + "winreg 0.10.1", ] [[package]] @@ -2397,6 +2404,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + [[package]] name = "rustc_version" version = "0.2.3" @@ -2427,16 +2440,16 @@ dependencies = [ [[package]] name = "rustix" -version = "0.36.11" +version = "0.37.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db4165c9963ab29e422d6c26fbc1d37f15bace6b2810221f9d925023480fcf0e" +checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno", "io-lifetimes", "libc", "linux-raw-sys", - "windows-sys 0.45.0", + "windows-sys", ] [[package]] @@ -2453,24 +2466,24 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ - "base64 0.21.0", + "base64 0.21.2", ] [[package]] name = "rustversion" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" +checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" [[package]] name = "ryu" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" +checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" [[package]] name = "same-file" @@ -2483,11 +2496,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "windows-sys 0.42.0", + "windows-sys", ] [[package]] @@ -2505,12 +2518,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" -[[package]] -name = "scratch" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" - [[package]] name = "sct" version = "0.7.0" @@ -2523,11 +2530,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.8.2" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" +checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -2536,9 +2543,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.8.0" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" +checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" dependencies = [ "core-foundation-sys", "libc", @@ -2570,18 +2577,18 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.158" +version = "1.0.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771d4d9c4163ee138805e12c710dd365e4f44be8be0503cb1bb9eb989425d9c9" +checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" dependencies = [ "serde_derive", ] [[package]] name = "serde-aux" -version = "4.1.2" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c599b3fd89a75e0c18d6d2be693ddb12cccaf771db4ff9e39097104808a014c0" +checksum = "c3dfe1b7eb6f9dcf011bd6fad169cdeaae75eda0d61b1a99a3f015b41b0cae39" dependencies = [ "serde", "serde_json", @@ -2589,31 +2596,31 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.9" +version = "0.11.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" +checksum = "5a16be4fe5320ade08736447e3198294a5ea9a6d44dde6f35f0a5e06859c427a" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.158" +version = "1.0.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e801c1712f48475582b7696ac71e0ca34ebb30e09338425384269d9717c62cad" +checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" dependencies = [ "proc-macro2", "quote", - "syn 2.0.5", + "syn 2.0.25", ] [[package]] name = "serde_json" -version = "1.0.94" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea" +checksum = "b5062a995d481b2308b6064e9af76011f2921c35f97b0468811ed9f6cd91dfed" dependencies = [ - "indexmap", + "indexmap 2.0.0", "itoa", "ryu", "serde", @@ -2621,10 +2628,11 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.11" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7f05c1d5476066defcdfacce1f52fc3cae3af1d3089727100c02ae92e5abbe0" +checksum = "8acc4422959dd87a76cb117c191dcbffc20467f06c9100b76721dab370f24d3a" dependencies = [ + "itoa", "serde", ] @@ -2670,7 +2678,7 @@ checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -2688,13 +2696,13 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -2730,7 +2738,7 @@ dependencies = [ "num-bigint", "num-traits", "thiserror", - "time 0.3.20", + "time 0.3.23", ] [[package]] @@ -2759,9 +2767,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "socket2" @@ -2773,6 +2781,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "socket2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +dependencies = [ + "libc", + "windows-sys", +] + [[package]] name = "spin" version = "0.5.2" @@ -2803,9 +2821,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "syn" @@ -2820,9 +2838,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.5" +version = "2.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89c2d1c76a26822187a1fbb5964e3fff108bc208f02e820ab9dac1234f6b388a" +checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2" dependencies = [ "proc-macro2", "quote", @@ -2835,18 +2853,6 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" -[[package]] -name = "synstructure" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-xid", -] - [[package]] name = "tagptr" version = "0.2.0" @@ -2867,24 +2873,16 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.4.0" +version = "3.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95" +checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" dependencies = [ + "autocfg", "cfg-if", "fastrand", "redox_syscall", "rustix", - "windows-sys 0.42.0", -] - -[[package]] -name = "termcolor" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" -dependencies = [ - "winapi-util", + "windows-sys", ] [[package]] @@ -2910,22 +2908,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.5", + "syn 2.0.25", ] [[package]] @@ -2940,19 +2938,20 @@ dependencies = [ [[package]] name = "time" -version = "0.1.43" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" dependencies = [ "libc", + "wasi 0.10.0+wasi-snapshot-preview1", "winapi", ] [[package]] name = "time" -version = "0.3.20" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" +checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" dependencies = [ "itoa", "serde", @@ -2962,15 +2961,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" +checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" dependencies = [ "time-core", ] @@ -2992,22 +2991,22 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.26.0" +version = "1.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" +checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" dependencies = [ "autocfg", + "backtrace", "bytes", "libc", - "memchr", "mio", "num_cpus", "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.4.9", "tokio-macros", - "windows-sys 0.45.0", + "windows-sys", ] [[package]] @@ -3022,13 +3021,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.8.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.25", ] [[package]] @@ -3054,9 +3053,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.12" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" dependencies = [ "futures-core", "pin-project-lite", @@ -3065,9 +3064,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" dependencies = [ "bytes", "futures-core", @@ -3131,7 +3130,7 @@ checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" dependencies = [ "futures-core", "futures-util", - "indexmap", + "indexmap 1.9.3", "pin-project", "pin-project-lite", "rand 0.8.5", @@ -3145,11 +3144,11 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d1d42a9b3f3ec46ba828e8d376aec14592ea199f70a06a548587ecd1c4ab658" +checksum = "a8bd22a874a2d0b70452d5597b12c537331d49060824a95f49f108994f94aa4c" dependencies = [ - "bitflags", + "bitflags 2.3.3", "bytes", "futures-core", "futures-util", @@ -3194,26 +3193,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09d48f71a791638519505cefafe162606f706c25592e4bde4d97600c0195312e" dependencies = [ "crossbeam-channel", - "time 0.3.20", + "time 0.3.23", "tracing-subscriber", ] [[package]] name = "tracing-attributes" -version = "0.1.23" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.25", ] [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" dependencies = [ "once_cell", "valuable", @@ -3256,9 +3255,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.16" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" +checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" dependencies = [ "matchers", "nu-ansi-term", @@ -3275,9 +3274,9 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1ee9bd9239c339d714d657fac840c6d2a4f9c45f4f9ec7b0975113458be78db" +checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" [[package]] name = "trust-dns-proto" @@ -3364,9 +3363,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" +checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" [[package]] name = "unicode-normalization" @@ -3377,18 +3376,6 @@ dependencies = [ "tinyvec", ] -[[package]] -name = "unicode-width" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" - -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - [[package]] name = "untrusted" version = "0.7.1" @@ -3397,22 +3384,22 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.3.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" dependencies = [ "form_urlencoded", - "idna 0.3.0", + "idna 0.4.0", "percent-encoding", ] [[package]] name = "uuid" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" +checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.10", "serde", ] @@ -3452,11 +3439,10 @@ dependencies = [ [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] @@ -3468,9 +3454,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" [[package]] name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" +version = "0.10.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" [[package]] name = "wasi" @@ -3480,9 +3466,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3490,24 +3476,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.25", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.34" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if", "js-sys", @@ -3517,9 +3503,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3527,28 +3513,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.25", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "web-sys" -version = "0.3.61" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -3586,9 +3572,9 @@ dependencies = [ [[package]] name = "widestring" -version = "0.5.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" [[package]] name = "winapi" @@ -3623,42 +3609,27 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.46.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdacb41e6a96a052c6cb63a144f24900236121c6f63f4f8219fef5977ecb0c25" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ "windows-targets", ] [[package]] name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ "windows-targets", ] [[package]] name = "windows-targets" -version = "0.42.2" +version = "0.48.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" dependencies = [ "windows_aarch64_gnullvm", "windows_aarch64_msvc", @@ -3671,45 +3642,45 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" [[package]] name = "windows_aarch64_msvc" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" [[package]] name = "windows_i686_gnu" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" [[package]] name = "windows_i686_msvc" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" [[package]] name = "windows_x86_64_gnu" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" [[package]] name = "windows_x86_64_msvc" -version = "0.42.2" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winreg" @@ -3720,6 +3691,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys", +] + [[package]] name = "wither" version = "0.9.0" @@ -3785,12 +3766,11 @@ dependencies = [ [[package]] name = "zeroize_derive" -version = "1.3.3" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", - "synstructure", + "syn 2.0.25", ] diff --git a/Cargo.toml b/Cargo.toml index f30efe8..54cc56d 100755 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] -name = "gilgamesh" -version = "0.8.2" +name = "archive" +version = "1.0.0" edition = "2021" authors = [ "Derek ", @@ -59,7 +59,7 @@ data-encoding = "2.3" futures = "0.3.25" hex = "0.4" log = "0.4" -moka = { version = "0.10", features = ["future"] } +moka = { version = "0.11.2", features = ["future"] } reqwest = { version = "0.11", features = ["json"] } thiserror = "1.0" diff --git a/Dockerfile b/Dockerfile index b32e28e..16da188 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ ################################################################################ ARG base="rust:buster" ARG runtime="debian:buster-slim" -ARG bin="gilgamesh" +ARG bin="archive" ARG version="unknown" ARG sha="unknown" ARG maintainer="WalletConnect" @@ -55,7 +55,7 @@ COPY --from=plan /app/recipe.json recipe.json RUN cargo chef cook --recipe-path recipe.json ${RELEASE} # Build the local binary COPY . . -RUN cargo build --bin gilgamesh ${RELEASE} +RUN cargo build --bin archive ${RELEASE} # Certificate file required to use TLS with AWS DocumentDB. RUN wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem @@ -79,7 +79,7 @@ LABEL sha=${sha} LABEL maintainer=${maintainer} WORKDIR /app -COPY --from=build /app/target/${binpath:-debug}/gilgamesh /usr/local/bin/gilgamesh +COPY --from=build /app/target/${binpath:-debug}/archive /usr/local/bin/archive COPY --from=build /app/rds-combined-ca-bundle.pem /app/rds-combined-ca-bundle.pem RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates libssl-dev \ @@ -87,4 +87,4 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* USER 1001:1001 -ENTRYPOINT ["/usr/local/bin/gilgamesh"] +ENTRYPOINT ["/usr/local/bin/archive"] diff --git a/README.md b/README.md index 10fa818..59a1eaa 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,6 @@ -# Gilgamesh +# Archive Service -HTTP service managing users' e2e encrypted message histories. - -This project also includes the standard CI/CD: -- Release -- Rust CI -- Terraform CI -- CD -- Intake -- Mocha (NodeJS) based integration tests +HTTP service managing topics e2e encrypted messages archive. ## Running the app diff --git a/integration/integration.test.ts b/integration/integration.test.ts index 2df1c0f..e3542b9 100644 --- a/integration/integration.test.ts +++ b/integration/integration.test.ts @@ -9,15 +9,15 @@ declare let process: { } const BASE_URLS = new Map([ - ['prod', 'https://history.walletconnect.com'], - ['staging', 'https://staging.history.walletconnect.com'], - ['dev', 'https://dev.history.walletconnect.com'], + ['prod', 'https://archive.walletconnect.com'], + ['staging', 'https://staging.archive.walletconnect.com'], + ['dev', 'https://dev.archive.walletconnect.com'], ['local', 'http://localhost:3000'], ]) const BASE_URL = BASE_URLS.get(process.env.JEST_ENV) -describe('Gilgamesh', () => { +describe('Archive', () => { describe('Health', () => { const url = `${BASE_URL}/health` diff --git a/justfile b/justfile index ff035a8..b78e2ad 100644 --- a/justfile +++ b/justfile @@ -50,33 +50,33 @@ clean: # Build docker image build-docker: - @echo '=> Build gilgamesh docker image' - docker-compose -f ./ops/docker-compose.gilgamesh.yml -f ./ops/docker-compose.storage.yml build gilgamesh + @echo '=> Build archive docker image' + docker-compose -f ./ops/docker-compose.archive.yml -f ./ops/docker-compose.storage.yml build archive -# Start gilgamesh & storage services on docker +# Start archive & storage services on docker run-docker: @echo '==> Start services on docker' - @echo '==> Use run gilgamesh app on docker with "cargo-watch"' + @echo '==> Use run archive app on docker with "cargo-watch"' @echo '==> for more details check https://crates.io/crates/cargo-watch' - docker-compose -f ./ops/docker-compose.gilgamesh.yml -f ./ops/docker-compose.storage.yml up -d + docker-compose -f ./ops/docker-compose.archive.yml -f ./ops/docker-compose.storage.yml up -d -# Stop gilgamesh & storage services on docker +# Stop archive & storage services on docker stop-docker: @echo '==> Stop services on docker' - docker-compose -f ./ops/docker-compose.gilgamesh.yml -f ./ops/docker-compose.storage.yml down + docker-compose -f ./ops/docker-compose.archive.yml -f ./ops/docker-compose.storage.yml down -# Clean up docker gilgamesh & storage services +# Clean up docker archive & storage services clean-docker: @echo '==> Clean services on docker' - docker-compose -f ./ops/docker-compose.gilgamesh.yml -f ./ops/docker-compose.storage.yml stop - docker-compose -f ./ops/docker-compose.gilgamesh.yml -f ./ops/docker-compose.storage.yml rm -f + docker-compose -f ./ops/docker-compose.archive.yml -f ./ops/docker-compose.storage.yml stop + docker-compose -f ./ops/docker-compose.archive.yml -f ./ops/docker-compose.storage.yml rm -f # Start storage services on docker run-storage-docker: @echo '==> Start storage services on docker' docker-compose -f ./ops/docker-compose.storage.yml up -d -# Stop gilgamesh & storage services on docker +# Stop archive & storage services on docker stop-storage-docker: @echo '==> Stop storage services on docker' docker-compose -f ./ops/docker-compose.storage.yml down @@ -90,12 +90,12 @@ clean-storage-docker: # List services running on docker ps-docker: @echo '==> List services on docker' - docker-compose -f ./ops/docker-compose.gilgamesh.yml -f ./ops/docker-compose.storage.yml ps + docker-compose -f ./ops/docker-compose.archive.yml -f ./ops/docker-compose.storage.yml ps # Run project test suite on docker containers test-docker: @echo '==> Run tests on docker container' - docker-compose -f ./ops/docker-compose.storage.yml -f ./ops/docker-compose.test.yml run --rm gilgamesh-test + docker-compose -f ./ops/docker-compose.storage.yml -f ./ops/docker-compose.test.yml run --rm archive-test run-jaeger: @echo '==> Run opentelemetry jaeger docker container' @@ -174,6 +174,6 @@ _bump-cargo-version version file temp=`mktemp`: @perl -spe 'if (/^version/) { s/("[\w.]+")/"$version"/ }' -- -version={{version}} < {{file}} > {{temp}} @mv -f {{temp}} {{file}} -restart-gilgamesh-docker: - @echo '==> Restart gilgamesh service on docker' - docker-compose up -d --build --force-recreate --no-deps gilgamesh +restart-archive-docker: + @echo '==> Restart archive service on docker' + docker-compose up -d --build --force-recreate --no-deps archive diff --git a/ops/Dockerfile-dev b/ops/Dockerfile-dev index c8b2b20..c4f4185 100644 --- a/ops/Dockerfile-dev +++ b/ops/Dockerfile-dev @@ -8,7 +8,7 @@ RUN apt update && \ RUN cargo install cargo-watch -WORKDIR /gilgamesh +WORKDIR /archive COPY . . CMD ["cargo", "watch", "-x", "run"] diff --git a/ops/docker-compose.gilgamesh.yml b/ops/docker-compose.gilgamesh.yml index 6f7eda5..70f6254 100755 --- a/ops/docker-compose.gilgamesh.yml +++ b/ops/docker-compose.gilgamesh.yml @@ -1,14 +1,14 @@ version: '3.9' services: - gilgamesh: + archive: build: dockerfile: ./ops/Dockerfile-dev context: ../ volumes: - - ../:/gilgamesh/ + - ../:/archive/ networks: - - gilgamesh + - archive depends_on: mongo: condition: service_healthy @@ -22,7 +22,7 @@ services: - LOG_LEVEL=INFO - TELEMETRY_ENABLED=true - TELEMETRY_GRPC_URL=http://jaeger:4317 - - MONGO_ADDRESS=mongodb://admin:admin@mongo:27017/gilgamesh?authSource=admin + - MONGO_ADDRESS=mongodb://admin:admin@mongo:27017/archive?authSource=admin healthcheck: test: [ "CMD", "curl", "localhost:3000/health" ] interval: 5s diff --git a/ops/docker-compose.storage.yml b/ops/docker-compose.storage.yml index adf3c3d..c017649 100755 --- a/ops/docker-compose.storage.yml +++ b/ops/docker-compose.storage.yml @@ -9,7 +9,7 @@ services: mongo: image: mongo:4 networks: - - gilgamesh + - archive ports: - 27017:27017 healthcheck: @@ -28,12 +28,12 @@ services: environment: - MONGO_INITDB_ROOT_USERNAME=admin - MONGO_INITDB_ROOT_PASSWORD=admin - - MONGO_INITDB_DATABASE=gilgamesh + - MONGO_INITDB_DATABASE=archive mongo-express: image: mongo-express networks: - - gilgamesh + - archive ports: - 8085:8081 depends_on: @@ -43,8 +43,8 @@ services: - ME_CONFIG_MONGODB_ADMINUSERNAME=admin - ME_CONFIG_MONGODB_ADMINPASSWORD=admin - ME_CONFIG_MONGODB_URL="mongodb://admin:admin@mongo:27017" - + networks: - gilgamesh: + archive: ipam: driver: default diff --git a/ops/docker-compose.test.yml b/ops/docker-compose.test.yml index 92b554b..e695c1c 100755 --- a/ops/docker-compose.test.yml +++ b/ops/docker-compose.test.yml @@ -1,14 +1,14 @@ version: '3.9' services: - gilgamesh-test: + archive-test: build: dockerfile: ./ops/Dockerfile-dev context: ../ volumes: - - ../:/gilgamesh/ + - ../:/archive/ networks: - - gilgamesh + - archive depends_on: mongo: condition: service_healthy @@ -18,5 +18,5 @@ services: - LOG_LEVEL=INFO - TELEMETRY_ENABLED=true - TELEMETRY_GRPC_URL=http://jaeger:4317 - - MONGO_ADDRESS=mongodb://admin:admin@mongo:27017/gilgamesh?authSource=admin + - MONGO_ADDRESS=mongodb://admin:admin@mongo:27017/archive?authSource=admin command: [ "cargo", "test", "--all-features" ] diff --git a/package.json b/package.json index fa5d6b3..792171d 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "gilgamesh-integration-tests", + "name": "archive-integration-tests", "version": "1.0.0", "description": "Integration tests for Rust HTTP Starter", "scripts": { diff --git a/src/auth/mod.rs b/src/auth/mod.rs index c90f7f8..db0ff0b 100644 --- a/src/auth/mod.rs +++ b/src/auth/mod.rs @@ -21,7 +21,7 @@ pub type Rejection = (StatusCode, &'static str); /// This structure can be used like any other axum extractor: /// /// ```no_run -/// use gilgamesh::auth::AuthBearer; +/// use archive::auth::AuthBearer; /// /// /// Handler for a typical [axum] route, takes a `token` and returns it /// async fn handler(AuthBearer(token): AuthBearer) -> String { diff --git a/src/error.rs b/src/error.rs index 99cd506..74c6307 100644 --- a/src/error.rs +++ b/src/error.rs @@ -81,7 +81,7 @@ pub enum Error { #[error(transparent)] FromUtf8Error(#[from] std::string::FromUtf8Error), - #[error("History item received without a topic, please ensure all required parameters set")] + #[error("Archive item received without a topic, please ensure all required parameters set")] MissingTopic, #[error("this should not have occurred; used when case has been handled before")] @@ -145,8 +145,8 @@ impl IntoResponse for Error { }, Error::MissingAllSignatureHeader => crate::handlers::Response::new_failure(StatusCode::UNAUTHORIZED, vec![ ResponseError { - name: "history_item_validation_failed".to_string(), - message: "Failed to validate history item, please ensure that all required headers are provided.".to_string(), + name: "archive_item_validation_failed".to_string(), + message: "Failed to validate archive item, please ensure that all required headers are provided.".to_string(), } ], vec![ ErrorField { @@ -162,8 +162,8 @@ impl IntoResponse for Error { ]), Error::MissingSignatureHeader => crate::handlers::Response::new_failure(StatusCode::UNAUTHORIZED, vec![ ResponseError { - name: "history_item_validation_failed".to_string(), - message: "Failed to validate history item, please ensure that all required headers are provided.".to_string(), + name: "archive_item_validation_failed".to_string(), + message: "Failed to validate archive item, please ensure that all required headers are provided.".to_string(), } ], vec![ ErrorField { @@ -174,8 +174,8 @@ impl IntoResponse for Error { ]), Error::MissingTimestampHeader => crate::handlers::Response::new_failure(StatusCode::UNAUTHORIZED, vec![ ResponseError { - name: "history_item_validation_failed".to_string(), - message: "Failed to validate history item, please ensure that all required headers are provided.".to_string(), + name: "archive_item_validation_failed".to_string(), + message: "Failed to validate archive item, please ensure that all required headers are provided.".to_string(), } ], vec![ ErrorField { diff --git a/src/handlers/save_message.rs b/src/handlers/save_message.rs index 9bb1c67..c9a3071 100644 --- a/src/handlers/save_message.rs +++ b/src/handlers/save_message.rs @@ -16,7 +16,7 @@ use { #[derive(Serialize, Deserialize, Debug, Clone, Eq, PartialEq)] #[serde(rename_all = "camelCase")] -pub struct HistoryPayload { +pub struct ArchivePayload { pub method: Arc, pub client_id: Arc, pub topic: Arc, @@ -27,7 +27,7 @@ pub struct HistoryPayload { pub async fn handler( StateExtractor(state): StateExtractor>, - RequireValidSignature(Json(payload)): RequireValidSignature>, + RequireValidSignature(Json(payload)): RequireValidSignature>, ) -> error::Result { debug!("Received `save_message` query: {:?}", payload); diff --git a/src/lib.rs b/src/lib.rs index fe5c147..7e3ea1a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -81,7 +81,7 @@ pub async fn bootstrap( if state.config.telemetry_prometheus_port.is_some() { state.set_metrics(metrics::Metrics::new(Resource::new(vec![ - KeyValue::new("service_name", "history-server"), + KeyValue::new("service_name", "archive-server"), KeyValue::new( "service_version", state.build_info.crate_info.version.clone().to_string(), diff --git a/src/main.rs b/src/main.rs index c792a51..bcb36b0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,6 @@ use { + archive::{config, error, log}, dotenv::dotenv, - gilgamesh::{config, error, log}, tokio::sync::broadcast, }; @@ -14,8 +14,8 @@ async fn main() -> error::Result<()> { "Failed to load configuration, please ensure that all environment variables are defined.", ); - let options = gilgamesh::Options::default(); - let result = gilgamesh::bootstrap(shutdown, config, options).await; + let options = archive::Options::default(); + let result = archive::bootstrap(shutdown, config, options).await; logger.stop(); diff --git a/src/metrics/mod.rs b/src/metrics/mod.rs index 9b38b70..6bb3345 100644 --- a/src/metrics/mod.rs +++ b/src/metrics/mod.rs @@ -49,7 +49,7 @@ impl Metrics { opentelemetry::global::set_meter_provider(meter); - let meter = opentelemetry::global::meter("history-server"); + let meter = opentelemetry::global::meter("archive-server"); let received_items = meter .u64_counter("received_items") diff --git a/src/state.rs b/src/state.rs index 5a0f641..9e92d93 100644 --- a/src/state.rs +++ b/src/state.rs @@ -75,7 +75,7 @@ impl AppState { relay_client: RelayClient::new(relay_url), auth_aud: [ "wss://relay.walletconnect.com".to_owned(), - "https://history.walletconnect.com".to_owned(), + "https://archive.walletconnect.com".to_owned(), ] .into(), }) diff --git a/terraform/README.md b/terraform/README.md index 76071d8..aca0faf 100644 --- a/terraform/README.md +++ b/terraform/README.md @@ -1,4 +1,4 @@ -# `history-server` deployment +# `archive-server` deployment ## Requirements @@ -6,36 +6,30 @@ | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | ~> 1.0 | -| [aws](#requirement\_aws) | ~> 4.50 | -| [github](#requirement\_github) | 5.7.0 | -| [grafana](#requirement\_grafana) | ~> 1.28 | -| [random](#requirement\_random) | 3.4.3 | +| [github](#requirement\_github) | 5.26 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | ~> 4.50 | -| [github](#provider\_github) | 5.7.0 | +| [github](#provider\_github) | 5.26 | ## Modules | Name | Source | Version | |------|--------|---------| +| [archive\_docdb](#module\_archive\_docdb) | ./docdb | n/a | | [dns](#module\_dns) | app.terraform.io/wallet-connect/dns/aws | 0.1.0 | | [ecs](#module\_ecs) | ./ecs | n/a | -| [history\_docdb](#module\_history\_docdb) | ./docdb | n/a | -| [o11y](#module\_o11y) | ./monitoring | n/a | +| [monitoring](#module\_monitoring) | ./monitoring | n/a | | [this](#module\_this) | app.terraform.io/wallet-connect/label/null | 0.2.0 | -| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | n/a | +| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | 4.0 | ## Resources | Name | Type | |------|------| -| [aws_prometheus_workspace.prometheus](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/prometheus_workspace) | resource | -| [aws_ecr_repository.repository](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ecr_repository) | data source | -| [github_release.latest_release](https://registry.terraform.io/providers/integrations/github/5.7.0/docs/data-sources/release) | data source | +| [github_release.latest_release](https://registry.terraform.io/providers/integrations/github/5.26/docs/data-sources/release) | data source | ## Inputs @@ -46,7 +40,7 @@ | [docdb\_primary\_instances](#input\_docdb\_primary\_instances) | The number of instances in the primary MongoDB server cluster. | `number` | n/a | yes | | [grafana\_endpoint](#input\_grafana\_endpoint) | The endpoint of the Grafana instance used for monitoring. | `string` | n/a | yes | | [image\_version](#input\_image\_version) | Optional override for the Docker image version to deploy. Default is `latest` | `string` | `""` | no | -| [public\_url](#input\_public\_url) | The public URL of the service. | `string` | `"history.walletconnect.com"` | no | +| [public\_url](#input\_public\_url) | The public URL of the service. | `string` | `"archive.walletconnect.com"` | no | | [region](#input\_region) | The AWS region to deploy to. | `string` | `"eu-central-1"` | no | ## Outputs diff --git a/terraform/context.tf b/terraform/context.tf index 4c880ee..460e35c 100644 --- a/terraform/context.tf +++ b/terraform/context.tf @@ -5,9 +5,9 @@ module "this" { namespace = "walletconnect" environment = var.region stage = terraform.workspace - name = "history" + name = "archive" tags = { - Application = "history" + Application = "archive" } } diff --git a/terraform/docdb/README.md b/terraform/docdb/README.md index 213aba1..c207f23 100644 --- a/terraform/docdb/README.md +++ b/terraform/docdb/README.md @@ -8,15 +8,15 @@ Create a DocumentDB cluster. | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | ~> 1.0 | -| [aws](#requirement\_aws) | ~> 4.51.0 | -| [random](#requirement\_random) | 3.4.3 | +| [aws](#requirement\_aws) | ~> 4.50 | +| [random](#requirement\_random) | ~> 3.5 | ## Providers | Name | Version | |------|---------| -| [aws](#provider\_aws) | ~> 4.51.0 | -| [random](#provider\_random) | 3.4.3 | +| [aws](#provider\_aws) | ~> 4.50 | +| [random](#provider\_random) | ~> 3.5 | ## Modules @@ -35,7 +35,7 @@ Create a DocumentDB cluster. | [aws_secretsmanager_secret.master_password](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret) | resource | | [aws_secretsmanager_secret_version.master_password](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret_version) | resource | | [aws_security_group.service_security_group](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource | -| [random_password.master_password](https://registry.terraform.io/providers/hashicorp/random/3.4.3/docs/resources/password) | resource | +| [random_password.master_password](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password) | resource | ## Inputs @@ -50,7 +50,7 @@ Create a DocumentDB cluster. | [environment](#input\_environment) | ID element. Usually used for region e.g. 'uw2', 'us-west-2'. | `string` | `null` | no | | [id\_length\_limit](#input\_id\_length\_limit) | Limit `id` to this many characters (minimum 6).
Set to `0` for unlimited length.
Set to `null` for keep the existing setting, which defaults to `0`.
Does not affect `id_full`. | `number` | `null` | no | | [label\_key\_case](#input\_label\_key\_case) | Controls the letter case of the `tags` keys (label names) for tags generated by this module.
Does not affect keys of tags passed in via the `tags` input.
Possible values: `lower`, `title`, `upper`.
Default value: `title`. | `string` | `null` | no | -| [label\_order](#input\_label\_order) | The order in which the labels (ID elements) appear in the `id`.
Defaults to ["namespace", "environment", "stage", "name", "attributes"].
You can omit any of the 5 labels, but at least one must be present. | `list(string)` | `null` | no | +| [label\_order](#input\_label\_order) | The order in which the labels (ID elements) appear in the `id`.
Defaults to ["namespace", "environment", "stage", "name", "attributes"].
You can omit any of the 5 labels, but at least one must be present. | `list(string)` |
[
"namespace",
"stage",
"name",
"attributes"
]
| no | | [label\_value\_case](#input\_label\_value\_case) | Controls the letter case of ID elements (labels) as included in `id`,
set as tag values, and output by this module individually.
Does not affect values of tags passed in via the `tags` input.
Possible values: `lower`, `title`, `upper` and `none` (no transformation).
Set this to `title` and set `delimiter` to `""` to yield Pascal Case IDs.
Default value: `lower`. | `string` | `null` | no | | [name](#input\_name) | ID element. Usually the component name.
This is the only ID element not also included as a `tag`.
The "name" tag is set to the full `id` string. There is no tag with the value of the `name` input. | `string` | `null` | no | | [namespace](#input\_namespace) | ID element. Usually the organization name, i.e. 'walletconnect' to help ensure generated IDs are globally unique. | `string` | `null` | no | diff --git a/terraform/docdb/main.tf b/terraform/docdb/main.tf index 5b2f43b..99de30d 100644 --- a/terraform/docdb/main.tf +++ b/terraform/docdb/main.tf @@ -24,7 +24,7 @@ resource "aws_kms_key" "docdb_encryption" { resource "aws_docdb_cluster" "docdb_primary" { cluster_identifier = "${local.name_prefix}-primary" - master_username = "gilgamesh" + master_username = "archive" master_password = local.master_password port = var.port db_subnet_group_name = aws_docdb_subnet_group.private_subnets.name diff --git a/terraform/docdb/terraform.tf b/terraform/docdb/terraform.tf index 2bf8b92..f8e1513 100644 --- a/terraform/docdb/terraform.tf +++ b/terraform/docdb/terraform.tf @@ -8,7 +8,7 @@ terraform { } random = { source = "hashicorp/random" - version = "3.5" + version = "~> 3.5" } } } diff --git a/terraform/ecs/README.md b/terraform/ecs/README.md index 48530d2..8a00923 100644 --- a/terraform/ecs/README.md +++ b/terraform/ecs/README.md @@ -45,6 +45,7 @@ Create an ECS cluster and hook it up to a load-balancer. | [aws_route53_record.dns_load_balancer](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route53_record) | resource | | [aws_security_group.app_ingress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource | | [aws_security_group.lb_ingress](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource | +| [aws_ecr_repository.repository](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ecr_repository) | data source | | [aws_iam_policy_document.assume_role_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | | [aws_iam_policy_document.otel](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | @@ -62,7 +63,7 @@ Create an ECS cluster and hook it up to a load-balancer. | [docdb-connection\_url](#input\_docdb-connection\_url) | The connection URL of the DocumentDB instance to use. | `string` | n/a | yes | | [environment](#input\_environment) | ID element. Usually used for region e.g. 'uw2', 'us-west-2'. | `string` | `null` | no | | [id\_length\_limit](#input\_id\_length\_limit) | Limit `id` to this many characters (minimum 6).
Set to `0` for unlimited length.
Set to `null` for keep the existing setting, which defaults to `0`.
Does not affect `id_full`. | `number` | `null` | no | -| [image](#input\_image) | The name of the ECR image to use for the container. | `string` | n/a | yes | +| [image\_version](#input\_image\_version) | The version of the ECR image to use for the container. | `string` | n/a | yes | | [label\_key\_case](#input\_label\_key\_case) | Controls the letter case of the `tags` keys (label names) for tags generated by this module.
Does not affect keys of tags passed in via the `tags` input.
Possible values: `lower`, `title`, `upper`.
Default value: `title`. | `string` | `null` | no | | [label\_order](#input\_label\_order) | The order in which the labels (ID elements) appear in the `id`.
Defaults to ["namespace", "environment", "stage", "name", "attributes"].
You can omit any of the 5 labels, but at least one must be present. | `list(string)` |
[
"namespace",
"stage",
"name",
"attributes"
]
| no | | [label\_value\_case](#input\_label\_value\_case) | Controls the letter case of ID elements (labels) as included in `id`,
set as tag values, and output by this module individually.
Does not affect values of tags passed in via the `tags` input.
Possible values: `lower`, `title`, `upper` and `none` (no transformation).
Set this to `title` and set `delimiter` to `""` to yield Pascal Case IDs.
Default value: `lower`. | `string` | `null` | no | @@ -85,5 +86,8 @@ Create an ECS cluster and hook it up to a load-balancer. | Name | Description | |------|-------------| -| [load\_balancer\_arn](#output\_load\_balancer\_arn) | n/a | +| [load\_balancer\_arn](#output\_load\_balancer\_arn) | The ARN of the load balancer | +| [load\_balancer\_arn\_suffix](#output\_load\_balancer\_arn\_suffix) | The ARN suffix of the load balancer | +| [service\_name](#output\_service\_name) | The name of the service | +| [target\_group\_arn](#output\_target\_group\_arn) | The ARN of the target group | diff --git a/terraform/ecs/main.tf b/terraform/ecs/main.tf index d02e771..521920f 100644 --- a/terraform/ecs/main.tf +++ b/terraform/ecs/main.tf @@ -1,7 +1,13 @@ +data "aws_ecr_repository" "repository" { + name = module.this.name +} + locals { service_name = "${module.this.id}-service" file_descriptor_soft_limit = pow(2, 18) file_descriptor_hard_limit = local.file_descriptor_soft_limit * 2 + image = "${data.aws_ecr_repository.repository.repository_url}:${var.image_version}" + } # Log Group for our App @@ -40,7 +46,7 @@ resource "aws_ecs_task_definition" "app_task_definition" { container_definitions = jsonencode([ { name = module.this.id, - image = var.image, + image = local.image, cpu = var.cpu - 128, # Remove sidecar memory/cpu so rest is assigned to primary container ulimits = [{ name : "nofile", diff --git a/terraform/ecs/terraform.tf b/terraform/ecs/terraform.tf index 7e97983..ae2e7ec 100644 --- a/terraform/ecs/terraform.tf +++ b/terraform/ecs/terraform.tf @@ -8,3 +8,11 @@ terraform { } } } + +provider "aws" { + region = module.this.environment + + default_tags { + tags = module.this.tags + } +} diff --git a/terraform/ecs/variables.tf b/terraform/ecs/variables.tf index 4bb8b5f..0626588 100644 --- a/terraform/ecs/variables.tf +++ b/terraform/ecs/variables.tf @@ -9,8 +9,8 @@ variable "log_level" { default = "INFO" } -variable "image" { - description = "The name of the ECR image to use for the container." +variable "image_version" { + description = "The version of the ECR image to use for the container." type = string } diff --git a/terraform/main.tf b/terraform/main.tf index 3680d1b..98a8a22 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -5,7 +5,7 @@ locals { } data "github_release" "latest_release" { - repository = "gilgamesh" + repository = "archive" owner = "walletconnect" retrieve_by = "latest" } @@ -50,12 +50,12 @@ module "dns" { ################################################################################ # Data Stores -module "history_docdb" { +module "archive_docdb" { source = "./docdb" context = module.this.context - attributes = ["history-db"] + attributes = ["archive-db"] - default_database = "history" + default_database = "archive" primary_instance_class = var.docdb_primary_instance_class primary_instances = var.docdb_primary_instances vpc_id = module.vpc.vpc_id @@ -68,16 +68,12 @@ module "history_docdb" { ################################################################################ # Application -data "aws_ecr_repository" "repository" { - name = "gilgamesh" -} - module "ecs" { source = "./ecs" context = module.this.context - prometheus_endpoint = aws_prometheus_workspace.prometheus.prometheus_endpoint - image = "${data.aws_ecr_repository.repository.repository_url}:${local.version}" + prometheus_endpoint = module.monitoring.prometheus_endpoint + image_version = local.version acm_certificate_arn = module.dns.certificate_arn cpu = 1024 route53-fqdn = local.fqdn @@ -89,23 +85,18 @@ module "ecs" { vpc_id = module.vpc.vpc_id allowed_app_ingress_cidr_blocks = module.vpc.vpc_cidr_block allowed_lb_ingress_cidr_blocks = module.vpc.vpc_cidr_block - docdb-connection_url = module.history_docdb.connection_url + docdb-connection_url = module.archive_docdb.connection_url } ################################################################################ # Monitoring -resource "aws_prometheus_workspace" "prometheus" { - alias = "prometheus-${module.this.id}" -} - module "monitoring" { source = "./monitoring" context = module.this.context - prometheus_workspace_id = aws_prometheus_workspace.prometheus.id - - docdb_cluster_id = module.history_docdb.cluster_id + grafana_endpoint = var.grafana_endpoint + docdb_cluster_id = module.archive_docdb.cluster_id ecs_service_name = module.ecs.service_name load_balancer_arn = module.ecs.load_balancer_arn target_group_arn = module.ecs.target_group_arn diff --git a/terraform/monitoring/README.md b/terraform/monitoring/README.md index 93fe71b..d640f41 100644 --- a/terraform/monitoring/README.md +++ b/terraform/monitoring/README.md @@ -8,15 +8,17 @@ Configure the Grafana dashboards for the application | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | ~> 1.0 | -| [grafana](#requirement\_grafana) | ~> 1.24 | -| [jsonnet](#requirement\_jsonnet) | ~> 2.2.0 | +| [aws](#requirement\_aws) | ~> 4.50 | +| [grafana](#requirement\_grafana) | ~> 2.0 | +| [jsonnet](#requirement\_jsonnet) | ~> 2.2 | ## Providers | Name | Version | |------|---------| -| [grafana](#provider\_grafana) | ~> 1.24 | -| [jsonnet](#provider\_jsonnet) | ~> 2.2.0 | +| [aws](#provider\_aws) | ~> 4.50 | +| [grafana](#provider\_grafana) | ~> 2.0 | +| [jsonnet](#provider\_jsonnet) | ~> 2.2 | ## Modules @@ -28,7 +30,8 @@ Configure the Grafana dashboards for the application | Name | Type | |------|------| -| [grafana_dashboard.at_a_glance](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/dashboard) | resource | +| [aws_prometheus_workspace.prometheus](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/prometheus_workspace) | resource | +| [grafana_dashboard.main](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/dashboard) | resource | | [grafana_data_source.cloudwatch](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/data_source) | resource | | [grafana_data_source.prometheus](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/data_source) | resource | | [jsonnet_file.dashboard](https://registry.terraform.io/providers/alxrem/jsonnet/latest/docs/data-sources/file) | data source | @@ -40,22 +43,27 @@ Configure the Grafana dashboards for the application | [attributes](#input\_attributes) | ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`,
in the order they appear in the list. New attributes are appended to the
end of the list. The elements of the list are joined by the `delimiter`
and treated as a single ID element. | `list(string)` | `[]` | no | | [context](#input\_context) | Single object for setting entire context at once.
See description of individual variables for details.
Leave string and numeric variables as `null` to use default value.
Individual variable settings (non-null) override settings in context object,
except for attributes and tags, which are merged. | `any` |
{
"attributes": [],
"delimiter": null,
"environment": null,
"id_length_limit": null,
"label_key_case": null,
"label_order": [],
"label_value_case": null,
"name": null,
"namespace": null,
"regex_replace_chars": null,
"stage": null,
"tags": {}
}
| no | | [delimiter](#input\_delimiter) | Delimiter to be used between ID elements.
Defaults to `-` (hyphen). Set to `""` to use no delimiter at all. | `string` | `null` | no | +| [docdb\_cluster\_id](#input\_docdb\_cluster\_id) | The ID of the DocumentDB cluster. | `string` | n/a | yes | +| [ecs\_service\_name](#input\_ecs\_service\_name) | The name of the ECS service. | `string` | n/a | yes | | [environment](#input\_environment) | ID element. Usually used for region e.g. 'uw2', 'us-west-2'. | `string` | `null` | no | +| [grafana\_endpoint](#input\_grafana\_endpoint) | The endpoint of the Grafana instance used for monitoring. | `string` | n/a | yes | | [id\_length\_limit](#input\_id\_length\_limit) | Limit `id` to this many characters (minimum 6).
Set to `0` for unlimited length.
Set to `null` for keep the existing setting, which defaults to `0`.
Does not affect `id_full`. | `number` | `null` | no | | [label\_key\_case](#input\_label\_key\_case) | Controls the letter case of the `tags` keys (label names) for tags generated by this module.
Does not affect keys of tags passed in via the `tags` input.
Possible values: `lower`, `title`, `upper`.
Default value: `title`. | `string` | `null` | no | | [label\_order](#input\_label\_order) | The order in which the labels (ID elements) appear in the `id`.
Defaults to ["namespace", "environment", "stage", "name", "attributes"].
You can omit any of the 5 labels, but at least one must be present. | `list(string)` | `null` | no | | [label\_value\_case](#input\_label\_value\_case) | Controls the letter case of ID elements (labels) as included in `id`,
set as tag values, and output by this module individually.
Does not affect values of tags passed in via the `tags` input.
Possible values: `lower`, `title`, `upper` and `none` (no transformation).
Set this to `title` and set `delimiter` to `""` to yield Pascal Case IDs.
Default value: `lower`. | `string` | `null` | no | +| [load\_balancer\_arn](#input\_load\_balancer\_arn) | The ARN of the load balancer. | `string` | n/a | yes | | [name](#input\_name) | ID element. Usually the component name.
This is the only ID element not also included as a `tag`.
The "name" tag is set to the full `id` string. There is no tag with the value of the `name` input. | `string` | `null` | no | | [namespace](#input\_namespace) | ID element. Usually the organization name, i.e. 'walletconnect' to help ensure generated IDs are globally unique. | `string` | `null` | no | -| [prometheus\_workspace\_id](#input\_prometheus\_workspace\_id) | The workspace ID for the Prometheus workspace. | `string` | n/a | yes | | [regex\_replace\_chars](#input\_regex\_replace\_chars) | Terraform regular expression (regex) string.
Characters matching the regex will be removed from the ID elements.
If not set, `"/[^a-zA-Z0-9-]/"` is used to remove all characters other than hyphens, letters and digits. | `string` | `null` | no | | [stage](#input\_stage) | ID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'build', 'test', 'deploy', 'release'. | `string` | `null` | no | | [tags](#input\_tags) | Additional tags. | `map(string)` | `{}` | no | +| [target\_group\_arn](#input\_target\_group\_arn) | The ARN of the target group. | `string` | n/a | yes | ## Outputs | Name | Description | |------|-------------| | [dashboard\_definition](#output\_dashboard\_definition) | The JSON definition of the dashboard. | +| [prometheus\_endpoint](#output\_prometheus\_endpoint) | The URL of the Prometheus server to use for this dashboard. | | [prometheus\_url](#output\_prometheus\_url) | The URL of the Prometheus server to use for this dashboard. | diff --git a/terraform/monitoring/dashboard.jsonnet b/terraform/monitoring/dashboard.jsonnet index c435315..70aeb1d 100644 --- a/terraform/monitoring/dashboard.jsonnet +++ b/terraform/monitoring/dashboard.jsonnet @@ -16,7 +16,7 @@ local ds = { }, }; local vars = { - namespace: 'History', + namespace: 'Archive', environment: std.extVar('environment'), notifications: std.parseJson(std.extVar('notifications')), @@ -55,12 +55,12 @@ dashboard.new( panels.app.cpu(ds, vars) { gridPos: pos._2 }, panels.app.memory(ds, vars) { gridPos: pos._2 }, - row.new('History'), - panels.history.received_items(ds, vars) { gridPos: pos._2 }, - panels.history.stored_items(ds, vars) { gridPos: pos._2 }, - panels.history.get_queries(ds, vars) { gridPos: pos._2 }, - panels.history.served_items(ds, vars) { gridPos: pos._2 }, - panels.history.registrations(ds, vars) { gridPos: pos._1 }, + row.new('Archive'), + panels.archive.received_items(ds, vars) { gridPos: pos._2 }, + panels.archive.stored_items(ds, vars) { gridPos: pos._2 }, + panels.archive.get_queries(ds, vars) { gridPos: pos._2 }, + panels.archive.served_items(ds, vars) { gridPos: pos._2 }, + panels.archive.registrations(ds, vars) { gridPos: pos._1 }, row.new('Load Balancer'), panels.lb.active_connections(ds, vars) { gridPos: pos._2 }, diff --git a/terraform/monitoring/data_sources.tf b/terraform/monitoring/data_sources.tf index 83c8e2f..1f7eced 100644 --- a/terraform/monitoring/data_sources.tf +++ b/terraform/monitoring/data_sources.tf @@ -1,5 +1,5 @@ locals { - prometheus_url = "https://aps-workspaces.${module.this.environment}.amazonaws.com/workspaces/${var.prometheus_workspace_id}/" + prometheus_url = "https://aps-workspaces.${module.this.environment}.amazonaws.com/workspaces/${aws_prometheus_workspace.prometheus.id}/" } resource "grafana_data_source" "prometheus" { diff --git a/terraform/monitoring/outputs.tf b/terraform/monitoring/outputs.tf index 8219bca..1b31e75 100644 --- a/terraform/monitoring/outputs.tf +++ b/terraform/monitoring/outputs.tf @@ -7,3 +7,8 @@ output "dashboard_definition" { description = "The JSON definition of the dashboard." value = data.jsonnet_file.dashboard.rendered } + +output "prometheus_endpoint" { + description = "The URL of the Prometheus server to use for this dashboard." + value = aws_prometheus_workspace.prometheus.prometheus_endpoint +} diff --git a/terraform/monitoring/panels/history/get_queries.libsonnet b/terraform/monitoring/panels/archive/get_queries.libsonnet similarity index 100% rename from terraform/monitoring/panels/history/get_queries.libsonnet rename to terraform/monitoring/panels/archive/get_queries.libsonnet diff --git a/terraform/monitoring/panels/history/received_items.libsonnet b/terraform/monitoring/panels/archive/received_items.libsonnet similarity index 100% rename from terraform/monitoring/panels/history/received_items.libsonnet rename to terraform/monitoring/panels/archive/received_items.libsonnet diff --git a/terraform/monitoring/panels/history/registrations.libsonnet b/terraform/monitoring/panels/archive/registrations.libsonnet similarity index 100% rename from terraform/monitoring/panels/history/registrations.libsonnet rename to terraform/monitoring/panels/archive/registrations.libsonnet diff --git a/terraform/monitoring/panels/history/served_items.libsonnet b/terraform/monitoring/panels/archive/served_items.libsonnet similarity index 100% rename from terraform/monitoring/panels/history/served_items.libsonnet rename to terraform/monitoring/panels/archive/served_items.libsonnet diff --git a/terraform/monitoring/panels/history/stored_items.libsonnet b/terraform/monitoring/panels/archive/stored_items.libsonnet similarity index 100% rename from terraform/monitoring/panels/history/stored_items.libsonnet rename to terraform/monitoring/panels/archive/stored_items.libsonnet diff --git a/terraform/monitoring/panels/panels.libsonnet b/terraform/monitoring/panels/panels.libsonnet index 95ec16c..50a15c8 100644 --- a/terraform/monitoring/panels/panels.libsonnet +++ b/terraform/monitoring/panels/panels.libsonnet @@ -13,12 +13,12 @@ low_mem_op_throttled: (import 'db/low_mem_op_throttled.libsonnet' ).new, }, - history: { - get_queries: (import 'history/get_queries.libsonnet' ).new, - received_items: (import 'history/received_items.libsonnet' ).new, - registrations: (import 'history/registrations.libsonnet' ).new, - served_items: (import 'history/served_items.libsonnet' ).new, - stored_items: (import 'history/stored_items.libsonnet' ).new, + archive: { + get_queries: (import 'archive/get_queries.libsonnet' ).new, + received_items: (import 'archive/received_items.libsonnet' ).new, + registrations: (import 'archive/registrations.libsonnet' ).new, + served_items: (import 'archive/served_items.libsonnet' ).new, + stored_items: (import 'archive/stored_items.libsonnet' ).new, }, lb: { diff --git a/terraform/monitoring/prometheus.tf b/terraform/monitoring/prometheus.tf new file mode 100644 index 0000000..dfbb502 --- /dev/null +++ b/terraform/monitoring/prometheus.tf @@ -0,0 +1,3 @@ +resource "aws_prometheus_workspace" "prometheus" { + alias = "prometheus-${module.this.id}" +} diff --git a/terraform/monitoring/terraform.tf b/terraform/monitoring/terraform.tf index 9c11885..f47c744 100644 --- a/terraform/monitoring/terraform.tf +++ b/terraform/monitoring/terraform.tf @@ -2,17 +2,29 @@ terraform { required_version = "~> 1.0" required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 4.50" + } grafana = { source = "grafana/grafana" - version = "~> 1.4" + version = "~> 2.0" } jsonnet = { source = "alxrem/jsonnet" - version = "~> 2.2.0" + version = "~> 2.2" } } } -provider "jsonnet" { - jsonnet_path = "./grafonnet-lib,./panels" +provider "aws" { + region = module.this.environment + + default_tags { + tags = module.this.tags + } +} + +provider "grafana" { + url = "https://${var.grafana_endpoint}" } diff --git a/terraform/monitoring/test.dashboard.jsonnet b/terraform/monitoring/test.dashboard.jsonnet index c435315..70aeb1d 100644 --- a/terraform/monitoring/test.dashboard.jsonnet +++ b/terraform/monitoring/test.dashboard.jsonnet @@ -16,7 +16,7 @@ local ds = { }, }; local vars = { - namespace: 'History', + namespace: 'Archive', environment: std.extVar('environment'), notifications: std.parseJson(std.extVar('notifications')), @@ -55,12 +55,12 @@ dashboard.new( panels.app.cpu(ds, vars) { gridPos: pos._2 }, panels.app.memory(ds, vars) { gridPos: pos._2 }, - row.new('History'), - panels.history.received_items(ds, vars) { gridPos: pos._2 }, - panels.history.stored_items(ds, vars) { gridPos: pos._2 }, - panels.history.get_queries(ds, vars) { gridPos: pos._2 }, - panels.history.served_items(ds, vars) { gridPos: pos._2 }, - panels.history.registrations(ds, vars) { gridPos: pos._1 }, + row.new('Archive'), + panels.archive.received_items(ds, vars) { gridPos: pos._2 }, + panels.archive.stored_items(ds, vars) { gridPos: pos._2 }, + panels.archive.get_queries(ds, vars) { gridPos: pos._2 }, + panels.archive.served_items(ds, vars) { gridPos: pos._2 }, + panels.archive.registrations(ds, vars) { gridPos: pos._1 }, row.new('Load Balancer'), panels.lb.active_connections(ds, vars) { gridPos: pos._2 }, diff --git a/terraform/monitoring/variables.tf b/terraform/monitoring/variables.tf index f0a4f00..5e11f06 100644 --- a/terraform/monitoring/variables.tf +++ b/terraform/monitoring/variables.tf @@ -1,8 +1,3 @@ -variable "prometheus_workspace_id" { - description = "The workspace ID for the Prometheus workspace." - type = string -} - variable "ecs_service_name" { description = "The name of the ECS service." type = string @@ -22,3 +17,8 @@ variable "docdb_cluster_id" { description = "The ID of the DocumentDB cluster." type = string } + +variable "grafana_endpoint" { + description = "The endpoint of the Grafana instance used for monitoring." + type = string +} diff --git a/terraform/provider.tf b/terraform/provider.tf deleted file mode 100644 index 2a1ea14..0000000 --- a/terraform/provider.tf +++ /dev/null @@ -1,22 +0,0 @@ -provider "aws" { - region = var.region - - # Make it faster by skipping something - skip_metadata_api_check = true - skip_region_validation = true - skip_credentials_validation = true - skip_requesting_account_id = true - - default_tags { - tags = module.this.tags - } -} - -# Expects GRAFANA_AUTH env variable to be set -provider "grafana" { - url = "https://${var.grafana_endpoint}" -} - -provider "random" {} - -provider "github" {} diff --git a/terraform/terraform.tf b/terraform/terraform.tf index 60af26a..fb1d2ba 100644 --- a/terraform/terraform.tf +++ b/terraform/terraform.tf @@ -6,23 +6,11 @@ terraform { hostname = "app.terraform.io" organization = "wallet-connect" workspaces { - prefix = "gilgamesh-" + prefix = "archive-" } } required_providers { - aws = { - source = "hashicorp/aws" - version = "~> 4.50" - } - grafana = { - source = "grafana/grafana" - version = "~> 1.40" - } - random = { - source = "hashicorp/random" - version = "~> 3.5" - } github = { source = "integrations/github" version = "5.26" diff --git a/terraform/variables.tf b/terraform/variables.tf index d2ce79f..ad3fd09 100644 --- a/terraform/variables.tf +++ b/terraform/variables.tf @@ -13,9 +13,10 @@ variable "azs" { variable "public_url" { description = "The public URL of the service." type = string - default = "history.walletconnect.com" + default = "archive.walletconnect.com" } +# Expects GRAFANA_AUTH env variable to be set variable "grafana_endpoint" { description = "The endpoint of the Grafana instance used for monitoring." type = string diff --git a/tests/context/mod.rs b/tests/context/mod.rs index bff6856..6517a19 100644 --- a/tests/context/mod.rs +++ b/tests/context/mod.rs @@ -1,5 +1,5 @@ use { - self::{server::Gilgamesh, store::PersistentStorage}, + self::{server::Archive, store::PersistentStorage}, async_trait::async_trait, test_context::AsyncTestContext, }; @@ -8,13 +8,13 @@ mod server; mod store; pub struct ServerContext { - pub server: Gilgamesh, + pub server: Archive, } #[async_trait] impl AsyncTestContext for ServerContext { async fn setup() -> Self { - let server = Gilgamesh::start().await; + let server = Archive::start().await; Self { server } } diff --git a/tests/context/server.rs b/tests/context/server.rs index f7471e9..5cf9fb5 100644 --- a/tests/context/server.rs +++ b/tests/context/server.rs @@ -1,6 +1,6 @@ use { crate::storage::mocks::{messages::MockMessageStore, registrations::MockRegistrationStore}, - gilgamesh::{config::Configuration, Options}, + archive::{config::Configuration, Options}, std::{ env, net::{IpAddr, Ipv4Addr, SocketAddr, SocketAddrV4, TcpListener}, @@ -13,7 +13,7 @@ use { }, }; -pub struct Gilgamesh { +pub struct Archive { pub public_addr: SocketAddr, pub message_store: Arc, pub registration_store: Arc, @@ -24,7 +24,7 @@ pub struct Gilgamesh { #[derive(Debug, thiserror::Error)] pub enum Error {} -impl Gilgamesh { +impl Archive { pub async fn start() -> Self { let public_port = get_random_port(); let rt = Handle::current(); @@ -43,14 +43,13 @@ impl Gilgamesh { std::thread::spawn(move || { rt.block_on(async move { let public_port = public_port; - let mongo_address = env::var("MONGO_ADDRESS").unwrap_or( - "mongodb://admin:admin@mongo:27017/gilgamesh?authSource=admin".into(), - ); + let mongo_address = env::var("MONGO_ADDRESS") + .unwrap_or("mongodb://admin:admin@mongo:27017/archive?authSource=admin".into()); let config: Configuration = Configuration { port: public_port, public_url: format!("http://127.0.0.1:{public_port}"), - log_level: "info,history-server=info".into(), + log_level: "info,archive-server=info".into(), relay_url: "https://relay.walletconnect.com".into(), validate_signatures: false, mongo_address, @@ -59,7 +58,7 @@ impl Gilgamesh { telemetry_prometheus_port: Some(get_random_port()), }; - gilgamesh::bootstrap(shutdown, config, options).await + archive::bootstrap(shutdown, config, options).await }) .unwrap(); }); diff --git a/tests/context/store.rs b/tests/context/store.rs index 27f22c3..a4746b3 100644 --- a/tests/context/store.rs +++ b/tests/context/store.rs @@ -1,6 +1,6 @@ use { crate::context::server::get_random_port, - gilgamesh::{config::Configuration, store::mongo::MongoStore}, + archive::{config::Configuration, store::mongo::MongoStore}, std::env, }; @@ -13,12 +13,12 @@ impl PersistentStorage { pub async fn init() -> Self { let public_port = get_random_port(); let mongo_address = env::var("MONGO_ADDRESS") - .unwrap_or("mongodb://admin:admin@localhost:27017/gilgamesh?authSource=admin".into()); + .unwrap_or("mongodb://admin:admin@localhost:27017/archive?authSource=admin".into()); let config: Configuration = Configuration { port: public_port, public_url: format!("http://127.0.0.1:{public_port}"), - log_level: "info,history-server=info".into(), + log_level: "info,archive-server=info".into(), relay_url: "https://relay.walletconnect.com".into(), validate_signatures: false, mongo_address, diff --git a/tests/integration.rs b/tests/integration.rs index 4f81d43..2439776 100644 --- a/tests/integration.rs +++ b/tests/integration.rs @@ -15,7 +15,7 @@ mod registration; mod simple; mod storage; -const TEST_RELAY_URL: &str = "https://history.walletconnect.com"; +const TEST_RELAY_URL: &str = "https://archive.walletconnect.com"; pub type ErrorResult = Result; @@ -25,7 +25,7 @@ pub enum TestError { Elapsed(#[from] tokio::time::error::Elapsed), #[error(transparent)] - Gilgamesh(#[from] gilgamesh::error::Error), + Archive(#[from] archive::error::Error), } fn get_client_jwt() -> (String, ClientId) { diff --git a/tests/messages/mod.rs b/tests/messages/mod.rs index e6b793f..3289571 100644 --- a/tests/messages/mod.rs +++ b/tests/messages/mod.rs @@ -1,14 +1,14 @@ use { crate::{context::ServerContext, get_client_jwt, TEST_RELAY_URL}, - axum::http, - chrono::Utc, - gilgamesh::{ + archive::{ handlers::{ get_messages::{Direction, GetMessagesResponse}, - save_message::HistoryPayload, + save_message::ArchivePayload, }, store::{messages::Message, registrations::Registration}, }, + axum::http, + chrono::Utc, std::sync::Arc, test_context::test_context, }; @@ -193,7 +193,7 @@ async fn test_save_message_saved(ctx: &mut ServerContext) { let response = client .post(format!("http://{}/messages", ctx.server.public_addr)) - .json(&HistoryPayload { + .json(&ArchivePayload { method: Arc::from(TEST_METHOD), client_id: client_id.clone().into_value(), message_id: Arc::from(format!("{TEST_MESSAGE_ID}-1")), @@ -215,7 +215,7 @@ async fn test_save_message_saved(ctx: &mut ServerContext) { let response = client .post(format!("http://{}/messages", ctx.server.public_addr)) - .json(&HistoryPayload { + .json(&ArchivePayload { method: Arc::from(TEST_METHOD), client_id: client_id.clone().into_value(), message_id: Arc::from(format!("{TEST_MESSAGE_ID}-2")), @@ -289,7 +289,7 @@ async fn test_save_message_filtered_out(ctx: &mut ServerContext) { let response = client .post(format!("http://{}/messages", ctx.server.public_addr)) - .json(&HistoryPayload { + .json(&ArchivePayload { method: Arc::from(TEST_METHOD), client_id: client_id.clone().into_value(), message_id: Arc::from(format!("{TEST_MESSAGE_ID}-1")), @@ -311,7 +311,7 @@ async fn test_save_message_filtered_out(ctx: &mut ServerContext) { let response = client .post(format!("http://{}/messages", ctx.server.public_addr)) - .json(&HistoryPayload { + .json(&ArchivePayload { method: Arc::from(TEST_METHOD), client_id: client_id.clone().into_value(), message_id: Arc::from(format!("{TEST_MESSAGE_ID}-2")), @@ -381,7 +381,7 @@ async fn test_save_message_no_registration(ctx: &mut ServerContext) { let response = client .post(format!("http://{}/messages", ctx.server.public_addr)) - .json(&HistoryPayload { + .json(&ArchivePayload { method: Arc::from(TEST_METHOD), client_id: Arc::from(TEST_CLIENT_ID), message_id: Arc::from(TEST_MESSAGE_ID), diff --git a/tests/registration/mod.rs b/tests/registration/mod.rs index 8c16133..bd9680e 100644 --- a/tests/registration/mod.rs +++ b/tests/registration/mod.rs @@ -1,7 +1,7 @@ use { crate::{context::ServerContext, get_client_jwt, TEST_RELAY_URL}, + archive::{handlers::register::RegisterPayload, store::registrations::Registration}, axum::http, - gilgamesh::{handlers::register::RegisterPayload, store::registrations::Registration}, std::sync::Arc, test_context::test_context, }; diff --git a/tests/storage/messages.rs b/tests/storage/messages.rs index 2b2b53e..b41b28f 100644 --- a/tests/storage/messages.rs +++ b/tests/storage/messages.rs @@ -1,7 +1,7 @@ use { crate::context::StoreContext, ::function_name::named, - gilgamesh::store::messages::MessagesStore, + archive::store::messages::MessagesStore, std::time, test_context::test_context, }; diff --git a/tests/storage/mocks/messages.rs b/tests/storage/mocks/messages.rs index c81e5d6..72d79a4 100644 --- a/tests/storage/mocks/messages.rs +++ b/tests/storage/mocks/messages.rs @@ -1,10 +1,10 @@ use { - async_trait::async_trait, - chrono::Utc, - gilgamesh::store::{ + archive::store::{ messages::{Message, MessagesStore, StoreMessages}, StoreError, }, + async_trait::async_trait, + chrono::Utc, moka::future::Cache, std::{fmt::Debug, sync::Arc}, }; diff --git a/tests/storage/mocks/registrations.rs b/tests/storage/mocks/registrations.rs index 0a93543..db58505 100644 --- a/tests/storage/mocks/registrations.rs +++ b/tests/storage/mocks/registrations.rs @@ -1,9 +1,9 @@ use { - async_trait::async_trait, - gilgamesh::store::{ + archive::store::{ registrations::{Registration, RegistrationStore}, StoreError, }, + async_trait::async_trait, moka::future::Cache, std::{fmt::Debug, sync::Arc}, }; diff --git a/tests/storage/registrations.rs b/tests/storage/registrations.rs index f48e75b..d430676 100644 --- a/tests/storage/registrations.rs +++ b/tests/storage/registrations.rs @@ -1,6 +1,6 @@ use { crate::context::StoreContext, - gilgamesh::store::{ + archive::store::{ registrations::{Registration, RegistrationStore}, StoreError, },