I don't believe it
This commit is contained in:
13
README.md
13
README.md
@@ -60,15 +60,16 @@ For AWS you firstly need an [account](https://aws.amazon.com/account/) and then
|
||||
|
||||
# Dependencies 📦
|
||||
|
||||
We would have 3 external dependecies but due to missing functionality in libcloud when it comes to Azure management we need 6.
|
||||
We would have 4 external dependecies but due to missing functionality in libcloud when it comes to Azure management we need 7.
|
||||
|
||||
1. [libcloud](https://github.com/apache/libcloud)
|
||||
2. [python-dotenv](https://github.com/theskumar/python-dotenv)
|
||||
1. [libcloud](https://github.com/apache/libcloud) which is the main dependency to connect to the cloud providers
|
||||
2. [python-dotenv](https://github.com/theskumar/python-dotenv) which is used to read the `.env` file
|
||||
3. [paramiko](https://github.com/paramiko/paramiko) which is actually needed for the deployment of libcloud
|
||||
4. [azure-sdk-for-python](https://github.com/Azure/azure-sdk-for-python) from which we need
|
||||
1. [azure-identity](https://pypi.org/project/azure-identity/)
|
||||
2. [azure-mgmt-resource](https://pypi.org/project/azure-mgmt-resource/)
|
||||
3. [azure-mgmt-network](https://pypi.org/project/azure-mgmt-network/)
|
||||
1. [azure-identity](https://pypi.org/project/azure-identity/) to authenticate with Azure
|
||||
2. [azure-mgmt-resource](https://pypi.org/project/azure-mgmt-resource/) to manage Azure resources
|
||||
3. [azure-mgmt-network](https://pypi.org/project/azure-mgmt-network/) to manage Azure networks
|
||||
5. [shtab](https://github.com/iterative/shtab) which is used to generate bash and zsh completion scripts
|
||||
|
||||
# Installation 🛠️
|
||||
|
||||
|
||||
@@ -190,3 +190,27 @@ To do that you can simply run `python3 secdep.py -P aws --awsregion <region> -a
|
||||
If you can, prefer a better ssh client.
|
||||
|
||||
To SSH into a virtual machine you get the choice from `python3 secdep.py -ssh` or `python3 secdep.py -P gce -ssh` to only choose from the gce instances.
|
||||
|
||||
# Generating shell completion scripts 🐚
|
||||
|
||||
To generate shell completion scripts you can run
|
||||
|
||||
`python3 secdep.py --print-completion zsh`
|
||||
|
||||
or
|
||||
|
||||
`python3 secdep.py --print-completion bash`
|
||||
|
||||
according to your shell of choice.
|
||||
|
||||
To use the completion scripts you need to put them in the right place for each shell after we save the output to a file.
|
||||
|
||||
For example, if you are using zsh and you aliased the command to `secdep` you can run
|
||||
|
||||
`secdep --print-completion zsh > _secdep && sudo mv _secdep /usr/share/zsh/site-functions`
|
||||
|
||||
Then when you reload your shell you can use the completion scripts.
|
||||
|
||||
For bash the command would be `secdep --print-completion bash > secdep && sudo mv secdep /etc/bash_completion.d`
|
||||
|
||||
Then make sure in your `.bashrc` or `.bash_profile` you have `source /etc/bash_completion.d/secdep` and reload your shell
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
import os
|
||||
import sys
|
||||
import argparse
|
||||
import shtab
|
||||
import time
|
||||
import paramiko
|
||||
import socket
|
||||
@@ -54,6 +55,7 @@ parser = argparse.ArgumentParser(
|
||||
prog='secdep.py',
|
||||
description='Manage cloud instances',
|
||||
)
|
||||
shtab.add_argument_to(parser, ["-comp", "--print-completion"])
|
||||
parser.add_argument('-l', '--list', help='List all instances or with -P PROVIDER list a provider\'s instances', action='store_true')
|
||||
parser.add_argument('-e', '--edit', help='Change credential values', action='store_true')
|
||||
parser.add_argument('-v', '--version', help='Show secdep\'s version', action='store_true')
|
||||
|
||||
Reference in New Issue
Block a user