View instance information on all supported cloud providers
Project description
# cloudview
View instance information on all supported cloud providers
## Usage
```
Usage: cloudview [OPTIONS]
Options:
-d, --debug debug mode
-h, --help show this help message and exit
-o, --output text|html|json|JSON output type
-p, --port PORT run a web server on port PORT
-r, --reverse reverse sort
-s, --sort name|time|status sort type
-S, --status stopped|running|all filter by instance status
-T, --time TIME_FORMAT time format as used by strftime(3)
-V, --version show version and exit
Filter options:
--filter-aws NAME VALUE may be specified multiple times
--filter-azure FILTER Filter for Azure
--filter-gcp FILTER Filter for GCP
```
**NOTES**:
- Use `--output JSON` to dump _all_ available information received from each provider's SDK.
- Remember to set these variables:
- `GOOGLE_APPLICATION_CREDENTIALS`
- `AZURE_TENANT_ID`
- `AZURE_SUBSCRIPTION_ID`
- `AZURE_CLIENT_SECRET`
- `AZURE_CLIENT_ID`
This script is best run with Docker to have all dependencies in just one package, but it may be run stand-alone on systems with Python 3.4+
## To run stand-alone:
```
pip install --user cloudview
```
**NOTE**: You may need to upgrade `pip` before with `pip install --user --upgrade pip`.
## To run with Docker:
Build image with:
```
docker build -t cloud --pull .
```
Run with:
```
docker run --rm -v ~/.aws:/root/.aws:ro -v "$GOOGLE_APPLICATION_CREDENTIALS:$GOOGLE_APPLICATION_CREDENTIALS:ro" -e AZURE_TENANT_ID -e AZURE_SUBSCRIPTION_ID -e AZURE_CLIENT_SECRET -e AZURE_CLIENT_ID -e GOOGLE_APPLICATION_CREDENTIALS=/root/$(basename $GOOGLE_APPLICATION_CREDENTIALS) cloudview --status all
```
## Run the web server with [Docker Compose](https://docs.docker.com/compose/install/):
If you have a TLS key pair, rename the certificate to `cert.pem`, the private key to `key.pem` and the file containing the password to the private key to `key.txt`. Then edit the [docker-compose.yml](docker-compose.yml) file to mount them to `/etc/nginx/ssl` in read-only mode like this: `- "/path/to/tls:/etc/nginx/ssl:ro"`.
If you don't have a TLS key pair, a self-signed certificate will be generated. Be aware of the typical problems with time resolution related to TLS certificates.
```
docker-compose up -d
```
Now browse to [https://localhost:8443](https://localhost:8443)
To stop the web server:
```
docker-compose down
```
To rebuild with latest version:
```
docker-compose build --pull
```
## TODO
- Search by tag
- Sort by instance type
- Use apache-libcloud?
View instance information on all supported cloud providers
## Usage
```
Usage: cloudview [OPTIONS]
Options:
-d, --debug debug mode
-h, --help show this help message and exit
-o, --output text|html|json|JSON output type
-p, --port PORT run a web server on port PORT
-r, --reverse reverse sort
-s, --sort name|time|status sort type
-S, --status stopped|running|all filter by instance status
-T, --time TIME_FORMAT time format as used by strftime(3)
-V, --version show version and exit
Filter options:
--filter-aws NAME VALUE may be specified multiple times
--filter-azure FILTER Filter for Azure
--filter-gcp FILTER Filter for GCP
```
**NOTES**:
- Use `--output JSON` to dump _all_ available information received from each provider's SDK.
- Remember to set these variables:
- `GOOGLE_APPLICATION_CREDENTIALS`
- `AZURE_TENANT_ID`
- `AZURE_SUBSCRIPTION_ID`
- `AZURE_CLIENT_SECRET`
- `AZURE_CLIENT_ID`
This script is best run with Docker to have all dependencies in just one package, but it may be run stand-alone on systems with Python 3.4+
## To run stand-alone:
```
pip install --user cloudview
```
**NOTE**: You may need to upgrade `pip` before with `pip install --user --upgrade pip`.
## To run with Docker:
Build image with:
```
docker build -t cloud --pull .
```
Run with:
```
docker run --rm -v ~/.aws:/root/.aws:ro -v "$GOOGLE_APPLICATION_CREDENTIALS:$GOOGLE_APPLICATION_CREDENTIALS:ro" -e AZURE_TENANT_ID -e AZURE_SUBSCRIPTION_ID -e AZURE_CLIENT_SECRET -e AZURE_CLIENT_ID -e GOOGLE_APPLICATION_CREDENTIALS=/root/$(basename $GOOGLE_APPLICATION_CREDENTIALS) cloudview --status all
```
## Run the web server with [Docker Compose](https://docs.docker.com/compose/install/):
If you have a TLS key pair, rename the certificate to `cert.pem`, the private key to `key.pem` and the file containing the password to the private key to `key.txt`. Then edit the [docker-compose.yml](docker-compose.yml) file to mount them to `/etc/nginx/ssl` in read-only mode like this: `- "/path/to/tls:/etc/nginx/ssl:ro"`.
If you don't have a TLS key pair, a self-signed certificate will be generated. Be aware of the typical problems with time resolution related to TLS certificates.
```
docker-compose up -d
```
Now browse to [https://localhost:8443](https://localhost:8443)
To stop the web server:
```
docker-compose down
```
To rebuild with latest version:
```
docker-compose build --pull
```
## TODO
- Search by tag
- Sort by instance type
- Use apache-libcloud?
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
cloudview-0.1.16.tar.gz
(8.0 kB
view details)
Built Distribution
File details
Details for the file cloudview-0.1.16.tar.gz
.
File metadata
- Download URL: cloudview-0.1.16.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5528d1fc2f52f4f48f54e097587ef93a6466280f0d760a6ed30b42d902b1152f |
|
MD5 | 0bb94079213a14c4643e13e8a54281b4 |
|
BLAKE2b-256 | 7ed48e70c2697f189ad4f0769c220f006b25532e0e1c16955f0cf84628712abb |
File details
Details for the file cloudview-0.1.16-py3-none-any.whl
.
File metadata
- Download URL: cloudview-0.1.16-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e75b336c104c7a036d42596e5e365efd64b4a1361cfb39e08ef3506b32c8a0b |
|
MD5 | 013c4d404fece65c7fe22fb94d13d96a |
|
BLAKE2b-256 | 5470af7621fdbb82d35c3d03c0b635751498db9a7a95b10d5f145621abdce1eb |