View instance information on all supported cloud providers
Project description
cloudview
View instance information on EC2, Azure, GCE & OpenStack.
Support for other cloud service providers may be easily added thanks to Apache Libcloud
Docker image available at ghcr.io/ricardobranco777/cloudview:latest
Usage
Usage: cloudview [OPTIONS]
Options:
-c, --config FILE path to clouds.yaml
-l, --log debug|info|warning|error|critical
logging level
-o, --output none|text|html|json output type
-p, --port PORT run a web server on port PORT
-r, --reverse reverse sort
-s, --sort name|time|state sort type
-S, --states error|migrating|normal|paused|pending|rebooting|reconfiguring|running|starting|stopped|stopping|suspended|terminated|unknown|updating
filter by instance state
-T, --time TIME_FORMAT time format as used by strftime(3)
-V, --version show version and exit
-v, --verbose be verbose
--insecure insecure mode
Requirements
Docker or Podman to run the Docker image or:
- Python 3.8+ to run installed by pip
- Apache Libcloud
clouds.yaml
Edit examples/clouds.yaml with the relevant information and run chmod 600 /path/to/clouds.yaml
.
NOTES:
- The key names are not arbitrary and are the names of the arguments passed to the class factory of each provider in libcloud.
- If this file is not present, cloudview will try to get the information from the standard
AWS_*
,AZURE_*
,GOOGLE_*
&OS_
environment variables.
To run stand-alone:
pip3 install --user cloudview
cloudview [OPTIONS]
To run with Docker or Podman:
docker run --rm [OPTIONS] -v /path/to/clouds.yaml:/clouds.yaml:ro ghcr.io/ricardobranco777/cloudview -c /clouds.yaml
NOTES:
- Make sure you also mount the path to the JSON file holding the GCE credentials with the same path mentioned in
clouds.yaml
- For private Openstack you'd also want to mount the CA's certificates and add
-e REQUESTS_CA_BUNDLE=/path/to/certs.pem
Run the web server with Docker Compose:
If you have a TLS key pair, put the certificates in cert.pem
, the private key in key.pem
and the file containing the passphrase to the private key in key.txt
. Then edit the docker-compose.yml file to mount the directory to /etc/nginx/ssl
in the container like this: - "/path/to/tls:/etc/nginx/ssl:ro"
. Set and export the NGINX_HOST
environment variable with the FQDN of your host.
For HTTP Basic Authentication, create a file named auth.htpasswd
in the same directory with the TLS key pair.
If you don't have a TLS key pair, a self-signed certificate and a random password for logging in will be generated. You can see the latter with docker compose logs
. The user is test
.
After running docker compose build
& docker compose up -d
you can browse to https://localhost:8443
Debugging
- For debugging you can set the
LIBCLOUD_DEBUG
environment variable to a path like/dev/stderr
Additional information
Similar projects
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
Built Distribution
File details
Details for the file cloudview-0.9.tar.gz
.
File metadata
- Download URL: cloudview-0.9.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16af0ffe60cf243dd641fdbca526394bc6c9900f051d53a7400ea967896ebe6f |
|
MD5 | d97fb4dca9481681179fd16fe32cc3e0 |
|
BLAKE2b-256 | ad2f5243b3a8fffb37593cc64eb87120ad3bde7a9a235d9cd5611f62ccb83825 |
File details
Details for the file cloudview-0.9-py3-none-any.whl
.
File metadata
- Download URL: cloudview-0.9-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85c587c48b949e8040ba383b0a30ab1f0c7bfd7cdac3260b78cc2d9550774c34 |
|
MD5 | bb2a30a2c5db2fffd16a050da765addd |
|
BLAKE2b-256 | 3655bb866aec66ade0e50a2fbcce36c9802f4a8eb934c9950b9ebb44a73e036a |