<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Configuration on Krkn</title><link>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/</link><description>Recent content in Configuration on Krkn</description><generator>Hugo</generator><language>en</language><atom:link href="https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/index.xml" rel="self" type="application/rss+xml"/><item><title>Evolutionary Algorithm</title><link>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/evolutionary_algorithm/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/evolutionary_algorithm/</guid><description>&lt;p>Krkn-AI uses an online learning approach by leveraging an evolutionary algorithm, where an agent runs tests on the actual cluster and gathers feedback by measuring various KPIs for your cluster and application. The algorithm begins by creating random population samples that contain Chaos scenarios. These scenarios are executed on the cluster, feedback is collected, and then the best samples (parents) are selected to undergo crossover and mutation operations to generate the next set of samples (offspring). The algorithm relies on heuristics to guide the exploration and exploitation of scenarios.&lt;/p></description></item><item><title>Fitness Function</title><link>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/fitness_function/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/fitness_function/</guid><description>&lt;p>The &lt;strong>fitness function&lt;/strong> is a crucial element in the Krkn-AI algorithm. It evaluates each Chaos experiment and generates a score. These scores are then used during the selection phase of the algorithm to identify the best candidate solutions in each generation.&lt;/p>
&lt;ul>
&lt;li>The fitness function can be defined as an SLO or as cluster metrics using a Prometheus query.&lt;/li>
&lt;li>Fitness scores are calculated for the time range during which the Chaos scenario is executed.&lt;/li>
&lt;/ul>
&lt;h2 id="example">
 Example
 &lt;a class="td-heading-self-link" href="#example" aria-label="Heading self-link">&lt;/a>
&lt;/h2>
&lt;p>Let&amp;rsquo;s look at a simple fitness function that calculates the total number of restarts in a namespace:&lt;/p></description></item><item><title>Stopping Criteria</title><link>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/stopping_criteria/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/stopping_criteria/</guid><description>&lt;p>The stopping criteria framework lets users define when the genetic algorithm should terminate, allowing for more flexible control beyond strictly generation count or time limits. By configuring these parameters, you can ensure the algorithm stops once it achieves a target fitness or if it reaches a state of saturation where no further improvements or discoveries are being made.&lt;/p>
&lt;h3 id="configurations">
 Configurations
 &lt;a class="td-heading-self-link" href="#configurations" aria-label="Heading self-link">&lt;/a>
&lt;/h3>
&lt;p>You can configure the following options under the &lt;code>stopping_criteria&lt;/code> section of the Krkn-AI config file. All fields are optional and, with the exception of &lt;code>saturation_threshold&lt;/code>, default to disabled (&lt;code>null&lt;/code>).&lt;/p></description></item><item><title>Application Health Checks</title><link>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/health_check/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/health_check/</guid><description>&lt;p>When defining the Chaos Config, you can provide details about your application endpoints. Krkn-AI can access these endpoints during the Chaos experiment to evaluate how the application&amp;rsquo;s uptime is impacted.&lt;/p>


&lt;div class="alert alert-primary" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>

 Application endpoints must be accessible from the system where Krkn-AI is running in order to reach the service.

&lt;/div>

&lt;h3 id="configuration">
 Configuration
 &lt;a class="td-heading-self-link" href="#configuration" aria-label="Heading self-link">&lt;/a>
&lt;/h3>
&lt;p>The following configuration options are available when defining an application for health checks:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>name&lt;/strong>: Name of the service.&lt;/li>
&lt;li>&lt;strong>url&lt;/strong>: Service endpoint; supports parameterization with &amp;ldquo;$&lt;KEY>&amp;rdquo;.&lt;/li>
&lt;li>&lt;strong>status_code&lt;/strong>: Expected status code returned when accessing the service.&lt;/li>
&lt;li>&lt;strong>timeout&lt;/strong>: Timeout period after which the request is canceled.&lt;/li>
&lt;li>&lt;strong>interval&lt;/strong>: How often to check the endpoint.&lt;/li>
&lt;li>&lt;strong>stop_watcher_on_failure&lt;/strong>: This setting allows you to stop the health check watcher for an endpoint after it encounters a failure.&lt;/li>
&lt;/ul>
&lt;h4 id="example">
 Example
 &lt;a class="td-heading-self-link" href="#example" aria-label="Heading self-link">&lt;/a>
