Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cloud provisioning + QoL #7

Merged
merged 78 commits into from
Jan 25, 2024
Merged

Cloud provisioning + QoL #7

merged 78 commits into from
Jan 25, 2024

Conversation

lleyton
Copy link
Member

@lleyton lleyton commented Nov 28, 2023

No description provided.

@lleyton lleyton changed the title Cloud provisioning, and QoL Cloud provisioning + QoL Nov 28, 2023
@korewaChino korewaChino requested review from korewaChino and removed request for korewaChino January 20, 2024 08:42
@lleyton lleyton marked this pull request as ready for review January 20, 2024 08:50
Copy link
Member

@korewaChino korewaChino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Member Author

@lleyton lleyton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see comments, besides that, seems ready to merge

we do need to support SSH fingerprinting soon tho

LICENSE.md Outdated Show resolved Hide resolved

info!("Created instance: {:?}", instance);

let instance_ip = loop {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

while these loops are okay for now, this isn't a reliable solution that we want to keep for long

we should ideally have an "ip acquiring" state on the ExitNode, and have a single loop in the operator that polls the relevant provider for matched ExitNodes

that way, if the operator crashes while this wait is happening, we can resume from where we left off, with the node we already created with the provider, otherwise there's the chance that we may leave a random dangling node

@@ -0,0 +1,41 @@
pub fn generate_cloud_init_config(password: &str, port: u16) -> String {
let cloud_config = serde_json::json!({
"runcmd": ["curl https://i.jpillora.com/chisel! | bash", "systemctl enable --now chisel"],
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sometimes I wish we had our own image... but maintaining images for all of these stupid cloud providers is.. yeah

src/cloud/aws.rs Show resolved Hide resolved
src/cloud/mod.rs Outdated Show resolved Hide resolved
src/daemon.rs Show resolved Hide resolved
src/daemon.rs Outdated Show resolved Hide resolved
src/daemon.rs Show resolved Hide resolved
src/daemon.rs Show resolved Hide resolved
src/deployment.rs Outdated Show resolved Hide resolved
@korewaChino
Copy link
Member

what's left for this to be merged

@lleyton
Copy link
Member Author

lleyton commented Jan 25, 2024

see: #7 (comment)

wanted to discuss with you

@lleyton lleyton merged commit cc69092 into main Jan 25, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants