GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — deploykit/cmd/infrakit at master · docker-archive/deploykit

This repository was archived by the owner on Jan 21, 2020. It is now read-only.

Expand file tree

/

infrakit

/
Copy path

Directory actions

More options

More options

Directory actions

More options

More options

Latest commit

 

History

History
History
/

infrakit

/
Copy path

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
base
base
 
 
manager
manager
 
 
playbook
playbook
 
 
plugin
plugin
 
 
remote
remote
 
 
template
template
 
 
up
up
 
 
util
util
 
 
x
x
 
 
README.md
README.md
 
 
aws.go
aws.go
 
 
builtin.go
builtin.go
 
 
digitalocean.go
digitalocean.go
 
 
docker.go
docker.go
 
 
google.go
google.go
 
 
hyperkit.go
hyperkit.go
 
 
ibmcloud.go
ibmcloud.go
 
 
kubernetes.go
kubernetes.go
 
 
libvirt.go
libvirt.go
 
 
maas.go
maas.go
 
 
main.go
main.go
 
 
oneview.go
oneview.go
 
 
oracle.go
oracle.go
 
 
packet.go
packet.go
 
 
providers.go
providers.go
 
 
rackhd.go
rackhd.go
 
 
terraform.go
terraform.go
 
 
ucs.go
ucs.go
 
 
vagrant.go
vagrant.go
 
 
vsphere.go
vsphere.go
 
 

README.md

Outline

InfraKit CLI

This is a developer CLI for working with various InfraKit plugins. The CLI offers several subcommands for working with plugins. In general, plugin methods are exposed as verbs and configuration JSON can be read from local file.

Building

Begin by building plugin binaries.

List Plugins

$ build/infrakit plugin ls
Plugins:
NAME                	LISTEN
flavor-swarm        	~/.infrakit/plugins/flavor-swarm
flavor-zookeeper    	~/.infrakit/plugins/flavor-zookeeper
group               	~/.infrakit/plugins/group
instance-file       	~/.infrakit/plugins/instance-file

Once you know the plugins by name, you can make calls to them. For example, the instance plugin instance-file is a Plugin that "provisions" instances by writing the instructions to a file in a local directory.

You can access the following plugins and their methods via command line:

  • instance
  • group
  • flavor

Working with Instance Plugin

Using the plugin instance-file as an example:

Validate

Save the folliwing in a file named instance.json,

{
    "Properties": {
        "version": "v0.0.1"
    },
    "Tags": {
        "instanceType": "small",
        "group": "test2"
    },
    "Init": "#!/bin/sh\napt-get install -y wget",
    "LogicalID": "logic2"
}

and send a request for an instance plugin to validate it:

$ build/infrakit instance --name instance-file instance.json
validate:ok

Provision

$ build/infrakit instance --name instance-file provision instance.json
instance-1474873473

List instances

$ build/infrakit instance --name instance-file describe
ID                            	LOGICAL                       	TAGS
instance-1474850397           	  -                           	group=test,instanceType=small
instance-1474850412           	  -                           	group=test2,instanceType=small
instance-1474851747           	logic2                        	group=test2,instanceType=small
instance-1474873473           	logic2                        	group=test2,instanceType=small

Destroy

$ build/infrakit instance --name instance-file destroy instance-1474873473
destroyed instance-1474873473
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.