&lt;/h4>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">health_checks&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">stop_watcher_on_failure&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">false&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">applications&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">cart&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;$HOST/cart/add/1/Watson/1&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">status_code&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">200&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">timeout&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">10&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">interval&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">2&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">catalogue&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;$HOST/catalogue/categories&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">shipping&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;$HOST/shipping/codes&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">payment&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;$HOST/payment/health&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">user&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;$HOST/user/uniqueid&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>- &lt;span class="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">ratings&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;$HOST/ratings/api/fetch/Watson&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="url-parameterization">
 URL Parameterization
 &lt;a class="td-heading-self-link" href="#url-parameterization" aria-label="Heading self-link">&lt;/a>
&lt;/h4>
&lt;p>When defining Krkn-AI config files, the URL entry for an application may vary depending on the cluster. To make the URL configuration more manageable, you can specify the values for these parameters at runtime using the &lt;code>--param&lt;/code> flag.&lt;/p></description></item><item><title>Scenarios</title><link>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/scenarios/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/scenarios/</guid><description>&lt;p>The following Krkn scenarios are currently supported by Kkrn-AI.&lt;/p>
&lt;blockquote>
&lt;p>At least one scenario must be enabled for the Kkrn-AI experiment to run.&lt;/p>&lt;/blockquote>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>&lt;strong>Scenario&lt;/strong>&lt;/th>
 &lt;th>&lt;strong>Kkrn-AI Config (YAML)&lt;/strong>&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;a href="https://deploy-preview-247--krkn-chaos.netlify.app/docs/scenarios/pod-scenario/">Pod Scenario&lt;/a>&lt;/td>
 &lt;td>&lt;em>scenario.pod-scenarios&lt;/em>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://deploy-preview-247--krkn-chaos.netlify.app/docs/scenarios/application-outage/">Application Outages&lt;/a>&lt;/td>
 &lt;td>&lt;em>scenario.application-outages&lt;/em>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://deploy-preview-247--krkn-chaos.netlify.app/docs/scenarios/container-scenario/">Container Scenario&lt;/a>&lt;/td>
 &lt;td>&lt;em>scenario.container-scenarios&lt;/em>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://deploy-preview-247--krkn-chaos.netlify.app/docs/scenarios/hog-scenarios/cpu-hog-scenario/">Node CPU Hog&lt;/a>&lt;/td>
 &lt;td>&lt;em>scenario.node-cpu-hog&lt;/em>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://deploy-preview-247--krkn-chaos.netlify.app/docs/scenarios/hog-scenarios/memory-hog-scenario/">Node Memory Hog&lt;/a>&lt;/td>
 &lt;td>&lt;em>scenario.node-memory-hog&lt;/em>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://deploy-preview-247--krkn-chaos.netlify.app/docs/scenarios/hog-scenarios/io-hog-scenario/">Node IO Hog&lt;/a>&lt;/td>
 &lt;td>&lt;em>scenario.node-io-hog&lt;/em>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://deploy-preview-247--krkn-chaos.netlify.app/docs/scenarios/syn-flood-scenario/">Syn Flood&lt;/a>&lt;/td>
 &lt;td>&lt;em>scenario.syn-flood&lt;/em>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://deploy-preview-247--krkn-chaos.netlify.app/docs/scenarios/time-scenarios/">Time Scenario&lt;/a>&lt;/td>
 &lt;td>&lt;em>scenario.time-scenarios&lt;/em>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://deploy-preview-247--krkn-chaos.netlify.app/docs/scenarios/network-chaos-scenario/">Network Scenarios&lt;/a>&lt;/td>
 &lt;td>&lt;em>scenario.network-scenarios&lt;/em>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://deploy-preview-247--krkn-chaos.netlify.app/docs/scenarios/dns-outage/">DNS Outage&lt;/a>&lt;/td>
 &lt;td>&lt;em>scenario.dns-outage&lt;/em>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;a href="https://deploy-preview-247--krkn-chaos.netlify.app/docs/scenarios/pvc-scenario/">PVC Scenario&lt;/a>&lt;/td>
 &lt;td>&lt;em>scenario.pvc-scenarios&lt;/em>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>By default, scenarios are not enabled. Depending on your use case, you can enable or disable these scenarios in the &lt;code>krkn-ai.yaml&lt;/code> config file by setting the &lt;code>enable&lt;/code> field to &lt;code>true&lt;/code> or &lt;code>false&lt;/code>.&lt;/p></description></item><item><title>Output</title><link>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/output/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/output/</guid><description>&lt;p>Krkn-AI generates various output files during the execution of chaos experiments, including scenario YAML files, graph visualizations, and log files. By default, these files follow a standard naming convention, but you can customize the file names using format strings in the configuration file.&lt;/p>
