# Functions
EnsureKnownHosts scans the bastion host for its SSH keys and writes them to a custom known hosts location for promptless interaction with the infrastructure.
GetAuthMethods tries to contact ssh-agent to get the AuthMethods and falls back to reading the keyfile directly in case of a missing SSH_AUTH_SOCK env var or an error dialing the unix socket.
KeyScan runs ssh-keyscan silently against the provided bastion address.
SSH establishes an interactive Secure Shell session to the supplied host as user ubuntu and on port 22.
StartInteractiveSSHShell starts an interactive SSH shell with the supplied ClientConfig.
StartRemoteListener sets up a remote listener on the SSH connection.
# Constants
ConfigPath is the path to write the simulator SSH config file.
KnownHostsPath is the path to write the simulator SSH config file.
PrivateKeyPath is the path to the key to be generated and used by simulator.
PublicKeyPath is the path to the key to be generated and used by simulator.
# Structs
KeyPair has an SSH Private and Public key pair.
LocalStateProvider is the default State provider and persists all state into the local ~/.kubesim directory.
# Interfaces
StateProvider provides methods for storing or retrieving state about a user and their cluster.