update
All checks were successful
Deploy Static Site / deploy (push) Successful in 6m6s

This commit is contained in:
2025-05-29 16:42:45 +04:00
parent e217f89702
commit 00717a92fb
2681 changed files with 173810 additions and 0 deletions

999
platform/elma365-stack.html Normal file
View File

@ -0,0 +1,999 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Install BRIX stack</title>
<meta name="generator" content="Help+Manual" />
<meta name="keywords" content="" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="BRIX On-Premises can be installed in an existing Kubernetes cluster. BRIX is delivered in the form of Helm charts:" />
<meta name="picture" content="" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Full documentation for BRIX365 platform. Low-code developer guide. User guide. Admin guide. Developer guide." />
<meta property="og:url" content="https://brix365.com/en/help" />
<meta property="og:image" content="" />
<link rel="icon" href="favicon.png" type="image/png" />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="./jquery-ui.min.css" />
<link rel="stylesheet" href="default.css" />
<link rel="stylesheet" href="./search-yandex.css" />
<link rel="stylesheet" href="./article.css" />
<link rel="stylesheet" href="./glossary.css" />
<link rel="stylesheet" href="./theme.css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="helpman_settings.js"></script>
<script type="text/javascript" src="helpman_topicinit.js"></script>
<script type="text/javascript" src="highlight.js"></script>
<script type="text/javascript">
$(document).ready(function(){highlight();});
</script>
</head>
<body>
<script>!function(e,t,c,n,r,a,m){e.ym=e.ym||function(){(e.ym.a=e.ym.a||[]).push(arguments)},e.ym.l=1*new Date;for(var s=0;s<document.scripts.length;s++)if(document.scripts[s].src===n)return;a=t.createElement(c),m=t.getElementsByTagName(c)[0],a.async=1,a.src=n,m.parentNode.insertBefore(a,m)}(window,document,"script","https://mc.yandex.ru/metrika/tag.js"),ym(83179930,"init",{clickmap:!0,trackLinks:!0,accurateTrackBounce:!0,webvisor:!0})</script><noscript><div><img alt=""src=https://mc.yandex.ru/watch/83179930 style=position:absolute;left:-9999px></div></noscript>
<header class="header elma-365">
<div class="container">
<a class="header__logo" href="https://brix365.com/en/help">
<img src="./logo-en.svg" alt="header logo">
</a>
<!-- <div class="hero__search-form" id="search-panel">
<form class="search-form" onsubmit="ym(83180416,'reachGoal','poisk')">
<label class="search-form__label">
<span id="reset-search" class="search__icon"></span>
<input class="search-form__input" type="text">
</label>
<input class="search-form__submit" type="submit" value="Submit">
</form>
</div> -->
<div class="hero__search-form" id="search-panel"> <form class="search-form"> <label class="search-form__label"> <span id="reset-search" class="search__icon"></span> <input class="search-form__input" type="text"> </label> <input class="search-form__submit" type="submit" value="Submit"> </form> </div>
<div class="hero__search">
<a href="#" id="search-icon" class="hero__search-icon">
<img src="search-icon-white.svg" alt="search string">
</a>
<a href="#" id="side-menu-icon" class="hero__side-icon">
<img src="side_menu.svg" alt="side menu">
</a>
</div>
<div class="header__navi">
<ul class="header__list"><li><span class="solution-select"><span class="solution-select__selected"></span><svg width="7" height="4" viewBox="0 0 7 4" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L3.5 3.5L6 1" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg><ul class="solution-select__list"><li><a class="project-link" href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a class="project-link" href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a class="project-link" href="https://brix365.com/en/help/crm/crm_overview.html">CRM</a></li><li><a class="project-link" href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a class="project-link" href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li><li><a class="project-link" href="https://brix365.com/en/help/business_solutions/-elma365-store.html">Business Solutions</a></li></ul></span></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li><li><a href="https://tssdk.brix365.com/" target="_blank">SDK</a></li></ul>
</div>
</div>
</header>
<main class="main container">
<aside class="sidebar" id="sidebar">
<div class="sidebar__header">
<a class="header__logo" href="https://brix365.com/en/help">
<img src="./logo-light-en.svg">
</a>
<span class="sidebar__close elma-365-close" id="close"></span>
</div>
<div class="sidebar__wrapper" id="side-menu">
</div>
</aside>
<article class="article" id="article">
<div class="article-inner">
<div class="content">
<header class="article__header">
<div class="article__bread" style="display:flex; gap:10px;">
<span id="subcategory" class="search-res__item-category search-res__item-category_subcategory subcategory article__badge"></span>
<div class="topic__breadcrumbs">
<p><a href="elma365-on-premises.html">BRIX On-Premises</a> &gt; Other / Install BRIX stack</p>
</div>
</div>
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">Install BRIX stack</span></h1>
</div>
</header>
<section class="article__content">
<div class="scroll-top-inner">
<a href="#h1-article" class="scroll-top"></a>
</div>
<!-- Placeholder for topic body. -->
<p class="p_Normal">BRIX On-Premises can be installed in an existing Kubernetes cluster. BRIX is delivered in the form of Helm charts:</p>
<ul style="list-style-type:disc">
<li class="p_Normal"><span style="font-weight: bold;">elma365-stack</span>: The full BRIX stack, including Helm packages <code><b>elma365</b></code>,<code><b>elma365-dbs</b></code> and <code><b>elma365-addons</b></code>.</li><li class="p_Normal"><span style="font-weight: bold;">elma365</span>: The BRIX application package.</li><li class="p_Normal"><span style="font-weight: bold;">elma365-dbs</span>: A set of databases and storage required for BRIX. You can also use your own databases such as PostgreSQL, MongoDB, Redis, RabbitMQ, and S3 storage by providing connection strings for values from the elma365<span style="font-weight: bold;"> </span>package. You can disable the installation of the corresponding components in the <code><b>values.yaml</b></code> file bu setting the <code><b>false</b></code> value, for example, for PostgreSQL<span style="font-weight: bold;"> </span><code><b>global.postgresql.enabled</b></code>. If all five components of the chart are set to <code><b>false</b></code>, the installation of this chart is not required. Read about creating databases in the <a href="postgresql.html" class="topiclink">Prepare external databases</a> section.</li><li class="p_Normal"><span style="font-weight: bold;">elma365-addons</span>: Add-ons for BRIX Enterprise, including the Linkerd<span style="font-weight: bold;"> Service Mesh</span>, <span style="font-weight: bold;">Prometheus + Grafana</span> monitoring system, as well as <span style="font-weight: bold;">Descheduler</span>, <span style="font-weight: bold;">NodeLocal</span> <span style="font-weight: bold;">DNSCache</span>, and the <span style="font-weight: bold;">Security Audit</span> module. </li></ul>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;внимание</span></p>
<p class="p_Normal"><span style="font-weight: bold;">elma365-extension</span> charts are no longer supported. Transition to <span style="font-weight: bold;">elma365-dbs</span> charts with new versions of databases is done using a dump and its restoration.</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;внимание&nbsp;</span></p>
<h2 class="p_Heading2"><span class="f_Heading2">Requirements for Kubernetes сonfiguration:</span></h2>
<p class="p_Normal">The installed version of the Kubernetes cluster must support Kubernetes API v.2 (Kubernetes version 1.19 - 1.26) and contain the following components: <span style="font-weight: bold;">ingress-nginx controller</span>, <span style="font-weight: bold;">coredns</span>, <span style="font-weight: bold;">rbac</span>, <span style="font-weight: bold;">storageclass</span>.</p>
<p class="p_Normal">Installation is performed using Helm v.3.</p>
<p class="p_Normal">Proxying from pods to the external network must be allowed.</p>
<h2 class="p_Heading2"><span class="f_Heading2">Installation of BRIX using the elma365-stack chart</span></h2>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">Add the BRIX Helm repository and extract the list of application package variables with all the necessary components into a file:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;repo&nbsp;add&nbsp;elma365</span><span class="f_CodeExample">&nbsp;https://charts.elma365.tech</span><br />
<span class="f_CodeExample">helm&nbsp;repo&nbsp;update</span><br />
<span class="f_CodeExample">helm&nbsp;show&nbsp;values&nbsp;elma365/elma365-stack&nbsp;&gt;&nbsp;values-elma365-stack.yaml</span></p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" class="p_Normal">Fill in the variables in the file <code><b>values-elma365-stack.yaml</b></code>, replacing at least the following parameters:</li></ol>
<ul style="list-style-type:disc">
<li class="p_Normal"><span style="font-weight: bold;">elma365.global.host</span>: the domain (FQDN) or IP address through which the system will be accessible.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.bootstrapCompany.email</span>: the email of the administrator.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.bootstrapCompany.password</span>: the password of the administrator.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.db.psqlUrl</span>: the connection string to the PostgreSQL database.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.db.mongoUrl</span>: the connection string to the MongoDB database for the application.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.db.vahterMongoUrl</span>: the connection string to the MongoDB database for the authorization server.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.db.redisUrl</span>: the connection string to Redis.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.db.amqpUrl</span>: the connection string to RabbitMQ.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.db.s3.method</span>: the method for S3 requests.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.db.s3.accesskeyid</span>: the S3 username.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.db.s3.secretaccesskey</span>: the password for the S3 user.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.db.s3.bucket</span>: the S3 bucket.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.db.s3.backend.address</span>: the S3 address.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.db.s3.backend.region</span>: the S3 region.</li><li class="p_Normal"><span style="font-weight: bold;">elma365.db.s3.ssl.enabled</span>: enable SSL for S3.</li></ul>
<ol style="list-style-type:upper-roman" start="3">
<li value="3" class="p_Normal">If it is necessary to create a separate namespace, specify it in all installation commands. </li><li value="4" class="p_Normal">Save the <code><b>values-elma365-stack.yaml</b></code> file for future updates.</li></ol>
<h2 class="p_Heading2"><span class="f_Heading2">Install databases</span></h2>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">When using your own databases, you can skip the installation of built-in databases by changing the value in the <code><b>global.elma365-dbs.enabled</b></code> parameter to <code><b>false</b></code> in the file <code><b>values-elma365-stack.yaml</b></code>. In the case of using one or more external databases, such as PostgreSQL, you can skip its installation by changing the parameter <code><b>global.postgresql.enabled</b></code> to <code><b>false</b></code>.</li><li value="2" class="p_Normal">Execute the installation of databases. At this step, it is necessary to disable the installation of the BRIX application with the following command (pay attention to the parameter <code><b>--set global.elma365.enabled=false</b></code>):</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;upgrade&nbsp;--install&nbsp;elma365-stack&nbsp;elma365/elma365-stack&nbsp;\</span><br />
<span class="f_CodeExample">-f&nbsp;values-elma365-stack.yaml&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;--set&nbsp;global.elma365.enabled=</span><span class="f_CodeExample" style="font-weight: bold;">false</span><span class="f_CodeExample">&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;--timeout=30m&nbsp;--wait&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;[-n&nbsp;namespace]</span></p>
<h2 class="p_Heading2"><span class="f_Heading2">Install the BRIX application</span></h2>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">If it is necessary to restore a dump before installing BRIX, you can use the <a href="database-backup-and-recovery.html" class="topiclink">elma365-backupper</a> utility or run the <code><b>elma365db.sh</b></code> script from the <span style="font-weight: bold;">BRIX</span> chart.</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;pull&nbsp;elma365/elma365-stack&nbsp;--untar</span><br />
<span class="f_CodeExample">./elma365-stack/charts/elma365/elma365db.sh&nbsp;--restore&nbsp;--path&nbsp;/backup/path/&nbsp;\</span><br />
<span class="f_CodeExample">[--kubeconfig&nbsp;/path/to/config&nbsp;--context&nbsp;prod]&nbsp;[-n&nbsp;namespace]</span></p>
<ol style="list-style-type:upper-roman">
<li value="2" class="p_Normal">Execute the installation of the BRIX application with the following command:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;upgrade&nbsp;--install&nbsp;elma365-stack&nbsp;elma365/elma365-stack&nbsp;\</span><br />
<span class="f_CodeExample">-f&nbsp;values-elma365-stack.yaml&nbsp;\</span><br />
<span class="f_CodeExample">--timeout=30m&nbsp;--wait&nbsp;[-n&nbsp;namespace]</span></p>
<ol style="list-style-type:upper-roman">
<li value="3" class="p_Normal">To create a dump, you can use the <code><b>elma365db.sh</b></code> script from the <span style="font-weight: bold;">BRIX</span> chart:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;pull&nbsp;elma365/elma365-stack&nbsp;--untar</span><br />
<span class="f_CodeExample">./elma365-stack/charts/elma365/elma365db.sh&nbsp;--dump&nbsp;--path&nbsp;/backup/path/&nbsp;\</span><br />
<span class="f_CodeExample">[--kubeconfig&nbsp;/path/to/config&nbsp;--context&nbsp;prod]&nbsp;[-n&nbsp;namespace]</span></p>
<h2 class="p_Heading2"><span class="f_Heading2">Install monitoring tools (optional)</span></h2>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">In the file <code><b>values-elma365-stack.yaml</b></code> disable unused components by changing the value in the parameters <code><b>global.linkerd2.enabled</b></code>, <code><b>global.descheduler.enabled</b></code>, <code><b>global.node-local-dns.enabled</b></code> and <code><b>global.audit.enabled</b></code> to <code><b>false</b></code>, as their installation requires preliminary settings.</li><li value="2" class="p_Normal">In the parameters <code><b>elma365-addons.kube-prometheus-stack</b></code> and <code><b>elma365-addons.grafana</b></code> specify the required <code><b>namespace</b></code> for the monitoring service (for example, <code><b>namespaceOverride: monitoring</b></code>), the address at which the monitoring service will be available, and enable dashboards by changing the value in the parameter <code><b>elma365.global.dashboard.enabled</b></code> to <code><b>true</b></code>.</li><li value="3" class="p_Normal">Create a <code><b>namespace</b></code> for the monitoring service with the following command:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl&nbsp;create&nbsp;namespace&nbsp;monitoring</span></p>
<ol style="list-style-type:upper-roman" start="4">
<li value="4" class="p_Normal">Perform the installation with the following command (pay attention to the parameter <code><b>--set global.elma365-addons.enabled=true</b></code>):</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;upgrade&nbsp;--install&nbsp;elma365-stack&nbsp;elma365/elma365-stack&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;-f&nbsp;values-elma365-stack.yaml&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;--set&nbsp;global.elma365-addons.enabled=</span><span class="f_CodeExample" style="font-weight: bold;">true</span><span class="f_CodeExample">&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;--timeout=30m&nbsp;--wait&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;[-n&nbsp;namespace]</span></p>
<h2 class="p_Heading2"><span class="f_Heading2">Install Linkerd and service auto-scaling (optional)</span></h2>
<p class="p_Normal"><span style="font-weight: bold;">Linkerd</span> is a dedicated infrastructure layer that helps manage communication between services, automatically encrypt connections, handle retries, and timeouts. It also provides telemetry (success rate, delays), and more.</p>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">Generate certificates using <code><b>openssl</b></code> by executing the commands below. Linkerd requires a trust anchor certificate and emitter certificates with the corresponding key to support mutual TLS connections between services. For all certificates, the <span style="font-weight: bold;">ECDSA P-256</span> algorithm is required.</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">#&nbsp;Create&nbsp;CA&nbsp;private&nbsp;key</span><br />
<span class="f_CodeExample">openssl&nbsp;ecparam&nbsp;-name&nbsp;prime256v1&nbsp;-genkey&nbsp;-noout&nbsp;-out&nbsp;ca-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;Create&nbsp;CA&nbsp;public&nbsp;key</span><br />
<span class="f_CodeExample">openssl&nbsp;ec&nbsp;-</span><span class="f_CodeExample" style="font-weight: bold;">in</span><span class="f_CodeExample">&nbsp;ca-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem&nbsp;-pubout&nbsp;-out&nbsp;ca-</span><span class="f_CodeExample" style="font-weight: bold;">public</span><span class="f_CodeExample">.pem</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;Create&nbsp;a&nbsp;self-signed&nbsp;CA&nbsp;certificate</span><br />
<span class="f_CodeExample">openssl&nbsp;req&nbsp;-x509&nbsp;-</span><span class="f_CodeExample" style="font-weight: bold;">new</span><span class="f_CodeExample">&nbsp;-key&nbsp;ca-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem&nbsp;-days&nbsp;365&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;-out&nbsp;ca.crt&nbsp;-subj&nbsp;&quot;/CN=root.linkerd.cluster.local&quot;</span><br />
<span class="f_CodeExample">#&nbsp;Create&nbsp;emitter&nbsp;private&nbsp;key</span><br />
<span class="f_CodeExample">openssl&nbsp;ecparam&nbsp;-name&nbsp;prime256v1&nbsp;-genkey&nbsp;-noout&nbsp;-out&nbsp;issuer-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;Create&nbsp;emitter&nbsp;public&nbsp;key</span><br />
<span class="f_CodeExample">openssl&nbsp;ec&nbsp;-</span><span class="f_CodeExample" style="font-weight: bold;">in</span><span class="f_CodeExample">&nbsp;issuer-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem&nbsp;-pubout&nbsp;-out&nbsp;issuer-</span><span class="f_CodeExample" style="font-weight: bold;">public</span><span class="f_CodeExample">.pem</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;Create&nbsp;a&nbsp;certificate&nbsp;signing&nbsp;request</span><br />
<span class="f_CodeExample">openssl&nbsp;req&nbsp;-</span><span class="f_CodeExample" style="font-weight: bold;">new</span><span class="f_CodeExample">&nbsp;-key&nbsp;issuer-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem&nbsp;-out&nbsp;issuer.csr&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;-subj&nbsp;&quot;/CN=identity.linkerd.cluster.local&quot;&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;-addext&nbsp;basicConstraints=critical,CA:TRUE</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;Create&nbsp;an&nbsp;emitter&nbsp;certificate&nbsp;by&nbsp;signing&nbsp;the&nbsp;CSR</span><br />
<span class="f_CodeExample">openssl&nbsp;x509&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-extfile&nbsp;/etc/ssl/openssl.cnf&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-extensions&nbsp;v3_ca&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-req&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-</span><span class="f_CodeExample" style="font-weight: bold;">in</span><span class="f_CodeExample">&nbsp;issuer.csr&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-days&nbsp;180&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-CA&nbsp;ca.crt&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-CAkey&nbsp;ca-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-CAcreateserial&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-extensions&nbsp;v3_ca&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-out&nbsp;issuer.crt</span><br />
<span class="f_CodeExample">#&nbsp;Remove&nbsp;the&nbsp;certificate&nbsp;signing&nbsp;request</span><br />
<span class="f_CodeExample">rm&nbsp;issuer.csr</span></p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" class="p_Normal">In the file <code><b>values-elma365-stack.yaml</b></code> disable unused components by changing the value in the parameters <code><b>global.kube-prometheus-stack.enabled</b></code>, <code><b>global.grafana.enabled</b></code>, <code><b>global.descheduler.enabled</b></code>, <code><b>global.node-local-dns.enabled</b></code> and <code><b>global.audit.enabled</b></code> to <code><b>false</b></code>, as their installation requires preliminary settings.</li><li value="3" class="p_Normal">In the parameters <code><b>elma365-addons.linkerd2</b></code> specify the required <code><b>namespace</b></code> for the <span style="font-weight: bold;">Linkerd</span> service (for example, <code><b>namespace: linkerd</b></code>), the contents of the certificates, key, and the certificate expiration period <code><b>crtExpiry</b></code>. Note that the value must correspond to the expiration date of the emitter certificate.</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">identityTrustAnchorsPEM:&nbsp;|</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-----BEGIN&nbsp;CERTIFICATE-----</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;contents&nbsp;of&nbsp;the&nbsp;certificate&nbsp;ca.crt</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-----END&nbsp;CERTIFICATE-----</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;identity:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;issuer:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crtExpiry:&nbsp;2023-03-30T05:28:39Z</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tls:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crtPEM:&nbsp;|</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-----BEGIN&nbsp;CERTIFICATE-----</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contents&nbsp;of&nbsp;the&nbsp;certificate&nbsp;issuer.crt</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-----END&nbsp;CERTIFICATE-----</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keyPEM:&nbsp;|</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-----BEGIN&nbsp;EC&nbsp;PRIVATE&nbsp;KEY-----</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contents&nbsp;of&nbsp;the&nbsp;certificate&nbsp;issuer-</span><span class="f_CodeExample" style="font-weight: bold;">private</span><span class="f_CodeExample">.pem</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-----END&nbsp;EC&nbsp;PRIVATE&nbsp;KEY-----</span></p>
<ol style="list-style-type:upper-roman" start="4">
<li value="4" class="p_Normal">Enable service auto-scaling by changing the value in the parameter <code><b>elma365.global.autoscaling.enabled</b></code> to <code><b>true</b></code>.</li><li value="5" class="p_Normal">Execute the installation with the following command (pay attention to the parameter <code><b>--set global.elma365-addons.enabled=true</b></code>):</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;upgrade&nbsp;--install&nbsp;elma365-stack&nbsp;elma365/elma365-stack&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;-f&nbsp;values-elma365-stack.yaml&nbsp;--set&nbsp;global.elma365-addons.enabled=</span><span class="f_CodeExample" style="font-weight: bold;">true</span><span class="f_CodeExample">&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;--timeout=30m&nbsp;--wait&nbsp;[-n&nbsp;namespace]</span></p>
<ol style="list-style-type:upper-roman" start="6">
<li value="6" class="p_Normal">Add an annotation to the <code><b>namespace</b></code> with the BRIX application for automatic injection of Linkerd-proxy containers into BRIX services:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl&nbsp;annotate&nbsp;namespace&nbsp;</span><span class="f_CodeExample" style="font-weight: bold;">default</span><span class="f_CodeExample">&nbsp;linkerd.io/inject=enabled</span></p>
<ol style="list-style-type:upper-roman" start="6">
<li value="7" class="p_Normal">Restart all services with the following command:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl&nbsp;rollout&nbsp;restart&nbsp;deploy&nbsp;[-n&nbsp;namespace]&nbsp;&amp;&amp;&nbsp;kubectl&nbsp;rollout&nbsp;restart&nbsp;ds&nbsp;[-n&nbsp;namespace]</span></p>
<h2 class="p_Heading2"><span class="f_Heading2">Install NodeLocal DNS Cache (optional)</span></h2>
<p class="p_Normal">The installation of NodeLocal DNS Cache allows reducing the load on DNS queries in the Kubernetes cluster and improving the stability of DNS name resolution. This helps avoid DNAT rules, connection tracking, and connection limitation.</p>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">Get the IP address of the <span style="font-weight: bold;">kube-dns</span> service:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl&nbsp;get&nbsp;svc&nbsp;kube-dns&nbsp;-n&nbsp;kube-system&nbsp;-o&nbsp;jsonpath={.spec.clusterIP}</span></p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" class="p_Normal">In the file <code><b>values-elma365-stack.yaml</b></code> disable unused components by changing the value in the parameters <code><b>global.kube-prometheus-stack.enabled</b></code>, <code><b>global.grafana.enabled</b></code>, <code><b>global.descheduler.enabled</b></code>, <code><b>global.linkerd2.enabled</b></code> and <code><b>global.audit.enabled</b></code> to <code><b>false</b></code>, as their installation requires preliminary settings.</li><li value="3" class="p_Normal">ВIn the parameters <code><b>elma365-addons.node-local-dns</b></code> specify the following:</li></ol>
<ul style="list-style-type:disc">
<li class="p_Normal"><span style="font-weight: bold;">pillar_dns_domain</span>: cluster domain.</li><li class="p_Normal"><span style="font-weight: bold;">pillar_dns_server</span>: <span style="font-weight: bold;">kube-dns </span>service IP address.</li><li class="p_Normal"><span style="font-weight: bold;">pillar_local_dns</span>: local IP address for <span style="font-weight: bold;">NodeLocal DNS Cache</span>.</li></ul>
<ol style="list-style-type:upper-roman" start="4">
<li value="4" class="p_Normal">Execute the installation with the following command (pay attention to the parameter <code><b>--set global.elma365-addons.enabled=true</b></code>):</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;upgrade&nbsp;--install&nbsp;elma365-stack&nbsp;elma365/elma365-stack&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;-f&nbsp;values-elma365-stack.yaml&nbsp;--set&nbsp;global.elma365-addons.enabled=</span><span class="f_CodeExample" style="font-weight: bold;">true</span><span class="f_CodeExample">&nbsp;\</span><br />
<span class="f_CodeExample">&nbsp;--timeout=30m&nbsp;--wait&nbsp;[-n&nbsp;namespace]</span></p>
<h2 class="p_Heading2"><span class="f_Heading2">Install Kyverno (optional)</span></h2>
<p class="p_Normal"><span style="font-weight: bold;">Kyverno</span> allows managing specific environment configurations independently of resource configurations, applying advanced configuration methods for its clusters, such as blocking or modifying API requests.</p>
<h3 class="p_Heading3"><span class="f_Heading3">Policy for adding custom CA certificates to all containers</span></h3>
<p class="p_Normal">In some cases, it is necessary to trust custom CA certificates. Kyverno allows automatically mounting them into containers. The policy adds a volume containing the certificate to all containers labeled <span style="font-weight: bold;">tier=elma365</span>.</p>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">Createa <span style="font-weight: bold;">ConfigMap</span> сwith the root CA certificate.</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl&nbsp;create&nbsp;configmap&nbsp;elma365-onpremise-ca&nbsp;--from-file=/etc/ssl/certs/rootCA.pem&nbsp;&nbsp;[-n&nbsp;namespace]</span></p>
<ol style="list-style-type:upper-roman">
<li value="2" class="p_Normal"><span style="font-family: 'Segoe UI',Tahoma,Verdana,Arial,sans-serif; color: #374151;">In the file</span> <code><b>values-elma365-stack.yaml</b></code> enable Kyverno by changing the value in the parameter <code><b>global.kyverno.enabled</b></code> to <code><b>true</b></code>. Then disable unused components by changing the value for the add-on in the parameter <code><b>global</b></code> to <code><b>false</b></code>, as their installation requires preliminary settings.</li><li value="3" class="p_Normal"><span style="color: #212529; background-color: #ffffff;">In the parameters&nbsp;</span><code><b>elma365-addons.kyverno</b></code><span style="color: #212529; background-color: #ffffff;">&nbsp;specify the required&nbsp;</span><code><b>namespace</b></code><span style="color: #212529; background-color: #ffffff;">&nbsp;for the Kyverno service, for example,&nbsp;</span><code><b>namespace: kyverno</b></code><span style="color: #212529; background-color: #ffffff;">. Then enable the policy for adding certificates by changing the value in the parameter&nbsp;</span><code><b>elma365-addons.kyverno.injectСerts.enabled</b></code><span style="color: #212529; background-color: #ffffff;">&nbsp;to&nbsp;</span><code><b>true</b></code><span style="color: #212529; background-color: #ffffff;">, specifying the&nbsp;</span><span style="font-weight: bold; color: #212529; background-color: #ffffff;">ConfigMap</span><span style="color: #212529; background-color: #ffffff;">&nbsp;name with the root CA certificate. In the parameter&nbsp;</span><code><b>injectNamespace</b></code><span style="color: #212529; background-color: #ffffff;">&nbsp;specify the list&nbsp;</span><code><b>namespace</b></code><span style="color: #212529; background-color: #ffffff;">&nbsp;of where the policy for adding certificates will be applied.&nbsp;</span></li><li value="4" class="p_Normal">Create the <code><b>namespace</b></code> for the Kyverno service with the following command:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl&nbsp;create&nbsp;namespace&nbsp;kyverno</span></p>
<ol style="list-style-type:upper-roman">
<li value="5" class="p_Normal">Execute the installation with the following command (pay attention to the parameter <code><b>--set global.elma365-addons.enabled=true</b></code>:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;upgrade&nbsp;--install&nbsp;elma365-stack&nbsp;elma365/elma365-stack&nbsp;\</span><br />
<span class="f_CodeExample">-f&nbsp;values-elma365-stack.yaml&nbsp;--set&nbsp;global.elma365-addons.enabled=</span><span class="f_CodeExample" style="font-weight: bold;">true</span><span class="f_CodeExample">&nbsp;\</span><br />
<span class="f_CodeExample">--timeout=30m&nbsp;--wait&nbsp;[-n&nbsp;namespace]</span></p>
<ol style="list-style-type:upper-roman">
<li value="6" class="p_Normal">Restart all services with the following command:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl&nbsp;rollout&nbsp;restart&nbsp;deploy&nbsp;[-n&nbsp;namespace]&nbsp;&amp;&amp;&nbsp;kubectl&nbsp;rollout&nbsp;restart&nbsp;ds&nbsp;[-n&nbsp;namespace]</span></p>
<h2 class="p_Heading2"><span class="f_Heading2">Update BRIX version</span></h2>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">Update the chart list in the repository:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;repo&nbsp;update</span></p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" class="p_Normal">Use the <code><b>values-elma365-stack.yaml</b></code> file saved at the installation step and then execute the command:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;upgrade&nbsp;--install&nbsp;elma365-stack&nbsp;elma365/elma365-stack&nbsp;-f&nbsp;values-elma365-stack.yaml&nbsp;--timeout=30m&nbsp;--wait&nbsp;[-n&nbsp;namespace]</span></p>
<p class="p_Normal">In case of changes to the connection strings when updating the application, restart all services with the command:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">kubectl&nbsp;default&nbsp;rollout&nbsp;restart&nbsp;deploy&nbsp;[-n&nbsp;namespace]&nbsp;&amp;&amp;&nbsp;kubectl&nbsp;default&nbsp;rollout&nbsp;restart&nbsp;ds&nbsp;[-n&nbsp;namespace]</span></p>
<h2 class="p_Heading2"><span class="f_Heading2">Uninstall BRIX chart</span></h2>
<p class="p_Normal">To remove the BRIX package, view the list of installed releases, and then execute the deletion command:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;list&nbsp;[-n&nbsp;namespace]</span><br />
<span class="f_CodeExample">helm&nbsp;uninstall&nbsp;elma365-stack&nbsp;[-n&nbsp;namespace]&nbsp;</span></p>
<h2 class="p_Heading2"><span class="f_Heading2">Parameters of the elma365-stack chart</span></h2>
<p class="p_Normal">&nbsp;</p>
<div style="text-align: left; text-indent: 0; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="width:100%; border:none; border-spacing:0;">
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><span style="font-weight: bold;">Name</span></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal"><span style="font-weight: bold;">Description</span></p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><span style="font-weight: bold;">Default value</span></p>
</td>
</tr>
<tr>
<td colspan="3" style="vertical-align:top; width:1063px; padding:0; border:none"><p class="p_Normal"><span style="font-weight: bold;">Global parameters </span></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.elma365.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable installation of BRIX application</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.elma365-dbs.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable installation of databases</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.postgresql.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable Postgres in database installation</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.mongodb.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable MongoDB in database installation</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.redis.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable Redis in database installation</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.rabbitmq.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable Rabbitmq in database installation </p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.minio.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable MinIO for S3 storage in database installation</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.elasticsearch.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable Elasticsearch in database installation (enabled for BRIX Bot)</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>false</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.elma365-addons.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable installation of add-ons for BRIX</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>false</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.kube-prometheus-stack.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable Prometheus in add-ons installation (create <code><b>namespace monitoring</b></code> before installation)</p>
<p class="p_Normal">&nbsp;</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.grafana.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable Grafana in add-ons installation</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.linkerd2.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable Linkerd in add-ons installation</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.descheduler.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable Descheduler in add-ons installation (requires at least 3 nodes in the cluster)</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>false</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.node-local-dns.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable NodeLocal DNS Cache in add-ons installation</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><code><b>global.audit.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable <span style="font-weight: bold;">Security Audit</span> Service in add-ons installation</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td colspan="3" style="vertical-align:top; width:1063px; padding:0; border:none"><p class="p_Normal" style="line-height: 1.20;"><span style="font-weight: bold;">BRIX global parameters</span></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.host</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Domain (FQDN) or IP address for system accessibility</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>example.ru</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.ingress.hostEnabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enabling <code><b>host</b></code> in Ingress (the value is taken from <code><b>global.host</b></code>)</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>false</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.ingress.onpremiseTls.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enabling HTTPS</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>false</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.ingress.onpremiseTls.secret</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Name of the secret with certificates for HTTPS operation</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>"elma365-onpremise-tls"</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.ingress.onpremiseTls.enabledCA</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enabling the root CA certificate for HTTPS operation with a self-signed certificate</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>false</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.ingress.onpremiseTls.configCA</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Name of the ConfigMap with the root CA certificate for HTTPS operation with a self-signed certificate</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>"elma365-onpremise-ca"</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.ingress.annotations</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Annotations for Ingress</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>{"kubernetes.io/ingress.class": "nginx"}</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.autoscaling.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enabling service autoscaling</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>true</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.autoscaling.minReplicas</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Minimum number of replicas</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">1</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.autoscaling.maxReplicas</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Maximum number of replicas</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">9</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.dashboard.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enabling dashboards for Grafana</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>false</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.image.repository</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Address for the registry </p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>hub.elma365.tech</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.image.dockerRegistry</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Address for the registry</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.image.pullSecret</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Secret with access rights to the private registry, must be created manually and encrypted in Base64</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>[yandexsecret]</b></code></p>
</td>
</tr>
<tr>
<td colspan="3" style="vertical-align:top; width:1063px; padding:0; border:none"><p class="p_Normal"><span style="font-weight: bold;">Additional parameters </span></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.postgres.maxIdleConns</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Maximum number of connections to the main PostgreSQL node in the pool of idle connections</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">50</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.postgres.maxOpenConns</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Maximum number of open connections to the main PostgreSQL node from the pool</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">150</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.postgres.maxConnLife</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Maximum lifetime of a connection to the main PostgreSQL node from the pool</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">1m</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.postgres.poolMaxIdleConns</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Maximum number of connections to PostgreSQL copies in the pool of idle connections</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">50</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.postgres.poolMaxOpenConns</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Maximum number of open connections to PostgreSQL copies from the pool</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">150</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.postgres.poolConnMaxLifetime</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Maximum lifetime of a connection to PostgreSQL copies from the pool</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">5m</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.maxGrpcMessageSize</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Maximum response size</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">8388608</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.maxGrpcBackoffDelay</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Maximum delay between attempts to establish a GRPC connection</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">2s</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.activeDeadlineSeconds</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Number of seconds allocated for the entire Job execution</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">3000</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.curlCreateCompanyMaxTime</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Number of seconds allocated for Job company creation</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">1800</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.global.curlMigrationsMaxTime</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Number of seconds allocated for Job migration</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">3000</p>
</td>
</tr>
<tr>
<td colspan="3" style="vertical-align:top; width:1063px; padding:0; border:none"><p class="p_Normal"><span style="font-weight: bold;">General parameters </span></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.debug</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable platform debugging mode</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>false</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.bootstrapCompany.email</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Administrator's email</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>admin@mail.com</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.bootstrapCompany.password</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Administrator's password</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">test</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.bootstrapCompany.locale</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">System language installed, possible options: en-US, sk-SK, ru-RU</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">ru-RU</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.language.default</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">System language installed, possible options: en-US, sk-SK, ru-RU</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">ru-RU</p>
</td>
</tr>
<tr>
<td colspan="3" style="vertical-align:top; width:1063px; padding:0; border:none"><p class="p_Normal"><span style="font-weight: bold;">Connection strings for connecting to databases</span></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.psqlUrl</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">PostgreSQL DB connection string</p>
</td>
<td style="vertical-align:middle; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>"db.psqlUrl: 'postgres://
postgres:pgpassword@
postgres.default.svc.cluster.
local:5432/elma365?sslmode=disable"</b></code> </p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.psqlSecret</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Secret name with the PostgreSQL database connection string encrypted in Base64 (key PSQL_URL)</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.roPsqlUrl</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">PostgreSQL database connection string for read-only access</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.roPsqlSecret</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Secret name with the PostgreSQL database connection string for read-only access encrypted in Base64 (key RO_POSTGRES_URL)</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.mongoUrl</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">MongoDB database connection string for the application</p>
</td>
<td style="vertical-align:middle; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>"mongodb://elma365:mongopassword@
mongo.default.svc.cluster.local:
27017/elma365?ssl=false&replicaSet=
rs0&readPreference=
secondaryPreferred"</b></code> </p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.mongoSecret</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Secret name with the MongoDB database connection string for the application encrypted in Base64 (key MONGO_URL)</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; height:83px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.vahterMongoUrl</b></code></p>
</td>
<td style="vertical-align:top; width:786px; height:83px; padding:0; border:none"><p class="p_Normal">MongoDB database connection string for the authorization server</p>
</td>
<td style="vertical-align:middle; width:277px; height:83px; padding:0; border:none"><p class="p_Normal"><code><b>"mongodb://elma365:mongopassword@
mongo.default.svc.cluster.local:
27017/elma365?ssl=false&replicaSet=
rs0&readPreference=
secondaryPreferred"</b></code> </p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.vahterMongoSecret</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Secret name with the MongoDB database connection string for the authorization server</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.redisUrl</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Redis connection string</p>
</td>
<td style="vertical-align:middle; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>"redis://redis.default.svc.cluster.local:6379/0"</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.redisSecret</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Secret name with the Redis connection string encrypted in Base64 (key REDIS_URL)</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.amqpUrl</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">RabbitMQ connection string</p>
</td>
<td style="vertical-align:middle; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>"amqp://elma365:rmqpassword@
rabbitmq.default.svc.
cluster.local:5672/elma365"</b></code> </p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.amqpSecret</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Secret name with the RabbitMQ connection string encrypted in Base64 (key AMQP_URL)</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.s3.method</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Request method</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">PUT</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.s3.accesskeyid</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Username</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>PZSF73JG72Ksd955JKU1HIA</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.s3.secretaccesskey</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Password for the user</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>aFDkj28Jbs2JKbnvJH678MNwiz88zKjsuNBHHs</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.s3.bucket</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">List of buckets</p>
<p class="p_Normal">&nbsp;</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>s3elma365</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.s3.backend.address</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">S3 address</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>example.ru</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.s3.backend.region</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Region</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>us-east-1</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.s3.ssl.enabled</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Enable SSL</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot;<code><b>false</b></code>&quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.db.s3Secret</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Secret name with the connection to the S3 file storage encrypted in Base64</p>
<p class="p_Normal"> &nbsp;# (keys S3_BACKEND_ADDRESS, S3_REGION, S3_KEY, S3_SECRET, S3_BUCKET, S3_SSL_ENABLED, S3_UPLOAD_METHOD)</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td colspan="3" style="vertical-align:top; width:1063px; padding:0; border:none"><p class="p_Normal"><span style="font-weight: bold;">Settings for connecting to SMTP mailing server</span></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.mailer.smtp.host</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">SMTP server addres</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.mailer.smtp.port</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">SMTP server port</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.mailer.smtp.from</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">&nbsp;</p>
<p class="p_Normal">Senders email address</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.mailer.smtp.user</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">User for authentication on the SMTP server</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.mailer.smtp.password</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Password for authentication on the SMTP server</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal">&quot; &quot;</p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365.mailer.smtp.needTLS</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Whether encryption is used</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>false</b></code></p>
</td>
</tr>
<tr>
<td colspan="3" style="vertical-align:top; width:1063px; padding:0; border:none"><p class="p_Normal"><span style="font-weight: bold;">Global parameters of the Security Audit service </span></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365-addons.audit.global.psql_url</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">PostgreSQL connection string</p>
</td>
<td style="vertical-align:middle; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>"postgresql://postgres:pgpassword@
postgres.default.svc.cluster.
local:5432/audit?sslmode=disable"</b></code> </p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365-addons.audit.image.repository</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Address for registry </p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>hub.elma365.tech</b></code></p>
</td>
</tr>
<tr>
<td style="vertical-align:top; width:398px; padding:0; border:none"><p class="p_Normal"><code><b>elma365-addons.audit.image.pullSecret</b></code></p>
</td>
<td style="vertical-align:top; width:786px; padding:0; border:none"><p class="p_Normal">Secret with access rights to the private registry, must be created manually and encrypted in Base64</p>
</td>
<td style="vertical-align:top; width:277px; padding:0; border:none"><p class="p_Normal"><code><b>[yandexsecret]</b></code></p>
</td>
</tr>
</table>
</div>
<div class="bottom-nav">
<a id="prev-link" class="topic__navi_prev" href="bi-elma365.html">
<span class="bottom-nav__arrow bottom-nav__arrow--prev"></span> <span
class="bottom-nav__link">bi-elma365.html</span>
</a>
<a id="next-link" class="topic__navi_next" href="install-kubernetes.html">
<span class="bottom-nav__link">install-kubernetes.html</span> <span
class="bottom-nav__arrow bottom-nav__arrow--next"></span>
</a>
</div>
<!-- добавляет на страницу строку блок Была ли статья полезной? -->
<div class="feedback" id="feedback"><div class="feedback-help"><span><b>Was this helpful?</b></span><form action="" method="POST" class="feedback-form" id="feedback-form"><div class="feedback__popup feedback__popup-response" id="feedback__popup_thx" style="display: none;">Thanks for your feedback!</div><div class="feedback__popup" id="feedback__popup_why" style="display: none;"><div class="feedback__popup-header">Please specify why:</div><input type="radio" name="category" id="bad_recommendation" value="bad_recommendation"><label for="bad_recommendation">Recommendations did not help me</label><input type="radio" name="category" id="difficult_text" value="difficult_text"><label for="difficult_text">Article is hard to understand</label><input type="radio" name="category" id="no_answer" value="no_answer"><label for="no_answer">Didn`t answer my question</label><input type="radio" name="category" id="bad_header" value="bad_header"><label for="bad_header">Content does not match the topic</label><input type="radio" name="category" id="other_reason" value="other_reason"><label for="other_reason">Other</label></div><div class="feedback__popup" id="feedback__popup-other" style="display: none;"><div class="feedback__popup-header">How we can improve it?</div><textarea class="feedback__textarea" name="other" id=""></textarea><input type="submit" class="feedback__other-btn" value="Submit"></div><div class="feedback-form__btn-group"><input type="radio" name="useful" id="feedback__useful_yes" value="true"><label for="feedback__useful_yes"><img src="like.svg" class="small-img" alt="like"><spanclass="feedback-form__btn-group_yes-btn">Yes</spanclass="feedback-form__btn-group_yes-btn"></label><input type="radio" name="useful" id="feedback__useful_no" value="false"><label for="feedback__useful_no"><img src="dislike.svg" class="small-img" alt="dislike"><spanclass="feedback-form__btn-group_no-btn">No</spanclass="feedback-form__btn-group_no-btn"></label></div><select name="category"><option disabled="">Please specify why</option><option value="bad_recommendation" selected="">Recommendations did not help me</option><option value="difficult_text">Article is hard to understand</option><option value="no_answer">Didn`t answer my question</option><option value="bad_header">Content does not match the topic</option><option value="other_reason">Other</option></select><input type="submit"></form></div><div class="found_typo"><p style="margin: 0px; margin-top: 16px !important;"><span><b>Found a typo?</b></span> Select it and press <i>Ctrl+Enter</i> to send us feedback</p></div></div>
</section>
</div>
<aside class="article__sidebar" style="display:none">
<input type="checkbox" />
<div class="article__arrow"></div>
<div class="table-of-contents elma365-right" id="toc2Content">
<h3 class="h3-toc">In this topic</h3>
<nav id="toc2"></nav>
</div>
</aside>
</div>
</article>
</main>
<footer class="footer">
<div class="footer-container">
<div class="footer-mobile">
<ul class="footer-mobile__list"><li><a href="https://brix365.com/en/" target="_blank">BRIX</a></li><li><a href="https://tssdk.brix365.com/en/latest/" target="_blank">SDK</a></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li></ul><ul class="footer-mobile__list"><li><a href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li></ul>
</div>
<div class="footer-wrap">
<div><span class="mobile-question-popup">Send feedback</span><form method="POST" action class="question__popup question-xs" id="question__popup"><div class="question-wrap"><span class="close"></span><span class="title">Ask a question</span><label for="help_question" style="display: none;"></label><textarea name="help_question" id="help_question"></textarea><input type="submit" value="Send"></div></form><div class="hidden fade-in question-success-xs">Sent</div></div>
<div class="footer-flex-b">
<span class="footer-copy">&copy; 2025 BRIX</span>
<ul class="footer-list">
<li class="footer-item">
<a href="#" class="arrow-top" style="display: block;"></a>
</li>
</ul>
</div>
</div>
</div>
</footer>
<iframe name="hmnavigation" style="display:none!important"></iframe>
<script src="./jquery-ui.js"></script>
<!--script src="//cdn.jsdelivr.net/npm/featherlight@1.7.14/release/featherlight.min.js" type="text/javascript" charset="utf-8"></script-->
<script src="./jquery.tocify.min.js"></script>
<script src="./TypoReporter.min.js"></script>
<script src="./google-search.js"></script>
<script src="./main.js"></script>
</body>
</html>