Module: Orchparty

Defined in:
lib/orchparty.rb,
lib/orchparty/ast.rb,
lib/orchparty/plugin.rb,
lib/orchparty/context.rb,
lib/orchparty/version.rb,
lib/orchparty/dsl_parser.rb,
lib/orchparty/transformations.rb,
lib/orchparty/transformations/all.rb,
lib/orchparty/transformations/sort.rb,
lib/orchparty/dsl_parser_kubernetes.rb,
lib/orchparty/transformations/mixin.rb,
lib/orchparty/kubernetes_application.rb,
lib/orchparty/transformations/variable.rb,
lib/orchparty/plugins/docker_compose_v1.rb,
lib/orchparty/plugins/docker_compose_v2.rb,
lib/orchparty/transformations/remove_internal.rb

Defined Under Namespace

Modules: Kubernetes, Plugin, Services, Transformations Classes: AST, AllBuilder, ApplicationBuilder, ApplicationMixinBuilder, Builder, CommonBuilder, Context, DSLParser, HashBuilder, MixinBuilder, RootBuilder, ServiceBuilder, VariableBuilder

Constant Summary collapse

VERSION =
"2.0.0"

Class Method Summary collapse

Class Method Details

.ast(filename:, application:, force_variable_definition: nil) ⇒ Object



28
29
30
# File 'lib/orchparty.rb', line 28

def self.ast(filename: , application:, force_variable_definition: nil )
  Transformations.transform(Orchparty::DSLParser.new(filename).parse, force_variable_definition: force_variable_definition).applications[application]
end

.generate(plugin_name, options, plugin_options) ⇒ Object



32
33
34
# File 'lib/orchparty.rb', line 32

def self.generate(plugin_name, options, plugin_options)
  plugins[plugin_name].generate(ast(options), plugin_options)
end

.install(cluster_name:, application_name:, force_variable_definition:, file_name:) ⇒ Object



36
37
38
39
40
# File 'lib/orchparty.rb', line 36

def self.install(cluster_name: , application_name: , force_variable_definition:,  file_name: )
  app_config = Transformations.transform_kubernetes(Orchparty::Kubernetes::DSLParser.new(file_name).parse, force_variable_definition: force_variable_definition).applications[application_name]
  app = KubernetesApplication.new(app_config: app_config, namespace: application_name, cluster_name: cluster_name, file_name: file_name)
  app.install
end

.load_all_available_pluginsObject



14
15
16
17
18
# File 'lib/orchparty.rb', line 14

def self.load_all_available_plugins
  Gem::Specification.map {|f| f.matches_for_glob("orchparty/plugins/*.rb") }.flatten.map{|file_name| File.basename(file_name, ".*").to_sym }.each do |plugin_name|
    plugin(plugin_name)
  end
end

.plugin(name) ⇒ Object



24
25
26
# File 'lib/orchparty.rb', line 24

def self.plugin(name)
  Orchparty::Plugin.load_plugin(name)
end

.pluginsObject



20
21
22
# File 'lib/orchparty.rb', line 20

def self.plugins
  Orchparty::Plugin.plugins
end


48
49
50
51
52
# File 'lib/orchparty.rb', line 48

def self.print(cluster_name: , application_name: , force_variable_definition:,  file_name:, method: )
  app_config = Transformations.transform_kubernetes(Orchparty::Kubernetes::DSLParser.new(file_name).parse, force_variable_definition: force_variable_definition).applications[application_name]
  app = KubernetesApplication.new(app_config: app_config, namespace: application_name, cluster_name: cluster_name, file_name: file_name)
  app.print(method)
end

.upgrade(cluster_name:, application_name:, force_variable_definition:, file_name:) ⇒ Object



42
43
44
45
46
# File 'lib/orchparty.rb', line 42

def self.upgrade(cluster_name: , application_name: , force_variable_definition:,  file_name: )
  app_config = Transformations.transform_kubernetes(Orchparty::Kubernetes::DSLParser.new(file_name).parse, force_variable_definition: force_variable_definition).applications[application_name]
  app = KubernetesApplication.new(app_config: app_config, namespace: application_name, cluster_name: cluster_name, file_name: file_name)
  app.upgrade
end