blob: 2a1c921f037996da474b4a4082b68654121d3b0f [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Pegasus | Config</title>
<link rel="stylesheet" href="/assets/css/app.css">
<link rel="shortcut icon" href="/assets/images/favicon.ico">
<link rel="stylesheet" href="/assets/css/utilities.min.css">
<link rel="stylesheet" href="/assets/css/docsearch.v3.css">
<script src="/assets/js/jquery.min.js"></script>
<script src="/assets/js/all.min.js"></script>
<script src="/assets/js/docsearch.v3.js"></script>
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>Config | Pegasus</title>
<meta name="generator" content="Jekyll v4.3.3" />
<meta property="og:title" content="Config" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Get Configurations" />
<meta property="og:description" content="Get Configurations" />
<meta property="og:site_name" content="Pegasus" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2024-04-22T13:02:52+00:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Config" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-04-22T13:02:52+00:00","datePublished":"2024-04-22T13:02:52+00:00","description":"Get Configurations","headline":"Config","mainEntityOfPage":{"@type":"WebPage","@id":"/administration/config"},"url":"/administration/config"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div class="dashboard is-full-height">
<!-- left panel -->
<div class="dashboard-panel is-medium is-hidden-mobile pl-0">
<div class="dashboard-panel-header has-text-centered">
<a href="/">
<img src="/assets/images/pegasus-logo-inv.png" style="width: 80%;">
</a>
</div>
<div class="dashboard-panel-main is-scrollable pl-6">
<aside class="menu">
<p class="menu-label">The Pegasus documentation</p>
<ul class="menu-list">
<li>
<a href="/docs/downloads"
class="">
Downloads
</a>
</li>
</ul>
<p class="menu-label">Building Pegasus</p>
<ul class="menu-list">
<li>
<a href="/docs/build/compile-by-docker"
class="">
Compile by docker (recommended)
</a>
</li>
<li>
<a href="/docs/build/compile-from-source"
class="">
Compile from source
</a>
</li>
</ul>
<p class="menu-label">Client Libs</p>
<ul class="menu-list">
<li>
<a href="/clients/java-client"
class="">
Java Client
</a>
</li>
<li>
<a href="/clients/cpp-client"
class="">
C++ Client
</a>
</li>
<li>
<a href="https://github.com/apache/incubator-pegasus/tree/master/go-client"
class="">
Golang Client
</a>
</li>
<li>
<a href="/clients/python-client"
class="">
Python Client
</a>
</li>
<li>
<a href="/clients/node-client"
class="">
NodeJS Client
</a>
</li>
<li>
<a href="/clients/scala-client"
class="">
Scala Client
</a>
</li>
</ul>
<p class="menu-label">Tools</p>
<ul class="menu-list">
<li>
<a href="/docs/tools/shell"
class="">
Pegasus Shell
</a>
</li>
<li>
<a href="https://github.com/pegasus-kv/admin-cli"
class="">
Admin CLI
</a>
</li>
<li>
<a href="https://github.com/pegasus-kv/pegic"
class="">
Pegasus data access CLI
</a>
</li>
</ul>
<p class="menu-label">API</p>
<ul class="menu-list">
<li>
<a href="/api/ttl"
class="">
TTL(Time To Live)
</a>
</li>
<li>
<a href="/api/single-atomic"
class="">
Single-Atomic Operations
</a>
</li>
<li>
<a href="/api/redis"
class="">
Redis Adaption
</a>
</li>
<li>
<a href="/api/geo"
class="">
GEO Support
</a>
</li>
<li>
<a href="/api/http"
class="">
HTTP API
</a>
</li>
</ul>
<p class="menu-label">Admin</p>
<ul class="menu-list">
<li>
<a href="/administration/deployment"
class="">
Deployment
</a>
</li>
<li>
<a href="/administration/config"
class="is-active">
Configurations
</a>
</li>
<li>
<a href="/administration/rebalance"
class="">
Rebalance
</a>
</li>
<li>
<a href="/administration/monitoring"
class="">
Monitoring
</a>
</li>
<li>
<a href="/administration/rolling-update"
class="">
Rolling Restart and Upgrade
</a>
</li>
<li>
<a href="/administration/scale-in-out"
class="">
Scale-in and Scale-out
</a>
</li>
<li>
<a href="/administration/resource-management"
class="">
Resource Management
</a>
</li>
<li>
<a href="/administration/cold-backup"
class="">
Cold Backup
</a>
</li>
<li>
<a href="/administration/meta-recovery"
class="">
Metadata Recovery
</a>
</li>
<li>
<a href="/administration/replica-recovery"
class="">
Replica Data Recovery
</a>
</li>
<li>
<a href="/administration/zk-migration"
class="">
Zookeeper Migration
</a>
</li>
<li>
<a href="/administration/table-migration"
class="">
Table Migration
</a>
</li>
<li>
<a href="/administration/table-soft-delete"
class="">
Table Soft-Delete
</a>
</li>
<li>
<a href="/administration/table-env"
class="">
Table Environment Variables
</a>
</li>
<li>
<a href="/administration/remote-commands"
class="">
Remote Command
</a>
</li>
<li>
<a href="/administration/partition-split"
class="">
Partition-Split
</a>
</li>
<li>
<a href="/administration/duplication"
class="">
Duplication
</a>
</li>
<li>
<a href="/administration/compression"
class="">
Data Compression
</a>
</li>
<li>
<a href="/administration/throttling"
class="">
Throttling
</a>
</li>
<li>
<a href="/administration/experiences"
class="">
Experiences
</a>
</li>
<li>
<a href="/administration/manual-compact"
class="">
Manual Compact
</a>
</li>
<li>
<a href="/administration/usage-scenario"
class="">
Usage Scenario
</a>
</li>
<li>
<a href="/administration/bad-disk"
class="">
Bad Disk Repair
</a>
</li>
<li>
<a href="/administration/whitelist"
class="">
Replica Server Whitelist
</a>
</li>
<li>
<a href="/administration/backup-request"
class="">
Backup Request
</a>
</li>
<li>
<a href="/administration/hotspot-detection"
class="">
Hotspot Detection
</a>
</li>
</ul>
</aside>
</div>
</div>
<!-- main section -->
<div class="dashboard-main is-scrollable">
<nav class="navbar is-hidden-desktop">
<div class="navbar-brand">
<a href="/" class="navbar-item">
<!-- Pegasus Icon -->
<img src="/assets/images/pegasus-square.png">
</a>
<div class="navbar-item">
<!--A simple language switch button that only supports zh and en.-->
<!--IF its language is zh, then switches to en.-->
<a class="button is-light is-outlined is-inverted" href="/zh/administration/config"><strong>中</strong></a>
</div>
<a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false" data-target="navMenu">
<!-- Appears in mobile mode only -->
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div class="navbar-menu" id="navMenu">
<div class="navbar-end">
<!--dropdown-->
<div class="navbar-item has-dropdown is-hoverable">
<a href=""
class="navbar-link ">
<span>
The Pegasus documentation
</span>
</a>
<div class="navbar-dropdown">
<a href="/docs/downloads"
class="navbar-item ">
Downloads
</a>
</div>
</div>
<!--dropdown-->
<div class="navbar-item has-dropdown is-hoverable">
<a href=""
class="navbar-link ">
<span>
Building Pegasus
</span>
</a>
<div class="navbar-dropdown">
<a href="/docs/build/compile-by-docker"
class="navbar-item ">
Compile by docker (recommended)
</a>
<a href="/docs/build/compile-from-source"
class="navbar-item ">
Compile from source
</a>
</div>
</div>
<!--dropdown-->
<div class="navbar-item has-dropdown is-hoverable">
<a href=""
class="navbar-link ">
<span>
Client Libs
</span>
</a>
<div class="navbar-dropdown">
<a href="/clients/java-client"
class="navbar-item ">
Java Client
</a>
<a href="/clients/cpp-client"
class="navbar-item ">
C++ Client
</a>
<a href="https://github.com/apache/incubator-pegasus/tree/master/go-client"
class="navbar-item ">
Golang Client
</a>
<a href="/clients/python-client"
class="navbar-item ">
Python Client
</a>
<a href="/clients/node-client"
class="navbar-item ">
NodeJS Client
</a>
<a href="/clients/scala-client"
class="navbar-item ">
Scala Client
</a>
</div>
</div>
<!--dropdown-->
<div class="navbar-item has-dropdown is-hoverable">
<a href=""
class="navbar-link ">
<span>
Tools
</span>
</a>
<div class="navbar-dropdown">
<a href="/docs/tools/shell"
class="navbar-item ">
Pegasus Shell
</a>
<a href="https://github.com/pegasus-kv/admin-cli"
class="navbar-item ">
Admin CLI
</a>
<a href="https://github.com/pegasus-kv/pegic"
class="navbar-item ">
Pegasus data access CLI
</a>
</div>
</div>
<!--dropdown-->
<div class="navbar-item has-dropdown is-hoverable">
<a href=""
class="navbar-link ">
<span>
API
</span>
</a>
<div class="navbar-dropdown">
<a href="/api/ttl"
class="navbar-item ">
TTL(Time To Live)
</a>
<a href="/api/single-atomic"
class="navbar-item ">
Single-Atomic Operations
</a>
<a href="/api/redis"
class="navbar-item ">
Redis Adaption
</a>
<a href="/api/geo"
class="navbar-item ">
GEO Support
</a>
<a href="/api/http"
class="navbar-item ">
HTTP API
</a>
</div>
</div>
<!--dropdown-->
<div class="navbar-item has-dropdown is-hoverable">
<a href=""
class="navbar-link ">
<span>
Admin
</span>
</a>
<div class="navbar-dropdown">
<a href="/administration/deployment"
class="navbar-item ">
Deployment
</a>
<a href="/administration/config"
class="navbar-item is-active">
Configurations
</a>
<a href="/administration/rebalance"
class="navbar-item ">
Rebalance
</a>
<a href="/administration/monitoring"
class="navbar-item ">
Monitoring
</a>
<a href="/administration/rolling-update"
class="navbar-item ">
Rolling Restart and Upgrade
</a>
<a href="/administration/scale-in-out"
class="navbar-item ">
Scale-in and Scale-out
</a>
<a href="/administration/resource-management"
class="navbar-item ">
Resource Management
</a>
<a href="/administration/cold-backup"
class="navbar-item ">
Cold Backup
</a>
<a href="/administration/meta-recovery"
class="navbar-item ">
Metadata Recovery
</a>
<a href="/administration/replica-recovery"
class="navbar-item ">
Replica Data Recovery
</a>
<a href="/administration/zk-migration"
class="navbar-item ">
Zookeeper Migration
</a>
<a href="/administration/table-migration"
class="navbar-item ">
Table Migration
</a>
<a href="/administration/table-soft-delete"
class="navbar-item ">
Table Soft-Delete
</a>
<a href="/administration/table-env"
class="navbar-item ">
Table Environment Variables
</a>
<a href="/administration/remote-commands"
class="navbar-item ">
Remote Command
</a>
<a href="/administration/partition-split"
class="navbar-item ">
Partition-Split
</a>
<a href="/administration/duplication"
class="navbar-item ">
Duplication
</a>
<a href="/administration/compression"
class="navbar-item ">
Data Compression
</a>
<a href="/administration/throttling"
class="navbar-item ">
Throttling
</a>
<a href="/administration/experiences"
class="navbar-item ">
Experiences
</a>
<a href="/administration/manual-compact"
class="navbar-item ">
Manual Compact
</a>
<a href="/administration/usage-scenario"
class="navbar-item ">
Usage Scenario
</a>
<a href="/administration/bad-disk"
class="navbar-item ">
Bad Disk Repair
</a>
<a href="/administration/whitelist"
class="navbar-item ">
Replica Server Whitelist
</a>
<a href="/administration/backup-request"
class="navbar-item ">
Backup Request
</a>
<a href="/administration/hotspot-detection"
class="navbar-item ">
Hotspot Detection
</a>
</div>
</div>
</div>
</div>
</nav>
<nav class="navbar is-hidden-mobile">
<div class="navbar-start w-full">
<div class="navbar-item pl-0 w-full">
<!--TODO(wutao): Given the limitation of docsearch that couldn't handle multiple input,
I make searchbox only shown in desktop. Fix this issue when docsearch.js v3 released.
Related issue: https://github.com/algolia/docsearch/issues/230-->
<div id="docsearch"></div>
</div>
</div>
<div class="navbar-end">
<div class="navbar-item">
<!--A simple language switch button that only supports zh and en.-->
<!--IF its language is zh, then switches to en.-->
<a class="button is-light is-outlined is-inverted" href="/zh/administration/config"><strong>中</strong></a>
</div>
</div>
</nav>
<section class="hero is-info lg:mr-3">
<div class="hero-body">
<p class="title is-size-2 is-centered">Configurations</p>
</div>
</section>
<section class="section" style="padding-top: 2rem;">
<div class="content">
<h1 id="get-configurations">Get Configurations</h1>
<h2 id="remote-command">Remote command</h2>
<p>You can obtain <strong>all</strong> the configurations of Pegasus server through the <code class="language-plaintext highlighter-rouge">config-dump</code> command of <a href="remote-commands">Remote commands</a>, the output is in <em>ini</em> file format, including section, key, current configuration values, and a brief description.</p>
<p>For example, the following output fragment:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&gt;&gt;&gt; remote_command -l 127.0.0.1:34601 config-dump
COMMAND: config-dump
CALL [user-specified] [127.0.0.1:34601] succeed:
[apps..default]
; arguments for the app instances
arguments =
; delay seconds for when the apps should be started
delay_seconds = 0
; Thread pools needed to be started for this app
pools =
; RPC server listening ports needed for this app
ports =
; The app type name, as given when registering by dsn::service_app::register_factory&lt;T&gt;("&lt;type&gt;")
type =
; Whether to run the app instances or not
run = true
; The count of app instances for this type (ports are automatically calculated accordingly to avoid conflict, i.e., ports, ports+1, ports+2, ...)
count = 1
</code></pre></div></div>
<h2 id="http-api">HTTP API</h2>
<p>You can obtain <strong>partial</strong> configurations of Pegasus server through the <code class="language-plaintext highlighter-rouge">/config</code> or <code class="language-plaintext highlighter-rouge">/configs</code> path of <a href="/api/http">HTTP API</a>, the output is in <em>JSON</em> format, including section, key, current configuration value, value type, tags (such as whether it can be dynamically modified), and a brief description.</p>
<blockquote>
<p>Only configurations registered through method <code class="language-plaintext highlighter-rouge">DSN_DEFINE_xxx</code> can be obtained through the HTTP API.</p>
</blockquote>
<p>For example, the following output fragment:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ curl 127.0.0.1:34601/config?name=update_ranger_policy_interval_sec
{
"name": "update_ranger_policy_interval_sec",
"section": "security",
"type": "FV_UINT32",
"tags": "",
"description": "The interval seconds of meta server to pull the latest access control policy from Ranger service.",
"value": "5"
}
$ curl 127.0.0.1:34601/configs
{
"abnormal_write_trace_latency_threshold": {
"name": "abnormal_write_trace_latency_threshold",
"section": "replication",
"type": "FV_UINT64",
"tags": "flag_tag::FT_MUTABLE",
"description": "Latency trace will be logged when exceed the write latency threshold, in nanoseconds",
"value": "1000000000"
},
"add_secondary_enable_flow_control": {
"name": "add_secondary_enable_flow_control",
"section": "meta_server",
"type": "FV_BOOL",
"tags": "",
"description": "enable flow control for add secondary proposal",
"value": "false"
},
"add_secondary_max_count_for_one_node": {
"name": "add_secondary_max_count_for_one_node",
"section": "meta_server",
"type": "FV_INT32",
"tags": "",
"description": "add secondary max count for one node when flow control enabled",
"value": "10"
}
...
}
</code></pre></div></div>
<h1 id="modify-configuration">Modify Configuration</h1>
<h2 id="configuration-file">Configuration file</h2>
<p>By modifying the ini configuration file, the server needs to be restarted to take effect.</p>
<h2 id="http-api-1">HTTP API</h2>
<p><strong>Partial</strong> configuration of Pegasus server can be dynamically modified through the <code class="language-plaintext highlighter-rouge">/updateConfig</code> path of <a href="/api/http">HTTP API</a>. Only configuration items with tag <code class="language-plaintext highlighter-rouge">flag_tag::FT_MUTABLE</code> can be dynamically modified.</p>
<blockquote>
<p>The configuration modified through the HTTP API will not be persisted to the ini file, which means that the configuration item will be reset to the default value (or the value in the configuration file if specified).</p>
</blockquote>
<p>For example:</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ curl 127.0.0.1:34601/updateConfig?abnormal_write_trace_latency_threshold=2000000000
{"update_status":"ERR_OK"}
</code></pre></div></div>
<h1 id="configuration-components">Configuration Components</h1>
<p>The configuration of Pegasus is in <em>ini</em> format, which mainly includes the following sections:</p>
<h2 id="appsdefault">[apps..default]</h2>
<p>The default templates for various <code class="language-plaintext highlighter-rouge">app</code> related configurations. If a specific configuration type is not explicitly specified in the <code class="language-plaintext highlighter-rouge">apps.XXX</code> section, use the configuration in this section.</p>
<h2 id="appsmeta">[apps.meta]</h2>
<p>The relevant configuration of the <code class="language-plaintext highlighter-rouge">meta</code> app.</p>
<h2 id="meta_server">[meta_server]</h2>
<p>The relevant configuration of the Pegasus Meta Server.</p>
<h2 id="appsreplica">[apps.replica]</h2>
<p>The relevant configuration of the <code class="language-plaintext highlighter-rouge">replica</code> app, i.e. the relevant configuration of the Pegasus Replica Server.</p>
<h2 id="appscollector">[apps.collector]</h2>
<p>The relevant configuration of the Pegasus Collector (removed since Pegasus 2.6).</p>
<h2 id="core">[core]</h2>
<p>Pegasus server kernel engine related configurations.</p>
<h2 id="network">[network]</h2>
<p>Network related configurations.</p>
<h2 id="threadpooldefault">[threadpool..default]</h2>
<p>The default template for various thread-pool related configurations. If a specific configuration type is not explicitly specified in the <code class="language-plaintext highlighter-rouge">THREAD_POOL_XXX</code> section, use the configuration in this section.</p>
<h2 id="threadpoolthread_pool_xxx">[threadpool.THREAD_POOL_XXX]</h2>
<p>The relevant configuration of the <code class="language-plaintext highlighter-rouge">THREAD_POOL_XXX</code> thread-pool.</p>
<h2 id="meta_serverapps">[meta_server.apps.<app_unique_string>]</app_unique_string></h2>
<p>Tables will be created in the cluster when starting. Depending on <code class="language-plaintext highlighter-rouge">&lt;app_unique_string&gt;</code>, multiple tables can be created.</p>
<h2 id="replicationapp">[replication.app]</h2>
<p>Ditto, but only 1 table can be specified.</p>
<h2 id="replication">[replication]</h2>
<p>Consistency protocol related configurations, many concepts are related to <em>PacificA</em>.</p>
<h2 id="pegasusserver">[pegasus.server]</h2>
<p>The relevant configuration of the Pegasus Replica Server.</p>
<h2 id="taskdefault">[task..default]</h2>
<p>The default template for various <code class="language-plaintext highlighter-rouge">task</code> related configurations. If a specific configuration type is not explicitly specified in the <code class="language-plaintext highlighter-rouge">task.XXX</code> section, use the configuration in this section.</p>
<p><code class="language-plaintext highlighter-rouge">task</code> is a concept in rDSN, which can be understood as <em>asynchronous task</em>. For example, an RPC asynchronous call, an asynchronous file IO operation, a timeout event, etc., are all tasks.
Each task has a unique name defined. For each task, its related behavior can be configured, such as <code class="language-plaintext highlighter-rouge">trace</code>, <code class="language-plaintext highlighter-rouge">profiler</code>, etc.</p>
<h2 id="taskrpc_xxx">[task.RPC_XXX]</h2>
<p>The relevant configuration of the <code class="language-plaintext highlighter-rouge">RPC_XXX</code> task.</p>
<h2 id="zookeeper">[zookeeper]</h2>
<p>The relevant configuration of Zookeeper。</p>
<h2 id="toolssimple_logger">[tools.simple_logger]</h2>
<p>The <em>simple-logger</em> implementation class, it print logs to files.</p>
<h1 id="configuration-suggestions">Configuration suggestions</h1>
<ul>
<li>It is recommended to use IP addresses for the configuration items that require the use of server addresses.</li>
<li>For most configuration items, it is recommended to use default values.</li>
<li>Under the premise of understanding the role and impact of configuration items, you can change the configuration values as needed.</li>
<li>For further understanding of configuration items, you can refer to the source code.</li>
</ul>
</div>
</section>
<footer class="footer">
<div class="container">
<div class="content is-small has-text-centered">
<div style="margin-bottom: 20px;">
<a href="http://incubator.apache.org">
<img src="/assets/images/egg-logo.png"
width="15%"
alt="Apache Incubator"/>
</a>
</div>
Copyright &copy; 2023 <a href="http://www.apache.org">The Apache Software Foundation</a>.
Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
2.0</a>.
<br><br>
Apache Pegasus is an effort undergoing incubation at The Apache Software Foundation (ASF),
sponsored by the Apache Incubator. Incubation is required of all newly accepted projects
until a further review indicates that the infrastructure, communications, and decision making process
have stabilized in a manner consistent with other successful ASF projects. While incubation status is
not necessarily a reflection of the completeness or stability of the code, it does indicate that the
project has yet to be fully endorsed by the ASF.
<br><br>
Apache Pegasus, Pegasus, Apache, the Apache feather logo, and the Apache Pegasus project logo are either
registered trademarks or trademarks of The Apache Software Foundation in the United States and other
countries.
</div>
</div>
</footer>
</div>
<!-- right panel -->
<div class="dashboard-panel is-small is-scrollable is-hidden-mobile">
<p class="menu-label">
<span class="icon">
<i class="fa fa-bars" aria-hidden="true"></i>
</span>
Table of contents
</p>
<ul class="menu-list">
<li><a href="#get-configurations">Get Configurations</a>
<ul>
<li><a href="#remote-command">Remote command</a></li>
<li><a href="#http-api">HTTP API</a></li>
</ul>
</li>
<li><a href="#modify-configuration">Modify Configuration</a>
<ul>
<li><a href="#configuration-file">Configuration file</a></li>
<li><a href="#http-api-1">HTTP API</a></li>
</ul>
</li>
<li><a href="#configuration-components">Configuration Components</a>
<ul>
<li><a href="#appsdefault">[apps..default]</a></li>
<li><a href="#appsmeta">[apps.meta]</a></li>
<li><a href="#meta_server">[meta_server]</a></li>
<li><a href="#appsreplica">[apps.replica]</a></li>
<li><a href="#appscollector">[apps.collector]</a></li>
<li><a href="#core">[core]</a></li>
<li><a href="#network">[network]</a></li>
<li><a href="#threadpooldefault">[threadpool..default]</a></li>
<li><a href="#threadpoolthread_pool_xxx">[threadpool.THREAD_POOL_XXX]</a></li>
<li><a href="#meta_serverapps">[meta_server.apps.]</a></li>
<li><a href="#replicationapp">[replication.app]</a></li>
<li><a href="#replication">[replication]</a></li>
<li><a href="#pegasusserver">[pegasus.server]</a></li>
<li><a href="#taskdefault">[task..default]</a></li>
<li><a href="#taskrpc_xxx">[task.RPC_XXX]</a></li>
<li><a href="#zookeeper">[zookeeper]</a></li>
<li><a href="#toolssimple_logger">[tools.simple_logger]</a></li>
</ul>
</li>
<li><a href="#configuration-suggestions">Configuration suggestions</a></li>
</ul>
</div>
</div>
<script src="/assets/js/app.js" type="text/javascript"></script>
<script>
docsearch({
container: '#docsearch',
appId: 'QRN30RBW0S',
indexName: 'pegasus-apache',
apiKey: 'd3a3252fa344359766707a106c4ed88f',
debug: true
});
</script>
</body>
</html>