tikal-rainbow 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/rainbow +89 -0
- metadata +52 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0ff4d051bf9f5a858d266209a0c6f14afdebbc09
|
4
|
+
data.tar.gz: 8adce687a00bdcf095412373b50b0d1ead5ebde6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a2f204964332fe55022683a0ea87fc501fdb7eb3fd551a8eb1eb6856bee2b2cfa9af98755e1b32b387b89f2851d28871e7f673f2cbefe90213c93858782acefd
|
7
|
+
data.tar.gz: 77afe623232963d62491b36fe3abfe683250433b8420e759caf68de51851d01dffb6e701a8798bafb6ef1439af90c36cb9f2a72b7e6508257ccd1d4738be0626
|
data/bin/rainbow
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'yaml'
|
4
|
+
require 'erb'
|
5
|
+
|
6
|
+
command = ARGV[0]
|
7
|
+
|
8
|
+
#Create a template Rainbowfile
|
9
|
+
def init
|
10
|
+
rainbow_file = %{
|
11
|
+
#Rainbowfile template
|
12
|
+
dependencies:
|
13
|
+
- openjdk-7-jre
|
14
|
+
- ruby
|
15
|
+
|
16
|
+
run: ruby /opt/rainbow/rainbow.rb
|
17
|
+
}
|
18
|
+
IO.write("Rainbowfile", rainbow_file)
|
19
|
+
end
|
20
|
+
|
21
|
+
def image
|
22
|
+
yaml = IO.read("Rainbowfile")
|
23
|
+
obj = YAML.load(yaml)
|
24
|
+
|
25
|
+
dependencies = obj["dependencies"]
|
26
|
+
run = obj["run"]
|
27
|
+
|
28
|
+
binding.local_variable_set(:dependencies, dependencies)
|
29
|
+
|
30
|
+
template = %{
|
31
|
+
FROM ubuntu:14.04
|
32
|
+
RUN apt-get update && apt-get install -y --force-yes <% dependencies.each do |dependency| %><%= dependency %> <% end %>\n
|
33
|
+
CMD <%= run %>
|
34
|
+
}
|
35
|
+
docker_file = ERB.new(template, 0, '>').result(binding).strip
|
36
|
+
|
37
|
+
IO.write("Dockerfile", docker_file)
|
38
|
+
system("docker build -t rainbow .")
|
39
|
+
end
|
40
|
+
|
41
|
+
def compose
|
42
|
+
compose = %{
|
43
|
+
version: '2'
|
44
|
+
services:
|
45
|
+
frontend:
|
46
|
+
image: {imagename}
|
47
|
+
ports:
|
48
|
+
- "8080"
|
49
|
+
environment:
|
50
|
+
- KEY=value
|
51
|
+
volumes:
|
52
|
+
- /home/user/data:/opt/rainbow
|
53
|
+
networks:
|
54
|
+
rainbow:
|
55
|
+
aliases:
|
56
|
+
- frontend
|
57
|
+
|
58
|
+
backend:
|
59
|
+
image: {imagename}
|
60
|
+
hostname: gateway
|
61
|
+
environment:
|
62
|
+
KEY: value
|
63
|
+
networks:
|
64
|
+
rainbow:
|
65
|
+
aliases:
|
66
|
+
- backend
|
67
|
+
networks:
|
68
|
+
rainbow:
|
69
|
+
driver: bridge
|
70
|
+
}
|
71
|
+
IO.write("docker-compose.yml", compose)
|
72
|
+
end
|
73
|
+
|
74
|
+
def run
|
75
|
+
system("docker-compose up -d")
|
76
|
+
end
|
77
|
+
|
78
|
+
case command
|
79
|
+
when "init"
|
80
|
+
init
|
81
|
+
when "image"
|
82
|
+
image
|
83
|
+
when "compose"
|
84
|
+
compose
|
85
|
+
when "run"
|
86
|
+
puts "run"
|
87
|
+
else
|
88
|
+
puts "WTF?!?!? The only options are 'init', 'image', 'compose' & 'run'"
|
89
|
+
end
|
metadata
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tikal-rainbow
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ilan Goldenstein
|
8
|
+
- Dan Hirsch
|
9
|
+
- Yoram Michaeli
|
10
|
+
- Avi Amsalem
|
11
|
+
- Doron Shai
|
12
|
+
- Ivan Prokhorov
|
13
|
+
- Lev Plotkin
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
date: 2016-07-19 00:00:00.000000000 Z
|
18
|
+
dependencies: []
|
19
|
+
description: A tool to containerify your code and application for simple creation
|
20
|
+
of runtime environment locally
|
21
|
+
email: dan@tikalk.com
|
22
|
+
executables:
|
23
|
+
- rainbow
|
24
|
+
extensions: []
|
25
|
+
extra_rdoc_files: []
|
26
|
+
files:
|
27
|
+
- bin/rainbow
|
28
|
+
homepage: http://rubygems.org/gems/rainbow
|
29
|
+
licenses:
|
30
|
+
- GNU V2
|
31
|
+
metadata: {}
|
32
|
+
post_install_message:
|
33
|
+
rdoc_options: []
|
34
|
+
require_paths:
|
35
|
+
- lib
|
36
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
requirements: []
|
47
|
+
rubyforge_project:
|
48
|
+
rubygems_version: 2.5.1
|
49
|
+
signing_key:
|
50
|
+
specification_version: 4
|
51
|
+
summary: 'Rainbow: developer personal dev env'
|
52
|
+
test_files: []
|