RHSM.CONF(5)
π rhsm.conf β the config file for the subscription-manager tooling (that's RHSM.CONF(5) bestie, section 5, iykyk) π
β¨ NAME β¨
rhsm.conf β the configuration file for all the subscription-manager tooling, like, literally the control panel for the whole squad π
πΈ DESCRIPTION πΈ
Okay so rhsm.conf is the configuration file for a bunch of subscription manager tooling. The whole friend group, fr fr:
subscription-managersubscription-manager-guirhsmcertdvirt-who
The format of this file is a simple INI-like structure β keys and values living inside sections. Very demure, very mindful π
Heads up bestie: duplicated keys inside a section? Not allowed π ββοΈ and only the last occurrence of each key is actually used. Duplicated section names? Also not allowed. The config file does not do polyamory π
π¦ [SERVER] OPTIONS π¦
hostnameβ the hostname of the subscription service being used. The default is the Red Hat Customer Portal, which issubscription.rhsm.redhat.com. This default should not be retrofitted to previously installed versions β it should be incorporated as the default going forward. So like, no time-traveling defaults, okay? βprefixβ the server prefix where the subscription service is registered.portβ the port the subscription service is listening on.insecureβ this flag enables or disables entitlement server certification verification using the certificate authorities that are installed in/etc/rhsm/ca. Yes she's named "insecure", no she's not having a crisis ~~maybe a little~~server_timeoutβ set this to a non-blank value to override the HTTP timeout in seconds. The default is180seconds (3 minutes). Three whole minutes, the patience of a saint πproxy_hostnameβ set this to a non-blank value ifsubscription-managershould use a proxy to access the subscription service. This sets the host for the proxy. It overrideshostnamefrom theHTTP_PROXYandHTTPS_PROXYenvironment variables. π Important: this value should not contain the scheme to be used with the proxy (e.g.httporhttps) β for that you use theproxy_schemeoption, okay?? Don't mix them up πproxy_schemeβ this only sets the scheme for the proxy when writing out the proxy to repo definitions. Set this to a non-blank value if you want to specify the scheme used by your package manager for subscription-manager managed repos. It defaults to"http".
Note: subscription-manager tooling does not use this option for connecting to the proxy, and HTTPS is always used. She's decorative, she's a vibe, she does not do the connecting π
proxy_portβ set this to a non-blank value ifsubscription-managershould use a proxy to access the subscription service. This sets the port for the proxy. It overridesportfrom theHTTP_PROXYandHTTPS_PROXYenvironment variables.
Please note that setting this to any value other than 3128 (depending on your SELinux configuration) will require an update to that policy π³
To add a local policy:
# semanage port -a -t squid_port_t -p tcp <port number>
To change the system back to look at the 3128 port, just remove the policy:
# semanage port -d -t squid_port_t -p tcp <port number>
proxy_usernameβ set this to a non-blank value ifsubscription-managershould use an authenticated proxy to access the subscription service. This sets the username for the proxy. It overridesusernamefrom theHTTP_PROXYandHTTPS_PROXYenvironment variables. π₯proxy_passwordβ set this to a non-blank value ifsubscription-managershould use an authenticated proxy to access the subscription service. This sets the password for the proxy. It overridespasswordfrom theHTTP_PROXYandHTTPS_PROXYenvironment variables.no_proxyβ set this to a non-blank value ifsubscription-managershould not use a proxy for specific hosts. Format is a comma-separated list of hostname suffixes, optionally with port.'*'is a special value that means do not use a proxy for any host. It overrides theNO_PROXYenvironment variable. The "leave me alone" list basically π«Ά
π [RHSM] OPTIONS π
baseurlβ this setting is the prefix for all content which is managed by the subscription service. It should be the hostname for the Red Hat CDN, the local Satellite or Capsule depending on your deployment. The prefix depends on the service type.
For the Red Hat CDN, the full baseurl is https://cdn.redhat.com .
For Satellite 6, the baseurl is https://HOSTNAME/pulp/repos , so for a hostname of sat6.example.com the full baseurl would be, for example: https://sat6.example.com/pulp/repos .
repomd_gpg_urlβ the URL of the GPG key that was used to sign this repository's metadata. The specified GPG key will be used in addition to any GPG keys defined by the entitlement. Double the keys, double the trust β¨ca_cert_dirβ the location for the certificates which are used to communicate with the server and to pull down content.repo_ca_certβ the certificate to use for server side authentication during content downloads.productCertDirβ the directory where product certificates should be stored.entitlementCertDirβ the directory where entitlement certificates should be stored.consumerCertDirβ the directory where the consumer's identity certificate is stored.manage_reposβ set this to1if subscription manager should manage a yum repos file. If set, it will manage the file/etc/yum.repos.d/redhat.repo. If set to0then the subscription is only used for tracking purposes, not content. The/etc/yum.repos.d/redhat.repofile will either be purged or deleted. So like, she's either in charge of the repo file or she's not, there is no "kind of" πfull_refresh_on_yumβ set to1if/etc/yum.repos.d/redhat.reposhould be updated with every server command. This will make yum less efficient, but it can ensure that the most recent data is brought down from the subscription service. Speed vs. freshness, the eternal struggle πreport_package_profileβ set to1ifrhsmcertdshould report the system's current package profile to the subscription service. This report helps the subscription service provide better errata notifications. If supported by the entitlement server, enabled repos, enabled modules, and packages present will be reported. This configuration also governs package profile reporting when the"dnf uploadprofile"command is executed. She snitches (affectionate) about your packages π«Άpackage_profile_on_transβ set to1if the dnf/yum subscription-manager plugin should report the system's current package profile to the subscription service on execution of dnf/yum transactions (for example on package install). This report helps the subscription service provide better errata notifications. If supported by the entitlement server, enabled repos, enabled modules, and packages present will be reported.
Bestie pls note: thereport_package_profileoption needs to also be set to1for this option to have any effect. Teamwork makes the dream work π
pluginDirβ the directory to search for subscription manager plug-ins.pluginConfDirβ the directory to search for plug-in configuration files.auto_enable_yum_pluginsβ when this option is enabled, then yum/dnf pluginssubscription-managerandproduct-idare enabled every-timesubscription-managerorsubscription-manager-guiis executed. Every time! She doesn't skip a beat πinotifyβ inotify is used for monitoring changes in directories with certificates. Currently only the/etc/pki/consumerdirectory is monitored by therhsm.service. When this directory is mounted using a network file system without inotify notification support (e.g. NFS), then disabling inotify is strongly recommended. When inotify is disabled, periodical directory polling is used instead. NFS + inotify = toxic situationship, hard pass π ββοΈprogress_messagesβ set to0to disable progress reporting. Whensubscription-managerwaits while fetching certificates or updating user information, it writes temporary informational messages to the standard output. This feature may not be desired in some situations, and changing this option prevents those messages from being displayed. Silence is golden, lowkey πcertificate_algorithmsβ controls which cryptographic algorithms are requested for consumer and entitlement certificates during registration.
When set to current, subscription-manager queries the system's OpenSSL library for available public key and signature algorithms and sends them to the server, allowing the server to issue certificates using post-quantum cryptography (PQC) or other modern algorithms supported by both the client and the server.
When set to legacy, no algorithm preferences are sent and the server issues traditional RSA-signed certificates.
The default is legacy.
Caution: before setting this configuration tocurrent, it is important to verify that the system's crypto policy supports post-quantum cryptography. Theupdate-crypto-policiesutility can be used to show and set a new policy. If the crypto policy applied to your system does not support post-quantum cryptography, then do not configurecertificate_algorithmstocurrent. Fr fr, check first bestie, don't just vibe-check your crypto π₯
π [RHSMCERTD] OPTIONS π
These are the settings for rhsmcertd, the little background daemon that keeps checking on your certs. She's lowkey the hardest worker in the group chat, ngl.
certCheckIntervalβ the number of minutes between runs of therhsmcertddaemon. That's it, that's the whole vibe. β°splayβ1to enable splay,0to disable splay. Bestie, if this is enabled, the feature delays the initial cert check by an amount between 0 seconds and the interval given for the action being delayed. So like, for example, if thecertCheckIntervalwere set to 3 minutes, the initial cert check would begin somewhere between 2 minutes after start up (that's the minimum delay) and 5 minutes after start up. Why would you want this? It's genuinely useful to reduce peak load on the Satellite or entitlement service used by a large number of machines. It's giving "staggered arrival so the server doesn't get jumped" energy. π¦disableβ set to1to disablerhsmcertdoperation entirely. Like, she's off duty, don't @ her. πauto_registrationβ set to1to enable automatic registration. Heads up though: automatic registration can only work on virtual machines running in the public cloud. Currently three public cloud providers are supported: AWS, Azure and Google Cloud. In order forrhsmcertdto perform automatic registration, please link your "Cloud ID" from your cloud provider to your "RHSM Organization ID" usinghttps://cloud.redhat.com. Matchmaker matchmaker, fr fr. π«Άauto_registration_intervalβ whenauto_registration=1andrhsmcertdis started, theauto_registration_intervalis a maximum time delay to wait before attempting to register the system automatically. Whensplay=1, the attempt to register happens at a random point in time within theauto_registration_interval. Whensplay=0, the attempt to register happens immediately following the start ofrhsmcertd. The format for this value is eitherHH:MM:SSor an integer number of minutes (default is1). β¨auto_registration_identity_intervalβ okay so whenauto_registration=1and the attempt to register within theauto_registration_intervalresults in an anonymous registration (that's where a temporary entitlement is granted without an identity certificate), then theauto_registration_identity_intervalis used as a maximum time delay to wait following the anonymous registration before attempting to get a proper identity certificate (and subsequently a non-temporary entitlement certificate) from the entitlement server. Whensplay=1, the actual time delay to wait before getting the identity certificate is random within theauto_registration_identity_interval. Whensplay=0, the attempt to get an identity certificate happens immediately following the anonymous registration. The format for this value is eitherHH:MM:SSor an integer number of minutes (default is10). It's giving "glow-up from temporary to official" and honestly? Iconic. π
π [LOGGING] OPTIONS π
default_log_levelβ the default log level for all loggers insubscription-manager,python-rhsm, andrhsmcertd. Note (and this part matters, bestie): other keys in this section will override this value for the specified logger. So this is the baseline vibe, and individual loggers can absolutely do their own thing. πMODULE_NAME[.SUBMODULE ...] = [log_level]β logging can be configured on a module-level basis via entries of the format above, where:module_nameissubscription_manager,rhsm, orrhsm-app.submodulecan be optionally specified to further override the logging level down to a specific file.log_levelis the log level to set the specified logger (one of:DEBUG,INFO,WARNING,ERROR, orCRITICAL).
Customising your own log levels per-module? That's main character energy right there. π§
π AUTHOR π
Bryan Kearney <bkearney@redhat.com> β shoutout to the icon who wrote this down for us. πΈ
π SEE ALSO π
subscription-manager(8)subscription-manager-gui(8)rhsmcertd(8)
Go read those too, iykyk. π
β RESOURCES β
Main web site: http://www.candlepinproject.org/ β click it, it's free. π₯
π COPYING π
Copyright (c) 2010-2012 Red Hat, Inc. This is licensed under the GNU General Public License, version 2 (GPLv2). A copy of this license is available at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. Please respect the license, no cap β it's literally the law of the land (well, the law of the license). π
Okay that's the whole page, bestie, you made it to the end π«Ά This one's sourced from rhsm.conf, with a date field of - (yes really, that's all it says), and it goes out under the title RHSM.CONF(5). Mwah, go configure something beautiful π
π¦ where this page comes from
- centos-stream 10: subscription-manager 1.30.16-1.el10 Β· GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms