{"record":{"id":"21f1187a7364de14","repo":"theforeman/foreman","slug":"undefined-setting-setting","errorCode":null,"errorMessage":"Undefined setting '%{setting}'","messagePattern":"Undefined setting '%(.+?)'","errorType":"exception","errorClass":"Foreman::Renderer::Errors::UndefinedSetting","httpStatus":null,"severity":"error","filePath":"app/services/foreman/renderer/scope/macros/base.rb","lineNumber":380,"sourceCode":"          def gem_version_compare(first, second)\n            Gem::Version.new(first.to_s) <=> Gem::Version.new(second.to_s)\n          end\n\n          apipie :method, \"Returns the TLS certificate(s) needed to verify a connection to Foreman\" do\n            desc 'Currently it relies on \"SSL CA file\" and \"Server CA file\" authentication settings, which normally points to the file containing the\n              CA certificate for Smart Proxies. However in the default deployment, this certificate happens to be the same.'\n            example \"SSL_CA_CERT=$(mktemp)\n                     cat > $SSL_CA_CERT <<CA_CONTENT\n                     <%= foreman_server_ca_cert %>\n                     CA_CONTENT\n                     curl --cacert $SSL_CA_CERT https://foreman.example.com\"\n          end\n          def foreman_server_ca_cert(server_ca_file_enabled: true, ssl_ca_file_enabled: true)\n            setting_values = []\n            setting_values << Setting[:server_ca_file] if server_ca_file_enabled\n            setting_values << Setting[:ssl_ca_file] if ssl_ca_file_enabled\n\n            raise UndefinedSetting.new(setting: '\"Server CA file\" or \"SSL CA file\"') if setting_values.reject(&:empty?).empty?\n\n            files_content = setting_values.uniq.compact.map do |setting_value|\n              File.read(setting_value)\n            rescue StandardError => e\n              Foreman::Logging.logger('templates').warn(\"Failed to read CA file: #{e}\")\n\n              nil\n            end\n\n            result = files_content.compact.join(\"\\n\")\n\n            msg = N_(\"SSL CA file not found, check the 'Server CA file' and 'SSL CA file' in Settings > Authentication\")\n            raise Foreman::Exception.new(msg) unless result.present?\n\n            result\n          end\n\n          apipie_method :rand, 'Returns random floating point numbers between 0 and 1' do","sourceCodeStart":362,"sourceCodeEnd":398,"githubUrl":"https://github.com/theforeman/foreman/blob/6b05625475cfe6aac31a88f8c8ee6e62e4efe620/app/services/foreman/renderer/scope/macros/base.rb#L362-L398","documentation":"Error \"Undefined setting '%{setting}'\" thrown in theforeman/foreman.","triggerScenarios":"Thrown at app/services/foreman/renderer/scope/macros/base.rb:380 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":"6b05625475cfe6aac31a88f8c8ee6e62e4efe620","analyzedAt":"2026-08-23T17:46:34.094Z","schemaVersion":2},"datasetVersion":"2026-08-23T21:17:23.414Z"}