Manage your bastion sessions automatically without pain of creating them by clicking and copy pasting commands
No specific requirements here, whatever runs Python
~/.oci/config
*.pem
key on line with #TODOOn most MacOS machines there is pip3
instead of pip
use pip3 for install
Install and update using pip:
pip install abst
or
pip3 install abst
abst ctx fill {context}
to fill your credentials for usage, you can find all the
credentials on
cloud provider site, leave context empty if you want to fill defaultabst ctx generate {context}
to generate default config for context, leave context empty if you
want to generate to
defaultabst create forward/managed {context}
for automatic Bastion session creation once
deleted, will keep your,
leave context empty if you want to use default
connection alive till you kill this scriptabst do forward/managed {context}
alias for abst create
abst clean
for removal all the saved credentialsabst use {context}
for using different config that you had filled, default
is the default
context in creds.json
abst ctx locate {context}
to locate your configs, leave context empty if you want to locate
defaultabst ctx list
to list contextsabst ctx upgrade <context-name>
to upgrade context you can use --all
flag to upgrade all contextsabst ctx locate <context-name>
to get a full path of contextabst ctx share <context-name>
to copy context contents into clipboard and display it, you can use --raw
to just
get jsonabst ctx paste <context-name>
to paste contents into context file provided from nameabst ssh
facilitates selecting an instance to connect to. The optional port
argument can be specified partially; a
connection is established if only one match is found. Use -n <context-name>
to filter a connection, where the name
can be a partial match. abst
employs the in
operator for searching and proceeds with SSH if a single matching
instance exists.If you are more demanding and need to have connection to your SSH Tunnels ready at all times you can use parallel executed Bastions that currently work for full-auto forwarded setting
Change local port in the setting to port that is unique to other configs, and it will be running on
all the added ports
Until you kill the abst
command, it will automatically remove all generated Bastion sessions by
this program
abst parallel add {context}
will add context from your context folder
to stack that will be
executedabst parallel remove {context}
will remove context from your context folder
to stack that
will be executedabst parallel run {context}
will run all the stacked contextsabst parallel display
will display current stacked contextsabst parallel list
will list all sets with contextsabst helm login
will log you in with credentials set in config.json, you set these credentials
when running this command first time. Edit with flag --edit 1-n number is the index of credential
in listabst helm push <chart-name>
will push to specified remote branch, if more credentials preset it
will let you pick which one to useabst pod ssh <part of name>
will ssh into pod with similar name, if multiple found it will display selectabst cp secret secret_namespace target_namespace source_namespace(optional)
this will copy
secret to target namespace, without providing source namespace it will use current as a sourceDid I made your life less painful ?
Support my coffee addiction ;)