-
-
Notifications
You must be signed in to change notification settings - Fork 9
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
Conversation
configuration
Co-authored-by: Cappy Ishihara <[email protected]>
Into<ExitNode> conversion
Co-authored-by: lleyton <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
There was a problem hiding this 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
|
||
info!("Created instance: {:?}", instance); | ||
|
||
let instance_ip = loop { |
There was a problem hiding this comment.
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"], |
There was a problem hiding this comment.
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
basically all of the logic is now in a chisel_operator lib target, which our entrypoints import from this gets rust_analyzer to handle the dead code warnings properly
what's left for this to be merged |
see: #7 (comment) wanted to discuss with you |
No description provided.