* codebases * codebases * foo * foo * foo * foo * fix(frontend): Disable the insert button when required fields are empty strings (#3659) * fix(frontend): use normal password mask for the sensitive fields of the resource editor * handle super admins in password arg input * chore(main): release 1.323.2 (#3660) * chore(main): release 1.323.2 * Apply automatic changes --------- Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com> * foo * all * s3_helpers move * progress * all * progress * progress * progress * progress * codebase final * update without ee * sqlx * all * all * all * all * all * all * all * all * all * all * all * all * all * all * all * update * all * all * all --------- Co-authored-by: Faton Ramadani <faton.ramadani14@gmail.com> Co-authored-by: rubenfiszel <rubenfiszel@users.noreply.github.com>
32 lines
1.0 KiB
Rust
32 lines
1.0 KiB
Rust
/*
|
|
* Author: Ruben Fiszel
|
|
* Copyright: Windmill Labs, Inc 2022
|
|
* This file and its contents are licensed under the AGPLv3 License.
|
|
* Please see the included NOTICE for copyright information and
|
|
* LICENSE-AGPL for a copy of the license.
|
|
*/
|
|
|
|
//! Used to determine the internet address that connections from workers will appear to come from.
|
|
//!
|
|
//! For users writing scripts to access their infrastructure with firewalls requiring incoming
|
|
//! connections to be from whitelisted IP addresses.
|
|
|
|
use std::time::Duration;
|
|
|
|
pub async fn get_ip() -> anyhow::Result<String> {
|
|
tokio::select! {
|
|
biased;
|
|
_ = tokio::time::sleep(Duration::from_secs(10)) => {
|
|
return Err(anyhow::anyhow!("Expected to get ip under 10s"))
|
|
},
|
|
ip = reqwest::ClientBuilder::new()
|
|
.connect_timeout(Duration::from_secs(5))
|
|
.timeout(Duration::from_secs(5))
|
|
.build()?
|
|
.get("https://hub.windmill.dev/getip")
|
|
.send() => Ok(ip?
|
|
.error_for_status()?
|
|
.text().await?),
|
|
}
|
|
}
|