{"record":{"id":"76b018d543416451","repo":"CanineHQ/canine","slug":"command-join-failed-with-exit-status-e","errorCode":null,"errorMessage":"`#{command.join(' ')}` failed with exit status #{exit_status}","messagePattern":"`#(.+?)` failed with exit status #(.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app/services/k8/helm/client.rb","lineNumber":134,"sourceCode":"        values_file.flush\n\n        command = build_install_command(\n          name,\n          chart_url,\n          version,\n          values_file_path: values_file.path,\n          namespace: namespace,\n          timeout: timeout,\n          dry_run: dry_run,\n          atomic: atomic,\n          wait: wait,\n          history_max: history_max,\n          create_namespace: create_namespace,\n          skip_tls_verify: skip_tls,\n          skip_schema_validation: skip_schema_validation\n        )\n        exit_status = runner.(command, envs: { \"KUBECONFIG\" => kubeconfig_file.path })\n        raise \"`#{command.join(' ')}` failed with exit status #{exit_status}\" unless exit_status.success?\n        exit_status\n      end\n    end\n  end\n\n  def uninstall(name, namespace: 'default')\n    return StandardError.new(\"Can't uninstall helm chart if not connected\") unless connected?\n\n    K8::Kubeconfig.with_kube_config(connection.kubeconfig, skip_tls_verify: connection.cluster.skip_tls_verify) do |kubeconfig_file|\n      command = %w[helm uninstall] + [ name, \"--namespace\", namespace ]\n      exit_status = runner.(command, envs: { \"KUBECONFIG\" => kubeconfig_file.path })\n      raise \"Helm uninstall failed with exit status #{exit_status}\" unless exit_status.success?\n      exit_status\n    end\n  rescue Cli::CommandFailedError => e\n    # If the release doesn't exist, that's fine - the desired state is achieved\n    if runner.respond_to?(:output) && runner.output.include?(\"not found\")\n      Rails.logger.info(\"Helm release '#{name}' not found in namespace '#{namespace}', skipping uninstall\")","sourceCodeStart":116,"sourceCodeEnd":152,"githubUrl":"https://github.com/CanineHQ/canine/blob/ba4ee3968d8513ee27d8583fbd3e854a8dd053f3/app/services/k8/helm/client.rb#L116-L152","documentation":"Error \"`#{command.join(' ')}` failed with exit status #{exit_status}\" thrown in CanineHQ/canine.","triggerScenarios":"Thrown at app/services/k8/helm/client.rb:134 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"ba4ee3968d8513ee27d8583fbd3e854a8dd053f3","analyzedAt":"2026-08-23T17:49:27.834Z","schemaVersion":2},"datasetVersion":"2026-08-23T21:17:23.414Z"}