fix: remove OpenSSL dependency by migrating isahc to reqwest (rustls-tls)
This commit fixes CI failures caused by curl-sys requiring OpenSSL 3.0.0+ which is not available in the CI container image (Debian bullseye). Changes: - Replace isahc with reqwest (rustls-tls feature) in relay-utils - Remove isahc from workspace dependencies - Update reqwest to use rustls-tls and json features - Update Cargo.lock (removes curl, curl-sys, isahc, openssl-sys, native-tls) Benefits: - Pure Rust TLS implementation (no OpenSSL dependency) - More portable across different Linux distributions - Eliminates C compilation requirements for TLS - Better security (memory-safe TLS implementation) Affected workflows: - Checks / cargo-clippy - Checks / check-try-runtime - Docs / test-doc, build-rustdoc - Build and push images - tests linux stable - tests misc
This commit is contained in:
@@ -0,0 +1,254 @@
|
||||
# CI WORKFLOW HATA ANALİZİ VE ÇÖZÜM CHECKLIST
|
||||
|
||||
**Tarih:** 2026-01-25
|
||||
**Analiz Edilen Run'lar:** Son 100 failed workflow
|
||||
|
||||
---
|
||||
|
||||
## ÖZET: 5 KÖK NEDEN BULUNDU
|
||||
|
||||
| # | Kök Neden | Etkilenen Workflow Sayısı | Öncelik |
|
||||
|---|-----------|---------------------------|---------|
|
||||
| 1 | curl-sys OpenSSL 3.0.0 gereksinimi | 4+ | KRİTİK |
|
||||
| 2 | Cargo.lock güncel değil | 3+ | KRİTİK |
|
||||
| 3 | HOME dizin uyumsuzluğu (container) | 1 | YÜKSEK |
|
||||
| 4 | serde_core wasm32 compile hatası | 1+ | YÜKSEK |
|
||||
| 5 | WhereSection::_w deprecated constant | 1 | ORTA |
|
||||
|
||||
---
|
||||
|
||||
## HATA 1: curl-sys OpenSSL 3.0.0 Gereksinimi ✅ ÇÖZÜLDÜ
|
||||
|
||||
### Hata Mesajı:
|
||||
```
|
||||
error: failed to run custom build command for `curl-sys v0.4.85+curl-8.18.0`
|
||||
cargo:warning=curl/lib/vtls/openssl.c:101:6: error: "OpenSSL 3.0.0 or later required"
|
||||
```
|
||||
|
||||
### Etkilenen Workflow'lar:
|
||||
- ✅ Checks / cargo-clippy
|
||||
- ✅ Checks / check-try-runtime
|
||||
- ✅ Docs / test-doc
|
||||
- ✅ Docs / build-rustdoc
|
||||
|
||||
### Kök Neden:
|
||||
CI container image'ında (Debian-based) OpenSSL 1.x kurulu. curl-sys v0.4.85+ ise OpenSSL 3.0.0+ gerektiriyor.
|
||||
|
||||
### KALICI ÇÖZÜM UYGULANDI:
|
||||
**OpenSSL bağımlılığı tamamen kaldırıldı - isahc → reqwest (rustls-tls) migration**
|
||||
|
||||
Bu çözüm:
|
||||
- OpenSSL bağımlılığını tamamen kaldırdı
|
||||
- Pure Rust TLS (rustls) kullanıyor
|
||||
- Daha güvenli, daha portable
|
||||
- C derleme gereksinimi yok
|
||||
|
||||
**Değiştirilen dosyalar:**
|
||||
1. `Cargo.toml` - reqwest'e rustls-tls feature eklendi, isahc kaldırıldı
|
||||
2. `pezbridges/relays/utils/Cargo.toml` - isahc → reqwest
|
||||
3. `pezbridges/relays/utils/src/metrics/float_json_value.rs` - kod güncellendi
|
||||
|
||||
**Kaldırılan bağımlılıklar (Cargo.lock):**
|
||||
- curl, curl-sys, isahc, openssl-sys, native-tls, libnghttp2-sys...
|
||||
|
||||
### Durum:
|
||||
- [x] Çözüm seçildi (KALICI: OpenSSL bağımlılığı tamamen kaldırıldı)
|
||||
- [x] Uygulama yapıldı
|
||||
- [x] Test edildi (`cargo check --workspace` başarılı)
|
||||
|
||||
---
|
||||
|
||||
## HATA 2: Cargo.lock Güncel Değil ✅ ÇÖZÜLDÜ
|
||||
|
||||
### Hata Mesajı:
|
||||
```
|
||||
error: the lock file Cargo.lock needs to be updated but --locked was passed to prevent this
|
||||
```
|
||||
|
||||
### Etkilenen Workflow'lar:
|
||||
- ✅ Build and push images / build-linux-bizinikiwi
|
||||
- ✅ Build and push images / build-linux-stable
|
||||
- ✅ tests linux stable / test-linux-stable-no-try-runtime
|
||||
- ✅ tests linux stable / test-linux-stable
|
||||
- ✅ tests misc / cargo-check-benches
|
||||
|
||||
### Kök Neden:
|
||||
Cargo.toml'da dependency değişikliği yapıldı ama Cargo.lock güncellenmeden commit edildi.
|
||||
|
||||
### ÇÖZÜM UYGULANDI:
|
||||
`cargo update` çalıştırıldı, Cargo.lock güncellendi.
|
||||
Ayrıca isahc → reqwest migration sırasında Cargo.lock tamamen yenilendi.
|
||||
|
||||
### Durum:
|
||||
- [x] `cargo update` çalıştırıldı
|
||||
- [x] Cargo.lock güncellendi (curl/isahc/openssl kaldırıldı)
|
||||
- [ ] Cargo.lock commit edildi (beklemede)
|
||||
- [ ] CI tekrar çalıştırıldı
|
||||
|
||||
---
|
||||
|
||||
## HATA 3: HOME Dizin Uyumsuzluğu (Container) ✅ ÇÖZÜLDÜ
|
||||
|
||||
### Hata Mesajı:
|
||||
```
|
||||
error: $HOME differs from euid-obtained home directory: you may be using sudo
|
||||
error: $HOME directory: /github/home
|
||||
error: euid-obtained home directory: /root
|
||||
```
|
||||
|
||||
### Etkilenen Workflow'lar:
|
||||
- ✅ Check the getting-started.sh script (tüm container job'ları)
|
||||
|
||||
### Kök Neden:
|
||||
GitHub Actions container job'larında HOME env değişkeni `/github/home` olarak ayarlı, ancak container root kullanıcısı `/root` home dizinini kullanıyor. rustup bu tutarsızlığı reddediyor.
|
||||
|
||||
### ÇÖZÜM UYGULANMIŞ (önceki oturumda):
|
||||
```yaml
|
||||
# .github/workflows/check-getting-started.yml satır 79-80
|
||||
env:
|
||||
HOME: /root # Fix HOME directory mismatch in containers (rustup requires this)
|
||||
```
|
||||
|
||||
### Durum:
|
||||
- [x] HOME env variable eklendi
|
||||
- [ ] Commit yapıldı (beklemede)
|
||||
- [ ] CI tekrar çalıştırıldı
|
||||
|
||||
---
|
||||
|
||||
## HATA 4: serde_core wasm32 Compile Hatası
|
||||
|
||||
### Hata Mesajı:
|
||||
```
|
||||
error: could not compile `serde_core` (lib) due to 1 previous error
|
||||
```
|
||||
|
||||
### Etkilenen Workflow'lar:
|
||||
- ❌ EVM test suite / differential-tests
|
||||
|
||||
### Kök Neden:
|
||||
serde_core crate'i wasm32 target'ında compile olurken "duplicate lang item" veya "ambiguous imports" hatası veriyor.
|
||||
|
||||
### Durum:
|
||||
Bu sorun daha önce `pezkuwichain/serde` fork'unda düzeltildi:
|
||||
- Fork commit: `0a75fdd8`
|
||||
- pezkuwi-sdk commit: `7cc45454ff`
|
||||
|
||||
### Kontrol Edilmesi Gerekenler:
|
||||
1. Cargo.lock serde_core'un doğru commit'i mi gösteriyor?
|
||||
2. CI cache temizlenmesi gerekiyor mu?
|
||||
|
||||
### Çözüm (eğer hala devam ediyorsa):
|
||||
```bash
|
||||
# Cargo.lock'u kontrol et
|
||||
grep -A5 'name = "serde_core"' Cargo.lock
|
||||
|
||||
# Force update
|
||||
cargo update -p serde_core
|
||||
```
|
||||
|
||||
### Durum:
|
||||
- [ ] serde_core versiyonu doğrulandı
|
||||
- [ ] Cargo.lock güncellendi
|
||||
- [ ] CI tekrar çalıştırıldı
|
||||
|
||||
---
|
||||
|
||||
## HATA 5: WhereSection::_w UI Test Mismatch ⚠️ İNCELENİYOR
|
||||
|
||||
### Hata Mesajı:
|
||||
```
|
||||
error: use of deprecated constant `WhereSection::_w`:
|
||||
= help: the trait `std::fmt::Debug` is implemented for `pezframe_system::Error<T>`
|
||||
```
|
||||
|
||||
### Etkilenen Workflow'lar:
|
||||
- ⚠️ tests misc / test-pezframe-ui
|
||||
|
||||
### Kök Neden:
|
||||
Bu bir **UI testi** - kasıtlı olarak deprecated constant hatası BEKLEYEN bir test.
|
||||
`.stderr` dosyası beklenen derleyici çıktısını içeriyor.
|
||||
CI'daki sorun: Gerçek çıktı ile beklenen çıktı arasında ufak farklar var.
|
||||
|
||||
### Dosya:
|
||||
- Test: `bizinikiwi/pezframe/support/test/tests/construct_runtime_ui/deprecated_where_block.rs`
|
||||
- Beklenen hata: `bizinikiwi/pezframe/support/test/tests/construct_runtime_ui/deprecated_where_block.stderr`
|
||||
|
||||
### Olası Nedenler:
|
||||
1. Rust compiler versiyonu farkı (hata mesajı formatı değişmiş olabilir)
|
||||
2. serde_core path değişikliği (`$CARGO/serde_core-$VERSION/...`)
|
||||
|
||||
### Çözüm:
|
||||
UI testini yeniden generate etmek gerekebilir:
|
||||
```bash
|
||||
TRYBUILD=overwrite cargo test -p pezframe-support-test --test construct_runtime_ui
|
||||
```
|
||||
|
||||
### Durum:
|
||||
- [x] Kök neden analiz edildi (UI test mismatch)
|
||||
- [ ] UI test stderr dosyası güncellendi
|
||||
- [ ] Test geçti
|
||||
|
||||
---
|
||||
|
||||
## UYGULAMA SIRASI (ÖNERİLEN)
|
||||
|
||||
### Adım 1: Cargo.lock Güncelle (5 dakika)
|
||||
```bash
|
||||
cd /home/mamostehp/pezkuwi-sdk
|
||||
cargo update
|
||||
cargo check --workspace
|
||||
git add Cargo.lock
|
||||
git commit -m "chore: update Cargo.lock for CI compatibility"
|
||||
```
|
||||
|
||||
### Adım 2: HOME Env Variable Ekle (2 dakika)
|
||||
```yaml
|
||||
# .github/workflows/check-getting-started.yml düzenle
|
||||
# env: bloğuna HOME: /root ekle
|
||||
```
|
||||
|
||||
### Adım 3: OpenSSL Sorunu Çöz (10 dakika)
|
||||
```yaml
|
||||
# .github/workflows/checks.yml düzenle
|
||||
# OpenSSL 3 kurulumu veya alternative çözüm
|
||||
```
|
||||
|
||||
### Adım 4: Commit ve Push
|
||||
```bash
|
||||
git add -A
|
||||
git commit -m "fix: CI workflow failures - Cargo.lock, HOME env, OpenSSL"
|
||||
git push
|
||||
```
|
||||
|
||||
### Adım 5: CI İzle
|
||||
```bash
|
||||
gh run watch
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## EK: ETKİLENEN WORKFLOW DOSYALARI
|
||||
|
||||
| Workflow Dosyası | Hatalar |
|
||||
|------------------|---------|
|
||||
| `.github/workflows/checks.yml` | curl-sys/OpenSSL |
|
||||
| `.github/workflows/docs.yml` | curl-sys/OpenSSL |
|
||||
| `.github/workflows/build-misc.yml` | Cargo.lock |
|
||||
| `.github/workflows/tests-linux-stable.yml` | Cargo.lock |
|
||||
| `.github/workflows/tests-misc.yml` | Cargo.lock, WhereSection |
|
||||
| `.github/workflows/check-getting-started.yml` | HOME env |
|
||||
| `.github/workflows/evm-tests.yml` | serde_core |
|
||||
|
||||
---
|
||||
|
||||
## NOTLAR
|
||||
|
||||
1. **Öncelik:** Önce Cargo.lock'u güncelle - bu en çok workflow'u etkiliyor
|
||||
2. **Test:** Her değişiklikten sonra lokal test yap (`cargo check --workspace`)
|
||||
3. **Paralel:** curl-sys ve HOME sorunları birlikte commit edilebilir
|
||||
4. **Cache:** CI cache temizliği gerekebilir (`gh cache delete --all`)
|
||||
|
||||
---
|
||||
|
||||
*Bu checklist CI hataları çözülene kadar güncel tutulmalıdır.*
|
||||
Generated
+19
-274
@@ -1553,8 +1553,8 @@ checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8"
|
||||
dependencies = [
|
||||
"async-task",
|
||||
"concurrent-queue",
|
||||
"fastrand 2.3.0",
|
||||
"futures-lite 2.6.1",
|
||||
"fastrand",
|
||||
"futures-lite",
|
||||
"pin-project-lite",
|
||||
"slab",
|
||||
]
|
||||
@@ -1567,7 +1567,7 @@ checksum = "8034a681df4aed8b8edbd7fbe472401ecf009251c8b40556b304567052e294c5"
|
||||
dependencies = [
|
||||
"async-lock",
|
||||
"blocking",
|
||||
"futures-lite 2.6.1",
|
||||
"futures-lite",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1581,7 +1581,7 @@ dependencies = [
|
||||
"async-io",
|
||||
"async-lock",
|
||||
"blocking",
|
||||
"futures-lite 2.6.1",
|
||||
"futures-lite",
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
@@ -1595,9 +1595,9 @@ dependencies = [
|
||||
"cfg-if",
|
||||
"concurrent-queue",
|
||||
"futures-io",
|
||||
"futures-lite 2.6.1",
|
||||
"futures-lite",
|
||||
"parking",
|
||||
"polling 3.11.0",
|
||||
"polling",
|
||||
"rustix 1.1.3",
|
||||
"slab",
|
||||
"windows-sys 0.61.2",
|
||||
@@ -1622,7 +1622,7 @@ checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7"
|
||||
dependencies = [
|
||||
"async-io",
|
||||
"blocking",
|
||||
"futures-lite 2.6.1",
|
||||
"futures-lite",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1639,7 +1639,7 @@ dependencies = [
|
||||
"blocking",
|
||||
"cfg-if",
|
||||
"event-listener 5.4.1",
|
||||
"futures-lite 2.6.1",
|
||||
"futures-lite",
|
||||
"rustix 1.1.3",
|
||||
]
|
||||
|
||||
@@ -1676,7 +1676,7 @@ dependencies = [
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-io",
|
||||
"futures-lite 2.6.1",
|
||||
"futures-lite",
|
||||
"gloo-timers 0.3.0",
|
||||
"kv-log-macro",
|
||||
"log",
|
||||
@@ -2451,7 +2451,7 @@ dependencies = [
|
||||
"async-channel 2.5.0",
|
||||
"async-task",
|
||||
"futures-io",
|
||||
"futures-lite 2.6.1",
|
||||
"futures-lite",
|
||||
"piper",
|
||||
]
|
||||
|
||||
@@ -2670,12 +2670,6 @@ version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
|
||||
|
||||
[[package]]
|
||||
name = "castaway"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a2698f953def977c68f935bb0dfa959375ad4638570e969e2f1e9f433cbf1af6"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.2.54"
|
||||
@@ -3888,37 +3882,6 @@ dependencies = [
|
||||
"windows-sys 0.61.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "curl"
|
||||
version = "0.4.49"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "79fc3b6dd0b87ba36e565715bf9a2ced221311db47bd18011676f24a6066edbc"
|
||||
dependencies = [
|
||||
"curl-sys",
|
||||
"libc",
|
||||
"openssl-probe 0.1.6",
|
||||
"openssl-sys",
|
||||
"schannel",
|
||||
"socket2 0.6.2",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "curl-sys"
|
||||
version = "0.4.85+curl-8.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c0efa6142b5ecc05f6d3eaa39e6af4888b9d3939273fb592c92b7088a8cf3fdb"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
"libnghttp2-sys",
|
||||
"libz-sys",
|
||||
"openssl-sys",
|
||||
"pkg-config",
|
||||
"vcpkg",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "curve25519-dalek"
|
||||
version = "4.1.3"
|
||||
@@ -4671,15 +4634,6 @@ version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0"
|
||||
|
||||
[[package]]
|
||||
name = "encoding_rs"
|
||||
version = "0.8.35"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "enum-as-inner"
|
||||
version = "0.6.1"
|
||||
@@ -4984,15 +4938,6 @@ dependencies = [
|
||||
"regex-syntax",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fastrand"
|
||||
version = "1.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
|
||||
dependencies = [
|
||||
"instant",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fastrand"
|
||||
version = "2.3.0"
|
||||
@@ -5222,21 +5167,6 @@ version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
|
||||
|
||||
[[package]]
|
||||
name = "foreign-types"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
|
||||
dependencies = [
|
||||
"foreign-types-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "foreign-types-shared"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
|
||||
|
||||
[[package]]
|
||||
name = "form_urlencoded"
|
||||
version = "1.2.2"
|
||||
@@ -5426,28 +5356,13 @@ version = "0.3.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
|
||||
|
||||
[[package]]
|
||||
name = "futures-lite"
|
||||
version = "1.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce"
|
||||
dependencies = [
|
||||
"fastrand 1.9.0",
|
||||
"futures-core",
|
||||
"futures-io",
|
||||
"memchr",
|
||||
"parking",
|
||||
"pin-project-lite",
|
||||
"waker-fn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "futures-lite"
|
||||
version = "2.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad"
|
||||
dependencies = [
|
||||
"fastrand 2.3.0",
|
||||
"fastrand",
|
||||
"futures-core",
|
||||
"futures-io",
|
||||
"parking",
|
||||
@@ -6288,22 +6203,6 @@ dependencies = [
|
||||
"tokio-io-timeout",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hyper-tls"
|
||||
version = "0.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"http-body-util",
|
||||
"hyper 1.8.1",
|
||||
"hyper-util",
|
||||
"native-tls",
|
||||
"tokio",
|
||||
"tokio-native-tls",
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hyper-util"
|
||||
version = "0.1.19"
|
||||
@@ -6323,11 +6222,9 @@ dependencies = [
|
||||
"percent-encoding",
|
||||
"pin-project-lite",
|
||||
"socket2 0.6.2",
|
||||
"system-configuration",
|
||||
"tokio",
|
||||
"tower-service",
|
||||
"tracing",
|
||||
"windows-registry",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -6728,33 +6625,6 @@ version = "1.70.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695"
|
||||
|
||||
[[package]]
|
||||
name = "isahc"
|
||||
version = "1.7.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "334e04b4d781f436dc315cb1e7515bd96826426345d498149e4bde36b67f8ee9"
|
||||
dependencies = [
|
||||
"async-channel 1.9.0",
|
||||
"castaway",
|
||||
"crossbeam-utils",
|
||||
"curl",
|
||||
"curl-sys",
|
||||
"encoding_rs",
|
||||
"event-listener 2.5.3",
|
||||
"futures-lite 1.13.0",
|
||||
"http 0.2.12",
|
||||
"log",
|
||||
"mime",
|
||||
"once_cell",
|
||||
"polling 2.8.0",
|
||||
"slab",
|
||||
"sluice",
|
||||
"tracing",
|
||||
"tracing-futures",
|
||||
"url",
|
||||
"waker-fn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.10.5"
|
||||
@@ -7429,16 +7299,6 @@ version = "0.2.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
|
||||
|
||||
[[package]]
|
||||
name = "libnghttp2-sys"
|
||||
version = "0.1.11+1.64.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1b6c24e48a7167cffa7119da39d577fa482e66c688a4aac016bee862e1a713c4"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libp2p"
|
||||
version = "0.56.0"
|
||||
@@ -8557,23 +8417,6 @@ version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
|
||||
|
||||
[[package]]
|
||||
name = "native-tls"
|
||||
version = "0.2.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"log",
|
||||
"openssl",
|
||||
"openssl-probe 0.1.6",
|
||||
"openssl-sys",
|
||||
"schannel",
|
||||
"security-framework 2.11.1",
|
||||
"security-framework-sys",
|
||||
"tempfile",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "netlink-packet-core"
|
||||
version = "0.7.0"
|
||||
@@ -9029,32 +8872,6 @@ version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
|
||||
|
||||
[[package]]
|
||||
name = "openssl"
|
||||
version = "0.10.75"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "08838db121398ad17ab8531ce9de97b244589089e290a384c900cb9ff7434328"
|
||||
dependencies = [
|
||||
"bitflags 2.10.0",
|
||||
"cfg-if",
|
||||
"foreign-types",
|
||||
"libc",
|
||||
"once_cell",
|
||||
"openssl-macros",
|
||||
"openssl-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl-macros"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.106",
|
||||
"quote 1.0.44",
|
||||
"syn 2.0.114",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl-probe"
|
||||
version = "0.1.6"
|
||||
@@ -9067,18 +8884,6 @@ version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
|
||||
|
||||
[[package]]
|
||||
name = "openssl-sys"
|
||||
version = "0.9.111"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "82cab2d520aa75e3c58898289429321eb788c3106963d0dc886ec7a5f4adc321"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
"vcpkg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "option-ext"
|
||||
version = "0.2.0"
|
||||
@@ -21850,7 +21655,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066"
|
||||
dependencies = [
|
||||
"atomic-waker",
|
||||
"fastrand 2.3.0",
|
||||
"fastrand",
|
||||
"futures-io",
|
||||
]
|
||||
|
||||
@@ -22089,22 +21894,6 @@ version = "0.29.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "751fbbcf86635834dd9a700039c74ce8c7871b317acc84582d9667dad2ed9848"
|
||||
|
||||
[[package]]
|
||||
name = "polling"
|
||||
version = "2.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"bitflags 1.3.2",
|
||||
"cfg-if",
|
||||
"concurrent-queue",
|
||||
"libc",
|
||||
"log",
|
||||
"pin-project-lite",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "polling"
|
||||
version = "3.11.0"
|
||||
@@ -23211,13 +23000,13 @@ dependencies = [
|
||||
"backoff",
|
||||
"bizinikiwi-prometheus-endpoint",
|
||||
"futures",
|
||||
"isahc",
|
||||
"jsonpath_lib",
|
||||
"num-traits",
|
||||
"parking_lot 0.12.5",
|
||||
"pezbp-runtime",
|
||||
"pezsp-runtime",
|
||||
"pezsp-tracing",
|
||||
"reqwest",
|
||||
"serde_json",
|
||||
"sysinfo",
|
||||
"thiserror 1.0.69",
|
||||
@@ -23234,22 +23023,17 @@ checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147"
|
||||
dependencies = [
|
||||
"base64 0.22.1",
|
||||
"bytes",
|
||||
"encoding_rs",
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"h2",
|
||||
"http 1.4.0",
|
||||
"http-body 1.0.1",
|
||||
"http-body-util",
|
||||
"hyper 1.8.1",
|
||||
"hyper-rustls 0.27.7",
|
||||
"hyper-tls",
|
||||
"hyper-util",
|
||||
"js-sys",
|
||||
"log",
|
||||
"mime",
|
||||
"native-tls",
|
||||
"percent-encoding",
|
||||
"pin-project-lite",
|
||||
"quinn",
|
||||
@@ -23260,7 +23044,6 @@ dependencies = [
|
||||
"serde_urlencoded",
|
||||
"sync_wrapper",
|
||||
"tokio",
|
||||
"tokio-native-tls",
|
||||
"tokio-rustls 0.26.4",
|
||||
"tower 0.5.3",
|
||||
"tower-http 0.6.8",
|
||||
@@ -24796,17 +24579,6 @@ dependencies = [
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sluice"
|
||||
version = "0.5.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5"
|
||||
dependencies = [
|
||||
"async-channel 1.9.0",
|
||||
"futures-core",
|
||||
"futures-io",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "smallstr"
|
||||
version = "0.3.1"
|
||||
@@ -24839,7 +24611,7 @@ dependencies = [
|
||||
"async-net",
|
||||
"async-process",
|
||||
"blocking",
|
||||
"futures-lite 2.6.1",
|
||||
"futures-lite",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -24862,7 +24634,7 @@ dependencies = [
|
||||
"either",
|
||||
"event-listener 5.4.1",
|
||||
"fnv",
|
||||
"futures-lite 2.6.1",
|
||||
"futures-lite",
|
||||
"futures-util",
|
||||
"hashbrown 0.15.5",
|
||||
"hex",
|
||||
@@ -24912,7 +24684,7 @@ dependencies = [
|
||||
"event-listener 5.4.1",
|
||||
"fnv",
|
||||
"futures-channel",
|
||||
"futures-lite 2.6.1",
|
||||
"futures-lite",
|
||||
"futures-util",
|
||||
"hashbrown 0.15.5",
|
||||
"hex",
|
||||
@@ -25667,7 +25439,7 @@ version = "3.24.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "655da9c7eb6305c55742045d5a8d2037996d61d8de95806335c7c86ce0f82e9c"
|
||||
dependencies = [
|
||||
"fastrand 2.3.0",
|
||||
"fastrand",
|
||||
"getrandom 0.3.4",
|
||||
"once_cell",
|
||||
"rustix 1.1.3",
|
||||
@@ -26192,16 +25964,6 @@ dependencies = [
|
||||
"syn 2.0.114",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-native-tls"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
|
||||
dependencies = [
|
||||
"native-tls",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-retry"
|
||||
version = "0.3.0"
|
||||
@@ -26939,9 +26701,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
||||
|
||||
[[package]]
|
||||
name = "uuid"
|
||||
version = "1.19.0"
|
||||
version = "1.20.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a"
|
||||
checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f"
|
||||
dependencies = [
|
||||
"getrandom 0.3.4",
|
||||
"js-sys",
|
||||
@@ -27105,12 +26867,6 @@ dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "waker-fn"
|
||||
version = "1.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7"
|
||||
|
||||
[[package]]
|
||||
name = "walkdir"
|
||||
version = "2.5.0"
|
||||
@@ -27902,17 +27658,6 @@ version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
|
||||
|
||||
[[package]]
|
||||
name = "windows-registry"
|
||||
version = "0.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720"
|
||||
dependencies = [
|
||||
"windows-link",
|
||||
"windows-result 0.4.1",
|
||||
"windows-strings",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-result"
|
||||
version = "0.1.2"
|
||||
|
||||
+3
-2
@@ -850,7 +850,7 @@ integer-sqrt = { version = "0.1.2" }
|
||||
ip_network = { version = "0.4.1" }
|
||||
is-terminal = { version = "0.4.9" }
|
||||
is_executable = { version = "1.0.1" }
|
||||
isahc = { version = "1.2" }
|
||||
# isahc removed - replaced with reqwest (rustls-tls) to eliminate OpenSSL dependency
|
||||
itertools = { version = "0.11" }
|
||||
jobserver = { version = "0.1.26" }
|
||||
js-sys = { version = "0.3.70" }
|
||||
@@ -1448,7 +1448,8 @@ regex = { version = "1.10.2" }
|
||||
relay-bizinikiwi-client = { version = "0.1.0", path = "pezbridges/relays/client-bizinikiwi" }
|
||||
relay-utils = { version = "0.1.0", path = "pezbridges/relays/utils" }
|
||||
remote-externalities = { path = "bizinikiwi/utils/pezframe/remote-externalities", version = "0.35.0", default-features = false, package = "pezframe-remote-externalities" }
|
||||
reqwest = { version = "0.12.9" }
|
||||
# Using rustls-tls for pure Rust TLS - no OpenSSL dependency
|
||||
reqwest = { version = "0.12.9", default-features = false, features = ["rustls-tls", "json"] }
|
||||
revm = { version = "27.0.2", default-features = false }
|
||||
ripemd = { version = "0.1.3", default-features = false }
|
||||
rlp = { version = "0.6.1", default-features = false }
|
||||
|
||||
@@ -19,7 +19,8 @@ async-std = { workspace = true }
|
||||
async-trait = { workspace = true }
|
||||
backoff = { workspace = true }
|
||||
futures = { workspace = true }
|
||||
isahc = { workspace = true }
|
||||
# Using reqwest with rustls-tls for pure Rust TLS (no OpenSSL dependency)
|
||||
reqwest = { workspace = true }
|
||||
jsonpath_lib = { workspace = true }
|
||||
num-traits = { workspace = true, default-features = true }
|
||||
parking_lot = { workspace = true, default-features = true }
|
||||
|
||||
@@ -65,10 +65,14 @@ impl FloatJsonValueMetric {
|
||||
|
||||
/// Request value from HTTP service.
|
||||
async fn request_value(&self) -> anyhow::Result<String> {
|
||||
use isahc::{AsyncReadResponseExt, HttpClient, Request};
|
||||
|
||||
let request = Request::get(&self.url).header("Accept", "application/json").body(())?;
|
||||
let raw_response = HttpClient::new()?.send_async(request).await?.text().await?;
|
||||
let client = reqwest::Client::new();
|
||||
let raw_response = client
|
||||
.get(&self.url)
|
||||
.header("Accept", "application/json")
|
||||
.send()
|
||||
.await?
|
||||
.text()
|
||||
.await?;
|
||||
Ok(raw_response)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user