def configure_parsers(self): self.root_parser = auto(RootParser) parsers = ListInstanceProvider() parsers.add(auto(TerraformParserConfig)) parsers.add(auto(HelmfileParserConfig)) parsers.add(auto(ConfigGeneratorParserConfig)) self.sub_parsers = parsers
def configure_parsers(self): self.root_parser = auto(RootParser) parsers = ListInstanceProvider() parsers.add(auto(InventoryParserConfig)) parsers.add(auto(TerraformParserConfig)) parsers.add(auto(PackerParserConfig)) parsers.add(auto(SshParserConfig)) parsers.add(auto(PlaybookParserConfig)) parsers.add(auto(CommandParserConfig)) parsers.add(auto(SyncParserConfig)) parsers.add(auto(HelmfileParserConfig)) parsers.add(auto(ConfigGeneratorParserConfig)) self.sub_parsers = parsers
def __init__(self, argv=None): super(AppContainer, self).__init__() self.argv = instance(argv) self.configure_parsers() self.kompos_config = cache(auto(KomposConfig)) self.terraform_runner = auto(TerraformRunner) self.helmfile_runner = auto(HelmfileRunner) self.config_runner = auto(ConfigGeneratorRunner) # bind the command executor self.execute = auto(Executor) self.configure() self.kompos_config.validate_version()
def test_constructor_wiring(): class Foo(object): def __init__(self, bar): self.bar = bar class Bar(object): def __init__(self, baz): self.baz = baz def baz(a_string): return a_string container = Container() container.foo = auto(Foo) container.bar = auto(Bar) container.baz = instance(baz) container.a_baz_dependency = instance('a baz thing') assert container.foo.bar.baz(container.a_baz_dependency) == 'a baz thing'
def test_list_instance_provider(): class Foo(object): def __init__(self, numbers): self.numbers = numbers def sum(self): return sum(self.numbers) container = Container() container.foo = auto(Foo) container.numbers = ListInstanceProvider( lambda c: 1, instance(2), lambda c: c.three ) container.three = instance(3) assert container.foo.sum() == 6
def configure_inventory(self): self.inventory_runner = auto(InventoryRunner) self.base_inventory_generator = cache(auto(InventoryGenerator)) self.inventory_generator = cache(auto(CachedInventoryGenerator)) self.ansible_inventory = cache(auto(AnsibleInventory)) inventory_generators = ListInstanceProvider() inventory_generators.add(auto(DirInventoryGenerator)) inventory_generators.add(auto(ShellInventoryGenerator)) inventory_generators.add(auto(PluginInventoryGenerator)) self.inventory_generators = inventory_generators # inventory generator plugins inventory_plugins = ListInstanceProvider() inventory_plugins.add(instance(ec2)) inventory_plugins.add(instance(legacy_pcs)) inventory_plugins.add(instance(cns)) inventory_plugins.add(instance(azr)) inventory_plugins.add(instance(skms)) self.inventory_plugins = inventory_plugins
def __init__(self, argv=None): super(AppContainer, self).__init__() self.argv = instance(argv) self.configure_parsers() self.configure_inventory() self.terraform_runner = auto(TerraformRunner) self.packer_runner = auto(PackerRunner) self.ssh_runner = auto(SshRunner) self.play_runner = auto(PlaybookRunner) self.run_runner = auto(CommandRunner) self.sync_runner = auto(SyncRunner) self.helmfile_runner = auto(HelmfileRunner) self.config_runner = auto(ConfigGeneratorRunner) self.cluster_config = cache(auto(ClusterConfig)) self.ops_config = cache(auto(OpsConfig)) self.cluster_config_generator = auto(ClusterConfigGenerator) self.ssh_config_generator = auto(SshConfigGenerator) self.template = auto(Template) # bind the command executor self.execute = auto(Executor) self.configure() self.validate_ops_version()