module CNFManager
Defined in:
tasks/utils/cnf_manager.crtasks/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
- .cnf_config_list(silent = false)
 - 
        .cnf_destination_dir(config_file)
        
          
TODO move to sandbox module
 - .cnf_installation_method(config : CNFManager::Config) : Tuple(Helm::InstallMethod, String)
 - 
        .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
 - .cnf_installed?
 - .cnf_resource_ymls(args, config)
 - .cnf_resources(args, config, &)
 - .cnf_to_new_cluster(config, kubeconfig, offline = false)
 - 
        .cnf_workload_resources(args, config, &)
        
          
Applies a block to each cnf resource
 - .config_from_path_or_dir(cnf_path_or_dir)
 - .config_source_dir(config_file)
 - .destination_cnfs_exist?
 - .directory_parameter_split(directory_with_parameters)
 - .ensure_cnf_testsuite_dir(path : String)
 - 
        .ensure_cnf_testsuite_yml_path(path : String)
        
          
if passed a directory, adds cnf-testsuite.yml to the string
 - .ensure_directory(directory_with_parameters)
 - .ensure_namespace_exists!(name, kubeconfig : String | Nil = nil)
 - .exclusive_install_method_tags?(config)
 - 
        .export_published_chart(config, cli_args)
        
          
Retrieve the helm chart source: only works with helm chart installs (not helm directory or manifest directories)
 - .generate_and_set_release_name(config_yml_path, airgapped = false, generate_tar_mode = false, src_mode = false)
 - 
        .helm_chart_template_release_name(helm_chart_or_directory : String, template_file = "/tmp/temp_template.yml", airgapped = false)
        
          
TODO move to helm module
 - .helm_repo_add(helm_repo_name = nil, helm_repo_url = nil, args : Sam::Args = Sam::Args.new)
 - 
        .helm_template_header(helm_chart_or_directory : String, template_file = "/tmp/temp_template.yml", airgapped = false)
        
          
TODO move to helm module
 - .install_method_by_config_src(config_src : String, airgapped = false, generate_tar_mode = false)
 - .install_parameters(config)
 - .namespace_from_parameters(parameters)
 - .parsed_config_file(path)
 - .path_has_yml?(config_path)
 - .release_name?(config)
 - .resources_includes?(resource_keys, kind, name, namespace)
 - .sample_cleanup(config_file, force = false, installed_from_manifest = false, verbose = true)
 - 
        .sample_setup(cli_args)
        
          
sample_setup({config_file: cnf_path, wait_count: wait_count})
 - .sample_setup_cli_args(args, noisy = true)
 - .sample_testsuite_yml(sample_dir)
 - .sandbox_helm_directory(cnf_testsuite_helm_directory)
 - 
        .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
 - 
        .validate_cnf_testsuite_yml(config)
        
          
TODO figure out recursively check for unmapped json and warn on that https://github.com/Nicolab/crystal-validator#check
 - .workload_resource_keys(args, config)
 - 
        .workload_resource_test(args, config, check_containers = true, check_service = false, &block : NamedTuple(kind: String, name: String, namespace: String), JSON::Any, JSON::Any, Bool | Nil -> Bool | Nil)
        
          
test_passes_completely = workload_resource_test do | cnf_config, resource, container, initialized |
 
Class Method Detail
Determine, for cnf, whether a helm chart, helm directory, or manifest directory is being used for installation
Applies a block to each cnf resource
CNFManager.cnf_workload_resources(args, config) {|cnf_config, resource| #your code}
        if passed a directory, adds cnf-testsuite.yml to the string
Retrieve the helm chart source: only works with helm chart installs (not helm directory or manifest directories)
TODO move to helm module
TODO move to helm module
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
TODO figure out recursively check for unmapped json and warn on that https://github.com/Nicolab/crystal-validator#check
test_passes_completely = workload_resource_test do | cnf_config, resource, container, initialized |