Appendix A. Configuration reference As a storage administrator, you can set various options for the Ceph Object Gateway. These options contain default values. If you do not specify each option, then the default value is set automatically. To set specific values for these options, update the configuration database by using the ceph config set client.rgw OPTION VALUE command. A.1. General settings Name Description Type Default rgw_data Sets the location of the data files for Ceph Object Gateway. String /var/lib/ceph/radosgw/USDcluster-USDid rgw_enable_apis Enables the specified APIs. String s3, s3website, swift, swift_auth, admin, sts, iam, notifications rgw_cache_enabled Whether the Ceph Object Gateway cache is enabled. Boolean true rgw_cache_lru_size The number of entries in the Ceph Object Gateway cache. Integer 10000 rgw_socket_path The socket path for the domain socket. FastCgiExternalServer uses this socket. If you do not specify a socket path, Ceph Object Gateway will not run as an external server. The path you specify here must be the same as the path specified in the rgw.conf file. String N/A rgw_host The host for the Ceph Object Gateway instance. Can be an IP address or a hostname. String 0.0.0.0 rgw_port Port the instance listens for requests. If not specified, Ceph Object Gateway runs external FastCGI. String None rgw_dns_name The DNS name of the served domain. See also the hostnames setting within zone groups. String None rgw_script_uri The alternative value for the SCRIPT_URI if not set in the request. String None rgw_request_uri The alternative value for the REQUEST_URI if not set in the request. String None rgw_print_continue Enable 100-continue if it is operational. Boolean true rgw_remote_addr_param The remote address parameter. For example, the HTTP field containing the remote address, or the X-Forwarded-For address if a reverse proxy is operational. String REMOTE_ADDR rgw_op_thread_timeout The timeout in seconds for open threads. Integer 600 rgw_op_thread_suicide_timeout The timeout in seconds before a Ceph Object Gateway process dies. Disabled if set to 0 . Integer 0 rgw_thread_pool_size The size of the thread pool. Integer 512 threads. rgw_num_control_oids The number of notification objects used for cache synchronization between different rgw instances. Integer 8 rgw_init_timeout The number of seconds before Ceph Object Gateway gives up on initialization. Integer 30 rgw_mime_types_file The path and location of the MIME types. Used for Swift auto-detection of object types. String /etc/mime.types rgw_gc_max_objs The maximum number of objects that may be handled by garbage collection in one garbage collection processing cycle. Integer 32 rgw_gc_obj_min_wait The minimum wait time before the object may be removed and handled by garbage collection processing. Integer 2 * 3600 rgw_gc_processor_max_time The maximum time between the beginning of two consecutive garbage collection processing cycles. Integer 3600 rgw_gc_processor_period The cycle time for garbage collection processing. Integer 3600 rgw_s3 success_create_obj_status The alternate success status response for create-obj . Integer 0 rgw_resolve_cname Whether rgw should use the DNS CNAME record of the request hostname field (if hostname is not equal to rgw_dns name ). Boolean false rgw_object_stripe_size The size of an object stripe for Ceph Object Gateway objects. Integer 4 << 20 rgw_extended_http_attrs Add a new set of attributes that could be set on an object. These extra attributes can be set through HTTP header fields when putting the objects. If set, these attributes will return as HTTP fields when doing GET/HEAD on the object. String None. For example: "content_foo, content_bar" rgw_exit_timeout_secs Number of seconds to wait for a process before exiting unconditionally. Integer 120 rgw_get_obj_window_size The window size in bytes for a single object request. Integer 16 << 20 rgw_get_obj_max_req_size The maximum request size of a single get operation sent to the Ceph Storage Cluster. Integer 4 << 20 rgw_relaxed_s3_bucket_names Enables relaxed S3 bucket names rules for zone group buckets. Boolean false rgw_list buckets_max_chunk The maximum number of buckets to retrieve in a single operation when listing user buckets. Integer 1000 rgw_override_bucket_index_max_shards The number of shards for the bucket index object. A value of 0 indicates there is no sharding. Red Hat does not recommend setting a value too large (for example, 1000 ) as it increases the cost for bucket listing. This variable should be set in the [client] or the [global] section so it is automatically applied to radosgw-admin commands. Integer 0 rgw_curl_wait_timeout_ms The timeout in milliseconds for certain curl calls. Integer 1000 rgw_copy_obj_progress Enables output of object progress during long copy operations. Boolean true rgw_copy_obj_progress_every_bytes The minimum bytes between copy progress output. Integer 1024 * 1024 rgw_admin_entry The entry point for an admin request URL. String admin rgw_content_length_compat Enable compatibility handling of FCGI requests with both CONTENT_LENGTH AND HTTP_CONTENT_LENGTH set. Boolean false rgw_bucket_default_quota_max_objects The default maximum number of objects per bucket. This value is set on new users if no other quota is specified. It has no effect on existing users. This variable should be set in the [client] or the [global] section so it is automatically applied to radosgw-admin commands. Integer -1 rgw_bucket_quota_ttl The amount of time in seconds cached quota information is trusted. After this timeout, the quota information will be re-fetched from the cluster. Integer 600 rgw_user_quota_bucket_sync_interval The amount of time in seconds bucket quota information is accumulated before syncing to the cluster. During this time, other RGW instances will not see the changes in bucket quota stats from operations on this instance. Integer 180 rgw_user_quota_sync_interval The amount of time in seconds user quota information is accumulated before syncing to the cluster. During this time, other RGW instances will not see the changes in user quota stats from operations on this instance. Integer 3600 * 24 log_meta A zone parameter to determine whether or not the gateway logs the metadata operations. Boolean false log_data A zone parameter to determine whether or not the gateway logs the data operations. Boolean false sync_from_all A radosgw-admin command to set or unset whether zone syncs from all zonegroup peers. Boolean false A.2. About pools Ceph zones map to a series of Ceph Storage Cluster pools. Manually Created Pools vs. Generated Pools If the user key for the Ceph Object Gateway contains write capabilities, the gateway has the ability to create pools automatically. This is convenient for getting started. However, the Ceph Object Storage Cluster uses the placement group default values unless they were set in the Ceph configuration file. Additionally, Ceph will use the default CRUSH hierarchy. These settings are NOT ideal for production systems. The default pools for the Ceph Object Gateway's default zone include: .rgw.root .default.rgw.control .default.rgw.meta .default.rgw.log .default.rgw.buckets.index .default.rgw.buckets.data .default.rgw.buckets.non-ec The Ceph Object Gateway creates pools on a per zone basis. If you create the pools manually, prepend the zone name. The system pools store objects related to, for example, system control, logging, and user information. By convention, these pool names have the zone name prepended to the pool name. .<zone-name>.rgw.control : The control pool. .<zone-name>.log : The log pool contains logs of all bucket/container and object actions, such as create, read, update, and delete. .<zone-name>.rgw.buckets.index : This pool stores the index of the buckets. .<zone-name>.rgw.buckets.data : This pool stores the data of the buckets. .<zone-name>.rgw.meta : The metadata pool stores user_keys and other critical metadata. .<zone-name>.meta:users.uid : The user ID pool contains a map of unique user IDs. .<zone-name>.meta:users.keys : The keys pool contains access keys and secret keys for each user ID. .<zone-name>.meta:users.email : The email pool contains email addresses associated with a user ID. .<zone-name>.meta:users.swift : The Swift pool contains the Swift subuser information for a user ID. Ceph Object Gateways store data for the bucket index ( index_pool ) and bucket data ( data_pool ) in placement pools. These may overlap; that is, you may use the same pool for the index and the data. The index pool for default placement is {zone-name}.rgw.buckets.index and for the data pool for default placement is {zone-name}.rgw.buckets . Name Description Type Default rgw_zonegroup_root_pool The pool for storing all zone group-specific information. String .rgw.root rgw_zone_root_pool The pool for storing zone-specific information. String .rgw.root A.3. Lifecycle settings As a storage administrator, you can set various bucket lifecycle options for a Ceph Object Gateway. These options contain default values. If you do not specify each option, then the default value is set automatically. To set specific values for these options, update the configuration database by using the ceph config set client.rgw OPTION VALUE command. Name Description Type Default rgw_lc_debug_interval For developer use only to debug lifecycle rules by scaling expiration rules from days into an interval in seconds. Red Hat recommends that this option not be used in a production cluster. Integer -1 rgw_lc_lock_max_time The timeout value used internally by the Ceph Object Gateway. Integer 90 rgw_lc_max_objs Controls the sharding of the RADOS Gateway internal lifecycle work queues, and should only be set as part of a deliberate resharding workflow. Red Hat recommends not changing this setting after the setup of your cluster, without first contacting Red Hat support. Integer 32 rgw_lc_max_rules The number of lifecycle rules to include in one, per bucket, lifecycle configuration document. The Amazon Web Service (AWS) limit is 1000 rules. Integer 1000 rgw_lc_max_worker The number of lifecycle worker threads to run in parallel, processing bucket and index shards simultaneously. Red Hat does not recommend setting a value larger than 10 without contacting Red Hat support. Integer 3 rgw_lc_max_wp_worker The number of buckets that each lifecycle worker thread can process in parallel. Red Hat does not recommend setting a value larger than 10 without contacting Red Hat Support. Integer 3 rgw_lc_thread_delay A delay, in milliseconds, that can be injected into shard processing at several points. The default value is 0. Setting a value from 10 to 100 ms would reduce CPU utilization on RADOS Gateway instances and reduce the proportion of workload capacity of lifecycle threads relative to ingest if saturation is being observed. Integer 0 A.4. Swift settings Name Description Type Default rgw_enforce_swift_acls Enforces the Swift Access Control List (ACL) settings. Boolean true rgw_swift_token_expiration The time in seconds for expiring a Swift token. Integer 24 * 3600 rgw_swift_url The URL for the Ceph Object Gateway Swift API. String None rgw_swift_url_prefix The URL prefix for the Swift API, for example, http://fqdn.com/swift . swift N/A rgw_swift_auth_url Default URL for verifying v1 auth tokens (if not using internal Swift auth). String None rgw_swift_auth_entry The entry point for a Swift auth URL. String auth A.5. Logging settings Name Description Type Default debug_rgw_datacache Low level D3N logs can be enabled by the debug_rgw_datacache subsystem (up to debug_rgw_datacache = 30 ) Integer 1/5 rgw_log_nonexistent_bucket Enables Ceph Object Gateway to log a request for a non-existent bucket. Boolean false rgw_log_object_name The logging format for an object name. See manpage date for details about format specifiers. Date %Y-%m-%d-%H-%i-%n rgw_log_object_name_utc Whether a logged object name includes a UTC time. If false , it uses the local time. Boolean false rgw_usage_max_shards The maximum number of shards for usage logging. Integer 32 rgw_usage_max_user_shards The maximum number of shards used for a single user's usage logging. Integer 1 rgw_enable_ops_log Enable logging for each successful Ceph Object Gateway operation. Boolean false rgw_enable_usage_log Enable the usage log. Boolean false rgw_ops_log_rados Whether the operations log should be written to the Ceph Storage Cluster backend. Boolean true rgw_ops_log_socket_path The Unix domain socket for writing operations logs. String None rgw_ops_log_data-backlog The maximum data backlog data size for operations logs written to a Unix domain socket. Integer 5 << 20 rgw_usage_log_flush_threshold The number of dirty merged entries in the usage log before flushing synchronously. Integer 1024 rgw_usage_log_tick_interval Flush pending usage log data every n seconds. Integer 30 rgw_intent_log_object_name The logging format for the intent log object name. See manpage date for details about format specifiers. Date %Y-%m-%d-%i-%n rgw_intent_log_object_name_utc Whether the intent log object name includes a UTC time. If false , it uses the local time. Boolean false rgw_data_log_window The data log entries window in seconds. Integer 30 rgw_data_log_changes_size The number of in-memory entries to hold for the data changes log. Integer 1000 rgw_data_log_num_shards The number of shards (objects) on which to keep the data changes log. NOTE: Changing the value is not supported. Integer 128 rgw_data_log_obj_prefix The object name prefix for the data log. String data_log rgw_replica_log_obj_prefix The object name prefix for the replica log. String replica log rgw_md_log_max_shards The maximum number of shards for the metadata log. Integer 64 rgw_log_http_headers Comma-delimited list of HTTP headers to include with ops log entries. Header names are case insensitive, and use the full header name with words separated by underscores. String None A.6. Keystone settings Name Description Type Default rgw_keystone_url The URL for the Keystone server. String None rgw_keystone_admin_token The Keystone admin token (shared secret). String None rgw_keystone_accepted_roles The roles required to serve requests. String Member, admin rgw_keystone_token_cache_size The maximum number of entries in each Keystone token cache. Integer 10000 A.7. Keystone integration configuration options You can integrate your configuration options into Keystone. See below for a detailed description of the available Keystone integration configuration options: Important After updating the Ceph configuration file, you must copy the new Ceph configuration file to all Ceph nodes in the storage cluster. rgw_s3_auth_use_keystone Description If set to true , the Ceph Object Gateway will authenticate users using Keystone. Type Boolean Default false nss_db_path Description The path to the NSS database. Type String Default "" rgw_keystone_url Description The URL for the administrative RESTful API on the Keystone server. Type String Default "" rgw_keystone_admin_token Description The token or shared secret that is configured internally in Keystone for administrative requests. Type String Default "" rgw_keystone_admin_user Description The keystone admin user name. Type String Default "" rgw_keystone_admin_password Description The keystone admin user password. Type String Default "" rgw_keystone_admin_tenant Description The Keystone admin user tenant for keystone v2.0. Type String Default "" rgw_keystone_admin_project Description the keystone admin user project for keystone v3. Type String Default "" rgw_trust_forwarded_https Description When a proxy in front of the Ceph Object Gateway is used for SSL termination, it does not whether incoming http connections are secure. Enable this option to trust the forwarded and X-forwarded headers sent by the proxy when determining when the connection is secure. This is mainly required for server-side encryption. Type Boolean Default false rgw_swift_account_in_url Description Whether the Swift account is encoded in the URL path. You must set this option to true and update the Keystone service catalog if you want the Ceph Object Gateway to support publicly-readable containers and temporary URLs. Type Boolean Default false rgw_keystone_admin_domain Description The Keystone admin user domain. Type String Default "" rgw_keystone_api_version Description The version of the Keystone API to use. Valid options are 2 or 3 . Type Integer Default 2 rgw_keystone_accepted_roles Description The roles required to serve requests. Type String Default member, Member, admin , rgw_keystone_accepted_admin_roles Description The list of roles allowing a user to gain administrative privileges. Type String Default ResellerAdmin, swiftoperator rgw_keystone_token_cache_size Description The maximum number of entries in the Keystone token cache. Type Integer Default 10000 rgw_keystone_verify_ssl Description If true Ceph will try to verify Keystone's SSL certificate. Type Boolean Default true rgw_keystone_implicit_tenants Description Create new users in their own tenants of the same name. Set this to true or false under most circumstances. For compatibility with versions of Red Hat Ceph Storage, it is also possible to set this to s3 or swift . This has the effect of splitting the identity space such that only the indicated protocol will use implicit tenants. Some older versions of Red Hat Ceph Storage only supported implicit tenants with Swift. Type String Default false rgw_max_attr_name_len Description The maximum length of metadata name. 0 skips the check. Type Size Default 0 rgw_max_attrs_num_in_req Description The maximum number of metadata items that can be put with a single request. Type uint Default 0 rgw_max_attr_size Description The maximum length of metadata value. 0 skips the check Type Size Default 0 rgw_swift_versioning_enabled Description Enable Swift versioning. Type Boolean Default 0 or 1 rgw_keystone_accepted_reader_roles Description List of roles that can only be used for reads. Type String Default "" rgw_swift_enforce_content_length Description Send content length when listing containers Type String Default false` A.8. LDAP settings Name Description Type Example rgw_ldap_uri A space-separated list of LDAP servers in URI format. String ldaps://<ldap.your.domain> rgw_ldap_searchdn The LDAP search domain name, also known as base domain. String cn=users,cn=accounts,dc=example,dc=com rgw_ldap_binddn The gateway will bind with this LDAP entry (user match). String uid=admin,cn=users,dc=example,dc=com rgw_ldap_secret A file containing credentials for rgw_ldap_binddn . String /etc/openldap/secret rgw_ldap_dnattr LDAP attribute containing Ceph object gateway user names (to form binddns). String uid

Commands: