smartcloud 0.2.2 → 0.3.2
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 +4 -4
- data/README.md +2 -0
- data/lib/smartcloud/apps/rails.rb +1 -1
- data/lib/smartcloud/boot.rb +1 -0
- data/lib/smartcloud/credentials.rb +3 -0
- data/lib/smartcloud/grids/elasticsearch.rb +90 -0
- data/lib/smartcloud/grids/grid-elasticsearch/.keep +0 -0
- data/lib/smartcloud/grids/prereceiver.rb +3 -0
- data/lib/smartcloud/grids/redmine.rb +1 -0
- data/lib/smartcloud/machine.rb +16 -0
- data/lib/smartcloud/templates/dotsmartcloud/grids/grid-elasticsearch/data/.keep +0 -0
- data/lib/smartcloud/templates/dotsmartcloud/grids/grid-elasticsearch/logs/.keep +0 -0
- data/lib/smartcloud/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 474fdd2356fd60ade2ebb2cad2982ebf66d2d045ae19559e13d7cc244b43657a
|
4
|
+
data.tar.gz: 17f10d83a70e04d06ba32205bbe3878da6eec8b106898c385fdc36bf00b0e24a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f27dfd480192c5eac77388da0c8e94487a7266b7b4596ad9b1883cf98a14932b8d4b096f9b10a7512788b002254231f7614099a61ced315075e360830f31dd3
|
7
|
+
data.tar.gz: 612b0aa19cce9b011b720c994917b6977507ed6e46861d3a007c43247a4d922379b331453684bbd070dc41d753b051104073922395aa4ebb9205c5e9de6c11cd
|
data/README.md
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
# SmartCloud
|
2
|
+
Git push should deploy.
|
3
|
+
|
2
4
|
Smartcloud is a full-stack deployment framework for Rails optimized for programmer happiness and peaceful administration. It encourages natural simplicity by favoring convention over configuration.
|
3
5
|
|
4
6
|
Deploy your Rails apps to your own server with - git push production master
|
@@ -63,8 +63,8 @@ module Smartcloud
|
|
63
63
|
--network='nginx-network' \
|
64
64
|
smartcloud/buildpacks/rails", out: File::NULL)
|
65
65
|
|
66
|
-
# system("docker network connect solr-network #{new_container}")
|
67
66
|
system("docker network connect mysql-network #{new_container}")
|
67
|
+
system("docker network connect elasticsearch-network #{new_container}")
|
68
68
|
|
69
69
|
if system("docker start --attach #{new_container}")
|
70
70
|
logger.debug "Starting Web Server ..."
|
data/lib/smartcloud/boot.rb
CHANGED
@@ -0,0 +1,90 @@
|
|
1
|
+
# The main Smartcloud Grids Elasticsearch driver
|
2
|
+
module Smartcloud
|
3
|
+
module Grids
|
4
|
+
class Elasticsearch < Smartcloud::Base
|
5
|
+
def initialize
|
6
|
+
end
|
7
|
+
|
8
|
+
def install
|
9
|
+
self.uninstall
|
10
|
+
|
11
|
+
print "-----> Creating settings for elasticsearch ... "
|
12
|
+
|
13
|
+
ssh = Smartcloud::SSH.new
|
14
|
+
ssh.run "echo 'vm.max_map_count=262144' | sudo tee /etc/sysctl.d/60-smartcloud-elasticsearch.conf && sudo sysctl --system"
|
15
|
+
|
16
|
+
puts "done"
|
17
|
+
end
|
18
|
+
|
19
|
+
def uninstall
|
20
|
+
print "-----> Removing settings for elasticsearch ... "
|
21
|
+
|
22
|
+
ssh = Smartcloud::SSH.new
|
23
|
+
# NOTE: sysctl does not reset this setting until restart of system even after sudo sysctl --system is run.
|
24
|
+
ssh.run "test -f /etc/sysctl.d/60-smartcloud-elasticsearch.conf && sudo rm /etc/sysctl.d/60-smartcloud-elasticsearch.conf && sudo sysctl --system"
|
25
|
+
|
26
|
+
puts "done"
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.up(*args)
|
30
|
+
args.flatten!
|
31
|
+
exposed = args.empty? ? '' : args.shift
|
32
|
+
|
33
|
+
if Smartcloud::Docker.running?
|
34
|
+
# Creating networks
|
35
|
+
unless system("docker network inspect elasticsearch-network", [:out, :err] => File::NULL)
|
36
|
+
print "-----> Creating network elasticsearch-network ... "
|
37
|
+
if system("docker network create elasticsearch-network", out: File::NULL)
|
38
|
+
puts "done"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# Creating & Starting containers
|
43
|
+
print "-----> Creating container elasticsearch ... "
|
44
|
+
if system("docker create \
|
45
|
+
--name='elasticsearch' \
|
46
|
+
--env discovery.type=single-node \
|
47
|
+
--env cluster.name=elasticsearch-cluster \
|
48
|
+
--env 'ES_JAVA_OPTS=-Xms512m -Xmx512m -Des.enforce.bootstrap.checks=true' \
|
49
|
+
--env bootstrap.memory_lock=true \
|
50
|
+
--ulimit memlock=-1:-1 \
|
51
|
+
--ulimit nofile=65535:65535 \
|
52
|
+
--user `id -u`:`id -g` \
|
53
|
+
#{"--publish='#{Smartcloud.credentials.elasticsearch[:port]}:#{Smartcloud.credentials.elasticsearch[:port]}'" if exposed == '--exposed'} \
|
54
|
+
--volume='#{Smartcloud.config.user_home_path}/.smartcloud/grids/grid-elasticsearch/data:/usr/share/elasticsearch/data' \
|
55
|
+
--volume='#{Smartcloud.config.user_home_path}/.smartcloud/grids/grid-elasticsearch/logs:/usr/share/elasticsearch/logs' \
|
56
|
+
--restart='always' \
|
57
|
+
--network='elasticsearch-network' \
|
58
|
+
elasticsearch:7.4.1", out: File::NULL)
|
59
|
+
|
60
|
+
puts "done"
|
61
|
+
print "-----> Starting container elasticsearch ... "
|
62
|
+
if system("docker start elasticsearch", out: File::NULL)
|
63
|
+
puts "done"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
def self.down
|
70
|
+
if Smartcloud::Docker.running?
|
71
|
+
# Stopping & Removing containers - in reverse order
|
72
|
+
print "-----> Stopping container elasticsearch ... "
|
73
|
+
if system("docker stop 'elasticsearch'", out: File::NULL)
|
74
|
+
puts "done"
|
75
|
+
print "-----> Removing container elasticsearch ... "
|
76
|
+
if system("docker rm 'elasticsearch'", out: File::NULL)
|
77
|
+
puts "done"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
# Removing networks
|
82
|
+
print "-----> Removing network elasticsearch-network ... "
|
83
|
+
if system("docker network rm elasticsearch-network", out: File::NULL)
|
84
|
+
puts "done"
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
File without changes
|
@@ -22,6 +22,7 @@ module Smartcloud
|
|
22
22
|
--env REDMINE_DB_PASSWORD=#{Smartcloud.credentials.redmine[:database_password]} \
|
23
23
|
--env REDMINE_DB_DATABASE=#{Smartcloud.credentials.redmine[:database_name]} \
|
24
24
|
--env REDMINE_PLUGINS_MIGRATE=#{Smartcloud.credentials.redmine[:plugins_migrate]} \
|
25
|
+
--volume='#{Smartcloud.config.user_home_path}/.smartcloud/apps/repositories:/repositories:ro' \
|
25
26
|
--volume='#{Smartcloud.config.user_home_path}/.smartcloud/grids/grid-redmine/files:/usr/src/redmine/files' \
|
26
27
|
--restart='always' \
|
27
28
|
--network='nginx-network' \
|
data/lib/smartcloud/machine.rb
CHANGED
@@ -28,9 +28,15 @@ module Smartcloud
|
|
28
28
|
ssh = Smartcloud::SSH.new
|
29
29
|
ssh.run "smartcloud buildpacker install"
|
30
30
|
ssh.run "smartcloud prereceiver install"
|
31
|
+
|
32
|
+
elasticsearch = Smartcloud::Grids::Elasticsearch.new
|
33
|
+
elasticsearch.install
|
31
34
|
end
|
32
35
|
|
33
36
|
def stop
|
37
|
+
elasticsearch = Smartcloud::Grids::Elasticsearch.new
|
38
|
+
elasticsearch.uninstall
|
39
|
+
|
34
40
|
ssh = Smartcloud::SSH.new
|
35
41
|
ssh.run "smartcloud prereceiver uninstall"
|
36
42
|
ssh.run "smartcloud buildpacker uninstall"
|
@@ -175,6 +181,10 @@ module Smartcloud
|
|
175
181
|
|
176
182
|
'grids',
|
177
183
|
|
184
|
+
'grids/grid-elasticsearch',
|
185
|
+
'grids/grid-elasticsearch/data/***',
|
186
|
+
'grids/grid-elasticsearch/logs/***',
|
187
|
+
|
178
188
|
'grids/grid-mysql',
|
179
189
|
'grids/grid-mysql/data/***',
|
180
190
|
|
@@ -206,6 +216,12 @@ module Smartcloud
|
|
206
216
|
|
207
217
|
'grids',
|
208
218
|
|
219
|
+
'grids/grid-elasticsearch',
|
220
|
+
'grids/grid-elasticsearch/data',
|
221
|
+
'grids/grid-elasticsearch/data/.keep',
|
222
|
+
'grids/grid-elasticsearch/logs',
|
223
|
+
'grids/grid-elasticsearch/logs/.keep',
|
224
|
+
|
209
225
|
'grids/grid-mysql',
|
210
226
|
'grids/grid-mysql/data',
|
211
227
|
'grids/grid-mysql/data/.keep',
|
File without changes
|
File without changes
|
data/lib/smartcloud/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smartcloud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Timeboard
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-ssh
|
@@ -85,6 +85,8 @@ files:
|
|
85
85
|
- lib/smartcloud/engine.rb
|
86
86
|
- lib/smartcloud/engine/Dockerfile
|
87
87
|
- lib/smartcloud/engine/buildpacks/rails/Dockerfile
|
88
|
+
- lib/smartcloud/grids/elasticsearch.rb
|
89
|
+
- lib/smartcloud/grids/grid-elasticsearch/.keep
|
88
90
|
- lib/smartcloud/grids/grid-mysql/docker-entrypoint-initdb.d/.keep
|
89
91
|
- lib/smartcloud/grids/grid-nginx/.keep
|
90
92
|
- lib/smartcloud/grids/grid-prereceiver/Dockerfile
|
@@ -273,6 +275,8 @@ files:
|
|
273
275
|
- lib/smartcloud/templates/dotsmartcloud/bin/smartcloud.sh
|
274
276
|
- lib/smartcloud/templates/dotsmartcloud/config/environment.rb
|
275
277
|
- lib/smartcloud/templates/dotsmartcloud/config/users.yml
|
278
|
+
- lib/smartcloud/templates/dotsmartcloud/grids/grid-elasticsearch/data/.keep
|
279
|
+
- lib/smartcloud/templates/dotsmartcloud/grids/grid-elasticsearch/logs/.keep
|
276
280
|
- lib/smartcloud/templates/dotsmartcloud/grids/grid-mysql/data/.keep
|
277
281
|
- lib/smartcloud/templates/dotsmartcloud/grids/grid-nginx/certificates/.keep
|
278
282
|
- lib/smartcloud/templates/dotsmartcloud/grids/grid-nginx/fastcgi.conf
|