Manage your bastion sessions automatically without pain of creating them by clicking and copy pasting commands
No specific requirements here, whatever runs Python
- Oracle Cloud
- 3.7+
- Add key in your Oracle cloud profile
- Generate new key
- Copy configuration file generated in your profile to
~/.oci/config - Replace path of your
*.pemkey on line with #TODO
On 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- Use
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 default - Use
abst ctx generate {context}to generate default config for context, leave context empty if you want to generate to default
abst 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 forabst createabst cleanfor removal all the saved credentialsabst use {context}for using different config that you had filled,defaultis the default context increds.json- Use
abst ctx locate {context}to locate your configs, leave context empty if you want to locate default
abst ctx listto list contextsabst ctx upgrade <context-name>to upgrade context you can use--allflag 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--rawto just get jsonabst ctx paste <context-name>to paste contents into context file provided from name
abst sshfacilitates selecting an instance to connect to. The optionalportargument 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.abstemploys theinoperator 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 yourcontext folderto stack that will be executedabst parallel remove {context}will remove context from yourcontext folderto stack that will be executedabst parallel run {context}will run all the stacked contextsabst parallel displaywill display current stacked contextsabst parallel listwill list all sets with contexts
abst helm loginwill 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 use
abst 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 source
Did I made your life less painful ?
Support my coffee addiction ;)