components/openstack/swift/files/proxy-server.conf
branchs11-update
changeset 3178 77584387a894
parent 3135 0a68f5e884e0
child 3998 5bd484384122
equal deleted inserted replaced
3175:1ff833d174d4 3178:77584387a894
     2 # bind_ip = 0.0.0.0
     2 # bind_ip = 0.0.0.0
     3 # bind_port = 80
     3 # bind_port = 80
     4 # bind_timeout = 30
     4 # bind_timeout = 30
     5 # backlog = 4096
     5 # backlog = 4096
     6 # swift_dir = /etc/swift
     6 # swift_dir = /etc/swift
     7 # workers = 1
       
     8 # user = swift
     7 # user = swift
       
     8 #
       
     9 # Use an integer to override the number of pre-forked processes that will
       
    10 # accept connections.  Should default to the number of effective cpu
       
    11 # cores in the system.  It's worth noting that individual workers will
       
    12 # use many eventlet co-routines to service multiple concurrent requests.
       
    13 # workers = auto
       
    14 #
       
    15 # Maximum concurrent requests per worker
       
    16 # max_clients = 1024
       
    17 #
     9 # Set the following two lines to enable SSL. This is for testing only.
    18 # Set the following two lines to enable SSL. This is for testing only.
    10 # cert_file = /etc/swift/proxy.crt
    19 # cert_file = /etc/swift/proxy.crt
    11 # key_file = /etc/swift/proxy.key
    20 # key_file = /etc/swift/proxy.key
       
    21 #
    12 # expiring_objects_container_divisor = 86400
    22 # expiring_objects_container_divisor = 86400
       
    23 #
    13 # You can specify default log routing here if you want:
    24 # You can specify default log routing here if you want:
    14 # log_name = swift
    25 # log_name = swift
    15 # log_facility = LOG_LOCAL0
    26 # log_facility = LOG_LOCAL0
    16 # log_level = INFO
    27 # log_level = INFO
    17 # log_headers = False
    28 # log_headers = false
    18 # log_address = /dev/log
    29 # log_address = /dev/log
       
    30 #
       
    31 # This optional suffix (default is empty) that would be appended to the swift transaction
       
    32 # id allows one to easily figure out from which cluster that X-Trans-Id belongs to.
       
    33 # This is very useful when one is managing more than one swift cluster.
       
    34 # trans_id_suffix =
       
    35 #
    19 # comma separated list of functions to call to setup custom log handlers.
    36 # comma separated list of functions to call to setup custom log handlers.
    20 # functions get passed: conf, name, log_to_console, log_route, fmt, logger,
    37 # functions get passed: conf, name, log_to_console, log_route, fmt, logger,
    21 # adapted_logger
    38 # adapted_logger
    22 # log_custom_handlers =
    39 # log_custom_handlers =
       
    40 #
    23 # If set, log_udp_host will override log_address
    41 # If set, log_udp_host will override log_address
    24 # log_udp_host =
    42 # log_udp_host =
    25 # log_udp_port = 514
    43 # log_udp_port = 514
       
    44 #
    26 # You can enable StatsD logging here:
    45 # You can enable StatsD logging here:
    27 # log_statsd_host = localhost
    46 # log_statsd_host = localhost
    28 # log_statsd_port = 8125
    47 # log_statsd_port = 8125
    29 # log_statsd_default_sample_rate = 1.0
    48 # log_statsd_default_sample_rate = 1.0
    30 # log_statsd_sample_rate_factor = 1.0
    49 # log_statsd_sample_rate_factor = 1.0
    31 # log_statsd_metric_prefix =
    50 # log_statsd_metric_prefix =
       
    51 #
    32 # Use a comma separated list of full url (http://foo.bar:1234,https://foo.bar)
    52 # Use a comma separated list of full url (http://foo.bar:1234,https://foo.bar)
    33 # cors_allow_origin =
    53 # cors_allow_origin =
       
    54 #
       
    55 # client_timeout = 60
    34 # eventlet_debug = false
    56 # eventlet_debug = false
    35 
    57 
    36 [pipeline:main]
    58 [pipeline:main]
    37 pipeline = catch_errors healthcheck proxy-logging cache slo ratelimit tempauth authtoken keystoneauth container-quotas account-quotas proxy-logging proxy-server
    59 pipeline = catch_errors healthcheck proxy-logging cache bulk slo ratelimit tempauth authtoken keystoneauth container-quotas account-quotas proxy-logging proxy-server
    38 
    60 
    39 [app:proxy-server]
    61 [app:proxy-server]
    40 use = egg:swift#proxy
    62 use = egg:swift#proxy
    41 # You can override the default log routing for this app here:
    63 # You can override the default log routing for this app here:
    42 # set log_name = proxy-server
    64 # set log_name = proxy-server
    43 # set log_facility = LOG_LOCAL0
    65 # set log_facility = LOG_LOCAL0
    44 # set log_level = INFO
    66 # set log_level = INFO
    45 # set log_address = /dev/log
    67 # set log_address = /dev/log
    46 # log_handoffs = True
    68 #
       
    69 # log_handoffs = true
    47 # recheck_account_existence = 60
    70 # recheck_account_existence = 60
    48 # recheck_container_existence = 60
    71 # recheck_container_existence = 60
    49 # object_chunk_size = 8192
    72 # object_chunk_size = 8192
    50 # client_chunk_size = 8192
    73 # client_chunk_size = 8192
    51 # node_timeout = 10
    74 # node_timeout = 10
    52 # client_timeout = 60
       
    53 # conn_timeout = 0.5
    75 # conn_timeout = 0.5
       
    76 #
    54 # How long without an error before a node's error count is reset. This will
    77 # How long without an error before a node's error count is reset. This will
    55 # also be how long before a node is reenabled after suppression is triggered.
    78 # also be how long before a node is reenabled after suppression is triggered.
    56 # error_suppression_interval = 60
    79 # error_suppression_interval = 60
       
    80 #
    57 # How many errors can accumulate before a node is temporarily ignored.
    81 # How many errors can accumulate before a node is temporarily ignored.
    58 # error_suppression_limit = 10
    82 # error_suppression_limit = 10
       
    83 #
    59 # If set to 'true' any authorized user may create and delete accounts; if
    84 # If set to 'true' any authorized user may create and delete accounts; if
    60 # 'false' no one, even authorized, can.
    85 # 'false' no one, even authorized, can.
    61 # allow_account_management = false
    86 # allow_account_management = false
       
    87 #
    62 # Set object_post_as_copy = false to turn on fast posts where only the metadata
    88 # Set object_post_as_copy = false to turn on fast posts where only the metadata
    63 # changes are stored anew and the original data file is kept in place. This
    89 # changes are stored anew and the original data file is kept in place. This
    64 # makes for quicker posts; but since the container metadata isn't updated in
    90 # makes for quicker posts; but since the container metadata isn't updated in
    65 # this mode, features like container sync won't be able to sync posts.
    91 # this mode, features like container sync won't be able to sync posts.
    66 # object_post_as_copy = true
    92 # object_post_as_copy = true
       
    93 #
    67 # If set to 'true' authorized accounts that do not yet exist within the Swift
    94 # If set to 'true' authorized accounts that do not yet exist within the Swift
    68 # cluster will be automatically created.
    95 # cluster will be automatically created.
    69 account_autocreate = true
    96 account_autocreate = true
       
    97 #
    70 # If set to a positive value, trying to create a container when the account
    98 # If set to a positive value, trying to create a container when the account
    71 # already has at least this maximum containers will result in a 403 Forbidden.
    99 # already has at least this maximum containers will result in a 403 Forbidden.
    72 # Note: This is a soft limit, meaning a user might exceed the cap for
   100 # Note: This is a soft limit, meaning a user might exceed the cap for
    73 # recheck_account_existence before the 403s kick in.
   101 # recheck_account_existence before the 403s kick in.
    74 # max_containers_per_account = 0
   102 # max_containers_per_account = 0
       
   103 #
    75 # This is a comma separated list of account hashes that ignore the
   104 # This is a comma separated list of account hashes that ignore the
    76 # max_containers_per_account cap.
   105 # max_containers_per_account cap.
    77 # max_containers_whitelist =
   106 # max_containers_whitelist =
       
   107 #
    78 # Comma separated list of Host headers to which the proxy will deny requests.
   108 # Comma separated list of Host headers to which the proxy will deny requests.
    79 # deny_host_headers =
   109 # deny_host_headers =
       
   110 #
    80 # Prefix used when automatically creating accounts.
   111 # Prefix used when automatically creating accounts.
    81 # auto_create_account_prefix = .
   112 # auto_create_account_prefix = .
       
   113 #
    82 # Depth of the proxy put queue.
   114 # Depth of the proxy put queue.
    83 # put_queue_depth = 10
   115 # put_queue_depth = 10
       
   116 #
    84 # Start rate-limiting object segment serving after the Nth segment of a
   117 # Start rate-limiting object segment serving after the Nth segment of a
    85 # segmented object.
   118 # segmented object.
    86 # rate_limit_after_segment = 10
   119 # rate_limit_after_segment = 10
       
   120 #
    87 # Once segment rate-limiting kicks in for an object, limit segments served
   121 # Once segment rate-limiting kicks in for an object, limit segments served
    88 # to N per second.
   122 # to N per second.
    89 # rate_limit_segments_per_sec = 1
   123 # rate_limit_segments_per_sec = 1
    90 # Storage nodes can be chosen at random (shuffle) or by using timing
   124 #
    91 # measurements. Using timing measurements may allow for lower overall latency.
   125 # Storage nodes can be chosen at random (shuffle), by using timing
    92 # The valid values for sorting_method are "shuffle" and "timing"
   126 # measurements (timing), or by using an explicit match (affinity).
       
   127 # Using timing measurements may allow for lower overall latency, while
       
   128 # using affinity allows for finer control. In both the timing and
       
   129 # affinity cases, equally-sorting nodes are still randomly chosen to
       
   130 # spread load.
       
   131 # The valid values for sorting_method are "affinity", "shuffle", and "timing".
    93 # sorting_method = shuffle
   132 # sorting_method = shuffle
    94 # If the timing sorting_method is used, the timings will only be valid for
   133 #
       
   134 # If the "timing" sorting_method is used, the timings will only be valid for
    95 # the number of seconds configured by timing_expiry.
   135 # the number of seconds configured by timing_expiry.
    96 # timing_expiry = 300
   136 # timing_expiry = 300
       
   137 #
    97 # If set to false will treat objects with X-Static-Large-Object header set
   138 # If set to false will treat objects with X-Static-Large-Object header set
    98 # as a regular object on GETs, i.e. will return that object's contents. Should
   139 # as a regular object on GETs, i.e. will return that object's contents. Should
    99 # be set to false if slo is not used in pipeline.
   140 # be set to false if slo is not used in pipeline.
   100 # allow_static_large_object = true
   141 # allow_static_large_object = true
       
   142 #
       
   143 # The maximum time (seconds) that a large object connection is allowed to last.
       
   144 # max_large_object_get_time = 86400
       
   145 #
       
   146 # Set to the number of nodes to contact for a normal request. You can use
       
   147 # '* replicas' at the end to have it use the number given times the number of
       
   148 # replicas for the ring being used for the request.
       
   149 # request_node_count = 2 * replicas
       
   150 #
       
   151 # Which backend servers to prefer on reads. Format is r<N> for region
       
   152 # N or r<N>z<M> for region N, zone M. The value after the equals is
       
   153 # the priority; lower numbers are higher priority.
       
   154 #
       
   155 # Example: first read from region 1 zone 1, then region 1 zone 2, then
       
   156 # anything in region 2, then everything else:
       
   157 # read_affinity = r1z1=100, r1z2=200, r2=300
       
   158 # Default is empty, meaning no preference.
       
   159 # read_affinity =
       
   160 #
       
   161 # Which backend servers to prefer on writes. Format is r<N> for region
       
   162 # N or r<N>z<M> for region N, zone M. If this is set, then when
       
   163 # handling an object PUT request, some number (see setting
       
   164 # write_affinity_node_count) of local backend servers will be tried
       
   165 # before any nonlocal ones.
       
   166 #
       
   167 # Example: try to write to regions 1 and 2 before writing to any other
       
   168 # nodes:
       
   169 # write_affinity = r1, r2
       
   170 # Default is empty, meaning no preference.
       
   171 # write_affinity =
       
   172 #
       
   173 # The number of local (as governed by the write_affinity setting)
       
   174 # nodes to attempt to contact first, before any non-local ones. You
       
   175 # can use '* replicas' at the end to have it use the number given
       
   176 # times the number of replicas for the ring being used for the
       
   177 # request.
       
   178 # write_affinity_node_count = 2 * replicas
       
   179 #
       
   180 # These are the headers whose values will only be shown to swift_owners. The
       
   181 # exact definition of a swift_owner is up to the auth system in use, but
       
   182 # usually indicates administrative responsibilities.
       
   183 # swift_owner_headers = x-container-read, x-container-write, x-container-sync-key, x-container-sync-to, x-account-meta-temp-url-key, x-account-meta-temp-url-key-2
       
   184 
   101 
   185 
   102 [filter:tempauth]
   186 [filter:tempauth]
   103 use = egg:swift#tempauth
   187 use = egg:swift#tempauth
   104 # You can override the default log routing for this filter here:
   188 # You can override the default log routing for this filter here:
   105 # set log_name = tempauth
   189 # set log_name = tempauth
   106 # set log_facility = LOG_LOCAL0
   190 # set log_facility = LOG_LOCAL0
   107 # set log_level = INFO
   191 # set log_level = INFO
   108 # set log_headers = False
   192 # set log_headers = false
   109 # set log_address = /dev/log
   193 # set log_address = /dev/log
       
   194 #
   110 # The reseller prefix will verify a token begins with this prefix before even
   195 # The reseller prefix will verify a token begins with this prefix before even
   111 # attempting to validate it. Also, with authorization, only Swift storage
   196 # attempting to validate it. Also, with authorization, only Swift storage
   112 # accounts with this prefix will be authorized by this middleware. Useful if
   197 # accounts with this prefix will be authorized by this middleware. Useful if
   113 # multiple auth systems are in use for one Swift cluster.
   198 # multiple auth systems are in use for one Swift cluster.
   114 # reseller_prefix = AUTH
   199 # reseller_prefix = AUTH
       
   200 #
   115 # The auth prefix will cause requests beginning with this prefix to be routed
   201 # The auth prefix will cause requests beginning with this prefix to be routed
   116 # to the auth subsystem, for granting tokens, etc.
   202 # to the auth subsystem, for granting tokens, etc.
   117 # auth_prefix = /auth/
   203 # auth_prefix = /auth/
   118 # token_life = 86400
   204 # token_life = 86400
       
   205 #
   119 # This allows middleware higher in the WSGI pipeline to override auth
   206 # This allows middleware higher in the WSGI pipeline to override auth
   120 # processing, useful for middleware such as tempurl and formpost. If you know
   207 # processing, useful for middleware such as tempurl and formpost. If you know
   121 # you're not going to use such middleware and you want a bit of extra security,
   208 # you're not going to use such middleware and you want a bit of extra security,
   122 # you can set this to false.
   209 # you can set this to false.
   123 # allow_overrides = true
   210 # allow_overrides = true
       
   211 #
   124 # This specifies what scheme to return with storage urls:
   212 # This specifies what scheme to return with storage urls:
   125 # http, https, or default (chooses based on what the server is running as)
   213 # http, https, or default (chooses based on what the server is running as)
   126 # This can be useful with an SSL load balancer in front of a non-SSL server.
   214 # This can be useful with an SSL load balancer in front of a non-SSL server.
   127 # storage_url_scheme = default
   215 # storage_url_scheme = default
       
   216 #
   128 # Lastly, you need to list all the accounts/users you want here. The format is:
   217 # Lastly, you need to list all the accounts/users you want here. The format is:
   129 #   user_<account>_<user> = <key> [group] [group] [...] [storage_url]
   218 #   user_<account>_<user> = <key> [group] [group] [...] [storage_url]
   130 # or if you want underscores in <account> or <user>, you can base64 encode them
   219 # or if you want underscores in <account> or <user>, you can base64 encode them
   131 # (with no equal signs) and use this format:
   220 # (with no equal signs) and use this format:
   132 #   user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url]
   221 #   user64_<account_b64>_<user_b64> = <key> [group] [group] [...] [storage_url]
   150 # refer to the keystone's documentation for details about the
   239 # refer to the keystone's documentation for details about the
   151 # different settings.
   240 # different settings.
   152 #
   241 #
   153 # You'll need to have as well the keystoneauth middleware enabled
   242 # You'll need to have as well the keystoneauth middleware enabled
   154 # and have it in your main pipeline so instead of having tempauth in
   243 # and have it in your main pipeline so instead of having tempauth in
   155 # there you can change it to: authtoken keystone
   244 # there you can change it to: authtoken keystoneauth
   156 #
   245 #
   157 [filter:authtoken]
   246 [filter:authtoken]
   158 paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
   247 paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
   159 auth_host = 127.0.0.1
       
   160 auth_port = 35357
       
   161 auth_protocol = http
       
   162 auth_uri = http://127.0.0.1:5000/
   248 auth_uri = http://127.0.0.1:5000/
       
   249 identity_uri = http://127.0.0.1:35357
   163 admin_tenant_name = %SERVICE_TENANT_NAME%
   250 admin_tenant_name = %SERVICE_TENANT_NAME%
   164 admin_user = %SERVICE_USER%
   251 admin_user = %SERVICE_USER%
   165 admin_password = %SERVICE_PASSWORD%
   252 admin_password = %SERVICE_PASSWORD%
   166 delay_auth_decision = 1
   253 delay_auth_decision = 1
   167 cache = swift.cache
   254 cache = swift.cache
   171 [filter:keystoneauth]
   258 [filter:keystoneauth]
   172 use = egg:swift#keystoneauth
   259 use = egg:swift#keystoneauth
   173 # Operator roles is the role which user would be allowed to manage a
   260 # Operator roles is the role which user would be allowed to manage a
   174 # tenant and be able to create container or give ACL to others.
   261 # tenant and be able to create container or give ACL to others.
   175 # operator_roles = admin, swiftoperator
   262 # operator_roles = admin, swiftoperator
       
   263 # The reseller admin role has the ability to create and delete accounts
       
   264 # reseller_admin_role = ResellerAdmin
   176 
   265 
   177 [filter:healthcheck]
   266 [filter:healthcheck]
   178 use = egg:swift#healthcheck
   267 use = egg:swift#healthcheck
   179 # An optional filesystem path, which if present, will cause the healthcheck
   268 # An optional filesystem path, which if present, will cause the healthcheck
   180 # URL to return "503 Service Unavailable" with a body of "DISABLED BY FILE".
   269 # URL to return "503 Service Unavailable" with a body of "DISABLED BY FILE".
   187 use = egg:swift#memcache
   276 use = egg:swift#memcache
   188 # You can override the default log routing for this filter here:
   277 # You can override the default log routing for this filter here:
   189 # set log_name = cache
   278 # set log_name = cache
   190 # set log_facility = LOG_LOCAL0
   279 # set log_facility = LOG_LOCAL0
   191 # set log_level = INFO
   280 # set log_level = INFO
   192 # set log_headers = False
   281 # set log_headers = false
   193 # set log_address = /dev/log
   282 # set log_address = /dev/log
       
   283 #
   194 # If not set here, the value for memcache_servers will be read from
   284 # If not set here, the value for memcache_servers will be read from
   195 # memcache.conf (see memcache.conf-sample) or lacking that file, it will
   285 # memcache.conf (see memcache.conf-sample) or lacking that file, it will
   196 # default to the value below. You can specify multiple servers separated with
   286 # default to the value below. You can specify multiple servers separated with
   197 # commas, as in: 10.1.2.3:11211,10.1.2.4:11211
   287 # commas, as in: 10.1.2.3:11211,10.1.2.4:11211
   198 # memcache_servers = 127.0.0.1:11211
   288 # memcache_servers = 127.0.0.1:11211
   213 use = egg:swift#ratelimit
   303 use = egg:swift#ratelimit
   214 # You can override the default log routing for this filter here:
   304 # You can override the default log routing for this filter here:
   215 # set log_name = ratelimit
   305 # set log_name = ratelimit
   216 # set log_facility = LOG_LOCAL0
   306 # set log_facility = LOG_LOCAL0
   217 # set log_level = INFO
   307 # set log_level = INFO
   218 # set log_headers = False
   308 # set log_headers = false
   219 # set log_address = /dev/log
   309 # set log_address = /dev/log
       
   310 #
   220 # clock_accuracy should represent how accurate the proxy servers' system clocks
   311 # clock_accuracy should represent how accurate the proxy servers' system clocks
   221 # are with each other. 1000 means that all the proxies' clock are accurate to
   312 # are with each other. 1000 means that all the proxies' clock are accurate to
   222 # each other within 1 millisecond.  No ratelimit should be higher than the
   313 # each other within 1 millisecond.  No ratelimit should be higher than the
   223 # clock accuracy.
   314 # clock accuracy.
   224 # clock_accuracy = 1000
   315 # clock_accuracy = 1000
       
   316 #
   225 # max_sleep_time_seconds = 60
   317 # max_sleep_time_seconds = 60
       
   318 #
   226 # log_sleep_time_seconds of 0 means disabled
   319 # log_sleep_time_seconds of 0 means disabled
   227 # log_sleep_time_seconds = 0
   320 # log_sleep_time_seconds = 0
       
   321 #
   228 # allows for slow rates (e.g. running up to 5 sec's behind) to catch up.
   322 # allows for slow rates (e.g. running up to 5 sec's behind) to catch up.
   229 # rate_buffer_seconds = 5
   323 # rate_buffer_seconds = 5
       
   324 #
   230 # account_ratelimit of 0 means disabled
   325 # account_ratelimit of 0 means disabled
   231 # account_ratelimit = 0
   326 # account_ratelimit = 0
   232 
   327 
   233 # these are comma separated lists of account names
   328 # these are comma separated lists of account names
   234 # account_whitelist = a,b
   329 # account_whitelist = a,b
   235 # account_blacklist = c,d
   330 # account_blacklist = c,d
   236 
   331 
   237 # with container_limit_x = r
   332 # with container_limit_x = r
   238 # for containers of size x limit requests per second to r.  The container
   333 # for containers of size x limit write requests per second to r.  The container
   239 # rate will be linearly interpolated from the values given. With the values
   334 # rate will be linearly interpolated from the values given. With the values
   240 # below, a container of size 5 will get a rate of 75.
   335 # below, a container of size 5 will get a rate of 75.
   241 # container_ratelimit_0 = 100
   336 # container_ratelimit_0 = 100
   242 # container_ratelimit_10 = 50
   337 # container_ratelimit_10 = 50
   243 # container_ratelimit_50 = 20
   338 # container_ratelimit_50 = 20
   244 
   339 
       
   340 # Similarly to the above container-level write limits, the following will limit
       
   341 # container GET (listing) requests.
       
   342 # container_listing_ratelimit_0 = 100
       
   343 # container_listing_ratelimit_10 = 50
       
   344 # container_listing_ratelimit_50 = 20
       
   345 
   245 [filter:domain_remap]
   346 [filter:domain_remap]
   246 use = egg:swift#domain_remap
   347 use = egg:swift#domain_remap
   247 # You can override the default log routing for this filter here:
   348 # You can override the default log routing for this filter here:
   248 # set log_name = domain_remap
   349 # set log_name = domain_remap
   249 # set log_facility = LOG_LOCAL0
   350 # set log_facility = LOG_LOCAL0
   250 # set log_level = INFO
   351 # set log_level = INFO
   251 # set log_headers = False
   352 # set log_headers = false
   252 # set log_address = /dev/log
   353 # set log_address = /dev/log
       
   354 #
   253 # storage_domain = example.com
   355 # storage_domain = example.com
   254 # path_root = v1
   356 # path_root = v1
   255 # reseller_prefixes = AUTH
   357 # reseller_prefixes = AUTH
   256 
   358 
   257 [filter:catch_errors]
   359 [filter:catch_errors]
   258 use = egg:swift#catch_errors
   360 use = egg:swift#catch_errors
   259 # You can override the default log routing for this filter here:
   361 # You can override the default log routing for this filter here:
   260 # set log_name = catch_errors
   362 # set log_name = catch_errors
   261 # set log_facility = LOG_LOCAL0
   363 # set log_facility = LOG_LOCAL0
   262 # set log_level = INFO
   364 # set log_level = INFO
   263 # set log_headers = False
   365 # set log_headers = false
   264 # set log_address = /dev/log
   366 # set log_address = /dev/log
   265 
   367 
   266 [filter:cname_lookup]
   368 [filter:cname_lookup]
   267 # Note: this middleware requires python-dnspython
   369 # Note: this middleware requires python-dnspython
   268 use = egg:swift#cname_lookup
   370 use = egg:swift#cname_lookup
   269 # You can override the default log routing for this filter here:
   371 # You can override the default log routing for this filter here:
   270 # set log_name = cname_lookup
   372 # set log_name = cname_lookup
   271 # set log_facility = LOG_LOCAL0
   373 # set log_facility = LOG_LOCAL0
   272 # set log_level = INFO
   374 # set log_level = INFO
   273 # set log_headers = False
   375 # set log_headers = false
   274 # set log_address = /dev/log
   376 # set log_address = /dev/log
       
   377 #
   275 # storage_domain = example.com
   378 # storage_domain = example.com
   276 # lookup_depth = 1
   379 # lookup_depth = 1
   277 
   380 
   278 # Note: Put staticweb just after your auth filter(s) in the pipeline
   381 # Note: Put staticweb just after your auth filter(s) in the pipeline
   279 [filter:staticweb]
   382 [filter:staticweb]
   280 use = egg:swift#staticweb
   383 use = egg:swift#staticweb
   281 # Seconds to cache container x-container-meta-web-* header values.
       
   282 # cache_timeout = 300
       
   283 
   384 
   284 # Note: Put tempurl just before your auth filter(s) in the pipeline
   385 # Note: Put tempurl just before your auth filter(s) in the pipeline
   285 [filter:tempurl]
   386 [filter:tempurl]
   286 use = egg:swift#tempurl
   387 use = egg:swift#tempurl
       
   388 # The methods allowed with Temp URLs.
       
   389 # methods = GET HEAD PUT
   287 #
   390 #
   288 # The headers to remove from incoming requests. Simply a whitespace delimited
   391 # The headers to remove from incoming requests. Simply a whitespace delimited
   289 # list of header names and names can optionally end with '*' to indicate a
   392 # list of header names and names can optionally end with '*' to indicate a
   290 # prefix match. incoming_allow_headers is a list of exceptions to these
   393 # prefix match. incoming_allow_headers is a list of exceptions to these
   291 # removals.
   394 # removals.
   327 # If not set, logging directives from [DEFAULT] without "access_" will be used
   430 # If not set, logging directives from [DEFAULT] without "access_" will be used
   328 # access_log_name = swift
   431 # access_log_name = swift
   329 # access_log_facility = LOG_LOCAL0
   432 # access_log_facility = LOG_LOCAL0
   330 # access_log_level = INFO
   433 # access_log_level = INFO
   331 # access_log_address = /dev/log
   434 # access_log_address = /dev/log
       
   435 #
   332 # If set, access_log_udp_host will override access_log_address
   436 # If set, access_log_udp_host will override access_log_address
   333 # access_log_udp_host =
   437 # access_log_udp_host =
   334 # access_log_udp_port = 514
   438 # access_log_udp_port = 514
       
   439 #
   335 # You can use log_statsd_* from [DEFAULT] or override them here:
   440 # You can use log_statsd_* from [DEFAULT] or override them here:
   336 # access_log_statsd_host = localhost
   441 # access_log_statsd_host = localhost
   337 # access_log_statsd_port = 8125
   442 # access_log_statsd_port = 8125
   338 # access_log_statsd_default_sample_rate = 1.0
   443 # access_log_statsd_default_sample_rate = 1.0
   339 # access_log_statsd_sample_rate_factor = 1.0
   444 # access_log_statsd_sample_rate_factor = 1.0
   340 # access_log_statsd_metric_prefix =
   445 # access_log_statsd_metric_prefix =
   341 # access_log_headers = False
   446 # access_log_headers = false
       
   447 #
       
   448 # By default, the X-Auth-Token is logged. To obscure the value,
       
   449 # set reveal_sensitive_prefix to the number of characters to log.
       
   450 # For example, if set to 12, only the first 12 characters of the
       
   451 # token appear in the log. An unauthorized access of the log file
       
   452 # won't allow unauthorized usage of the token. However, the first
       
   453 # 12 or so characters is unique enough that you can trace/debug
       
   454 # token usage. Set to 0 to suppress the token completely (replaced
       
   455 # by '...' in the log).
       
   456 # Note: reveal_sensitive_prefix will not affect the value
       
   457 # logged with access_log_headers=True.
       
   458 # reveal_sensitive_prefix = 8192
       
   459 #
   342 # What HTTP methods are allowed for StatsD logging (comma-sep); request methods
   460 # What HTTP methods are allowed for StatsD logging (comma-sep); request methods
   343 # not in this list will have "BAD_METHOD" for the <verb> portion of the metric.
   461 # not in this list will have "BAD_METHOD" for the <verb> portion of the metric.
   344 # log_statsd_valid_http_methods = GET,HEAD,POST,PUT,DELETE,COPY,OPTIONS
   462 # log_statsd_valid_http_methods = GET,HEAD,POST,PUT,DELETE,COPY,OPTIONS
       
   463 #
   345 # Note: The double proxy-logging in the pipeline is not a mistake. The
   464 # Note: The double proxy-logging in the pipeline is not a mistake. The
   346 # left-most proxy-logging is there to log requests that were handled in
   465 # left-most proxy-logging is there to log requests that were handled in
   347 # middleware and never made it through to the right-most middleware (and
   466 # middleware and never made it through to the right-most middleware (and
   348 # proxy server). Double logging is prevented for normal requests. See
   467 # proxy server). Double logging is prevented for normal requests. See
   349 # proxy-logging docs.
   468 # proxy-logging docs.
   350 
   469 
   351 # Note: Put before both ratelimit and auth in the pipeline.
   470 # Note: Put before both ratelimit and auth in the pipeline.
   352 [filter:bulk]
   471 [filter:bulk]
   353 use = egg:swift#bulk
   472 use = egg:swift#bulk
   354 # max_containers_per_extraction = 10000
   473 # max_containers_per_extraction = 10000
   355 # max_failed_files = 1000
   474 # max_failed_extractions = 1000
   356 # max_deletes_per_request = 1000
   475 # max_deletes_per_request = 10000
       
   476 # yield_frequency = 60
   357 
   477 
   358 # Note: Put after auth in the pipeline.
   478 # Note: Put after auth in the pipeline.
   359 [filter:container-quotas]
   479 [filter:container-quotas]
   360 use = egg:swift#container_quotas
   480 use = egg:swift#container_quotas
   361 
   481