Skip to main content

View instance information on all supported cloud providers

Project description

Build Status

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:

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


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.9.tar.gz (14.4 kB view hashes)

Uploaded Source

Built Distribution

cloudview-0.9-py3-none-any.whl (16.8 kB view hashes)

Uploaded Python 3

Supported by

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