220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
|
# File 'lib/openc3/models/microservice_model.rb', line 220
def deploy(gem_path, variables, validate_only: false)
return unless @folder_name
variables["microservice_name"] = @name
start_path = "/microservices/#{@folder_name}/"
Dir.glob(gem_path + start_path + "**/*") do |filename|
next if filename == '.' or filename == '..' or File.directory?(filename)
path = filename.split(gem_path)[-1]
key = "#{@scope}/microservices/#{@name}/" + path.split(start_path)[-1]
data = File.read(filename, mode: "rb")
erb_disabled = check_disable_erb(filename)
unless erb_disabled
OpenC3.set_working_dir(File.dirname(filename)) do
data = ERB.new(data.(), trim_mode: "-").result(binding.set_variables(variables)) if data.is_printable? and File.basename(filename)[0] != '_'
end
end
unless validate_only
@bucket.put_object(bucket: ENV['OPENC3_CONFIG_BUCKET'], key: key, body: data)
end
end
unless validate_only
config = { kind: 'created', type: 'microservice', name: @name }
config[:plugin] = @plugin if @plugin
ConfigTopic.write(config, scope: @scope)
end
end
|