github.com/robryk/drone@v0.2.1-0.20140602202253-40fe4305815d/pkg/build/images.go (about)

     1  package build
     2  
     3  type image struct {
     4  	// default ports the service will run on.
     5  	// for example, 3306 for mysql. Note that a service
     6  	// may expose multiple prots, for example, Riak
     7  	// exposes 8087 and 8089.
     8  	Ports []string
     9  
    10  	// tag of the docker image to pull in order
    11  	// to run this service.
    12  	Tag string
    13  
    14  	// display name of the image type
    15  	Name string
    16  }
    17  
    18  // List of 3rd party services (database, queue, etc) that
    19  // are known to work with this Build utility.
    20  var services = map[string]*image{
    21  
    22  	// neo4j
    23  	"neo4j": {
    24  		Ports: []string{"7474"},
    25  		Tag:   "bradrydzewski/neo4j:1.9",
    26  		Name:  "neo4j",
    27  	},
    28  	"neo4j:1.9": {
    29  		Ports: []string{"7474"},
    30  		Tag:   "bradrydzewski/neo4j:1.9",
    31  		Name:  "neo4j",
    32  	},
    33  
    34  	// elasticsearch servers
    35  	"elasticsearch": {
    36  		Ports: []string{"9200"},
    37  		Tag:   "bradrydzewski/elasticsearch:0.90",
    38  		Name:  "elasticsearch",
    39  	},
    40  	"elasticsearch:0.20": {
    41  		Ports: []string{"9200"},
    42  		Tag:   "bradrydzewski/elasticsearch:0.20",
    43  		Name:  "elasticsearch",
    44  	},
    45  	"elasticsearch:0.90": {
    46  		Ports: []string{"9200"},
    47  		Tag:   "bradrydzewski/elasticsearch:0.90",
    48  		Name:  "elasticsearch",
    49  	},
    50  
    51  	// redis servers
    52  	"redis": {
    53  		Ports: []string{"6379"},
    54  		Tag:   "bradrydzewski/redis:2.8",
    55  		Name:  "redis",
    56  	},
    57  	"redis:2.8": {
    58  		Ports: []string{"6379"},
    59  		Tag:   "bradrydzewski/redis:2.8",
    60  		Name:  "redis",
    61  	},
    62  	"redis:2.6": {
    63  		Ports: []string{"6379"},
    64  		Tag:   "bradrydzewski/redis:2.6",
    65  		Name:  "redis",
    66  	},
    67  
    68  	// mysql servers
    69  	"mysql": {
    70  		Tag:   "bradrydzewski/mysql:5.5",
    71  		Ports: []string{"3306"},
    72  		Name:  "mysql",
    73  	},
    74  	"mysql:5.5": {
    75  		Tag:   "bradrydzewski/mysql:5.5",
    76  		Ports: []string{"3306"},
    77  		Name:  "mysql",
    78  	},
    79  
    80  	// memcached
    81  	"memcached": {
    82  		Ports: []string{"11211"},
    83  		Tag:   "bradrydzewski/memcached",
    84  		Name:  "memcached",
    85  	},
    86  
    87  	// mongodb
    88  	"mongodb": {
    89  		Ports: []string{"27017"},
    90  		Tag:   "bradrydzewski/mongodb:2.4",
    91  		Name:  "mongodb",
    92  	},
    93  	"mongodb:2.4": {
    94  		Ports: []string{"27017"},
    95  		Tag:   "bradrydzewski/mongodb:2.4",
    96  		Name:  "mongodb",
    97  	},
    98  	"mongodb:2.2": {
    99  		Ports: []string{"27017"},
   100  		Tag:   "bradrydzewski/mongodb:2.2",
   101  		Name:  "mongodb",
   102  	},
   103  
   104  	// postgres
   105  	"postgres": {
   106  		Ports: []string{"5432"},
   107  		Tag:   "bradrydzewski/postgres:9.1",
   108  		Name:  "postgres",
   109  	},
   110  	"postgres:9.1": {
   111  		Ports: []string{"5432"},
   112  		Tag:   "bradrydzewski/postgres:9.1",
   113  		Name:  "postgres",
   114  	},
   115  
   116  	// couchdb
   117  	"couchdb": {
   118  		Ports: []string{"5984"},
   119  		Tag:   "bradrydzewski/couchdb:1.5",
   120  		Name:  "couchdb",
   121  	},
   122  	"couchdb:1.0": {
   123  		Ports: []string{"5984"},
   124  		Tag:   "bradrydzewski/couchdb:1.0",
   125  		Name:  "couchdb",
   126  	},
   127  	"couchdb:1.4": {
   128  		Ports: []string{"5984"},
   129  		Tag:   "bradrydzewski/couchdb:1.4",
   130  		Name:  "couchdb",
   131  	},
   132  	"couchdb:1.5": {
   133  		Ports: []string{"5984"},
   134  		Tag:   "bradrydzewski/couchdb:1.5",
   135  		Name:  "couchdb",
   136  	},
   137  
   138  	// rabbitmq
   139  	"rabbitmq": {
   140  		Ports: []string{"5672", "15672"},
   141  		Tag:   "bradrydzewski/rabbitmq:3.2",
   142  		Name:  "rabbitmq",
   143  	},
   144  	"rabbitmq:3.2": {
   145  		Ports: []string{"5672", "15672"},
   146  		Tag:   "bradrydzewski/rabbitmq:3.2",
   147  		Name:  "rabbitmq",
   148  	},
   149  
   150  	// experimental images from 3rd parties
   151  
   152  	"zookeeper": {
   153  		Ports: []string{"2181"},
   154  		Tag:   "jplock/zookeeper:3.4.5",
   155  		Name:  "zookeeper",
   156  	},
   157  
   158  	// cassandra
   159  	"cassandra": {
   160  		Ports: []string{"9042", "7000", "7001", "7199", "9160", "49183"},
   161  		Tag:   "relateiq/cassandra",
   162  		Name:  "cassandra",
   163  	},
   164  
   165  	// riak - TESTED
   166  	"riak": {
   167  		Ports: []string{"8087", "8098"},
   168  		Tag:   "guillermo/riak",
   169  		Name:  "riak",
   170  	},
   171  }
   172  
   173  // List of official Drone build images.
   174  var builders = map[string]*image{
   175  
   176  	// Clojure build images
   177  	"lein": {Tag: "bradrydzewski/lein"},
   178  
   179  	// Dart build images
   180  	"dart":        {Tag: "bradrydzewski/dart:stable"},
   181  	"dart_stable": {Tag: "bradrydzewski/dart:stable"},
   182  	"dart_dev":    {Tag: "bradrydzewski/dart:dev"},
   183  
   184  	// Erlang build images
   185  	"erlang":       {Tag: "bradrydzewski/erlang:R16B02"},
   186  	"erlangR16B":   {Tag: "bradrydzewski/erlang:R16B"},
   187  	"erlangR16B02": {Tag: "bradrydzewski/erlang:R16B02"},
   188  	"erlangR16B01": {Tag: "bradrydzewski/erlang:R16B01"},
   189  
   190  	// GCC build images
   191  	"gcc":    {Tag: "bradrydzewski/gcc:4.6"},
   192  	"gcc4.6": {Tag: "bradrydzewski/gcc:4.6"},
   193  	"gcc4.8": {Tag: "bradrydzewski/gcc:4.8"},
   194  
   195  	// Golang build images
   196  	"go":    {Tag: "bradrydzewski/go:1.2"},
   197  	"go1":   {Tag: "bradrydzewski/go:1.0"},
   198  	"go1.1": {Tag: "bradrydzewski/go:1.1"},
   199  	"go1.2": {Tag: "bradrydzewski/go:1.2"},
   200  
   201  	// Haskell build images
   202  	"haskell":    {Tag: "bradrydzewski/haskell:7.4"},
   203  	"haskell7.4": {Tag: "bradrydzewski/haskell:7.4"},
   204  
   205  	// Java build images
   206  	"java":       {Tag: "bradrydzewski/java:openjdk7"},
   207  	"openjdk6":   {Tag: "bradrydzewski/java:openjdk6"},
   208  	"openjdk7":   {Tag: "bradrydzewski/java:openjdk7"},
   209  	"oraclejdk7": {Tag: "bradrydzewski/java:oraclejdk7"},
   210  	"oraclejdk8": {Tag: "bradrydzewski/java:oraclejdk8"},
   211  
   212  	// Node build images
   213  	"node":     {Tag: "bradrydzewski/node:0.10"},
   214  	"node0.10": {Tag: "bradrydzewski/node:0.10"},
   215  	"node0.8":  {Tag: "bradrydzewski/node:0.8"},
   216  
   217  	// PHP build images
   218  	"php":    {Tag: "bradrydzewski/php:5.5"},
   219  	"php5.5": {Tag: "bradrydzewski/php:5.5"},
   220  	"php5.4": {Tag: "bradrydzewski/php:5.4"},
   221  
   222  	// Python build images
   223  	"python":    {Tag: "bradrydzewski/python:2.7"},
   224  	"python2.7": {Tag: "bradrydzewski/python:2.7"},
   225  	"python3.2": {Tag: "bradrydzewski/python:3.2"},
   226  	"python3.3": {Tag: "bradrydzewski/python:3.3"},
   227  	"pypy":      {Tag: "bradrydzewski/python:pypy"},
   228  
   229  	// Ruby build images
   230  	"ruby":      {Tag: "bradrydzewski/ruby:2.0.0"},
   231  	"ruby2.0.0": {Tag: "bradrydzewski/ruby:2.0.0"},
   232  	"ruby1.9.3": {Tag: "bradrydzewski/ruby:1.9.3"},
   233  
   234  	// Scala build images
   235  	"scala":       {Tag: "bradrydzewski/scala:2.10.3"},
   236  	"scala2.10.3": {Tag: "bradrydzewski/scala:2.10.3"},
   237  	"scala2.9.3":  {Tag: "bradrydzewski/scala:2.9.3"},
   238  }