module CNFManager

Defined in:

tasks/utils/cnf_manager.cr
tasks/utils/cnf_manager_airgap.cr
tasks/utils/config.cr
tasks/utils/generate_config.cr
tasks/utils/points.cr
tasks/utils/task.cr

Class Method Summary

Class Method Detail

def self.cnf_config_list(silent = false) #

[View source]
def self.cnf_destination_dir(config_file) #

TODO move to sandbox module


[View source]
def self.cnf_installation_method(config : CNFManager::Config) : Tuple(Helm::InstallMethod, String) #

[View source]
def self.cnf_installation_method(config : Totem::Config) : Tuple(Helm::InstallMethod, String) #

Determine, for cnf, whether a helm chart, helm directory, or manifest directory is being used for installation


[View source]
def self.cnf_installed? #

[View source]
def self.cnf_to_new_cluster(config, kubeconfig, offline = false) #

[View source]
def self.cnf_workload_resources(args, config, &) #

Applies a block to each cnf resource

CNFManager.cnf_workload_resources(args, config) {|cnf_config, resource| #your code}

[View source]
def self.config_from_path_or_dir(cnf_path_or_dir) #

[View source]
def self.config_source_dir(config_file) #

[View source]
def self.destination_cnfs_exist? #

[View source]
def self.directory_parameter_split(directory_with_parameters) #

[View source]
def self.ensure_cnf_testsuite_dir(path : String) #

[View source]
def self.ensure_cnf_testsuite_yml_path(path : String) #

if passed a directory, adds cnf-testsuite.yml to the string


[View source]
def self.ensure_directory(directory_with_parameters) #

[View source]
def self.exclusive_install_method_tags?(config) #

[View source]
def self.export_published_chart(config, cli_args) #

Retrieve the helm chart source: only works with helm chart installs (not helm directory or manifest directories)


[View source]
def self.generate_and_set_release_name(config_yml_path, airgapped = false, generate_tar_mode = false) #

[View source]
def self.helm_chart_template_release_name(helm_chart_or_directory : String, template_file = "/tmp/temp_template.yml", airgapped = false) #

TODO move to helm module


[View source]
def self.helm_repo_add(helm_repo_name = nil, helm_repo_url = nil, args : Sam::Args = Sam::Args.new) #

[View source]
def self.helm_template_header(helm_chart_or_directory : String, template_file = "/tmp/temp_template.yml", airgapped = false) #

TODO move to helm module


[View source]
def self.install_method_by_config_src(config_src : String, airgapped = false, generate_tar_mode = false) #

todo move this to the helm module and use the helm enumeration


[View source]
def self.install_parameters(config) #

[View source]
def self.namespace_from_parameters(parameters) #

[View source]
def self.parsed_config_file(path) #

[View source]
def self.path_has_yml?(config_path) #

[View source]
def self.release_name?(config) #

[View source]
def self.sample_cleanup(config_file, force = false, installed_from_manifest = false, verbose = true) #

[View source]
def self.sample_setup(cli_args) #

sample_setup({config_file: cnf_path, wait_count: wait_count})


[View source]
def self.sample_setup_cli_args(args, noisy = true) #

[View source]
def self.sample_testsuite_yml(sample_dir) #

[View source]
def self.sandbox_setup(config, cli_args) #

Create a unique directory for the cnf that is to be installed under ./cnfs Only copy the cnf's cnf-testsuite.yml and it's helm_directory or manifest directory (if it exists) Use manifest directory if helm directory empty


[View source]
def self.validate_cnf_testsuite_yml(config) #

TODO figure out recursively check for unmapped json and warn on that https://github.com/Nicolab/crystal-validator#check


[View source]
def self.workload_resource_test(args, config, check_containers = true, check_service = false, &block : NamedTuple(kind: YAML::Any, name: YAML::Any), JSON::Any, JSON::Any, Bool | Nil -> Bool | Nil) #

test_passes_completely = workload_resource_test do | cnf_config, resource, container, initialized |


[View source]