&lt;h2 id="available-parameters">
 Available Parameters
 &lt;a class="td-heading-self-link" href="#available-parameters" aria-label="Heading self-link">&lt;/a>
&lt;/h2>
&lt;p>The &lt;code>output&lt;/code> section in your &lt;code>krkn-ai.yaml&lt;/code> configuration file allows you to customize the naming format for different output file types:&lt;/p>
&lt;h3 id="result_name_fmt">
 &lt;code>result_name_fmt&lt;/code>
 &lt;a class="td-heading-self-link" href="#result_name_fmt" aria-label="Heading self-link">&lt;/a>
&lt;/h3>
&lt;p>Specifies the naming format for scenario result YAML files. These files contain the complete scenario configuration and execution results for each generated scenario.&lt;/p></description></item><item><title>Elastic Search</title><link>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/elastic_search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-247--krkn-chaos.netlify.app/docs/krkn_ai/config/elastic_search/</guid><description>&lt;p>Krkn-AI supports integration with Elasticsearch to store scenario configurations, run results, and metrics. This allows you to centralize and query experiment data using Elasticsearch&amp;rsquo;s search and visualization capabilities (e.g., with Kibana).&lt;/p>
&lt;h3 id="configuration-parameters">
 Configuration Parameters
 &lt;a class="td-heading-self-link" href="#configuration-parameters" aria-label="Heading self-link">&lt;/a>
&lt;/h3>
&lt;ul>
&lt;li>&lt;code>enable&lt;/code> (bool): Set to &lt;code>true&lt;/code> to enable saving results to Elasticsearch. Default: &lt;code>false&lt;/code>.&lt;/li>
&lt;li>&lt;code>server&lt;/code> (string): URL or address of your Elasticsearch server (e.g., &lt;code>http://localhost&lt;/code>).&lt;/li>
&lt;li>&lt;code>port&lt;/code> (int): Port to connect to Elasticsearch (default: &lt;code>9200&lt;/code>).&lt;/li>
&lt;li>&lt;code>username&lt;/code> (string): Username for Elasticsearch authentication (can reference environment variables).&lt;/li>
&lt;li>&lt;code>password&lt;/code> (string): Password for Elasticsearch authentication. If using environment substitution, prefix with &lt;code>__&lt;/code> to treat as private.&lt;/li>
&lt;li>&lt;code>verify_certs&lt;/code> (bool): Set to &lt;code>true&lt;/code> to verify SSL certificates. Default: &lt;code>true&lt;/code>.&lt;/li>
&lt;li>&lt;code>index&lt;/code> (string): Name prefix for the Elasticsearch index where Krkn-AI results will be stored (e.g., &lt;code>krkn-ai&lt;/code>).&lt;/li>
&lt;/ul>
&lt;h3 id="example-configuration">
 Example Configuration
 &lt;a class="td-heading-self-link" href="#example-configuration" aria-label="Heading self-link">&lt;/a>
&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">elastic&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">enable&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Enable Elasticsearch integration&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">server&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;http://localhost&amp;#34;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Elasticsearch server URL&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">port&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">9200&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Elasticsearch port&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">username&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;$ES_USER&amp;#34;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Username (environment substitution supported)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">password&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;$__ES_PASSWORD&amp;#34;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Password (start with __ for sensitive/private handling)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">verify_certs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Verify SSL certificates&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="nt">index&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;krkn-ai&amp;#34;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># Index prefix for storing results&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>In addition to the standard Krkn telemetry and metrics indices, Krkn-AI creates two dedicated Elasticsearch indices to store detailed run information:&lt;/p></description></item></channel></rss>