.. Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. .. include:: ../../common.defs plugin.config ************* .. configfile:: plugin.config Description =========== The :file:`plugin.config` file controls run-time loadable plugins available to |TS|, as well as their configuration. Plugins listed in this file are referred to as *global plugins* because they are always loaded and have global effect. This is in contrast to plugins specified in :file:`remap.config`, whose effects are limited to the specific mapping rules to which they are applied. Each configuration line consists of a path to an ``.so`` file. This path can either be absolute, or relative to the plugin directory (usually ``/usr/local/libexec/trafficserver``). Failure to load a plugin is fatal, and will cause |TS| to abort. In general, it is not possible to know whether it is safe for the service to run without a particular plugin, since plugins can have arbitrary effects on caching and authorization policies. .. important:: Plugins should only be listed once. The order in which the plugins are listed is also the order in which they are chained for request processing. An option list of whitespace-separated arguments may follow the plugin name. These are passed as an argument vector to the plugin's initialization function, :c:func:`TSPluginInit`. Arguments that begin with the ``$`` character designate |TS| configuration variables. These arguments will be replaced with the value of the corresponding configuration variable before the plugin is loaded. When using configuration variable expansion, note that most |TS| configuration can be changed. If a plugin requires the current value, it must obtain that using the management API. Examples ======== :: # Comments start with a '#' and continue to the end of the line # Blank lines are ignored # # test-plugin.so arg1 arg2 arg3 # plugins/iwx/iwx.so plugins/abuse/abuse.so etc/trafficserver/abuse.config plugins/icx/icx.so etc/trafficserver/icx.config $proxy.config.http.connect_attempts_timeout See Also ======== :manpage:`TSAPI(3ts)`, :manpage:`TSPluginInit(3ts)`, :manpage:`remap.config(5)`