Configuration file
This is the default configuration file for plugin template: static
###################################
##### #####
##### GENERAL SECTION #####
##### #####
###################################
# (plugin metadatas)
[general]
# Notes about the name of the plugin:
# - the name of the plugin is given by the content of .layerapi2_label
# in this directory (format: plugin_{name of the plugin}@mfserv)
# - the old "name" key in this file is not used anymore
# Version of the plugin (X.Y.Z)
# If the value is {{MFMODULE_VERSION}},
# the current module version is used
_version=0.0.1
# Release of the plugin
_release=1
# Summary (one line) of the goal of the plugin
_summary=one line summary
# License of the plugin
_license=Proprietary
# URL of the plugin homepage
_url=http://yourpluginhomepage
# Name of the maintainer of the plugin on the form "Firstname FAMILYNAME <email>"
_maintainer=Firstname FAMILYNAME <email>
# Vendor of the plugin
_vendor=Vendor
# !!! ADVANCED SETTING !!!
# Use this only if you are sure about what you are doing
# extra nginx configuration filename inside your plugin directory
# null => no extra configuration
# The content will be included directly in "http" section
# If you want to include some configuration fragments specific to an app
# don't use this key (in [general] section] but extra_nginx_conf_filename
# in [app_xxxxx] section.
# Note: if you use this key, you can break the whole mfserv module
# => so there will be a warning at plugin installation about that
# Note: the difference between this key and the one just below is that
# the configuration fragment will be inserted in "http" section
# (for this one) and in "server" section (for the one below)
_extra_nginx_http_conf_filename=null
# !!! ADVANCED SETTING !!!
# Use this only if you are sure about what you are doing
# extra nginx configuration filename inside your plugin directory
# null => no extra configuration
# The content will be included directly in "server" section
# If you want to include some configuration fragments specific to an app
# don't use this key (in [general] section] but extra_nginx_conf_filename
# in [app_xxxxx] section.
# Note: this key is not used with virtualdomain_based_routing
# Note: if you use this key, you can break the whole mfserv module
# => so there will be a warning at plugin installation about that
# Note: the difference between this key and the one just above is that
# the configuration fragment will be inserted in "server" section
# (for this one) and in "http" section (for the one above)
_extra_nginx_server_conf_filename=null
# !!! ADVANCED SETTING !!!
# Use this only if you are sure about what you are doing
# extra nginx configuration filename inside your plugin directory
# null => no extra configuration
# The content will be included directly in "init_worker_by_lua_block" section
# and must be valid LUA code!
# Note: if you use this key, you can break the whole mfserv module
# => so there will be a warning at plugin installation about that
_extra_nginx_init_worker_by_lua_block_filename=null
# if set to false, don't add the plugin directory in "lua packages path"
# (so you have to require your lua files with require("{your plugin name}.{your lua file}")
# don't change this unless you know exactly what you are doing
# (if you set to false, you can introduce some path collisions when using multiple
# openresty plugins even it was the default with mfserv <= 1.0.4)
_add_plugin_dir_to_lua_path=false
###############################
##### #####
##### APP SECTION #####
##### #####
###############################
# (Note: with this plugin type, you can't have several section like this one)
[app_main]
# Use prefix based routing:
# http://{host}:{port}/{plugin_name}/{app_name}/...
# (and/or)
# http://{host}:{port}/{plugin_name}/...
# if app_name == main or only one app in the plugin
_prefix_based_routing=true
# Use virtualdomain based routing
# http://{app_name}.{plugin_name}.{host}:{port}/...
# (and/or)
# http://{plugin_name}.{host}:{port}/...
# if app_name == main or only one app in the plugin
# NOTE: you need a DNS "catch all" to do that (like a DNS CNAME
# *.{host} => {ip_of_the_host})
_virtualdomain_based_routing=false
_static_routing=true
_static_url_prefix=
_static_directory=
# !!! ADVANCED SETTING !!!
# Add extra routes to your plugin (starting by /, not ending by /,
# separated by ;)
# Example: prefix_based_routing_extra_routes=/foo;/bar
# null => no extra routes
# / => all routes
# Note: if you use this key, you can break the whole mfserv module
# and generate some conflicts with other plugins
# => so there will be a warning at plugin installation about that
prefix_based_routing_extra_routes=null
# If _virtualdomain_based_routing is true, this parameter
# can be used to add some extra vhosts for this plugin
# (coma separated list of extra vhosts)
# (null or empty means no extra domains)
virtualdomain_based_routing_extra_vhosts=null
# !!! ADVANCED SETTING !!!
# Use this only if you are sure about what you are doing
# extra nginx configuration filename inside your plugin directory
# null => no extra configuration
# The content will be included directly in your app "location" section for
# the "static" routing part (see also extra_nginx_conf_filename key for
# the "dynamic" part)
# If you want to include some configuration fragments at a more general level
# don't use this key but the one in [general] section)
_extra_nginx_conf_static_filename=null
# Optional http point to diagnose plugin health during mfserv.status
# null => this feature is not activated
# else a GET request will be done on
# http://127.0.0.1:{MFSERV_NGINX_PORT}{YOUR_ENDPOINT}
# (so http_test_endpoint must start with a slash)
# If the result status code is {http_test_expected_status_code} and if the
# {http_test_expected_body} is found in the result body, then the test is ok
# If not, we will retry until {http_test_timeout} timeout (in seconds)
# After this timeout, the test will fail
# Note: if you want something more specific that this basic test, you can
# implement a plugin.status executable in your plugin bin/ subdirectory
# it will be called (with a 30s timeout) and it will pass if the
# return code is 0
_http_test_endpoint=null
_http_test_expected_status_code=200
_http_test_expected_body=OK
_http_test_timeout=10
# !!! ADVANCED SETTINGS !!!
# You can add extra daemons which will be launched within your plugin
# by providing configuration blocks [extra_daemon_*]
# You have to provide a command to daemonize (the command must run in
# foreground and not daemonize by itself)
# [extra_daemon_foo]
# _cmd_and_args = /your/foreground/command command_arg1 command_arg2
# numprocesses=1
# graceful_timeout = 30
# rlimit_as = 1000000000
# rlimit_nofile = 1000
# rlimit_stack = 10000000
# rlimit_fsize = 100000000
# log_split_stdout_stderr=AUTO
# log_split_multiple_workers=AUTO
# max_age=0
[custom]
# Here is a space for your public configuration keys
# (ie. overridable by administrator after deployment)
# Your keys shouldn't start with an underscore (as they are public)
# and you have to read their value through the corresponding env variable
# and NOT by parsing this file
# A key named "foo_bar" here will generate (in plugin_env) an env var called
# MFSERV_CURRENT_PLUGIN_CUSTOM_FOO_BAR
# (MFSERV_CURRENT_PLUGIN_CUSTOM_{YOUR KEY IN UPPERCASE})
# with the corresponding value inside