Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here

images

Images is a tool for managing machine images from multiple providers

Subscribe to updates I use images


Statistics on images

Number of watchers on Github 61
Number of open issues 8
Average time to close an issue 7 days
Main language Go
Average time to merge a PR 1 day
Open pull requests 0+
Closed pull requests 0+
Last commit over 3 years ago
Repo Created over 4 years ago
Repo Last Updated over 1 year ago
Size 2.17 MB
Organization / Authorfatih
Latest Releasev0.1.0
Contributors3
Page Updated
Do you use images? Leave a review!
View open issues (8)
View images activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating images for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Images Build Status

Images is a tool to manage machine images from multiple providers over a single CLI interface. Its fast(concurrent actions), simple to use and very flexible. Think of it as a companion to the popular image creation tool Packer. You can fetch images from multiple providers, delete them, change tags or names of multiple images, any many other things.

images

Features

  • Multiple provider backend support: AWS, DigitalOcean, GCE, etc...
  • Multi region support
  • List images from multiple regions/providers
  • Modify image attributes, such as tags, names, states
  • Delete images
  • Copy images from one region to another region
  • Commands are executed concurrently (delete, list, etc..).
  • Flexible configuration system. Read from file, environment variables or command line flags.

Installation

Images is still under development. Any feedback/contribution is welcome! Download the latest release suitable for your system:

Images releases

(Want to build & develop the source? Check out the Build&Develop section!)

Intro

To list all commands just run images:

$ images
usage: images [--version] [--help] <command> [<args>]

Available commands are:
    copy        Copy images to regions
    delete      Delete available images
    list        List available images
    modify      Modify image properties
    version     Prints the Images version

...

Because images is built around to support multiple providers, each provider has a specific set of features. To display the specific provider help message pass the -providers name -help flags at any time, where name is the provider name, such as aws.

Current supported providers are:

  • aws
  • do
  • gce
  • sl

Coming soon:

  • virtualbox
  • docker

Configuration

images is a very flexible CLI tool. It can parse the necessary configuration from either a file, from environment variables or command line flags. Examples:

$ images list --providers aws --regions "us-east-1,eu-west-2" --access-key "..." -secret-key "..."

or via environment variable:

$ IMAGES_PROVIDERS=aws IMAGES_AWS_REGIONS="us-east-1" IMAGES_AWS_ACCESS_KEY=".." images list

or via .imagesrc file, which can be either in TOML or JSON. Below is an example for TOML:

providers = ["aws"]
no_color  = true

[aws]
regions    = ["us-east-1","eu-west-2"]
access_key = "..."
secret_key = "..."

and execute simply:

$ images list

Usage

images has multi provider support. The following examples are for the provider aws. The commands are supposed to be executed with IMAGES_PROVIDERS=aws or with --providers aws or added to .imagesrc file via providers = "aws"

List

List images for a given region. Examples:

$ images list -regions "us-east-1"

List from all regions (fetches concurrently):

$ images list -regions "all"

List from multiple providers (fetches concurrently):

$ images list -providers "aws,do"

List from all supported providers

$ images list -providers "all"

Change output mode to json

$ images list -output json

Delete

Delete images from the given provider. Examples:

$ images delete -ids "ami-1ec4d766,ami-c3h207b4,ami-26f1d9r37"

Note that you don't need to specify a region if you define multiple ids. images is automatically matching the correct region and deletes it. Plus they all are deleted concurrently.

Modify

images allows to change the tags of AWS images for the provider aws.

To create or override a image tag:

$ images modify --create-tags "Name=ImagesExample" --ids ami-f465e69d

To delete the tags of an image

$ images modify --delete-tags "Name=ImagesExample" --ids ami-f465e69d

The commands also have support for batch action:

$ images modify --create-tags "Name=Example" --ids ami-f465e69d,ami-c5c237ac,ami-64pgca7e
$ images modify --delete-tags "Name=Example" --ids ami-f465e69d,ami-c5c237ac,ami-64pgca7e

Just like for the delete command, all you need to give is the ami ids. images will automatically match the region for the given id. You don't need to define any region information.

Copy

Copy supports copying an AMI to the same or different regions. Below is a simple example:

$ images copy -image "ami-530ay345" -to "us-east-1"

Copy supports concurrent copying to multiple regions.:

$ images copy -image "ami-530ay345" -to "us-east-1,ap-southeast-1,eu-central-1"

Description can be given too (optional):

$ images copy -image "ami-530ay345" -to "us-east-1"  -desc "My new AMI"

Build & Development

To build images just run (gb needs to be available on the system):

$ make build

This will put the images binary in the bin folder. Development builds doesn't have a version, so if called with --version it'll output dev:

$ .bin/images --version
dev

For creating release binaries run (goxc required):

IMAGES_VERSION="0.1.0" make release

License

The BSD 3-Clause License - see LICENSE for more details

images open issues Ask a question     (View All Issues)
  • about 4 years Add homebrew installation step for Mac
  • about 4 years Add OpenStack Glance Support
  • about 4 years Add logging and debug mechanism
  • about 4 years Switch to gb for building the project
  • about 4 years Add Virtualbox support
  • about 4 years Delete command should have multi provider support
  • about 4 years Add Docker support
  • about 4 years Check commands periodically with -watch
images questions on Stackoverflow (View All Questions)
  • How to display images with a fade in effect in a listview?
  • Does forcing no-cache on html pages also force no-cache on images?
  • Equalize contrast and brightness across multiple images
  • Obtain sigma of gaussian blur between two images
  • Swift / Array of images using download
  • Attaching multiple images to User Model using Arc and Arc.Ecto
  • how to write multiple images to a folder in scilab?
  • Bootstrap Carousel with instafeed.js (loop two images)
  • Django-Oscar with AWS S3 save images correctly
  • What is the space on the right of images in chrome?
  • Improving efficiency of using for loops to correct dead pixels across an entire dataset of images
  • canvas fails to generate all images in loop
  • IE11, Amazon S3, and a Rails proxy results in images not loading/request aborting
  • Issue with using Skew CSS when using a group of three images
  • Dynamically adding multiple Images to a Crystal Report in vb.net (WinForms)
  • How to set different images depending on watch notifications
  • Convert images drawn by turtle to PNG in Python
  • SE MTF Nyquist plugin for images
  • Auto multi-column fixed height issue with horizontal scroll and images
  • How can I save images to the app instead of the gallery?
  • how to send multiple images using multipart form data in angular js and spring mvc
  • Parallel uploads for multiple images using DropzoneJS
  • Django Imagekit - delete generated images
  • How can I use fuzzy logic to analyze two images in MATLAB?
  • Celery task in Flask for uploading and resizing images and storing it to Amazon S3
  • How to upload multiple images with DropzoneJS
  • Is it possible to implement dropzone to upload images to wordpress media library?
  • How Post images on Imgur users line
  • Is storing images in base64 format more performant than just downloading them?
  • Facebook poll based on images
images list of languages used
images latest release notes
v0.1.0 v0.1.0

First release of images

Other projects in Go