update help elma

This commit is contained in:
2025-05-27 21:32:35 +04:00
parent a6b05d6789
commit 898b22bf32
4500 changed files with 89372 additions and 120699 deletions

View File

@ -1,20 +1,19 @@
<!DOCTYPE html>
<html lang="ru">
<html lang="en">
<head>
<title>Проксирование S3 в Kubernetes через S3-Gateway</title>
<title>S3 proxying in Kubernetes via S3-Gateway</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="Проксирование трафика до S3хранилища — это один из этапов подготовки инфраструктуры для работы с ELMA365. Для этого можно использовать инструмент S3Gateway.&nbsp;" />
<meta name="description" content="Proxying traffic to S3&nbsp;storage is one of the steps for preparing the BRIX infrastructure. The S3Gateway tool can be used for this purpose.&nbsp;" />
<meta name="picture" content="" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Cправка по Low-code платформе ELMA365" />
<meta property="og:url" content="https://elma365.com/ru/help" />
<meta property="og:image" content="" />
<meta property="og:site_name" content="ELMA365" />
<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" />
@ -24,7 +23,6 @@
<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>
@ -36,16 +34,16 @@
</head>
<body>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-M6ETBEC1R9"></script><script>window.dataLayer=window.dataLayer || []; function gtag(){dataLayer.push(arguments);}gtag('js', new Date()); gtag('config', 'G-M6ETBEC1R9');</script>
<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://elma365.com/ru/help">
<img src="./logo.svg" alt="header logo">
<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(83179930,'reachGoal','poisk')">
<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">
@ -65,7 +63,7 @@
</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://elma365.com/ru/help/platform/get-trial.html">Платформа</a></li><li><a class="project-link" href="https://elma365.com/ru/help/ecm/ecm-functions.html">ECM</a></li><li><a class="project-link" href="https://elma365.com/ru/help/crm/crm_overview.html">CRM</a></li><li><a class="project-link" href="https://elma365.com/ru/help/service/service-functions.html">Service</a></li><li><a class="project-link" href="https://elma365.com/ru/help/projects/projects-functions.html">Проекты</a></li><li><a class="project-link" href="https://elma365.com/ru/help/business_solutions/-elma365-store.html">Бизнес-решения</a></li></ul></span></li><li><a href="https://api.elma365.com/ru/"target="_blank">API</a></li><li><a href="https://tssdk.elma365.com/"target="_blank">SDK</a></li><li><a href="https://community.elma365.com/" target="_blank">Community</a></li><li><a href="https://elma-academy.com/ru/" target="_blank">Академия</a></li><li><a href="https://elma365.com/ru/" target="_blank">Сайт ELMA365</a></li></ul>
<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>
@ -80,8 +78,8 @@
<aside class="sidebar" id="sidebar">
<div class="sidebar__header">
<a class="header__logo" href="https://elma365.com/ru/help">
<img src="./logo-light.svg">
<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>
@ -94,15 +92,15 @@
<div class="article-inner">
<div class="content">
<header class="article__header">
<div class="article__bread" style="display:flex; gap:10px;">
<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">ELMA365 On-Premises</a> &gt; <a href="infrastructure-preparation.html">Подготовка инфраструктуры</a> &gt; Балансировщик нагрузки / Проксирование S3 в Kubernetes через S3-Gateway</p>
<p><a href="elma365-on-premises.html">BRIX On-Premises</a> &gt; <a href="infrastructure-preparation.html">Prepare infrastructure</a> &gt; Load balancer / S3 proxying in Kubernetes via S3-Gateway</p>
</div>
</div>
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">Проксирование S3 в Kubernetes через S3-Gateway</span></h1>
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">S3 proxying in Kubernetes via S3-Gateway</span></h1>
</div>
</header>
@ -111,217 +109,217 @@
<a href="#h1-article" class="scroll-top"></a>
</div>
<!-- Placeholder for topic body. -->
<p class="p_Normal">Проксирование трафика до S3хранилища — это один из этапов подготовки инфраструктуры для работы с ELMA365. Для этого можно использовать инструмент S3Gateway. </p>
<p class="p_Normal">Он обеспечивает доступ к S3хранилищу, развёрнутому внутри или вне Kubernetesкластера, через единую точку входа — домен (FQDN) или IPадрес для ELMA365.</p>
<p class="p_Normal">Установка S3Gateway состоит из нескольких этапов:</p>
<p class="p_Normal">Proxying traffic to S3 storage is one of the steps for preparing the BRIX infrastructure. The S3Gateway tool can be used for this purpose. </p>
<p class="p_Normal">It provides access to the S3 storage deployed inside or outside the Kubernetes cluster via a single entry point — domain (FQDN) or IP address for BRIX.</p>
<p class="p_Normal">S3-Gateway installation consists of four steps:</p>
<ol style="list-style-type:decimal">
<li value="1" class="p_Normal"><a href="proxy-s3-kubernetes.html#download-helm-chart-and-config-file" class="topiclink">Скачивание Helm-чарта и конфигурационного файла</a>.</li><li value="2" class="p_Normal"><a href="proxy-s3-kubernetes.html#fill-config-file" class="topiclink">Заполнение конфигурационного файла</a>.</li><li value="3" class="p_Normal"><a href="proxy-s3-kubernetes.html#set-chart-s3-gateway" class="topiclink">Установка с помощью Helm в Kubernetes-кластер чарта S3-Gateway</a>.</li><li value="4" class="p_Normal"><a href="proxy-s3-kubernetes.html#s3-connect" class="topiclink">Подключение к S3</a>.</li></ol>
<h2 class="p_Heading2"><a id="download-helm-chart-and-config-file" class="hmanchor"></a><span class="f_Heading2">Шаг 1. Скачивание Helm-чарта и конфигурационного файла</span></h2>
<p class="p_Normal">Для установки через интернет получите конфигурационный файл <code><b>values-s3gateway.yaml</b></code>, выполнив команду:</p>
<li value="1" class="p_Normal"><a href="proxy-s3-kubernetes.html#download-helm-chart-and-config-file" class="topiclink">Download the Helm chart and configuration file</a>.</li><li value="2" class="p_Normal"><a href="proxy-s3-kubernetes.html#fill-config-file" class="topiclink">Fill in the configuration file</a>.</li><li value="3" class="p_Normal"><a href="proxy-s3-kubernetes.html#set-chart-s3-gateway" class="topiclink">Install the S3 Gateway chart using Helm in the Kubernetes cluster</a>.</li><li value="4" class="p_Normal"><a href="proxy-s3-kubernetes.html#s3-connect" class="topiclink">Connect to S3</a>.</li></ol>
<h2 class="p_Heading2"><a id="download-helm-chart-and-config-file" class="hmanchor"></a><span class="f_Heading2">Step 1: Download the Helm chart and configuration file</span></h2>
<p class="p_Normal">To install via the internet, obtain the <code><b>values-s3gateway.yaml</b></code> configuration file by executing the following command:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;repo&nbsp;add&nbsp;elma365&nbsp;</span><span class="f_CodeExample">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/s3gateway&nbsp;&gt;&nbsp;values-s3gateway.yaml</span></p>
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A1')">Получение конфигурационного файла для установки в закрытом контуре без доступа в интернет</a></p>
<div id="TOGGLE0186A1" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A1')">Obtaining the configuration file for installation in a closed-loop environment without internet access</a></p>
<div id="TOGGLE0186A1" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<tr>
<td style="vertical-align:top; padding:0; border:none"><ol style="list-style-type:decimal">
<li value="1" class="p_Normal">На компьютере с доступом в интернет загрузите архив актуальной версии (latest) чарта S3-Gateway из репозитория elma365, выполнив команду:</li></ol>
<li value="1" class="p_Normal">On a computer with internet access, download the archive of the latest version of the S3 Gateway chart from the elma365 repository:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;repo&nbsp;add&nbsp;elma365&nbsp;</span><span class="f_CodeExample">https://charts.elma365.tech</span><br />
<span class="f_CodeExample">helm&nbsp;repo&nbsp;update</span><br />
<span class="f_CodeExample">helm&nbsp;pull&nbsp;elma365/s3gateway</span></p>
<ol style="list-style-type:decimal" start="2">
<li value="2" class="p_Normal">Полученный архив чарта <span style="font-weight: bold;">s3gateway-X.Y.Z.tgz</span> скопируйте на сервер, где будет производиться установка.</li></ol>
<li value="2" class="p_Normal">Copy the obtained <span style="font-weight: bold;">s3gateway-X.Y.Z.tgz</span> chart archive to the server where the installation will take place.</li></ol>
<ol style="list-style-type:decimal" start="3">
<li value="3" class="p_Normal">На сервере распакуйте чарт <span style="font-weight: bold;">s3gateway-X.Y.Z.tgz</span> и скопируйте конфигурационный файл по умолчанию <code><b>values.yaml</b></code> в <code><b>values-s3gateway.yaml</b></code>: </li></ol>
<li value="3" class="p_Normal">Unpack the <span style="font-weight: bold;">s3gateway-X.Y.Z.tgz</span> chart on the installation server, and copy the <code><b>values.yaml</b></code> default configuration file to <code><b>values-s3gateway.yaml</b></code>: </li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">tar&nbsp;-xf&nbsp;s3gateway-X.Y.Z.tgz</span><br />
<span class="f_CodeExample">cp&nbsp;s3gateway/values.yaml&nbsp;values-s3gateway.yaml</span></p>
</td>
</tr>
</table>
</div>
<h2 class="p_Heading2"><a id="fill-config-file" class="hmanchor"></a><span class="f_Heading2">Шаг 2. Заполнение конфигурационного файла</span></h2>
<p class="p_Normal">Заполните конфигурационный файл <code><b>values-s3gateway.yaml</b></code> для установки S3Gateway:</p>
<h2 class="p_Heading2"><a id="fill-config-file" class="hmanchor"></a><span class="f_Heading2">Step 2: Fill in the configuration file</span></h2>
<p class="p_Normal">Fill in the configuration file <code><b>values-s3gateway.yaml</b></code><span style="font-weight: bold;"> </span>for the S3 Gateway installation:</p>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">В параметре <code><b>ingress.hostname</b></code> укажите домен (FQDN) или IP-адрес, по которому доступно приложение ELMA365. </li><li value="2" class="p_Normal">В параметре <code><b>ingress.path</b></code> укажите наименование бакета (в хранилище S3), в котором приложение ELMA365 хранит файлы.<br />
Наименование бакета в S3 должно соответствовать формату <span style="font-weight: bold;">s3elma365</span>.</li></ol>
<li value="1" class="p_Normal">In the <code><b>ingress.hostname</b></code> parameter, specify the domain (FQDN) or IP address through which the BRIX application is accessible. </li><li value="2" class="p_Normal">In the <code><b>ingress.path</b></code> parameter, specify the name of the S3 bucket in which the BRIX application stores files.<br />
The name of the bucket in S3 must correspond to the <span style="font-weight: bold;">s3elma365 </span>format.</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">Начало&nbsp;примера</span></p>
<p class="p_Normal">Пример</p>
<p class="p_Normal">Example</p>
<ol style="list-style-type:decimal">
<li value="1" class="p_Normal">s3elma365.</li><li value="2" class="p_Normal">s3elma365-dev.</li><li value="3" class="p_Normal">s3elma365-prod.</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;примера</span></p>
<ol style="list-style-type:upper-roman" start="3">
<li value="3" class="p_Normal">Следующие изменения нужно внести в конфигурационный файл, если веб‑интерфейс приложения ELMA365 доступен по HTTPS:</li></ol>
<li value="3" class="p_Normal">The following changes should be made to the configuration file if the BRIX application webinterface is accessible via HTTPS:</li></ol>
<ul style="list-style-type:disc">
<li class="p_Normal">в параметре <code><b>ingress.path</b></code> укажите домен (FQDN);</li><li class="p_Normal">включите поддержку TLS, установив значение <code><b>true</b></code> в параметре <code><b>ingress.tls</b></code>;</li><li class="p_Normal">раскомментируйте параметры секции <code><b>ingress.extraTls</b></code>;</li><li class="p_Normal">для параметра <code><b>ingress.extraTls.hosts</b></code> укажите домен (FQDN), по которому доступно приложение ELMA365;</li><li class="p_Normal">для параметра <code><b>ingress.extraTls.secretName</b></code> укажите наименование <code><b>secret</b></code> типа <code><b>tls</b></code> для домена, указанного в <code><b>ingress.extraTls.hosts</b></code>.</li></ul>
<li class="p_Normal">Specify the domain (FQDN) in the <code><b>ingress.hostname</b></code> parameter.</li><li class="p_Normal">Enable TLS support by setting the value to <code><b>true</b></code> in the <code><b>ingress.tls</b></code> parameter.</li><li class="p_Normal">Uncomment the parameters in the <code><b>ingress.extraTls</b></code> section.</li><li class="p_Normal">For the <code><b>ingress.extraTls.hosts</b></code> parameter, specify the domain (FQDN) through which the BRIX application is accessible.</li><li class="p_Normal">For the <code><b>ingress.extraTls.secretName</b></code> parameter, specify the name of the TLS type secret for the domain specified in <code><b>ingress.extraTls.hosts</b></code>.</li></ul>
<ol style="list-style-type:upper-roman" start="4">
<li value="4" class="p_Normal">Если нужно обеспечить отказоустойчивость, в параметре <code><b>replicaCount</b></code> укажите необходимое количество реплик.</li><li value="5" class="p_Normal">В параметре <code><b>configuration</b></code> указана конфигурация HAProxy, с которой он запустится в Kubernetesкластере. В секции <code><b>backend s3_main</b></code> конфигурации HAProxy укажите список серверов S3, на которые необходимо перенаправить пользовательский трафик.</li></ol>
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A2')">Пример проксирования пользовательского трафика в хранилище S3 MinIO чартом elma365 dbs без поддержки SSL в Kubernetes-кластере</a></p>
<div id="TOGGLE0186A2" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<li value="4" class="p_Normal">If high availability is required, specify the desired number of replicas in the <code><b>replicaCount</b></code> parameter.</li><li value="5" class="p_Normal">The <code><b>configuration</b></code> parameter specifies the HAProxy configuration with which it will run in the Kubernetes cluster. In the <code><b>backend s3_main</b></code> section of the HAProxy configuration, specify the list of S3 servers to which user traffic should be redirected.</li></ol>
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A2')">How to proxy the user traffic in the S3 MinIO storage using the elma365 dbs chart without SSL support in the Kubernetes cluster</a></p>
<div id="TOGGLE0186A2" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<tr>
<td style="vertical-align:top; padding:0; border:none"><p class="p_Normal">&nbsp;<br />
В примере S3-хранилище устанавливается согласно инструкции в статье <a href="configure-minio.html" class="topiclink">«MinIO S3»</a>.</p>
In this example, the S3 storage is installed according to the instruction in the <a href="configure-minio.html" class="topiclink">MinIO S3</a> article.</p>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample"># Настройки HAProxy для проксирования подключения к S3-хранилищу</span><br />
<span class="f_CodeExample"># HAProxy settings for proxying connections to the S3 Storage</span><br />
<span class="f_CodeExample">haproxy:</span><br />
<span class="f_CodeExample"> &nbsp;ingress:</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;enabled: </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample"> &nbsp;#включение поддержки HAProxy Ingress для работы на платформе OpenShift</span><br />
<span class="f_CodeExample"> &nbsp;openshift: false</span><br />
<span class="f_CodeExample"> &nbsp;# домен (FQDN), по которому доступна система</span><br />
<span class="f_CodeExample"> &nbsp;hostname: elma365-server.your_domain</span><br />
<span class="f_CodeExample"> &nbsp;# наименование bucketа (в хранилище S3) для приложения ELMA365</span><br />
<span class="f_CodeExample"> &nbsp;path: /s3elma365</span><br />
<span class="f_CodeExample"> &nbsp;# включение https</span><br />
<span class="f_CodeExample"> &nbsp;tls: </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample"> &nbsp;# &nbsp;extraTls:</span><br />
<span class="f_CodeExample"> &nbsp;# &nbsp;- hosts:</span><br />
<span class="f_CodeExample"> &nbsp;# &nbsp; &nbsp; &nbsp;- elma365-server.your_domain</span><br />
<span class="f_CodeExample"> &nbsp;# &nbsp;secretName: elma365-server.your_domain-tls</span><br />
<span class="f_CodeExample"> &nbsp;# количество реплик для обеспечения высокой доступности</span><br />
<span class="f_CodeExample"> &nbsp;replicaCount: 1</span><br />
<span class="f_CodeExample"> &nbsp;containerPorts:</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;- name: http</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;containerPort: 8080</span><br />
<span class="f_CodeExample"> &nbsp;# конфигурация HAProxy</span><br />
<span class="f_CodeExample"> &nbsp;configuration: |</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;global</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;log stdout format raw local0</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;maxconn 1024</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;defaults</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;log global</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;timeout client 60s</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;timeout connect 60s</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;timeout server 60s</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;frontend s3_main</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;bind :8080</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;default_backend s3_main</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;backend s3_main</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;server s3_1 minio.elma365-dbs.svc.cluster.local:80 check inter 2s</span><br />
<span class="f_CodeExample"> &nbsp;# политики контекста безопасности</span><br />
<span class="f_CodeExample"> &nbsp;podSecurityContext:</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;enabled: true</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;fsGroup: 1001</span><br />
<span class="f_CodeExample"> &nbsp;containerSecurityContext:</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;enabled: true</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;runAsUser: 1001</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;runAsNonRoot: true</span><br />
<span class="f_CodeExample"> &nbsp;# указание ресурсов</span><br />
<span class="f_CodeExample"> &nbsp;resources:</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;requests:</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;memory: &quot;64Mi&quot;</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;cpu: &quot;50m&quot;</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp;limits:</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;memory: &quot;512Mi&quot;</span><br />
<span class="f_CodeExample"> &nbsp; &nbsp; &nbsp;cpu: &quot;500m&quot;</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">ingress:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled: </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># enabling HAProxy Ingress support for working with OpenShift</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">openshift: </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># system's domain (FQDN) through which it is accessible</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">hostname: elma365-server.your_domain</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># name of the bucket (in the S3 storage) for the BRIX application</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">path: /s3elma365</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># enabling https</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">tls: </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># &nbsp;extraTls:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># &nbsp;- hosts:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># &nbsp; &nbsp; &nbsp;- elma365-server.your_domain</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># &nbsp;secretName: elma365-server.your_domain-tls</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># number of replicas to ensure high availability</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">replicaCount: 1</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">containerPorts:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">-</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">name: http</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">containerPort: 8080</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># HAProxy configuration</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">configuration: |</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">global</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">log stdout format raw local0</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">maxconn 1024</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">defaults</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">log global</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">timeout client 60s</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">timeout connect 60s</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">timeout server 60s</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">frontend s3_main</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">bind :8080</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">default_backend s3_main</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">backend s3_main</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">server s3_1 minio.elma365-dbs.svc.cluster.local:80 check inter 2s</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># safety context policy</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">podSecurityContext:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled: </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">fsGroup: 1001</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">containerSecurityContext:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled: </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">runAsUser: 1001</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">runAsNonRoot: </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># specifying resources</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">resources:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">requests:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">memory: &quot;64Mi&quot;</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">cpu: &quot;50m&quot;</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">limits:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">memory: &quot;512Mi&quot;</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">cpu: &quot;500m&quot;</span><br />
<span class="f_CodeExample">...</span></p>
</td>
</tr>
</table>
</div>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A3')">Пример проксирования пользовательского трафика в хранилище S3 MinIO с поддержкой SSL</a></p>
<div id="TOGGLE0186A3" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A3')">How to proxy the user traffic in the S3 MinIO storage with SSL support</a></p>
<div id="TOGGLE0186A3" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<tr>
<td style="vertical-align:top; padding:0; border:none"><p class="p_Normal">&nbsp;<br />
В примере четыре сервера S3 (MinIO) расположены вне Kubernetes-кластера и развёрнуты согласно инструкции в статье <a href="minio-cluster.html" class="topiclink">«Кластер MinIO»</a>.</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;Настройки&nbsp;HAProxy&nbsp;для&nbsp;проксирования&nbsp;подключения&nbsp;к&nbsp;S3-хранилищу</span><br />
In this example, four S3 (MinIO) servers are located outside the Kubernetes cluster and deployed according to the instructions in <a href="minio-cluster.html" class="topiclink">MinIO cluster</a> article.</p>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample"># HAProxy settings for proxying connections to the S3 Storage</span><br />
<span class="f_CodeExample">haproxy:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;ingress:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;enabled:&nbsp;true</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;#&nbsp;включение&nbsp;поддержки&nbsp;HAProxy&nbsp;Ingress&nbsp;для&nbsp;работы&nbsp;на&nbsp;платформе&nbsp;OpenShift</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;openshift:&nbsp;false</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;#&nbsp;домен&nbsp;(FQDN),&nbsp;</span><span class="f_CodeExample">по&nbsp;которому&nbsp;доступна&nbsp;система</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;hostname:&nbsp;elma365-server.your_domain</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;##&nbsp;наименование&nbsp;bucketа&nbsp;&nbsp;хранилище&nbsp;S3)&nbsp;для&nbsp;приложения&nbsp;ELMA365</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;path:&nbsp;/s3elma365</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;#&nbsp;включение&nbsp;https</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;tls:&nbsp;</span><span class="f_CodeExample">true</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;extraTls:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;hosts:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;elma365-server.your_domain</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;secretName:&nbsp;elma365-server.your_domain-tls</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;#&nbsp;количество&nbsp;реплик&nbsp;для&nbsp;обеспечения&nbsp;высокой&nbsp;доступности</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;replicaCount:&nbsp;1</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;containerPorts:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;name:&nbsp;http</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;containerPort:&nbsp;8080</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;#&nbsp;конфигурация&nbsp;HAProxy</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;configuration:&nbsp;|</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;global</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log&nbsp;stdout&nbsp;format&nbsp;raw&nbsp;local0</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxconn&nbsp;100000</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;defaults</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log&nbsp;global</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timeout&nbsp;client&nbsp;60s</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timeout&nbsp;connect&nbsp;60s</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timeout&nbsp;server&nbsp;60s</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;frontend&nbsp;s3_main</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bind&nbsp;:8080</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default_backend&nbsp;s3_main</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;backend&nbsp;s3_main</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;balance&nbsp;leastconn</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server&nbsp;s3_1&nbsp;minio-server1.your_domain:9000&nbsp;check-ssl&nbsp;ssl&nbsp;verify&nbsp;none&nbsp;check&nbsp;inter&nbsp;2s</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server&nbsp;s3_2&nbsp;minio-server1.your_domain:9000&nbsp;check-ssl&nbsp;ssl&nbsp;verify&nbsp;none&nbsp;check&nbsp;inter&nbsp;2s</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;server&nbsp;s3_3&nbsp;minio-server1.your_domain:9000&nbsp;check-ssl&nbsp;ssl&nbsp;verify&nbsp;none&nbsp;check&nbsp;inter&nbsp;2s</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample">&nbsp;server&nbsp;s3_4&nbsp;minio-server1.your_domain:9000&nbsp;check-ssl&nbsp;ssl&nbsp;verify&nbsp;none&nbsp;check&nbsp;inter&nbsp;2s</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;#&nbsp;политики&nbsp;контекста&nbsp;безопасности</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;podSecurityContext:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;enabled:&nbsp;true</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;fsGroup:&nbsp;1001</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;containerSecurityContext:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;enabled:&nbsp;true</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;runAsUser:&nbsp;1001</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;runAsNonRoot:&nbsp;true</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;#&nbsp;указание&nbsp;ресурсов</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;resources:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;requests:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memory:&nbsp;&quot;64Mi&quot;</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpu:&nbsp;&quot;50m&quot;</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;limits:</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memory:&nbsp;&quot;512Mi&quot;</span><br />
<span class="f_CodeExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cpu:&nbsp;&quot;500m&quot;</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">ingress:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled: </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># enabling HAProxy Ingress support for working with OpenShift</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">openshift: </span><span class="f_CodeExample" style="font-weight: bold;">false</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># system's domain (FQDN) through which it is accessible</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">hostname: elma365-server.your_domain</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># name of the bucket (in the S3 storage) for the BRIX application</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">path: /s3elma365</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># enabling https</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">tls: </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">extraTls:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">-</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">hosts:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; &nbsp; </span><span class="f_CodeExample">-</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">elma365-server.your_domain</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">secretName: elma365-server.your_domain-tls</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># number of replicas to ensure high availability</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">replicaCount: 1</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">containerPorts:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">-</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">name: http</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">containerPort: 8080</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># HAProxy configuration</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">configuration: |</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">global</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">log stdout format raw local0</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">maxconn 100000</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">defaults</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">log global</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">timeout client 60s</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">timeout connect 60s</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">timeout server 60s</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">frontend s3_main</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">bind :8080</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">default_backend s3_main</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">backend s3_main</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">balance leastconn</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">server s3_1 minio-server1.your_domain:9000 check-ssl ssl verify none check inter 2s</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">server s3_2 minio-server1.your_domain:9000 check-ssl ssl verify none check inter 2s</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">server s3_3 minio-server1.your_domain:9000 check-ssl ssl verify none check inter 2s</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">server s3_4 minio-server1.your_domain:9000 check-ssl ssl verify none check inter 2s</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># safety context policy</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">podSecurityContext:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled: </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">fsGroup: 1001</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">containerSecurityContext:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">enabled: </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">runAsUser: 1001</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">runAsNonRoot: </span><span class="f_CodeExample" style="font-weight: bold;">true</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># resources</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">resources:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">requests:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">memory: &quot;64Mi&quot;</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">cpu: &quot;50m&quot;</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; </span><span class="f_CodeExample">limits:</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">memory: &quot;512Mi&quot;</span><br />
<span class="f_CodeExample" style="color: #ffffff;"> &nbsp; &nbsp; </span><span class="f_CodeExample">cpu: &quot;500m&quot;</span><br />
<span class="f_CodeExample">...</span></p>
</td>
</tr>
</table>
</div>
<ol style="list-style-type:upper-roman" start="6">
<li value="6" style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;">Если вы устанавливаете S3Gateway в закрытом контуре без доступа в интернет, заполните параметры подключения к приватному registry.</li></ol>
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A4')">Пример заполнения параметров для подключения к приватному registry</a></p>
<div id="TOGGLE0186A4" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<li value="6" class="p_Normal">If you install S3Gateway in an isolated environment without internet access, fill out the parameters for connecting to the private <span style="font-weight: bold;">registry</span>.</li></ol>
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A4')">How to fill out the connection parameters for the private registry</a></p>
<div id="TOGGLE0186A4" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
<tr>
<td style="vertical-align:top; padding:0; border:none"><p class="p_Normal">&nbsp;</p>
<ol style="list-style-type:decimal">
<li value="1" class="p_Normal">Задайте адрес в параметре <code><b>haproxy.image.registry</b></code>.</li><li value="2" class="p_Normal">Задайте путь в параметре <code><b>haproxy.image.repository</b></code>.</li><li value="3" class="p_Normal">Укажите наименование секрета с правами доступа к приватному <span style="font-weight: bold;">registry</span> в параметре<span style="font-weight: bold;"> </span><code><b>haproxy.image.pullSecrets</b></code>. Приватный <span style="font-weight: bold;">registry</span> должен быть создан вручную и зашифрован в Base64.</li></ol>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample"># Настройки HAProxy для проксирования подключения к S3-хранилищу</span><br />
<li value="1" class="p_Normal">Set address in <code><b>haproxy.image.registry</b></code>.</li><li value="2" class="p_Normal">Set path in <code><b>haproxy.image.repository</b></code>.</li><li value="3" class="p_Normal">Set name of the secret with access rights to the private registry in<span style="font-weight: bold;"> </span><code><b>haproxy.image.pullSecrets</b></code>. The private registry must be created manually and encrypted in Base64.</li></ol>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample"># HAProxy settings for proxying connections to the S3 Storage.</span><br />
<span class="f_CodeExample">haproxy:</span><br />
<span class="f_CodeExample">...</span><br />
<span class="f_CodeExample">  # Параметры подключения к приватному registry</span><br />
<span class="f_CodeExample">  # connection parameters to the private registry</span><br />
<span class="f_CodeExample">  image:</span><br />
<span class="f_CodeExample">  &nbsp; # адрес и путь для приватного registry</span><br />
<span class="f_CodeExample">  &nbsp; # address and path for the private registry</span><br />
<span class="f_CodeExample">  &nbsp; registry: registry.example.com</span><br />
<span class="f_CodeExample">  &nbsp; repository: /bitnami/haproxy</span><br />
<span class="f_CodeExample">#  &nbsp;tag: 2.7.3-debian-11-r5</span><br />
<span class="f_CodeExample">  &nbsp; # секрет с правами доступа к приватному registry должен быть создан вручную и зашифрован в Base64</span><br />
<span class="f_CodeExample">  &nbsp; # &nbsp;secret with access rights to the private registry must be created manually and encrypted in Base64</span><br />
<span class="f_CodeExample">  &nbsp; pullSecrets:</span><br />
<span class="f_CodeExample">  &nbsp; &nbsp; - myRegistryKeySecretName</span></p>
</td>
</tr>
</table>
</div>
<h2 class="p_Heading2"><a id="set-chart-s3-gateway" class="hmanchor"></a><span class="f_Heading2">Шаг 3. Установка с помощью Helm в Kubernetes-кластер чарта S3-Gateway</span></h2>
<p class="p_Normal">Установите чарт S3-Gateway в <code><b>namespace s3gateway</b></code>.</p>
<p class="p_Normal">Для установки через интернет выполните команду:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;upgrade&nbsp;--install&nbsp;s3gateway&nbsp;elma365/s3gateway&nbsp;-f&nbsp;values-s3gateway.yaml&nbsp;-n&nbsp;s3gateway&nbsp;--create-namespace&nbsp;</span></p>
<p class="p_Normal">Для установки без доступа в интернет выполните команду:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm&nbsp;upgrade&nbsp;--install&nbsp;s3gateway&nbsp;./s3gateway&nbsp;-f&nbsp;values-s3gateway.yaml&nbsp;-n&nbsp;s3gateway&nbsp;--create-namespace&nbsp;</span></p>
<h2 class="p_Heading2"><a id="s3-connect" class="hmanchor"></a><span class="f_Heading2">Шаг 4. Подключение к S3</span></h2>
<p class="p_Normal">Параметры для подключения к S3:</p>
<h2 class="p_Heading2"><a id="set-chart-s3-gateway" class="hmanchor"></a><span class="f_Heading2">Step 3: Install the S3 Gateway chart using Helm in the Kubernetes cluster</span></h2>
<p class="p_Normal">Perform the installation of the S3 Gateway chart in the <span style="font-weight: bold;">s3gateway</span> <code><b>namespace</b></code>.</p>
<p class="p_Normal">Run the following command for online installation:</p>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade --install s3gateway elma365/s3gateway -f values-s3gateway.yaml -n s3gateway --create-namespace </span></p>
<p class="p_Normal">Run the following command for offline installation without internet access:</p>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade --install s3gateway ./s3gateway -f values-s3gateway.yaml -n s3gateway --create-namespace </span></p>
<h2 class="p_Heading2"><a id="s3-connect" class="hmanchor"></a><span class="f_Heading2">Step 4: Connect to S3</span></h2>
<p class="p_Normal">Parameters for connecting to S3:</p>
<ul style="list-style-type:disc">
<li class="p_Normal"><code><b>address</b></code> — укажите <code><b>elma365-server.your_domain</b></code>;</li><li class="p_Normal"><code><b>bucket</b></code>, <code><b>region, access key ID</b></code>, <code><b>secret access key</b></code>, <code><b>secret access key</b></code> и <code><b>enable SSL</b></code> — укажите значения согласно параметрам S3-хранилища, для которого настраивается проксирование.</li></ul>
<li class="p_Normal"><code><b>address</b></code>: specify <code><b>elma365-server.your_domain</b></code>.</li><li class="p_Normal"><code><b>bucket</b></code>, <code><b>region, access key ID</b></code>, <code><b>secret access key</b></code>, <code><b>secret access key</b></code> and <code><b>enable SSL</b></code>: specify values according to the parameters of the S3 storage for which proxying is configured.</li></ul>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;внимание</span></p>
<p class="p_Normal">Подготовка инфраструктуры происходит до установки приложения ELMA365. Если была произведена установка чарта S3-Gateway, измените адрес подключения к S3 (<span style="font-weight: bold;">elma365.s3.backend.address</span>) в <a href="change-settings-enterprise.html#changes-config-file" class="topiclink">настройках приложения ELMA365</a>.</p>
<p class="p_Normal" style="line-height: 1.20;">Infrastructure preparation occurs before the installation of the BRIX application. If the S3-Gateway chart has been installed, change the connection address to S3 (<span style="font-weight: bold;">elma365.s3.backend.address</span>) in the <a href="change-settings-enterprise.html#changes-config-file" class="topiclink">BRIX application settings</a>.</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;внимание</span></p>
<div class="bottom-nav">
@ -339,7 +337,7 @@
</div>
<!-- добавляет на страницу строку блок Была ли статья полезной? -->
<div class="feedback-wrap"><div class="feedback" id="feedback"><span><b>Была ли статья полезной?</b></span><form action="" method="POST" class="feedback-form" id="feedback-form"><div class="feedback__popup feedback__popup-response" id="feedback__popup_thx">Спасибо за ваш отзыв!</div><div id="feedback-success-popup"><div class="wrap"><button type="button" class="feedback-popup-close">×</button><svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_212_2187)"><path d="M22 0.6875C10.2294 0.6875 0.6875 10.2294 0.6875 22C0.6875 33.7706 10.2294 43.3125 22 43.3125C33.7706 43.3125 43.3125 33.7706 43.3125 22C43.3125 10.2294 33.7706 0.6875 22 0.6875ZM22 40.5625C11.8023 40.5625 3.4375 32.3078 3.4375 22C3.4375 11.8024 11.6922 3.4375 22 3.4375C32.1977 3.4375 40.5625 11.6922 40.5625 22C40.5625 32.1976 32.3078 40.5625 22 40.5625ZM34.1713 16.933L18.6613 32.3186C18.257 32.7197 17.604 32.7171 17.203 32.3128L9.82283 24.873C9.42176 24.4686 9.42434 23.8157 9.82867 23.4146L10.5609 22.6884C10.9652 22.2873 11.6181 22.2899 12.0192 22.6942L17.9468 28.6697L31.9926 14.7366C32.3969 14.3356 33.0498 14.3382 33.4509 14.7425L34.1772 15.4747C34.5783 15.879 34.5757 16.532 34.1713 16.933Z" fill="#27AE60"></path></g><defs><clipPath id="clip0_212_2187"><rect width="44" height="44" fill="white"></rect></clipPath></defs></svg><p>Ваш отзыв успешно отправлен!</p><span>Спасибо за обратную связь.</span></div></div><div class="feedback__popup" id="feedback__popup_why"><button type="button" class="feedback-popup-close">×</button><div class="feedback__popup-header">Уточните, почему:</div><input type="radio" name="category" id="bad_recommendation" value="bad_recommendation"><label for="bad_recommendation">Рекомендации не помогли</label><input type="radio" name="category" id="difficult_text" value="difficult_text"><label for="difficult_text">Текст трудно понять</label><input type="radio" name="category" id="no_answer" value="no_answer"><label for="no_answer">Нет ответа на мой вопрос</label><input type="radio" name="category" id="bad_header" value="bad_header"><label for="bad_header">Содержание статьи не соответствует заголовку</label><input type="radio" name="category" id="other_reason" value="other_reason"><label for="other_reason">Другая причина</label></div><div class="feedback__popup" id="feedback__popup-other"><button type="button" class="feedback-popup-close">×</button> <div class="feedback__popup-header">Расскажите, что вам не понравилось в статье:</div><textarea class="feedback__textarea" name="other" id=""></textarea><input type="submit" class="feedback__other-btn" value="Отправить"></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"/><span class="feedback-form__btn-group_yes-btn">Да</span></label><input type="radio" name="useful" id="feedback__useful_no" value="false"><label for="feedback__useful_no"><img src="dislike.svg"/><span class="feedback-form__btn-group_no-btn">Нет</span></label></div><select name="category"><option disabled>Выберите вариант</option><option value="bad_recommendation" selected>Рекомендации не помогли</option><option value="difficult_text">Текст трудно понять</option><option value="no_answer">Нет ответа на мой вопрос</option><option value="bad_header">Содержание статьи не соответствует заголовку</option><option value="other_reason">Другая причина</option></select><input type="submit"></form></div></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>
@ -347,7 +345,7 @@
<input type="checkbox" />
<div class="article__arrow"></div>
<div class="table-of-contents elma365-right" id="toc2Content">
<h3 class="h3-toc">В этой статье</h3>
<h3 class="h3-toc">In this topic</h3>
<nav id="toc2"></nav>
</div>
</aside>
@ -358,63 +356,30 @@
<div class="footer-container">
<div class="footer-mobile">
<ul class="footer-mobile__list"><li><a href="https://api.elma365.com/ru/" target="_blank">API</a></li><li><a href="https://tssdk.elma365.com/" target="_blank">TS SDK</a></li><li><a href="https://community.elma365.com/" target="_blank">Community</a></li><li><a href="https://elma-academy.com/ru/elma365" target="_blank">Академия</a></li></ul><ul class="footer-mobile__list"><li><a href="https://elma365.com/ru/help/platform/get-trial.html">Платформа</a></li><li><a href="https://elma365.com/ru/help/ecm/ecm-functions.html">ECM</a></li><li><a href="https://elma365.com/ru/help/service/service-functions.html">Service</a></li><li><a href="https://elma365.com/ru/help/projects/projects-functions.html">Проекты</a></li></ul>
<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="container">
<div class="footer-wrap">
<div><span class="mobile-question-popup">Отправить фидбэк</span><form method="POST" action class="question__popup question-xs" id="question__popup"><div class="question-wrap"><span class="close"></span><span class="title">Задать вопрос</span><label for="help_question" style="display: none;"></label><textarea name="help_question" id="help_question"></textarea><input type="submit" value="Отправить"></div></form><div class="hidden fade-in question-success-xs">Ваш фидбэк отправлен.</div></div>
<div class="footer-flex-b">
<div class="footer-top">
<span class="footer-copy">&copy; 2025
ELMA365
</span>
<a href="https://navigator.sk.ru/orn/1122971" target="_blank">
<img src="sk-resident.svg" alt="sk icon" class="footer-img" width="117" height="34">
</a>
</div>
<div class="footer-line">
<div class="footer-line-copy">
<span class="footer-copy">&copy; 2025
ELMA365
</span>
</div>
<ul class="footer-list">
<li class="footer-item"><a href="https://elma365.com/ru/" target="_blank" class="footer-link" style="color: #0D4A75;"><img src="browse.svg" alt="browse icon" class="footer-img">elma365.com</a></li><li class="footer-item"><a href="https://www.youtube.com/user/ELMABPM" target="_blank" class="footer-link"><img src="yt.svg" alt="youtube icon" class="footer-img"></a></li><li class="footer-item"><a href="https://vk.com/elma_bpm" target="_blank" class="footer-link"><img src="vk.svg" alt="vk icon" class="footer-img"></a></li><li class="footer-item"><a href="https://t.me/elmaday" target="_blank" class="footer-link"><img src="tg.svg" alt="telegram icon" class="footer-img"></a></li><li class="footer-item"><a href="https://dzen.ru/elma" target="_blank" class="footer-link"><img src="dzen.svg" alt="dzen icon" class="footer-img"></a></li>
<li class="footer-item">
<a href="https://navigator.sk.ru/orn/1122971" target="_blank">
<img src="sk-resident.svg" alt="sk icon" class="footer-img" width="117" height="34">
</a>
</li>
</ul>
</div>
</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>
<a href="#" class="arrow-top"></a>
</div>
</footer>
<!-- <script type="text/javascript" src="jquery1.min.js"></script>-->
<iframe name="hmnavigation" style="display:none!important"></iframe>
<!--<script src="./jquery-ui.js"></script> -->
<script src="./jquery-ui.min.js"></script>
<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>