Skip to main content

CLI Command making OCI Bastion and kubernetes usage simple and fast

Project description

Auto Bastion

Manage your bastion sessions automatically without pain of creating them by clicking and copy pasting commands

image PyPI - Python Version Downloads

Supported

OS

No specific requirements here, whatever runs Python

Cloud Providers

  • Oracle Cloud

Requirements

Python

  • 3.7+

Configuration of OCI SDK

  • Add key in your Oracle cloud profile
  • Generate new key
  • Copy configuration file generated in your profile to ~/.oci/config
  • Replace path of your *.pem key on line with #TODO

Installing

MacOS

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

How to set up

  • 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

Usage

Both commands do automatic reconnect on idle SSH Tunnel termination
  • 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 script
  • abst do forward/managed {context} alias for abst create
  • abst clean for removal all the saved credentials
  • abst use {context} for using different config that you had filled, default is the default context in creds.json
  • Use abst ctx locate {context} to locate your configs, leave context empty if you want to locate default

Context commands

  • abst ctx list to list contexts
  • abst ctx upgrade <context-name> to upgrade context you can use --all flag to upgrade all contexts
  • abst ctx locate <context-name> to get a full path of context
  • abst ctx share <context-name> to copy context contents into clipboard and display it, you can use --raw to just get json
  • abst ctx paste <context-name> to paste contents into context file provided from name

Session commands

  • abst 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.

Parallel execution

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 executed
  • abst parallel remove {context} will remove context from your context folder to stack that will be executed
  • abst parallel run {context} will run all the stacked contexts
  • abst parallel display will display current stacked contexts
  • abst parallel list will list all sets with contexts

Helm registry commands

  • abst 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 list
  • abst helm push <chart-name> will push to specified remote branch, if more credentials preset it will let you pick which one to use

Kubectl commands

  • abst pod ssh <part of name> will ssh into pod with similar name, if multiple found it will display select
  • abst 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 ;)
Buy me a Coffee

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

abst-2.3.59.tar.gz (30.4 kB view details)

Uploaded Source

Built Distribution

abst-2.3.59-py3-none-any.whl (36.9 kB view details)

Uploaded Python 3

File details

Details for the file abst-2.3.59.tar.gz.

File metadata

  • Download URL: abst-2.3.59.tar.gz
  • Upload date:
  • Size: 30.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for abst-2.3.59.tar.gz
Algorithm Hash digest
SHA256 331c54686dbed25637ce104a3e42fa0524de60b83c6b44cf5b45b447c5b46862
MD5 b87741269a6c7e563a0e340074e6d182
BLAKE2b-256 05934bd11fbfe0e117a40099100a2d409ce83591a644331cf7c2d3c66b9ca33f

See more details on using hashes here.

File details

Details for the file abst-2.3.59-py3-none-any.whl.

File metadata

  • Download URL: abst-2.3.59-py3-none-any.whl
  • Upload date:
  • Size: 36.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for abst-2.3.59-py3-none-any.whl
Algorithm Hash digest
SHA256 e6656990e3b9a705b2dc7fc7f1b30fa4702348e896fb9ad4a7f835a6c1ed4798
MD5 5c57b7d74db8a099991710c7bdba2ae2
BLAKE2b-256 863f8c2fbdf0606c02dadf993034a072a4e8ff8b262361520797433691b44121

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page