harness-drone/shared/build/images.go
2014-09-09 21:41:11 -07:00

239 lines
5.6 KiB
Go

package build
type image struct {
// default ports the service will run on.
// for example, 3306 for mysql. Note that a service
// may expose multiple prots, for example, Riak
// exposes 8087 and 8089.
Ports []string
// tag of the docker image to pull in order
// to run this service.
Tag string
// display name of the image type
Name string
}
// List of 3rd party services (database, queue, etc) that
// are known to work with this Build utility.
var services = map[string]*image{
// neo4j
"neo4j": {
Ports: []string{"7474"},
Tag: "bradrydzewski/neo4j:1.9",
Name: "neo4j",
},
"neo4j:1.9": {
Ports: []string{"7474"},
Tag: "bradrydzewski/neo4j:1.9",
Name: "neo4j",
},
// elasticsearch servers
"elasticsearch": {
Ports: []string{"9200"},
Tag: "bradrydzewski/elasticsearch:0.90",
Name: "elasticsearch",
},
"elasticsearch:0.20": {
Ports: []string{"9200"},
Tag: "bradrydzewski/elasticsearch:0.20",
Name: "elasticsearch",
},
"elasticsearch:0.90": {
Ports: []string{"9200"},
Tag: "bradrydzewski/elasticsearch:0.90",
Name: "elasticsearch",
},
// redis servers
"redis": {
Ports: []string{"6379"},
Tag: "bradrydzewski/redis:2.8",
Name: "redis",
},
"redis:2.8": {
Ports: []string{"6379"},
Tag: "bradrydzewski/redis:2.8",
Name: "redis",
},
"redis:2.6": {
Ports: []string{"6379"},
Tag: "bradrydzewski/redis:2.6",
Name: "redis",
},
// mysql servers
"mysql": {
Tag: "bradrydzewski/mysql:5.5",
Ports: []string{"3306"},
Name: "mysql",
},
"mysql:5.5": {
Tag: "bradrydzewski/mysql:5.5",
Ports: []string{"3306"},
Name: "mysql",
},
// memcached
"memcached": {
Ports: []string{"11211"},
Tag: "bradrydzewski/memcached",
Name: "memcached",
},
// mongodb
"mongodb": {
Ports: []string{"27017"},
Tag: "bradrydzewski/mongodb:2.4",
Name: "mongodb",
},
"mongodb:2.4": {
Ports: []string{"27017"},
Tag: "bradrydzewski/mongodb:2.4",
Name: "mongodb",
},
"mongodb:2.2": {
Ports: []string{"27017"},
Tag: "bradrydzewski/mongodb:2.2",
Name: "mongodb",
},
// postgres
"postgres": {
Ports: []string{"5432"},
Tag: "bradrydzewski/postgres:9.1",
Name: "postgres",
},
"postgres:9.1": {
Ports: []string{"5432"},
Tag: "bradrydzewski/postgres:9.1",
Name: "postgres",
},
// couchdb
"couchdb": {
Ports: []string{"5984"},
Tag: "bradrydzewski/couchdb:1.5",
Name: "couchdb",
},
"couchdb:1.0": {
Ports: []string{"5984"},
Tag: "bradrydzewski/couchdb:1.0",
Name: "couchdb",
},
"couchdb:1.4": {
Ports: []string{"5984"},
Tag: "bradrydzewski/couchdb:1.4",
Name: "couchdb",
},
"couchdb:1.5": {
Ports: []string{"5984"},
Tag: "bradrydzewski/couchdb:1.5",
Name: "couchdb",
},
// rabbitmq
"rabbitmq": {
Ports: []string{"5672", "15672"},
Tag: "bradrydzewski/rabbitmq:3.2",
Name: "rabbitmq",
},
"rabbitmq:3.2": {
Ports: []string{"5672", "15672"},
Tag: "bradrydzewski/rabbitmq:3.2",
Name: "rabbitmq",
},
// experimental images from 3rd parties
"zookeeper": {
Ports: []string{"2181"},
Tag: "jplock/zookeeper:3.4.5",
Name: "zookeeper",
},
// cassandra
"cassandra": {
Ports: []string{"9042", "7000", "7001", "7199", "9160", "49183"},
Tag: "relateiq/cassandra",
Name: "cassandra",
},
// riak - TESTED
"riak": {
Ports: []string{"8087", "8098"},
Tag: "guillermo/riak",
Name: "riak",
},
}
// List of official Drone build images.
var builders = map[string]*image{
// Clojure build images
"lein": {Tag: "bradrydzewski/lein"},
// Dart build images
"dart": {Tag: "bradrydzewski/dart:stable"},
"dart_stable": {Tag: "bradrydzewski/dart:stable"},
"dart_dev": {Tag: "bradrydzewski/dart:dev"},
// Erlang build images
"erlang": {Tag: "bradrydzewski/erlang:R16B02"},
"erlangR16B": {Tag: "bradrydzewski/erlang:R16B"},
"erlangR16B02": {Tag: "bradrydzewski/erlang:R16B02"},
"erlangR16B01": {Tag: "bradrydzewski/erlang:R16B01"},
// GCC build images
"gcc": {Tag: "bradrydzewski/gcc:4.6"},
"gcc4.6": {Tag: "bradrydzewski/gcc:4.6"},
"gcc4.8": {Tag: "bradrydzewski/gcc:4.8"},
// Golang build images
"go": {Tag: "bradrydzewski/go:1.2"},
"go1": {Tag: "bradrydzewski/go:1.0"},
"go1.1": {Tag: "bradrydzewski/go:1.1"},
"go1.2": {Tag: "bradrydzewski/go:1.2"},
"go1.3": {Tag: "bradrydzewski/go:1.3"},
// Haskell build images
"haskell": {Tag: "bradrydzewski/haskell:7.4"},
"haskell7.4": {Tag: "bradrydzewski/haskell:7.4"},
// Java build images
"java": {Tag: "bradrydzewski/java:openjdk7"},
"openjdk6": {Tag: "bradrydzewski/java:openjdk6"},
"openjdk7": {Tag: "bradrydzewski/java:openjdk7"},
"oraclejdk7": {Tag: "bradrydzewski/java:oraclejdk7"},
"oraclejdk8": {Tag: "bradrydzewski/java:oraclejdk8"},
// Node build images
"node": {Tag: "bradrydzewski/node:0.10"},
"node0.10": {Tag: "bradrydzewski/node:0.10"},
"node0.8": {Tag: "bradrydzewski/node:0.8"},
// PHP build images
"php": {Tag: "bradrydzewski/php:5.5"},
"php5.5": {Tag: "bradrydzewski/php:5.5"},
"php5.4": {Tag: "bradrydzewski/php:5.4"},
// Python build images
"python": {Tag: "bradrydzewski/python:2.7"},
"python2.7": {Tag: "bradrydzewski/python:2.7"},
"python3.2": {Tag: "bradrydzewski/python:3.2"},
"python3.3": {Tag: "bradrydzewski/python:3.3"},
"pypy": {Tag: "bradrydzewski/python:pypy"},
// Ruby build images
"ruby": {Tag: "bradrydzewski/ruby:2.0.0"},
"ruby2.0.0": {Tag: "bradrydzewski/ruby:2.0.0"},
"ruby1.9.3": {Tag: "bradrydzewski/ruby:1.9.3"},
// Scala build images
"scala": {Tag: "bradrydzewski/scala:2.10.3"},
"scala2.10.3": {Tag: "bradrydzewski/scala:2.10.3"},
"scala2.9.3": {Tag: "bradrydzewski/scala:2.9.3"},
}