<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.rtzra.ru/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>RTzRa&#039;s hive - devops</title>
        <description>Все работает</description>
        <link>https://wiki.rtzra.ru/</link>
        <lastBuildDate>Sun, 19 Jul 2026 18:16:42 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wiki.rtzra.ru/_media/wiki/logo.png</url>
            <title>RTzRa&#039;s hive</title>
            <link>https://wiki.rtzra.ru/</link>
        </image>
        <item>
            <title>Cross-shell prompt</title>
            <link>https://wiki.rtzra.ru/devops/cross-shell-prompt</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;cross-shell_prompt&quot;&gt;Cross-shell prompt&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Минималистичная, быстрая и бесконечно настраиваемая командная строка для любой оболочки: Linux (bash/zsh/fish/etc), Windows, MacOS.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://starship.rs/&quot; class=&quot;urlextern&quot; title=&quot;https://starship.rs/&quot; rel=&quot;ugc nofollow&quot;&gt;https://starship.rs/&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/cross?do=showtag&amp;amp;tag=cross&quot; class=&quot;wikilink1&quot; title=&quot;tag:cross&quot; rel=&quot;tag&quot;&gt;cross&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/shell?do=showtag&amp;amp;tag=shell&quot; class=&quot;wikilink1&quot; title=&quot;tag:shell&quot; rel=&quot;tag&quot;&gt;shell&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/prompt?do=showtag&amp;amp;tag=prompt&quot; class=&quot;wikilink1&quot; title=&quot;tag:prompt&quot; rel=&quot;tag&quot;&gt;prompt&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/linux?do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/windows?do=showtag&amp;amp;tag=windows&quot; class=&quot;wikilink1&quot; title=&quot;tag:windows&quot; rel=&quot;tag&quot;&gt;windows&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/macos?do=showtag&amp;amp;tag=macos&quot; class=&quot;wikilink1&quot; title=&quot;tag:macos&quot; rel=&quot;tag&quot;&gt;macos&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 07 Jan 2022 15:24:31 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Database Cheat Sheet</title>
            <link>https://wiki.rtzra.ru/devops/database-cheat-sheet</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsdatabase_cheat_sheet&quot;&gt;DevOps: Database Cheat Sheet&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Взял здесь: &lt;a href=&quot;https://blog.bytebytego.com/p/ep73-cheat-sheet-of-different-databases&quot; class=&quot;urlextern&quot; title=&quot;https://blog.bytebytego.com/p/ep73-cheat-sheet-of-different-databases&quot; rel=&quot;ugc nofollow&quot;&gt;https://blog.bytebytego.com/p/ep73-cheat-sheet-of-different-databases&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.rtzra.ru/_detail/devops/database-cheat-sheet-2023-09.webp?id=devops%3Adatabase-cheat-sheet&quot; class=&quot;media&quot; title=&quot;devops:database-cheat-sheet-2023-09.webp&quot;&gt;&lt;img src=&quot;https://wiki.rtzra.ru/_media/devops/database-cheat-sheet-2023-09.webp&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/database?do=showtag&amp;amp;tag=database&quot; class=&quot;wikilink1&quot; title=&quot;tag:database&quot; rel=&quot;tag&quot;&gt;database&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/cheat?do=showtag&amp;amp;tag=cheat&quot; class=&quot;wikilink1&quot; title=&quot;tag:cheat&quot; rel=&quot;tag&quot;&gt;cheat&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/sheet?do=showtag&amp;amp;tag=sheet&quot; class=&quot;wikilink1&quot; title=&quot;tag:sheet&quot; rel=&quot;tag&quot;&gt;sheet&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/bazy_dannyx?do=showtag&amp;amp;tag=%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&quot; class=&quot;wikilink1&quot; title=&quot;tag:bazy_dannyx&quot; rel=&quot;tag&quot;&gt;базы данных&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 16 Sep 2023 10:07:47 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: 12-ти факторное приложение</title>
            <link>https://wiki.rtzra.ru/devops/devops-12-factors-app</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devops12-ti_faktornoe_prilozhenie&quot;&gt;DevOps: 12-ти факторное приложение&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Каждый фактор полностью расписан тут: &lt;a href=&quot;https://12factor.net/ru/&quot; class=&quot;urlextern&quot; title=&quot;https://12factor.net/ru/&quot; rel=&quot;ugc nofollow&quot;&gt;https://12factor.net/ru/&lt;/a&gt;
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Кодовая база. Одна кодовая база, отслеживаемая в системе контроля версий, – множество развёртываний&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Зависимости. Явно объявляйте и изолируйте зависимости&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Конфигурация. Сохраняйте конфигурацию в среде выполнения&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Сторонние службы (Backing Services). Считайте сторонние службы (backing services) подключаемыми ресурсами&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Сборка, релиз, выполнение. Строго разделяйте стадии сборки и выполнения&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Процессы. Запускайте приложение как один или несколько процессов не сохраняющих внутреннее состояние (stateless)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Привязка портов (Port binding). Экспортируйте сервисы через привязку портов&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Параллелизм. Масштабируйте приложение с помощью процессов&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Утилизируемость (Disposability). Максимизируйте надёжность с помощью быстрого запуска и корректного завершения работы&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Паритет разработки/работы приложения. Держите окружения разработки, промежуточного развёртывания (staging) и рабочего развёртывания (production) максимально похожими&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Журналирование (Logs). Рассматривайте журнал как поток событий&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Задачи администрирования. Выполняйте задачи администрирования/управления с помощью разовых процессов&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/12factor?do=showtag&amp;amp;tag=12factor&quot; class=&quot;wikilink1&quot; title=&quot;tag:12factor&quot; rel=&quot;tag&quot;&gt;12factor&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/twelve-factor_app?do=showtag&amp;amp;tag=twelve-factor_app&quot; class=&quot;wikilink1&quot; title=&quot;tag:twelve-factor_app&quot; rel=&quot;tag&quot;&gt;twelve-factor app&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/12_faktornoe_prilozhenie?do=showtag&amp;amp;tag=12_%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5&quot; class=&quot;wikilink1&quot; title=&quot;tag:12_faktornoe_prilozhenie&quot; rel=&quot;tag&quot;&gt;12 факторное приложение&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 18 Oct 2021 00:50:57 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Шпаргалки</title>
            <link>https://wiki.rtzra.ru/devops/devops-cheatsheets</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsshpargalki&quot;&gt;DevOps: Шпаргалки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://devhints.io/?q=devops&quot; class=&quot;urlextern&quot; title=&quot;https://devhints.io/?q=devops&quot; rel=&quot;ugc nofollow&quot;&gt;https://devhints.io/?q=devops&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/devops?do=showtag&amp;amp;tag=devops&quot; class=&quot;wikilink1&quot; title=&quot;tag:devops&quot; rel=&quot;tag&quot;&gt;devops&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/cheatsheets?do=showtag&amp;amp;tag=cheatsheets&quot; class=&quot;wikilink1&quot; title=&quot;tag:cheatsheets&quot; rel=&quot;tag&quot;&gt;cheatsheets&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 26 Aug 2021 20:11:20 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Проекты Cloud Native Computing Foundation (CNCF)</title>
            <link>https://wiki.rtzra.ru/devops/devops-cncf-projects</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsproekty_cloud_native_computing_foundation_cncf&quot;&gt;DevOps: Проекты Cloud Native Computing Foundation (CNCF)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Информация о всех проектах Cloud Native Computing Foundation (CNCF) на одной страничке: &lt;a href=&quot;https://github.com/cncf/toc/blob/main/docs/projects.md&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/cncf/toc/blob/main/docs/projects.md&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/cncf/toc/blob/main/docs/projects.md&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
На страничке есть масса информации, гораздо удобнее &lt;a href=&quot;https://cncf.io/&quot; class=&quot;urlextern&quot; title=&quot;https://cncf.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://cncf.io/&lt;/a&gt; и &lt;a href=&quot;https://landscape.cncf.io/&quot; class=&quot;urlextern&quot; title=&quot;https://landscape.cncf.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://landscape.cncf.io/&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/cncf?do=showtag&amp;amp;tag=cncf&quot; class=&quot;wikilink1&quot; title=&quot;tag:cncf&quot; rel=&quot;tag&quot;&gt;cncf&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/projects?do=showtag&amp;amp;tag=projects&quot; class=&quot;wikilink1&quot; title=&quot;tag:projects&quot; rel=&quot;tag&quot;&gt;projects&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/devops?do=showtag&amp;amp;tag=devops&quot; class=&quot;wikilink1&quot; title=&quot;tag:devops&quot; rel=&quot;tag&quot;&gt;devops&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 25 Mar 2022 18:54:14 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Курсы и обучалки</title>
            <link>https://wiki.rtzra.ru/devops/devops-courses</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopskursy_i_obuchalki&quot;&gt;DevOps: Курсы и обучалки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Зарубежные:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.udemy.com&quot; class=&quot;urlextern&quot; title=&quot;https://www.udemy.com&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.udemy.com&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://developers.redhat.com/learn&quot; class=&quot;urlextern&quot; title=&quot;https://developers.redhat.com/learn&quot; rel=&quot;ugc nofollow&quot;&gt;https://developers.redhat.com/learn&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Российские:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://slurm.io&quot; class=&quot;urlextern&quot; title=&quot;https://slurm.io&quot; rel=&quot;ugc nofollow&quot;&gt;https://slurm.io&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://otus.ru&quot; class=&quot;urlextern&quot; title=&quot;https://otus.ru&quot; rel=&quot;ugc nofollow&quot;&gt;https://otus.ru&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/courses?do=showtag&amp;amp;tag=courses&quot; class=&quot;wikilink1&quot; title=&quot;tag:courses&quot; rel=&quot;tag&quot;&gt;courses&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/kursy?do=showtag&amp;amp;tag=%D0%BA%D1%83%D1%80%D1%81%D1%8B&quot; class=&quot;wikilink1&quot; title=&quot;tag:kursy&quot; rel=&quot;tag&quot;&gt;курсы&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/obuchenie?do=showtag&amp;amp;tag=%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5&quot; class=&quot;wikilink1&quot; title=&quot;tag:obuchenie&quot; rel=&quot;tag&quot;&gt;обучение&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 16 Sep 2023 11:38:36 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Диаграммы</title>
            <link>https://wiki.rtzra.ru/devops/devops-diagram</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsdiagrammy&quot;&gt;DevOps: Диаграммы&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Для рисования DevOps и прочих диаграмм хорошо подходит &lt;a href=&quot;https://www.draw.io/&quot; class=&quot;urlextern&quot; title=&quot;https://www.draw.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.draw.io/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Пример нарисованного: &lt;a href=&quot;https://www.reddit.com/r/homelab/comments/ket7fx/ive_super_upgraded_my_nas_and_a_few_other_things/&quot; class=&quot;urlextern&quot; title=&quot;https://www.reddit.com/r/homelab/comments/ket7fx/ive_super_upgraded_my_nas_and_a_few_other_things/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.reddit.com/r/homelab/comments/ket7fx/ive_super_upgraded_my_nas_and_a_few_other_things/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Советы по оформлению сетевых диаграмм: &lt;a href=&quot;http://networkdiagram101.com&quot; class=&quot;urlextern&quot; title=&quot;http://networkdiagram101.com&quot; rel=&quot;ugc nofollow&quot;&gt;http://networkdiagram101.com&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/devops?do=showtag&amp;amp;tag=devops&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:devops&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; devops&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/diagramma?do=showtag&amp;amp;tag=%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:diagramma&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; диаграмма&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 09 Jan 2022 13:54:09 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: EOL (End OF Life)</title>
            <link>https://wiki.rtzra.ru/devops/devops-endoflife</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopseol_end_of_life&quot;&gt;DevOps: EOL (End OF Life)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Очень часто бывает нужно быстро посмотреть когда наступает (скорее, уже наступил, хе-хе) срок поддержки какого-то часто используемого программного обеспечения, дистрибутива и т.д. Лазить по официальным сайтам, гитхабам и прочему не всегда удобно, да еще и искать нужно. Случайно наткнулся на &lt;a href=&quot;https://endoflife.date/&quot; class=&quot;urlextern&quot; title=&quot;https://endoflife.date/&quot; rel=&quot;ugc nofollow&quot;&gt;https://endoflife.date/&lt;/a&gt; - там централизованно собрана информация. Они же на гитхабе: &lt;a href=&quot;https://github.com/endoflife-date/endoflife.date&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/endoflife-date/endoflife.date&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/endoflife-date/endoflife.date&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/eol?do=showtag&amp;amp;tag=eol&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:eol&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; eol&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/end_of_life?do=showtag&amp;amp;tag=end_of_life&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:end_of_life&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; end of life&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 10 Jan 2023 09:57:23 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: DevOps Questions &amp; Exercises</title>
            <link>https://wiki.rtzra.ru/devops/devops-exercises</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsdevops_questions_exercises&quot;&gt;DevOps: DevOps Questions &amp;amp; Exercises&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/bregman-arie/devops-exercises&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/bregman-arie/devops-exercises&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/bregman-arie/devops-exercises&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/devops?do=showtag&amp;amp;tag=devops&quot; class=&quot;wikilink1&quot; title=&quot;tag:devops&quot; rel=&quot;tag&quot;&gt;devops&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/questions?do=showtag&amp;amp;tag=questions&quot; class=&quot;wikilink1&quot; title=&quot;tag:questions&quot; rel=&quot;tag&quot;&gt;questions&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/exercises?do=showtag&amp;amp;tag=exercises&quot; class=&quot;wikilink1&quot; title=&quot;tag:exercises&quot; rel=&quot;tag&quot;&gt;exercises&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 26 Aug 2021 20:12:38 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Кровавые капельки опыта</title>
            <link>https://wiki.rtzra.ru/devops/devops-experience</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopskrovavye_kapelki_opyta&quot;&gt;DevOps: Кровавые капельки опыта&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Деплой в пятницу, да еще и вечером - плохая затея. Очень плохая. Сам не делай и коллегам не давай.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Поднял любой сервис - настрой лимиты, будь мужиком. Лимиты на CPU/Memory, на кол-во соединений, на все, что в теории может завалить твой сервис. Поверь, коллеги куда как опаснее врагов. Обязательно поломают если давать такую возможность.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Написал скрипт - проверь его, подробнее тут: &lt;a href=&quot;https://wiki.rtzra.ru/devops/devops-shellcheck&quot; class=&quot;wikilink1&quot; title=&quot;devops:devops-shellcheck&quot; data-wiki-id=&quot;devops:devops-shellcheck&quot;&gt;DevOps: Проверяй работу скриптов&lt;/a&gt;. Проверил? Прогони в тестовой песочнице и на тестовых данных.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Храни скрипты и все нужное и полезное в Git - всегда будешь знать кто и когда вносил изменения, искать крайнего становится неизмеримо легче.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Бэкапы уже делаешь? 3-2-1? 3-2-1-1-0? &lt;a href=&quot;https://community.veeam.com/blogs-and-podcasts-57/3-2-1-1-0-golden-backup-rule-569&quot; class=&quot;urlextern&quot; title=&quot;https://community.veeam.com/blogs-and-podcasts-57/3-2-1-1-0-golden-backup-rule-569&quot; rel=&quot;ugc nofollow&quot;&gt;https://community.veeam.com/blogs-and-podcasts-57/3-2-1-1-0-golden-backup-rule-569&lt;/a&gt; А теперь вопрос: бэкапы тестируешь? Нет? Тогда это не бэкапы.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Каков RTO (Recovery Time Objective) для восстановления из бэкапа, влазим в SLA для сервисов?&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Храни чувствительные данные в предназначенных для этого местах: Vault, Vautlwarden, KeePass и т.д. Эксельки, текстовые файлики, листики и прочие места где все лежит в открытом виде - это 100% утечка. Разумеется, обновление и патчинг данных сервисов должен быть с повышенным приоритетом. Плюсы - это надежно, проще раздавать и отнимать права, проще отслеживать изменения (и их авторов), проще защищать, не нужно править скрипты.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Пишите видео сеансов пользователей? Доступ должен быть максимально закрыт. Лично знаю историю как пентестеры получили доступ к видеозаписи сеанса, посмотрели как один из админов копипастит пароли из текстового файлика (а потому что буфер обмена был запрещен «для безопасности») и поимели всю инфраструктуру.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Не делай большие и жирные сервисы - чем больше объем, тем дольше восстановление. Особенно касается файловых серверов. Вытаскивать из бэкапа 20 Тб - это к долгому ожиданию.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Есть сервера-снежинки? 100% гарантия геморроя в будущем. Меры митигации: etckeeper, бэкапы всего сервера целиком и хотя бы /etc. В идеале - отдельный ансибловый плейбук (роль) для раскатки.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Случился факап - сообщи коллегам, поставь всех заинтересованных в известность, прикинь примерные сроки. Если со сроками непонятно (а в 95% случаев это именно так) - сообщи контрольный срок когда у тебя появятся новые данные: «Коллеги, упал сервис, ведем восстановление. Примерные сроки неизвестны, более точно сможем сказать через пару часов».&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Важный прод? Дублируй каналы, датацентры, сервисы. Предварительно стоит посчитать что дешевле: потери из-за простоя и потери или затраты на отказоустойчивость.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/devops?do=showtag&amp;amp;tag=devops&quot; class=&quot;wikilink1&quot; title=&quot;tag:devops&quot; rel=&quot;tag&quot;&gt;devops&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/experience?do=showtag&amp;amp;tag=experience&quot; class=&quot;wikilink1&quot; title=&quot;tag:experience&quot; rel=&quot;tag&quot;&gt;experience&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/opyt?do=showtag&amp;amp;tag=%D0%BE%D0%BF%D1%8B%D1%82&quot; class=&quot;wikilink1&quot; title=&quot;tag:opyt&quot; rel=&quot;tag&quot;&gt;опыт&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/krovavyj_ehnterprajs?do=showtag&amp;amp;tag=%D0%BA%D1%80%D0%BE%D0%B2%D0%B0%D0%B2%D1%8B%D0%B9_%D1%8D%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B0%D0%B9%D1%81&quot; class=&quot;wikilink1&quot; title=&quot;tag:krovavyj_ehnterprajs&quot; rel=&quot;tag&quot;&gt;кровавый энтерпрайс&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 09 Aug 2023 09:49:48 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Как разгребать проблемы</title>
            <link>https://wiki.rtzra.ru/devops/devops-how-to-solve-problem</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopskak_razgrebat_problemy&quot;&gt;DevOps: Как разгребать проблемы&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Вводная: Что-то пошло ну очень не так и ситуацию можно описать как «шеф, все пропало» или «мы в крутом пике». Т.е. это не рядовой факап, а прямо катастрофа высокого уровня.
&lt;/p&gt;

&lt;p&gt;
Задача: Вылезти максимально быстро и желательно с минимальными потерями из данной ситуации
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DevOps: \u041a\u0430\u043a \u0440\u0430\u0437\u0433\u0440\u0435\u0431\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;devopskak_razgrebat_problemy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-543&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;puti_vyxoda_iz_situacii_i_reshenie_problemy&quot;&gt;Пути выхода из ситуации и решение проблемы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.rtzra.ru/_detail/devops/dont-worry.jpg?id=devops%3Adevops-how-to-solve-problem&quot; class=&quot;media&quot; title=&quot;devops:dont-worry.jpg&quot;&gt;&lt;img src=&quot;https://wiki.rtzra.ru/_media/devops/dont-worry.jpg?w=600&amp;amp;tok=34d2bc&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
1. Первое что нужно сделать - остановиться и понять в какой ситуации мы оказались. Казалось бы - горит и даже сильно уже припекает, надо руки в ноги и тушить. Увы, скоропалительными действиями можно нанести еще больший вред. Поэтому останавливаемся, убираем руки от клавиатуры и оцениваем ситуацию. Здесь главное ответить на вопрос о масштабе события: насколько оно глобальное, имеет ли тенденцию к ухудшению, насколько быстро все доломается окончательно и т.д. Самое сложное - понять насколько тяжела ситуация, т.к. лавина начинается из-за небольшого камешка, а уже через несколько минут ее невозможно остановить. Так же важно зафиксировать все начальные условия: что и когда приключилось, начать вести хронологию событий. Если ваша команда практикует написание Post Mortem&amp;#039;ов - самое время создавать новый.
&lt;/p&gt;

&lt;p&gt;
2. Подключение ресурсов (если они у нас есть). Как правило, тяжелая ситуация подразумевает невозможность сделать все целиком самому: отсутствие компетенций во всем подсистемам, недостаток времени и сил, возможно требуются дополнительные ресурсы (люди, железо и прочее). На этом этапе необходимо подключать руководство, коллег, дополнительные мощности. Задача в распараллеливании задач и подготовке к дальнейшим действиям. Если вам прямо сейчас не нужна помощь - это хорошо, но чтобы эта самая помощь была в ближайшем будущем надо ей озаботиться уже сейчас (например, иногда сложно разбудить человека или он недоступен в текущий момент или просто далеко от компьютера). Так же на данном этапе необходимо провести назначение единого ответственного, к которому стекается вся информация и решения. Как правило на этом этапе уже возникает некоторое понимание масштабов и можно провести первичную оценку времени по восстановлению работы, как минимум фраза «потребуется примерно 2 часа на устранение» звучит намного понятнее чем «да хрен его знает».
&lt;/p&gt;

&lt;p&gt;
3. Разгребание проблемы. Выполняем пошагово, синхронизируя свои действия с командой и коллегами. Конкретную работу должен делать кто-то один, не должно быть картины «мы вдвоем подключились к серверу и параллельно пытались починить» - как правильно это приводит к проблемам, т.к. каждый из участников получает искаженную картину. Если на данном этапе открываются новые обстоятельства (а в 95% это так и случается) - производим переоценку ситуации, и, соответственно, время на ее устранение. Если стало понятно что требуются дополнительные затраты (времени, людей, ресурсов) - возвращаемся к пункту 2. Очень важно понимать что гораздо лучше честно сказать «ситуация изменилась, произошло то-то и то-то, время на восстановление увеличивается по нашей оценке до ХХ часов» чем пытаться впопыхах уложиться в первично обозначенное время, мол «пацан сказал - пацан сделал». На этом этапе главное не накосячить еще больше из-за спешки и не привести ситуацию к варианту «сами угробили все до чего дотянулись руки».
&lt;/p&gt;

&lt;p&gt;
4. Стабилизация обстановки. Вроде все понятно по текущей ситуации, нужные люди устраняют проблемы. Освободившиеся ресурсы можно переключить на вторичные задачи: помощи наиболее загруженным специалистам, исключения повторения инцидента, общение с руководством/клиентами, ведение Post Mortem&amp;#039;а, или вообще отправить отдыхать если они больше не нужны.
&lt;/p&gt;

&lt;p&gt;
5. Проведение анализа событий. Здесь основная задача - оценить что нужно сделать для исключения повторения инцидента, запланировать и провести работы. Разумеется, все это должно быть отражено в базе знаний и т.д.
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/reshenie_incidentov?do=showtag&amp;amp;tag=%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D0%BE%D0%B2&quot; class=&quot;wikilink1&quot; title=&quot;tag:reshenie_incidentov&quot; rel=&quot;tag&quot;&gt;решение инцидентов&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/vse_v_ogne?do=showtag&amp;amp;tag=%D0%B2%D1%81%D0%B5_%D0%B2_%D0%BE%D0%B3%D0%BD%D0%B5&quot; class=&quot;wikilink1&quot; title=&quot;tag:vse_v_ogne&quot; rel=&quot;tag&quot;&gt;все в огне&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/gorim?do=showtag&amp;amp;tag=%D0%B3%D0%BE%D1%80%D0%B8%D0%BC&quot; class=&quot;wikilink1&quot; title=&quot;tag:gorim&quot; rel=&quot;tag&quot;&gt;горим&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/panika?do=showtag&amp;amp;tag=%D0%BF%D0%B0%D0%BD%D0%B8%D0%BA%D0%B0&quot; class=&quot;wikilink1&quot; title=&quot;tag:panika&quot; rel=&quot;tag&quot;&gt;паника&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0443\u0442\u0438 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;puti_vyxoda_iz_situacii_i_reshenie_problemy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;544-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 06 Oct 2023 14:36:58 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Иконки, картинки, бейджики</title>
            <link>https://wiki.rtzra.ru/devops/devops-icons-pictures</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsikonki_kartinki_bejdzhiki&quot;&gt;DevOps: Иконки, картинки, бейджики&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Часто приходится рисовать различные схемы и диаграммы, а для красоты и наглядности требуются иконки и картиночки.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; VectorLogoZone - более 3.000 лого! &lt;a href=&quot;https://www.vectorlogo.zone/&quot; class=&quot;urlextern&quot; title=&quot;https://www.vectorlogo.zone/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.vectorlogo.zone/&lt;/a&gt; и &lt;a href=&quot;https://github.com/VectorLogoZone/vectorlogozone&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/VectorLogoZone/vectorlogozone&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/VectorLogoZone/vectorlogozone&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Огромное количество SVG-иконок на любой вкус: &lt;a href=&quot;https://simpleicons.org&quot; class=&quot;urlextern&quot; title=&quot;https://simpleicons.org&quot; rel=&quot;ugc nofollow&quot;&gt;https://simpleicons.org&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Красивые бейджики: &lt;a href=&quot;https://shields.io&quot; class=&quot;urlextern&quot; title=&quot;https://shields.io&quot; rel=&quot;ugc nofollow&quot;&gt;https://shields.io&lt;/a&gt; и еще тут: &lt;a href=&quot;https://github.com/Naereen/badges&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/Naereen/badges&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/Naereen/badges&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Пиктограммы - &lt;a href=&quot;http://sergeychikin.ru/365/&quot; class=&quot;urlextern&quot; title=&quot;http://sergeychikin.ru/365/&quot; rel=&quot;ugc nofollow&quot;&gt;http://sergeychikin.ru/365/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Emoji - всякие и разные:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://openmoji.org/&quot; class=&quot;urlextern&quot; title=&quot;https://openmoji.org/&quot; rel=&quot;ugc nofollow&quot;&gt;https://openmoji.org/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://emojitwo.github.io/&quot; class=&quot;urlextern&quot; title=&quot;https://emojitwo.github.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://emojitwo.github.io/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://app.streamlinehq.com/emojis/freebies-freemojis&quot; class=&quot;urlextern&quot; title=&quot;https://app.streamlinehq.com/emojis/freebies-freemojis&quot; rel=&quot;ugc nofollow&quot;&gt;https://app.streamlinehq.com/emojis/freebies-freemojis&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 08 Jan 2022 11:19:31 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Что же это такое</title>
            <link>https://wiki.rtzra.ru/devops/devops-main</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopschto_zhe_ehto_takoe&quot;&gt;DevOps: Что же это такое&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.rtzra.ru/_detail/devops/20230118-222356.png?id=devops%3Adevops-main&quot; class=&quot;media&quot; title=&quot;devops:20230118-222356.png&quot;&gt;&lt;img src=&quot;https://wiki.rtzra.ru/_media/devops/20230118-222356.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
DevOps, согласно &lt;a href=&quot;https://ru.wikipedia.org/wiki/DevOps&quot; class=&quot;urlextern&quot; title=&quot;https://ru.wikipedia.org/wiki/DevOps&quot; rel=&quot;ugc nofollow&quot;&gt;https://ru.wikipedia.org/wiki/DevOps&lt;/a&gt; - это набор практик, нацеленных на активное взаимодействие специалистов по разработке со специалистами по информационно-технологическому обслуживанию и взаимную интеграцию их рабочих процессов друг в друга. Базируется на идее о тесной взаимозависимости разработки и эксплуатации программного обеспечения и нацелен на то, чтобы помогать организациям быстрее создавать и обновлять программные продукты и услуги.
&lt;/p&gt;

&lt;p&gt;
По факту DevOps - это расширенный набор целей и задач, за которые ранее отвечали системные администраторы, а до них это делали инженеры. Мир меняется, меняются цели и задачи. Точнее сказать - изменяется объем и направление этих задач. А в остальном все остается как прежде: нужно чтобы все работало.
&lt;/p&gt;

&lt;p&gt;
CNCF Cloud Native Interactive Landscape - &lt;a href=&quot;https://landscape.cncf.io/&quot; class=&quot;urlextern&quot; title=&quot;https://landscape.cncf.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://landscape.cncf.io/&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/devops?do=showtag&amp;amp;tag=devops&quot; class=&quot;wikilink1&quot; title=&quot;tag:devops&quot; rel=&quot;tag&quot;&gt;devops&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/devops?do=showtag&amp;amp;tag=%D0%B4%D0%B5%D0%B2%D0%BE%D0%BF%D1%81&quot; class=&quot;wikilink1&quot; title=&quot;tag:devops&quot; rel=&quot;tag&quot;&gt;девопс&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/chto_ehto_takoe?do=showtag&amp;amp;tag=%D1%87%D1%82%D0%BE_%D1%8D%D1%82%D0%BE_%D1%82%D0%B0%D0%BA%D0%BE%D0%B5&quot; class=&quot;wikilink1&quot; title=&quot;tag:chto_ehto_takoe&quot; rel=&quot;tag&quot;&gt;что это такое&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 18 Jan 2023 15:24:14 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Карта знаний и умений</title>
            <link>https://wiki.rtzra.ru/devops/devops-map</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopskarta_znanij_i_umenij&quot;&gt;DevOps: Карта знаний и умений&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Взято тут: &lt;a href=&quot;https://roadmap.sh/devops&quot; class=&quot;urlextern&quot; title=&quot;https://roadmap.sh/devops&quot; rel=&quot;ugc nofollow&quot;&gt;https://roadmap.sh/devops&lt;/a&gt;, оригинал тут: &lt;a href=&quot;https://github.com/kamranahmedse/developer-roadmap&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/kamranahmedse/developer-roadmap&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/kamranahmedse/developer-roadmap&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.rtzra.ru/_detail/devops/20211221-141311.png?id=devops%3Adevops-map&quot; class=&quot;media&quot; title=&quot;devops:20211221-141311.png&quot;&gt;&lt;img src=&quot;https://wiki.rtzra.ru/_media/devops/20211221-141311.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/devops?do=showtag&amp;amp;tag=devops&quot; class=&quot;wikilink1&quot; title=&quot;tag:devops&quot; rel=&quot;tag&quot;&gt;devops&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/roadmap?do=showtag&amp;amp;tag=roadmap&quot; class=&quot;wikilink1&quot; title=&quot;tag:roadmap&quot; rel=&quot;tag&quot;&gt;roadmap&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/devops?do=showtag&amp;amp;tag=%D0%B4%D0%B5%D0%B2%D0%BE%D0%BF%D1%81&quot; class=&quot;wikilink1&quot; title=&quot;tag:devops&quot; rel=&quot;tag&quot;&gt;девопс&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/karta?do=showtag&amp;amp;tag=%D0%BA%D0%B0%D1%80%D1%82%D0%B0&quot; class=&quot;wikilink1&quot; title=&quot;tag:karta&quot; rel=&quot;tag&quot;&gt;карта&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/znanija?do=showtag&amp;amp;tag=%D0%B7%D0%BD%D0%B0%D0%BD%D0%B8%D1%8F&quot; class=&quot;wikilink1&quot; title=&quot;tag:znanija&quot; rel=&quot;tag&quot;&gt;знания&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/umenija?do=showtag&amp;amp;tag=%D1%83%D0%BC%D0%B5%D0%BD%D0%B8%D1%8F&quot; class=&quot;wikilink1&quot; title=&quot;tag:umenija&quot; rel=&quot;tag&quot;&gt;умения&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 21 Dec 2021 07:13:24 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Утилиты и сервисы для работы с IP</title>
            <link>https://wiki.rtzra.ru/devops/devops-networking</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsutility_i_servisy_dlja_raboty_s_ip&quot;&gt;DevOps: Утилиты и сервисы для работы с IP&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Сервисы для получения информации об IP-адресах:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://2ip.ru/&quot; class=&quot;urlextern&quot; title=&quot;https://2ip.ru/&quot; rel=&quot;ugc nofollow&quot;&gt;https://2ip.ru/&lt;/a&gt; - один из самых шикарных сервисов, позволяет… Да сложно сказать что он НЕ умеет, огромная подборка сервисов для получения разносторонней информации&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://ifconfig.co/&quot; class=&quot;urlextern&quot; title=&quot;http://ifconfig.co/&quot; rel=&quot;ugc nofollow&quot;&gt;http://ifconfig.co/&lt;/a&gt; - позволяет получать подробную информацию о вашем текущем IP, например: &lt;pre class=&quot;code&quot;&gt;curl ifconfig.co/json | jq&lt;/pre&gt;

&lt;p&gt;
 Так же можно развернуть данный сервис у себя: &lt;a href=&quot;https://github.com/mpolden/echoip&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/mpolden/echoip&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/mpolden/echoip&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://mylocation.org/&quot; class=&quot;urlextern&quot; title=&quot;https://mylocation.org/&quot; rel=&quot;ugc nofollow&quot;&gt;https://mylocation.org/&lt;/a&gt; - Показывает расположение выходной точки по IP-адресу&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://ip-api.com/&quot; class=&quot;urlextern&quot; title=&quot;http://ip-api.com/&quot; rel=&quot;ugc nofollow&quot;&gt;http://ip-api.com/&lt;/a&gt; - позволяет запрашивать информацию о произвольном адресе, например: &lt;pre class=&quot;code&quot;&gt;curl http://ip-api.com/json/1.1.1.1 | jq&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/internet?do=showtag&amp;amp;tag=internet&quot; class=&quot;wikilink1&quot; title=&quot;tag:internet&quot; rel=&quot;tag&quot;&gt;internet&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/ip?do=showtag&amp;amp;tag=ip&quot; class=&quot;wikilink1&quot; title=&quot;tag:ip&quot; rel=&quot;tag&quot;&gt;ip&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/network?do=showtag&amp;amp;tag=network&quot; class=&quot;wikilink1&quot; title=&quot;tag:network&quot; rel=&quot;tag&quot;&gt;network&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 06 Sep 2022 08:18:02 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Periodic Table of DevOps Tools</title>
            <link>https://wiki.rtzra.ru/devops/devops-periodic-table-of-devops-tools</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsperiodic_table_of_devops_tools&quot;&gt;DevOps: Periodic Table of DevOps Tools&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://digital.ai/periodic-table-of-devops-tools&quot; class=&quot;urlextern&quot; title=&quot;https://digital.ai/periodic-table-of-devops-tools&quot; rel=&quot;ugc nofollow&quot;&gt;https://digital.ai/periodic-table-of-devops-tools&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/periodic?do=showtag&amp;amp;tag=Periodic&quot; class=&quot;wikilink1&quot; title=&quot;tag:periodic&quot; rel=&quot;tag&quot;&gt;Periodic&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/table?do=showtag&amp;amp;tag=Table&quot; class=&quot;wikilink1&quot; title=&quot;tag:table&quot; rel=&quot;tag&quot;&gt;Table&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/of?do=showtag&amp;amp;tag=of&quot; class=&quot;wikilink1&quot; title=&quot;tag:of&quot; rel=&quot;tag&quot;&gt;of&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/devops?do=showtag&amp;amp;tag=DevOps&quot; class=&quot;wikilink1&quot; title=&quot;tag:devops&quot; rel=&quot;tag&quot;&gt;DevOps&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/tools?do=showtag&amp;amp;tag=Tools&quot; class=&quot;wikilink1&quot; title=&quot;tag:tools&quot; rel=&quot;tag&quot;&gt;Tools&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 01 Oct 2021 02:32:59 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Проверяй работу скриптов</title>
            <link>https://wiki.rtzra.ru/devops/devops-shellcheck</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsproverjaj_rabotu_skriptov&quot;&gt;DevOps: Проверяй работу скриптов&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Если часто приходится писать скрипты то хорошо бы иметь возможность проверить его на ошибки до момента запуска.
&lt;/p&gt;

&lt;p&gt;
«Да ладно, скрипт простенький, где там ошибаться-то. И вообще столько лет пишу, мне и так хорошо» - так думают многие (и я до сегодняшнего дня). Хренушки, однажды настанет придет симпатичный белый писец и будет поздно. Бэкапы это здорово, но зачем делать лишнюю работу и дергаться из-за RTO?
&lt;/p&gt;

&lt;p&gt;
В общем рекомендую использовать &lt;a href=&quot;https://www.shellcheck.net/&quot; class=&quot;urlextern&quot; title=&quot;https://www.shellcheck.net/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.shellcheck.net/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
ShellCheck - это инструмент, который позволяет улучшать и исправлять скрипты командной строки Linux. Он способен обнаруживать множество распространённых недоработок и ошибок в их коде.
&lt;/p&gt;

&lt;p&gt;
Репозиторий на GitHub: &lt;a href=&quot;https://github.com/koalaman/shellcheck&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/koalaman/shellcheck&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/koalaman/shellcheck&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Проверка онлайн (&lt;a href=&quot;https://www.shellcheck.net/&quot; class=&quot;urlextern&quot; title=&quot;https://www.shellcheck.net/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.shellcheck.net/&lt;/a&gt;) или установка локально.
&lt;/p&gt;

&lt;p&gt;
Debian:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo apt install shellcheck&lt;/pre&gt;

&lt;p&gt;
EPEL:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;yum -y install epel-release
sudo yum install ShellCheck&lt;/pre&gt;

&lt;p&gt;
Проверка локально в терминале:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;shellcheck yourscript&lt;/pre&gt;

&lt;p&gt;
А здесь можно найти неплохую шпаргалку по bash: &lt;a href=&quot;https://goalkicker.com/BashBook/&quot; class=&quot;urlextern&quot; title=&quot;https://goalkicker.com/BashBook/&quot; rel=&quot;ugc nofollow&quot;&gt;https://goalkicker.com/BashBook/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Для проверки скриптов на PowerShell можно использовать PSScriptAnalyzer - &lt;a href=&quot;https://github.com/PowerShell/PSScriptAnalyzer/&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/PowerShell/PSScriptAnalyzer/&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/PowerShell/PSScriptAnalyzer/&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 15 Nov 2022 09:31:28 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Шоткаты командной строки</title>
            <link>https://wiki.rtzra.ru/devops/devops-shortcut</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsshotkaty_komandnoj_stroki&quot;&gt;DevOps: Шоткаты командной строки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.rtzra.ru/_detail/devops/20211007-005813.png?id=devops%3Adevops-shortcut&quot; class=&quot;media&quot; title=&quot;devops:20211007-005813.png&quot;&gt;&lt;img src=&quot;https://wiki.rtzra.ru/_media/devops/20211007-005813.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/linux?do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/cli?do=showtag&amp;amp;tag=cli&quot; class=&quot;wikilink1&quot; title=&quot;tag:cli&quot; rel=&quot;tag&quot;&gt;cli&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/bash?do=showtag&amp;amp;tag=bash&quot; class=&quot;wikilink1&quot; title=&quot;tag:bash&quot; rel=&quot;tag&quot;&gt;bash&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/zsh?do=showtag&amp;amp;tag=zsh&quot; class=&quot;wikilink1&quot; title=&quot;tag:zsh&quot; rel=&quot;tag&quot;&gt;zsh&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/shell?do=showtag&amp;amp;tag=shell&quot; class=&quot;wikilink1&quot; title=&quot;tag:shell&quot; rel=&quot;tag&quot;&gt;shell&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/shortcut?do=showtag&amp;amp;tag=shortcut&quot; class=&quot;wikilink1&quot; title=&quot;tag:shortcut&quot; rel=&quot;tag&quot;&gt;shortcut&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/sokraschenie?do=showtag&amp;amp;tag=%D1%81%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D0%B5%D0%BD%D0%B8%D0%B5&quot; class=&quot;wikilink1&quot; title=&quot;tag:sokraschenie&quot; rel=&quot;tag&quot;&gt;сокращение&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/shotkat?do=showtag&amp;amp;tag=%D1%88%D0%BE%D1%82%D0%BA%D0%B0%D1%82&quot; class=&quot;wikilink1&quot; title=&quot;tag:shotkat&quot; rel=&quot;tag&quot;&gt;шоткат&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 29 Jan 2022 11:31:29 +0000</pubDate>
        </item>
        <item>
            <title>Уровни SLI/SLA/SLO</title>
            <link>https://wiki.rtzra.ru/devops/devops-sla</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;urovni_slislaslo&quot;&gt;Уровни SLI/SLA/SLO&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Описание что такое SLI/SLA/SLO: &lt;a href=&quot;https://cloud.google.com/blog/products/gcp/sre-fundamentals-slis-slas-and-slos&quot; class=&quot;urlextern&quot; title=&quot;https://cloud.google.com/blog/products/gcp/sre-fundamentals-slis-slas-and-slos&quot; rel=&quot;ugc nofollow&quot;&gt;https://cloud.google.com/blog/products/gcp/sre-fundamentals-slis-slas-and-slos&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Полезные ресурсы для расчета показателей:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://uptime.is/&quot; class=&quot;urlextern&quot; title=&quot;https://uptime.is/&quot; rel=&quot;ugc nofollow&quot;&gt;https://uptime.is/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://dastergon.gr/error-budget-calculator/&quot; class=&quot;urlextern&quot; title=&quot;https://dastergon.gr/error-budget-calculator/&quot; rel=&quot;ugc nofollow&quot;&gt;https://dastergon.gr/error-budget-calculator/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Копипаста взята отсюда: &lt;a href=&quot;https://habr.com/ru/company/proto/blog/538966/&quot; class=&quot;urlextern&quot; title=&quot;https://habr.com/ru/company/proto/blog/538966/&quot; rel=&quot;ugc nofollow&quot;&gt;https://habr.com/ru/company/proto/blog/538966/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Service Level Indicator&lt;/strong&gt; (&lt;strong&gt;SLI&lt;/strong&gt;) – это количественная оценка работы сервиса, как правило, связанная с удовлетворенностью пользователей производительностью приложения или сервиса за заданный период времени (месяц, квартал, год). А если говорить конкретнее – это индикатор пользовательского опыта, который отслеживает одну из многочисленных возможных метрик (рассмотрим их ниже) и, чаще всего, представляется в процентном эквиваленте, где 100 % - означает отличный пользовательский опыт, а 0% - ужасный.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Service Level Objectives&lt;/strong&gt; (&lt;strong&gt;SLO&lt;/strong&gt;) – это желаемое, целевое значение нашего SLI или группы SLI. При установке SLO необходимо указывать реально достижимое значение для каждого конкретного SLI. Ниже мы рассмотрим логику установки SLO на примере конкретных SLI.
&lt;/p&gt;

&lt;p&gt;
Также важно понимать, что SLO – это наш внутренний показатель качества работы сервиса и/или приложения, в отличие от &lt;strong&gt;Service Level Agreement&lt;/strong&gt; (&lt;strong&gt;SLA&lt;/strong&gt;), который обычно устанавливается бизнесом как внешнее обязательство по доступности сервиса перед клиентами компании.
&lt;/p&gt;

&lt;p&gt;
Если компания предоставляет SLA клиентам, обычно при прописывании SLO берутся в расчет установленные показатели SLA. Так как в случае не достижения SLO это напрямую отразиться на SLA, что приведет к определенным последствиям для бизнеса в лице нарушения договорных обязательств перед клиентами или даже штрафам.
&lt;/p&gt;

&lt;p&gt;
В концепции SLI и SLO присутствует индикатор &lt;strong&gt;Error Budget&lt;/strong&gt; или, как его иногда называют, «право на ошибку». Error Budget – это степень невыполнения наших SLO. Например, если наш SLO учитывает доступность, то error budget – это максимальное время, в течение которого наша система может быть недоступной без последствий для нас и нашей команды.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.rtzra.ru/_detail/devops/sli-sla-slo.jpg?id=devops%3Adevops-sla&quot; class=&quot;media&quot; title=&quot;devops:sli-sla-slo.jpg&quot;&gt;&lt;img src=&quot;https://wiki.rtzra.ru/_media/devops/sli-sla-slo.jpg?w=950&amp;amp;tok=05cb36&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;950&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0440\u043e\u0432\u043d\u0438 SLI\/SLA\/SLO&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;urovni_slislaslo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-3388&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;google_kubernetes_engine_service_level_agreement_sla&quot;&gt;Google Kubernetes Engine Service Level Agreement (SLA)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Уровни SLI/SLO/SLA для Kubernetes, руководство от компании Google: &lt;a href=&quot;https://cloud.google.com/kubernetes-engine/sla&quot; class=&quot;urlextern&quot; title=&quot;https://cloud.google.com/kubernetes-engine/sla&quot; rel=&quot;ugc nofollow&quot;&gt;https://cloud.google.com/kubernetes-engine/sla&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Google Kubernetes Engine Service Level Agreement (SLA)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;google_kubernetes_engine_service_level_agreement_sla&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;3389-3601&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;alerting_on_slos&quot;&gt;Alerting on SLOs&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Рекомендации по алертам: &lt;a href=&quot;https://sre.google/workbook/alerting-on-slos/&quot; class=&quot;urlextern&quot; title=&quot;https://sre.google/workbook/alerting-on-slos/&quot; rel=&quot;ugc nofollow&quot;&gt;https://sre.google/workbook/alerting-on-slos/&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/sli?do=showtag&amp;amp;tag=SLI&quot; class=&quot;wikilink1&quot; title=&quot;tag:sli&quot; rel=&quot;tag&quot;&gt;SLI&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/sla?do=showtag&amp;amp;tag=SLA&quot; class=&quot;wikilink1&quot; title=&quot;tag:sla&quot; rel=&quot;tag&quot;&gt;SLA&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/slo?do=showtag&amp;amp;tag=SLO&quot; class=&quot;wikilink1&quot; title=&quot;tag:slo&quot; rel=&quot;tag&quot;&gt;SLO&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/error?do=showtag&amp;amp;tag=Error&quot; class=&quot;wikilink1&quot; title=&quot;tag:error&quot; rel=&quot;tag&quot;&gt;Error&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/budget?do=showtag&amp;amp;tag=Budget&quot; class=&quot;wikilink1&quot; title=&quot;tag:budget&quot; rel=&quot;tag&quot;&gt;Budget&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/devops?do=showtag&amp;amp;tag=devops&quot; class=&quot;wikilink1&quot; title=&quot;tag:devops&quot; rel=&quot;tag&quot;&gt;devops&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/urovni_obsluzhivanija?do=showtag&amp;amp;tag=%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B8_%D0%BE%D0%B1%D1%81%D0%BB%D1%83%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&quot; class=&quot;wikilink1&quot; title=&quot;tag:urovni_obsluzhivanija&quot; rel=&quot;tag&quot;&gt;уровни обслуживания&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/pokazateli?do=showtag&amp;amp;tag=%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D0%B8&quot; class=&quot;wikilink1&quot; title=&quot;tag:pokazateli&quot; rel=&quot;tag&quot;&gt;показатели&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/kachestvo?do=showtag&amp;amp;tag=%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%BE&quot; class=&quot;wikilink1&quot; title=&quot;tag:kachestvo&quot; rel=&quot;tag&quot;&gt;качество&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/kachestva?do=showtag&amp;amp;tag=%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0&quot; class=&quot;wikilink1&quot; title=&quot;tag:kachestva&quot; rel=&quot;tag&quot;&gt;качества&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/pravo_na_oshibku?do=showtag&amp;amp;tag=%D0%BF%D1%80%D0%B0%D0%B2%D0%BE_%D0%BD%D0%B0_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D1%83&quot; class=&quot;wikilink1&quot; title=&quot;tag:pravo_na_oshibku&quot; rel=&quot;tag&quot;&gt;право на ошибку&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Alerting on SLOs&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;alerting_on_slos&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3602-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 07 Dec 2021 14:28:53 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Tmux</title>
            <link>https://wiki.rtzra.ru/devops/devops-tmux</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopstmux&quot;&gt;DevOps: Tmux&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Главная ссылка: &lt;a href=&quot;https://github.com/tmux/tmux/wiki&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/tmux/tmux/wiki&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/tmux/tmux/wiki&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Tmux - это один из мультиплексоров терминальных подключений, имеет кучу аналогов: от старого доброго screen до byobu.
&lt;/p&gt;

&lt;p&gt;
Используется для комфортной работы, ведь в случае отключения все открытые сеансы по-прежнему работают и доступны для переподключения. Если нужно работать через откровенно плохие или тормозные каналы - можно использовать в комплекте с mosh &lt;a href=&quot;https://mosh.org/&quot; class=&quot;urlextern&quot; title=&quot;https://mosh.org/&quot; rel=&quot;ugc nofollow&quot;&gt;https://mosh.org/&lt;/a&gt;, вот отличная обзорная статья: &lt;a href=&quot;https://habr.com/ru/companies/vdsina/articles/472746/&quot; class=&quot;urlextern&quot; title=&quot;https://habr.com/ru/companies/vdsina/articles/472746/&quot; rel=&quot;ugc nofollow&quot;&gt;https://habr.com/ru/companies/vdsina/articles/472746/&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Я работал по откровенно фиговому соединению с дачи, где связь была откровенно неустойчивой, да еще и пинг временами прыгал до 2000-3000 мс и в целом справлялся. Никому такого не пожелаю, но в экстренных случаях вполне себе норм.
&lt;/p&gt;

&lt;p&gt;
Несмотря на годы использования tmux я так и не знаю всех (или хотя бы бОльшей части) стандартных сочетаний клавиш (и это кроме своих биндингов), поэтому вот полезные подсказки:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://tmuxcheatsheet.com/&quot; class=&quot;urlextern&quot; title=&quot;https://tmuxcheatsheet.com/&quot; rel=&quot;ugc nofollow&quot;&gt;https://tmuxcheatsheet.com/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/tmux?do=showtag&amp;amp;tag=tmux&quot; class=&quot;wikilink1&quot; title=&quot;tag:tmux&quot; rel=&quot;tag&quot;&gt;tmux&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/cheatsheet?do=showtag&amp;amp;tag=cheatsheet&quot; class=&quot;wikilink1&quot; title=&quot;tag:cheatsheet&quot; rel=&quot;tag&quot;&gt;cheatsheet&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/podskazki?do=showtag&amp;amp;tag=%D0%BF%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B7%D0%BA%D0%B8&quot; class=&quot;wikilink1&quot; title=&quot;tag:podskazki&quot; rel=&quot;tag&quot;&gt;подсказки&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/alias?do=showtag&amp;amp;tag=alias&quot; class=&quot;wikilink1&quot; title=&quot;tag:alias&quot; rel=&quot;tag&quot;&gt;alias&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/bindings?do=showtag&amp;amp;tag=bindings&quot; class=&quot;wikilink1&quot; title=&quot;tag:bindings&quot; rel=&quot;tag&quot;&gt;bindings&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 02 Jan 2024 10:47:31 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Подборка инструментов</title>
            <link>https://wiki.rtzra.ru/devops/devops-tools</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopspodborka_instrumentov&quot;&gt;DevOps: Подборка инструментов&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Небольшая подборка полезностей для DevOps/SRE/Sysadmin.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DevOps: \u041f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;devopspodborka_instrumentov&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-153&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;obnovlenie_vsego_na_svete&quot;&gt;Обновление всего на свете&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/r-darwish/topgrade&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/r-darwish/topgrade&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/r-darwish/topgrade&lt;/a&gt; - скрипт для поиска и установки обновлений. Сам topgrade работает одинаково хорошо как на линуксах, так и на маках. Запуск команды без параметров - и у вас обновлено всё, что вообще может требовать обновлений: от разных xcode до cargo, npm, gems, pip. Работает со всеми менеджерами пакетов brew, macports, ports, portage, dnf, apt, nix, pacman, aur, zypper, flatpack, snap, проверит обновления баз manpages, tldr, metasploit, плагинов tmux, zsh, fish, vim, micro, обновит все шрифты, контейнеры, vagrant, docker и так далее.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0430 \u0441\u0432\u0435\u0442\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;obnovlenie_vsego_na_svete&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;154-1052&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;cvetovye_temy&quot;&gt;Цветовые темы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://terminalcolors.com/&quot; class=&quot;urlextern&quot; title=&quot;https://terminalcolors.com/&quot; rel=&quot;ugc nofollow&quot;&gt;https://terminalcolors.com/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0426\u0432\u0435\u0442\u043e\u0432\u044b\u0435 \u0442\u0435\u043c\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;cvetovye_temy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1053-1124&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;shrifty&quot;&gt;Шрифты&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Как говорится «Унитаз - лицо хозяйки», но если много работаешь в консоли - становится важным удобство этой самой консоли и, самое главное - шрифтов в ней.
&lt;/p&gt;

&lt;p&gt;
Мне нравятся: Fira Code Nerd Retina и Iosevka Extended Fixed.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.codingfont.com/&quot; class=&quot;urlextern&quot; title=&quot;https://www.codingfont.com/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.codingfont.com/&lt;/a&gt; - наглядный выбор шрифтов&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.programmingfonts.org/&quot; class=&quot;urlextern&quot; title=&quot;https://www.programmingfonts.org/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.programmingfonts.org/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.nerdfonts.com/&quot; class=&quot;urlextern&quot; title=&quot;https://www.nerdfonts.com/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.nerdfonts.com/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Iosevka - &lt;a href=&quot;https://github.com/be5invis/Iosevka&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/be5invis/Iosevka&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/be5invis/Iosevka&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Качаем и ставим ttf-iosevka и ttf-iosevka-fixed&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Windows - распаковали, выделили, правой кнопкой мышки, Установить&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Linux - распаковываем в ~/.local/share/fonts/ и запускаем &lt;pre class=&quot;code&quot;&gt;fc-cache -fv&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0428\u0440\u0438\u0444\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shrifty&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1125-2002&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;xaljava_sehr&quot;&gt;Халява, сэр&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Большая и обновляемая подборка бесплатных или условно-бесплатных ресурсов, на которых возможно посмотреть/потрогать какие-то технологии: &lt;a href=&quot;https://github.com/ripienaar/free-for-dev&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/ripienaar/free-for-dev&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/ripienaar/free-for-dev&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0425\u0430\u043b\u044f\u0432\u0430, \u0441\u044d\u0440&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;xaljava_sehr&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2003-2334&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;onlajn-resursy&quot;&gt;Онлайн-ресурсы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://jsonlint.com&quot; class=&quot;urlextern&quot; title=&quot;https://jsonlint.com&quot; rel=&quot;ugc nofollow&quot;&gt;https://jsonlint.com&lt;/a&gt; - Проверка синтаксиса JSON&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://yamllint.com&quot; class=&quot;urlextern&quot; title=&quot;https://yamllint.com&quot; rel=&quot;ugc nofollow&quot;&gt;https://yamllint.com&lt;/a&gt; - Проверка синтаксиса YAML&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://codebeautify.org/yaml-validator&quot; class=&quot;urlextern&quot; title=&quot;https://codebeautify.org/yaml-validator&quot; rel=&quot;ugc nofollow&quot;&gt;https://codebeautify.org/yaml-validator&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://jsonformatter.org/yaml-validator&quot; class=&quot;urlextern&quot; title=&quot;https://jsonformatter.org/yaml-validator&quot; rel=&quot;ugc nofollow&quot;&gt;https://jsonformatter.org/yaml-validator&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://hcl2json.com&quot; class=&quot;urlextern&quot; title=&quot;https://hcl2json.com&quot; rel=&quot;ugc nofollow&quot;&gt;https://hcl2json.com&lt;/a&gt; - Конвертер JSON ↔ YAML и не только&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://regex101.com&quot; class=&quot;urlextern&quot; title=&quot;https://regex101.com&quot; rel=&quot;ugc nofollow&quot;&gt;https://regex101.com&lt;/a&gt; - Регулярные выражения&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u043d\u043b\u0430\u0439\u043d-\u0440\u0435\u0441\u0443\u0440\u0441\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;onlajn-resursy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2335-2753&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;docker_i_prochaja_kontejnerizacija&quot;&gt;Docker и прочая контейнеризация&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Большая подборка информации по обеспечению безопасности в Docker: &lt;a href=&quot;https://github.com/myugan/awesome-docker-security&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/myugan/awesome-docker-security&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/myugan/awesome-docker-security&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Lazydocker - Консольная утилита для работы с Docker. Сайт: &lt;a href=&quot;https://github.com/jesseduffield/lazydocker&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/jesseduffield/lazydocker&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/jesseduffield/lazydocker&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dive - Консольная утилита для анализа Docker-образов, можно посмотреть какие слои есть и как сократить размер. Сайт: &lt;a href=&quot;https://github.com/wagoodman/dive&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/wagoodman/dive&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/wagoodman/dive&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; DockerSlim - Консольная утилита для уменьшения размеров Docker-образов. Сайт: &lt;a href=&quot;https://dockersl.im/&quot; class=&quot;urlextern&quot; title=&quot;https://dockersl.im/&quot; rel=&quot;ugc nofollow&quot;&gt;https://dockersl.im/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ctop - аналог утилиты top но для Docker. Сайт: &lt;a href=&quot;https://github.com/bcicen/ctop&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/bcicen/ctop&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/bcicen/ctop&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Dry - консольная утилиты для управления Docker&amp;#039;ом. Сайт: &lt;a href=&quot;https://github.com/moncho/dry&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/moncho/dry&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/moncho/dry&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Grype - сканер уязвимостей в образах и файловых системах. Сайт: &lt;a href=&quot;https://github.com/anchore/grype&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/anchore/grype&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/anchore/grype&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Portainer - &lt;abbr title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/abbr&gt;-утилиты для управления Docker, Docker Swarm, Kubernetes. Сайт: &lt;a href=&quot;https://www.portainer.io&quot; class=&quot;urlextern&quot; title=&quot;https://www.portainer.io&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.portainer.io&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Scopeo - утилита для работы с образами контейнеров и реджистри. Не требует установленного докера. Сайт: &lt;a href=&quot;https://github.com/containers/skopeo&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/containers/skopeo&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/containers/skopeo&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Статья о способах уменьшения размеров Docker-образов: &lt;a href=&quot;https://itnan.ru/post.php?c=1&amp;amp;p=485650&quot; class=&quot;urlextern&quot; title=&quot;https://itnan.ru/post.php?c=1&amp;amp;p=485650&quot; rel=&quot;ugc nofollow&quot;&gt;https://itnan.ru/post.php?c=1&amp;amp;p=485650&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Docker \u0438 \u043f\u0440\u043e\u0447\u0430\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;docker_i_prochaja_kontejnerizacija&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2754-4390&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;kubernetes&quot;&gt;Kubernetes&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Огромная подборка всяких полезных утилит и инструментов для Kubernetes:&lt;/strong&gt; &lt;a href=&quot;https://collabnix.github.io/kubetools/&quot; class=&quot;urlextern&quot; title=&quot;https://collabnix.github.io/kubetools/&quot; rel=&quot;ugc nofollow&quot;&gt;https://collabnix.github.io/kubetools/&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Krew - менеджер абсолютно необходимых плагинов для kubectl. Сайт: &lt;a href=&quot;https://krew.sigs.k8s.io/&quot; class=&quot;urlextern&quot; title=&quot;https://krew.sigs.k8s.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://krew.sigs.k8s.io/&lt;/a&gt;, список плагинов: &lt;a href=&quot;https://krew.sigs.k8s.io/plugins/&quot; class=&quot;urlextern&quot; title=&quot;https://krew.sigs.k8s.io/plugins/&quot; rel=&quot;ugc nofollow&quot;&gt;https://krew.sigs.k8s.io/plugins/&lt;/a&gt; &lt;pre class=&quot;code&quot;&gt;# kubectl krew list                                           
appscode/stash
ctx
doctor
grep
images
konfig
krew
ns
outdated
pod-lens
pvmigrate
resource-capacity
sql
tree
view-cert
view-secret&lt;/pre&gt;

&lt;p&gt;
  И еще много полезного тут: &lt;a href=&quot;https://rtfm.co.ua/kubernetes-menedzher-plaginov-krew-i-poleznye-plaginy-dlya-kubectl/&quot; class=&quot;urlextern&quot; title=&quot;https://rtfm.co.ua/kubernetes-menedzher-plaginov-krew-i-poleznye-plaginy-dlya-kubectl/&quot; rel=&quot;ugc nofollow&quot;&gt;https://rtfm.co.ua/kubernetes-menedzher-plaginov-krew-i-poleznye-plaginy-dlya-kubectl/&lt;/a&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; k9s - Консольная утилита для работы с кластерами Kubernetes. Сайт: &lt;a href=&quot;https://k9scli.io/&quot; class=&quot;urlextern&quot; title=&quot;https://k9scli.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://k9scli.io/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Lens - Шикарный &lt;abbr title=&quot;Graphical User Interface&quot;&gt;GUI&lt;/abbr&gt; для работы с кластерами Kubernetes. Сайт: &lt;a href=&quot;https://k8slens.dev/&quot; class=&quot;urlextern&quot; title=&quot;https://k8slens.dev/&quot; rel=&quot;ugc nofollow&quot;&gt;https://k8slens.dev/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Restic - Бэкапы. Сайт: &lt;a href=&quot;https://restic.net/&quot; class=&quot;urlextern&quot; title=&quot;https://restic.net/&quot; rel=&quot;ugc nofollow&quot;&gt;https://restic.net/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Velero - Бэкапы в Kubernetes. Сайт: &lt;a href=&quot;https://velero.io/&quot; class=&quot;urlextern&quot; title=&quot;https://velero.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://velero.io/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Stash - Бэкапы в Kubernetes. Платный, есть Free лицензия, ограниченная по функционалу. Сайт: &lt;a href=&quot;https://stash.run/&quot; class=&quot;urlextern&quot; title=&quot;https://stash.run/&quot; rel=&quot;ugc nofollow&quot;&gt;https://stash.run/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; K10 - Бэкапы в Kubernetes. Платный, есть Free лицензия на 10 нод. Сайт: &lt;a href=&quot;https://www.kasten.io/&quot; class=&quot;urlextern&quot; title=&quot;https://www.kasten.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.kasten.io/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Pod-Reaper - удаляет зависшие поды по таймауту или в статусе Evicted. Сайт &lt;a href=&quot;https://github.com/ptagr/pod-reaper&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/ptagr/pod-reaper&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/ptagr/pod-reaper&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kubernetes&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kubernetes&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4391-5971&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;analiz_problem_v_kubernetes&quot;&gt;Анализ проблем в Kubernetes&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Popeye - A Kubernetes Cluster Sanitizer. &lt;a href=&quot;https://github.com/derailed/popeye&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/derailed/popeye&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/derailed/popeye&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; KubeEye aims to find various problems on Kubernetes. &lt;a href=&quot;https://github.com/kubesphere/kubeeye&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/kubesphere/kubeeye&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/kubesphere/kubeeye&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Weave Scope для мониторинга и отладки контейнеризированных приложений: &lt;a href=&quot;https://www.weave.works/oss/scope/&quot; class=&quot;urlextern&quot; title=&quot;https://www.weave.works/oss/scope/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.weave.works/oss/scope/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0410\u043d\u0430\u043b\u0438\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 Kubernetes&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;analiz_problem_v_kubernetes&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;5972-6362&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;bezopasnost_v_kubernetes&quot;&gt;Безопасность в Kubernetes&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Чек-лист по безопасности: &lt;a href=&quot;https://github.com/Vinum-Security/kubernetes-security-checklist&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/Vinum-Security/kubernetes-security-checklist&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/Vinum-Security/kubernetes-security-checklist&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; RBAC-tool умеет формировать RBAC-роли в Kubernetes по результатам анализа audit events, строить карту ролей и выявлять небезопасные роли: &lt;a href=&quot;https://github.com/alcideio/rbac-tool&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/alcideio/rbac-tool&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/alcideio/rbac-tool&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Инструмент для работы с JWT-токенами: &lt;a href=&quot;https://jwt.io/&quot; class=&quot;urlextern&quot; title=&quot;https://jwt.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://jwt.io/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432 Kubernetes&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bezopasnost_v_kubernetes&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;6363-6877&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;paketnye_menedzhery_i_cicd&quot;&gt;Пакетные менеджеры и CI/CD&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ArgoCD - Инструмент для CD (continuous delivery) в Kubernetes. Сайт: &lt;a href=&quot;https://argoproj.github.io/argo-cd/&quot; class=&quot;urlextern&quot; title=&quot;https://argoproj.github.io/argo-cd/&quot; rel=&quot;ugc nofollow&quot;&gt;https://argoproj.github.io/argo-cd/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Helm - Пакетный менеджер для Kubernetes. Сайт: &lt;a href=&quot;https://helm.sh/&quot; class=&quot;urlextern&quot; title=&quot;https://helm.sh/&quot; rel=&quot;ugc nofollow&quot;&gt;https://helm.sh/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0430\u043a\u0435\u0442\u043d\u044b\u0435 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u044b \u0438 CI\/CD&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;paketnye_menedzhery_i_cicd&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;6878-7154&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;istochniki_chartov_obrazov_i_operatorov&quot;&gt;Источники чартов, образов и операторов&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Docker Hub - крупнейший источник образов контейнеров. Сайт: &lt;a href=&quot;https://hub.docker.com/&quot; class=&quot;urlextern&quot; title=&quot;https://hub.docker.com/&quot; rel=&quot;ugc nofollow&quot;&gt;https://hub.docker.com/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ArtifactHUB - крупнейший источник пакетов для Kubernetes. Сайт: &lt;a href=&quot;https://artifacthub.io/&quot; class=&quot;urlextern&quot; title=&quot;https://artifacthub.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://artifacthub.io/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; OperatorHub.io - крупнейший источник операторов для Kubernetes. Сайт: &lt;a href=&quot;https://operatorhub.io/&quot; class=&quot;urlextern&quot; title=&quot;https://operatorhub.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://operatorhub.io/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0447\u0430\u0440\u0442\u043e\u0432, \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;istochniki_chartov_obrazov_i_operatorov&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;7155-7625&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;monitoring&quot;&gt;Мониторинг&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Набор Grafana dashboards и Prometheus alerts для Kubernetes - &lt;a href=&quot;https://github.com/kubernetes-monitoring/kubernetes-mixin&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/kubernetes-monitoring/kubernetes-mixin&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/kubernetes-monitoring/kubernetes-mixin&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 15 Awesome Grafana Dashboards and Examples - &lt;a href=&quot;https://www.containiq.com/post/grafana-dashboards-and-examples&quot; class=&quot;urlextern&quot; title=&quot;https://www.containiq.com/post/grafana-dashboards-and-examples&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.containiq.com/post/grafana-dashboards-and-examples&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Blackbox exporter for Prometheus - &lt;a href=&quot;https://github.com/prometheus/blackbox_exporter&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/prometheus/blackbox_exporter&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/prometheus/blackbox_exporter&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Goldpinger - Мониторинг сети нод в Kubernetes. Сайт: &lt;a href=&quot;https://github.com/bloomberg/goldpinger&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/bloomberg/goldpinger&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/bloomberg/goldpinger&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Kubenurse - мониторинг сети в Kubernetes - &lt;a href=&quot;https://github.com/postfinance/kubenurse&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/postfinance/kubenurse&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/postfinance/kubenurse&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;monitoring&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;7626-8214&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;testirovanie_nagruzki&quot;&gt;Тестирование нагрузки&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Yandex Tank: &lt;a href=&quot;https://yandex.ru/dev/tank/&quot; class=&quot;urlextern&quot; title=&quot;https://yandex.ru/dev/tank/&quot; rel=&quot;ugc nofollow&quot;&gt;https://yandex.ru/dev/tank/&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; K6: &lt;a href=&quot;https://k6.io/&quot; class=&quot;urlextern&quot; title=&quot;https://k6.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://k6.io/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Bombardier: &lt;a href=&quot;https://github.com/codesenberg/bombardier&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/codesenberg/bombardier&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/codesenberg/bombardier&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;testirovanie_nagruzki&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;8215-8397&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;web_application_firewall_waf&quot;&gt;Web Application Firewall (WAF)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ModSecurity для Apache: &lt;a href=&quot;https://github.com/SpiderLabs/ModSecurity&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/SpiderLabs/ModSecurity&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/SpiderLabs/ModSecurity&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; NAXSI для Nginx: &lt;a href=&quot;https://github.com/nbs-system/naxsi&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/nbs-system/naxsi&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/nbs-system/naxsi&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nemesida WAF Free: &lt;a href=&quot;https://github.com/nemesida-waf/nemesida_waf_free&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/nemesida-waf/nemesida_waf_free&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/nemesida-waf/nemesida_waf_free&lt;/a&gt; и &lt;a href=&quot;https://github.com/nemesida-waf/waf-bypass&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/nemesida-waf/waf-bypass&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/nemesida-waf/waf-bypass&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Vulture: &lt;a href=&quot;https://www.vultureproject.org/&quot; class=&quot;urlextern&quot; title=&quot;https://www.vultureproject.org/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.vultureproject.org/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Web Application Firewall (WAF)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;web_application_firewall_waf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;8398-8739&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit16&quot; id=&quot;bezopasnost&quot;&gt;Безопасность&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; T-Pot - The All In One Honeypot Platform: &lt;a href=&quot;https://github.com/telekom-security/tpotce&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/telekom-security/tpotce&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/telekom-security/tpotce&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Chameleon - 19 Customizable honeypots for monitoring network traffic, bots activities, and username\password credentials (&lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt;, HTTP Proxy, HTTP, HTTPS, SSH, POP3, IMAP, STMP, RDP, VNC, SMB, SOCKS5, Redis, TELNET, Postgres, MySQL, MSSQL, Elastic and ldap): &lt;a href=&quot;https://github.com/qeeqbox/chameleon&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/qeeqbox/chameleon&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/qeeqbox/chameleon&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bezopasnost&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;8740-9164&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit17&quot; id=&quot;testirovanie_skorosti_otdachi_sajta&quot;&gt;Тестирование скорости отдачи сайта&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://gtmetrix.com&quot; class=&quot;urlextern&quot; title=&quot;https://gtmetrix.com&quot; rel=&quot;ugc nofollow&quot;&gt;https://gtmetrix.com&lt;/a&gt; - Анализ скорости загрузки сайта, по итогам дает рекомендации&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043e\u0442\u0434\u0430\u0447\u0438 \u0441\u0430\u0439\u0442\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;testirovanie_skorosti_otdachi_sajta&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;9165-9382&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit18&quot; id=&quot;testirovanie_serverov_na_popugai&quot;&gt;Тестирование серверов на попугаи&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для понимания хорош ли текущий VPS/хостинг и все такое
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Yet-Another-Bench-Script: &lt;a href=&quot;https://github.com/masonr/yet-another-bench-script&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/masonr/yet-another-bench-script&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/masonr/yet-another-bench-script&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;curl -sL yabs.sh | bash

or

wget -qO- yabs.sh | bash&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043d\u0430 \u043f\u043e\u043f\u0443\u0433\u0430\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;testirovanie_serverov_na_popugai&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;9383-9706&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit19&quot; id=&quot;utility_dlja_raboty_s_httphttpsapi&quot;&gt;Утилиты для работы с HTTP/HTTPS/API&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; HTTPIe - &lt;a href=&quot;https://httpie.io&quot; class=&quot;urlextern&quot; title=&quot;https://httpie.io&quot; rel=&quot;ugc nofollow&quot;&gt;https://httpie.io&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Curlie - &lt;a href=&quot;https://curlie.io&quot; class=&quot;urlextern&quot; title=&quot;https://curlie.io&quot; rel=&quot;ugc nofollow&quot;&gt;https://curlie.io&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0442\u0438\u043b\u0438\u0442\u044b \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 HTTP\/HTTPS\/API&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;utility_dlja_raboty_s_httphttpsapi&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;9707-9835&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit20&quot; id=&quot;windows&quot;&gt;Windows&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; PowerShell kubectl autocomplete - &lt;a href=&quot;https://www.powershellgallery.com/packages/PSKubectlCompletion/&quot; class=&quot;urlextern&quot; title=&quot;https://www.powershellgallery.com/packages/PSKubectlCompletion/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.powershellgallery.com/packages/PSKubectlCompletion/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;Install-Module -Name PSKubectlCompletion
Import-Module -Name PSKubectlCompletion
Register-KubectlCompletion&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Windows&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;windows&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;9836-10083&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit21&quot; id=&quot;seti&quot;&gt;Сети&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://www.peeringdb.com&quot; class=&quot;urlextern&quot; title=&quot;https://www.peeringdb.com&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.peeringdb.com&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://bgp.he.net&quot; class=&quot;urlextern&quot; title=&quot;https://bgp.he.net&quot; rel=&quot;ugc nofollow&quot;&gt;https://bgp.he.net&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0435\u0442\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;seti&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:21,&amp;quot;range&amp;quot;:&amp;quot;10084-10159&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit22&quot; id=&quot;sertifikaty&quot;&gt;Сертификаты&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Замена утилит командной строки keytool и jarsigner в Java для работы с сертификатами- &lt;a href=&quot;https://keystore-explorer.org&quot; class=&quot;urlextern&quot; title=&quot;https://keystore-explorer.org&quot; rel=&quot;ugc nofollow&quot;&gt;https://keystore-explorer.org&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sertifikaty&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:22,&amp;quot;range&amp;quot;:&amp;quot;10160-10368&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit23&quot; id=&quot;konvertery&quot;&gt;Конвертеры&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Часто бывает нужно максимально точно перевести мегабайты в мебибиты, супер-конвертер поможет: &lt;a href=&quot;https://www.unitjuggler.com/memory-конвертация.html&quot; class=&quot;urlextern&quot; title=&quot;https://www.unitjuggler.com/memory-конвертация.html&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.unitjuggler.com/memory-конвертация.html&lt;/a&gt; , Альтернативный вариант - поставить утилиту units, она есть во всех распространенных дистрибутивах.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;konvertery&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:23,&amp;quot;range&amp;quot;:&amp;quot;10369-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 14 Dec 2025 10:49:00 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Графическая оболочка за несколько секунд</title>
            <link>https://wiki.rtzra.ru/devops/devops-webtop</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsgraficheskaja_obolochka_za_neskolko_sekund&quot;&gt;DevOps: Графическая оболочка за несколько секунд&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Бывает так, что требуется графическая оболочка во прямо здесь и сейчас. Можно поднять отдельную виртуалку с ОС, можно воспользоваться LiveCD любого дистрибутива, а можно поднять контейнер с любым из дистрибутивов Webtop. Несколько секунд ожидания на загрузку образа docker&amp;#039;а и можно подключаться. Работает такой рабочий стол через браузер, довольно быстр и потребляет весьма немного ресурсов.
&lt;/p&gt;

&lt;p&gt;
Домашняя страничка проекта: &lt;a href=&quot;https://github.com/linuxserver/docker-webtop&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/linuxserver/docker-webtop&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/linuxserver/docker-webtop&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/linux?do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/webtop?do=showtag&amp;amp;tag=webtop&quot; class=&quot;wikilink1&quot; title=&quot;tag:webtop&quot; rel=&quot;tag&quot;&gt;webtop&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/container?do=showtag&amp;amp;tag=container&quot; class=&quot;wikilink1&quot; title=&quot;tag:container&quot; rel=&quot;tag&quot;&gt;container&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/livecd?do=showtag&amp;amp;tag=livecd&quot; class=&quot;wikilink1&quot; title=&quot;tag:livecd&quot; rel=&quot;tag&quot;&gt;livecd&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/desktop_environment?do=showtag&amp;amp;tag=desktop_environment&quot; class=&quot;wikilink1&quot; title=&quot;tag:desktop_environment&quot; rel=&quot;tag&quot;&gt;desktop environment&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/docker?do=showtag&amp;amp;tag=docker&quot; class=&quot;wikilink1&quot; title=&quot;tag:docker&quot; rel=&quot;tag&quot;&gt;docker&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/devops_tools?do=showtag&amp;amp;tag=devops_tools&quot; class=&quot;wikilink1&quot; title=&quot;tag:devops_tools&quot; rel=&quot;tag&quot;&gt;devops tools&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 28 Oct 2023 14:46:05 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Инструменты на Windows 10</title>
            <link>https://wiki.rtzra.ru/devops/devops-win10-wsl2</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsinstrumenty_na_windows_10&quot;&gt;DevOps: Инструменты на Windows 10&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Если есть желание/необходимость девопсить на Windows 10 - ниже небольшая инструкция.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DevOps: \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0430 Windows 10&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;devopsinstrumenty_na_windows_10&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-210&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;ustanovka_wsl_2&quot;&gt;Установка WSL 2&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Можно через стандартные «Программы и компоненты» → «Установка компонентов Windows», выбрать «Windows Subsystem for Linux» или через команды:
&lt;/p&gt;

&lt;p&gt;
Powershell:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux&lt;/pre&gt;

&lt;p&gt;
cmd:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart&lt;/pre&gt;

&lt;p&gt;
Далее согласно инструкции &lt;a href=&quot;https://aka.ms/wsl2kernel&quot; class=&quot;urlextern&quot; title=&quot;https://aka.ms/wsl2kernel&quot; rel=&quot;ugc nofollow&quot;&gt;https://aka.ms/wsl2kernel&lt;/a&gt; загружаем и устанавливаем пакет &lt;a href=&quot;https://aka.ms/wsl2kernelmsix64&quot; class=&quot;urlextern&quot; title=&quot;https://aka.ms/wsl2kernelmsix64&quot; rel=&quot;ugc nofollow&quot;&gt;https://aka.ms/wsl2kernelmsix64&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Переключаем на использование второй версии WSL
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;wsl --set-default-version 2&lt;/pre&gt;

&lt;p&gt;
Если уже что-то работало под WSL, можно сконвертировать:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;wsl.exe -l
wsl.exe --set-version Ubuntu-20.04 2
wsl.exe --set-version Debian 2&lt;/pre&gt;

&lt;p&gt;
Так же есть экспорт/импорт:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;wsl.exe --export Ubuntu-20.04 C:\temp\ubuntu2004.tar
wsl.exe --import ubuntu2004 C:\wsl c:\temp\ubuntu2004.tar
wsl --list --all
wslconfig /list /all
wsl --setdefault ubuntu2004
wsl --distribution ubuntu2004
cd \\wsl$\ubuntu2004
wsl --shutdown&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 WSL 2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ustanovka_wsl_2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;211-1510&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;ustanovka_linux&quot;&gt;Установка Linux&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Устанавливаем необходимую версию Linux с сайта Microsoft Store &lt;a href=&quot;https://aka.ms/wslstore&quot; class=&quot;urlextern&quot; title=&quot;https://aka.ms/wslstore&quot; rel=&quot;ugc nofollow&quot;&gt;https://aka.ms/wslstore&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Linux&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ustanovka_linux&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1511-1674&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit4&quot; id=&quot;ustanavlivaem_terminal_opcionalno&quot;&gt;Устанавливаем терминал (опционально)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Можно установить Windows Terminal &lt;a href=&quot;https://aka.ms/terminal&quot; class=&quot;urlextern&quot; title=&quot;https://aka.ms/terminal&quot; rel=&quot;ugc nofollow&quot;&gt;https://aka.ms/terminal&lt;/a&gt; или Fluent Terminal &lt;a href=&quot;https://github.com/felixse/FluentTerminal&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/felixse/FluentTerminal&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/felixse/FluentTerminal&lt;/a&gt; - кому что нравится и работать прямо из Windows. А можно прямо из Linux.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b (\u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ustanavlivaem_terminal_opcionalno&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1675-2014&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;nastrojka_wsl_2&quot;&gt;Настройка WSL 2&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Время в WSL может отличаться от времени на Windows, эта команда его синхронизирует:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo hwclock --hctosys&lt;/pre&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/windows?do=showtag&amp;amp;tag=windows&quot; class=&quot;wikilink1&quot; title=&quot;tag:windows&quot; rel=&quot;tag&quot;&gt;windows&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/10?do=showtag&amp;amp;tag=10&quot; class=&quot;wikilink1&quot; title=&quot;tag:10&quot; rel=&quot;tag&quot;&gt;10&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/wsl?do=showtag&amp;amp;tag=wsl&quot; class=&quot;wikilink1&quot; title=&quot;tag:wsl&quot; rel=&quot;tag&quot;&gt;wsl&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/wsl2?do=showtag&amp;amp;tag=wsl2&quot; class=&quot;wikilink1&quot; title=&quot;tag:wsl2&quot; rel=&quot;tag&quot;&gt;wsl2&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/ubuntu?do=showtag&amp;amp;tag=ubuntu&quot; class=&quot;wikilink1&quot; title=&quot;tag:ubuntu&quot; rel=&quot;tag&quot;&gt;ubuntu&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/linux?do=showtag&amp;amp;tag=linux&quot; class=&quot;wikilink1&quot; title=&quot;tag:linux&quot; rel=&quot;tag&quot;&gt;linux&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/windows_terminal?do=showtag&amp;amp;tag=windows_terminal&quot; class=&quot;wikilink1&quot; title=&quot;tag:windows_terminal&quot; rel=&quot;tag&quot;&gt;windows terminal&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/fluent_terminal?do=showtag&amp;amp;tag=fluent_terminal&quot; class=&quot;wikilink1&quot; title=&quot;tag:fluent_terminal&quot; rel=&quot;tag&quot;&gt;fluent terminal&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/zsh?do=showtag&amp;amp;tag=zsh&quot; class=&quot;wikilink1&quot; title=&quot;tag:zsh&quot; rel=&quot;tag&quot;&gt;zsh&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 WSL 2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nastrojka_wsl_2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2015-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 26 Aug 2021 20:12:11 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Шаблон Post Mortem</title>
            <link>https://wiki.rtzra.ru/devops/incident-post-mortem-template</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsshablon_post_mortem&quot;&gt;DevOps: Шаблон Post Mortem&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://incident.io/blog/incident-post-mortem-template&quot; class=&quot;urlextern&quot; title=&quot;https://incident.io/blog/incident-post-mortem-template&quot; rel=&quot;ugc nofollow&quot;&gt;https://incident.io/blog/incident-post-mortem-template&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;DevOps: \u0428\u0430\u0431\u043b\u043e\u043d Post Mortem&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;devopsshablon_post_mortem&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-104&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;key_information&quot;&gt;Key information&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The key information section is a recap of the data behind the incident. It’s the most succinct summary of the incident, which is useful to orient anyone reading the remainder of the document.
&lt;/p&gt;

&lt;p&gt;
Think of this as the metadata of your incident. Core information such as incident type, severity, leads and more should be outlined here.
&lt;/p&gt;

&lt;p&gt;
Here’s what this section could look like:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ℹ️ Tagged Data!
    Incident Type: Platform
    Severity: Major
    Affected services: Login, Cart, User Preferences

👪 Team
    Incident Lead: Chris Evans
    Reporter: Steven Millhouse
    Active participants: Rebecca Song
    Observers: Michael Scott

🔗 Useful Links
    Jira issue
    Slack channel

⏱️ Key Timestamps
    Impact started at: November 10, 2022 2:12 PM
    Reported at: November 10, 2022 2:12 PM
    Identified at: November 10, 2022 2:18 PM
    Fixed at: @November 10, 2022 2:20 PM (UTC)
    Closed at: November 10, 2022 2:30 PM&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Key information&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;key_information&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;105-1088&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;incident_summary&quot;&gt;Incident summary&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The summary should be a concise and accessible overview of the incident. It’s important that this summary is exactly that, a summary. If you try to throw everything in here, it becomes very difficult for someone to come in later on and easily parse what happened.
&lt;/p&gt;

&lt;p&gt;
Your incident summary should clearly articulate what happened, who was involved, how you responded, and the overall impact of the event. It’s helpful for the summary to be written such that someone who wasn’t there can use it to develop a high-level understanding of the situation.
&lt;/p&gt;

&lt;p&gt;
We find it useful to pitch it so your boss’s boss would understand!
&lt;/p&gt;

&lt;p&gt;
Here’s a real-life incident post-mortem summary we wrote up internally:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;💡 On 2022-11-18 from 15:39 to approximately 16:23, an asynchronous event caused an error which took one of our Heroku &amp;quot;dynos&amp;quot; down (referred to as servers for simplicity below). Our infrastructure logic is such that if an event has an issue being processed, it retries. In this case, it meant that another server then attempted to process the same malformed/dangerous event, before also crashing. This repeated until all our servers were down, at which point our app became completely unavailable. This type of error is commonly known as a &amp;quot;poison pill&amp;quot;.

The poison pill was caused by a consumer that returned an error, which wrapped a nil error. This meant our consumer tried to unwrap the error and got a nil pointer dereference when trying to access the root cause. Normally this would be fine, however only the actual app-code section of our queue consumers were within the panic recovery boundary, so by panicking in the pubsub wrapper, we&amp;#039;d crash the entire app.

We quickly rebooted the servers, but unfortunately, the event was retried again, taking down each server in quick succession after a few minutes. This continued for around 25 minutes.

We deployed a fix to make sure all of the code in our consumers were covered by a &amp;quot;recover&amp;quot; statement (meaning we handle errors like this more gracefully), which then quickly caught the error once we deployed it and also prevented it taking the app down again.

From there, we fixed the bad code and stayed online. We also made a number of other improvements to our app and infrastructure setup.&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Incident summary&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;incident_summary&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1089-3389&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;incident_timeline&quot;&gt;Incident timeline&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The incident timeline exists to provide a narrative of the incident; essentially retelling the story from start to finish. It should outline key events and developments that took place, investigations that were carried out, and any actions that were taken.
&lt;/p&gt;

&lt;p&gt;
It’s tempting to go into huge amounts of detail here, but we’d typically advise the detail to remain in an incident communication thread (i.e. a Slack channel), and have the timeline contain just the significant events and developments.
&lt;/p&gt;

&lt;p&gt;
Typically we’d include the timestamp (in the dominant timezone for the incident or UTC if spanning many), the time since the notional start of the incident, as well as any details about what was happening.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Timestamp 	Event
12:00:00 	Chris reported the incident
12:07:00 (+7mins) 	Incident lead assigned
12:10:00 (+10mins) 	Issue identified
12:12:00 (+12mins) 	Incident closed&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Incident timeline&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;incident_timeline&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3390-4315&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;contributors&quot;&gt;Contributors&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
We think it’s helpful to enumerate the contributors of an incident, where contributors are thought of not as ‘root causes’ but as a collection of things that had to be true for this incident to take place, or that contributed to its severity.
&lt;/p&gt;

&lt;p&gt;
This can include technical contributors (e.g. the server’s disk filled up), human contributors (e.g. the on-call engineer did not respond the first time we paged them), and any other external contributors (e.g. we were simultaneously running a marketing event).
&lt;/p&gt;

&lt;p&gt;
It’s useful to enumerate these items to fully explore the space of the problem, and avoid overly fixating on a singular cause.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Contributors&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;contributors&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;4316-4986&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;mitigators&quot;&gt;Mitigators&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Where contributors constitute the set of things that helped the incident occur, mitigators can be thought of as the opposite. More precisely, they’re anything that helped to reduce the overall impact of the event.
&lt;/p&gt;

&lt;p&gt;
Like contributors these can come in many guises, like the incident happened during working hours, or the fact that the person who knows the most about the system at the heart of the incident also being on call.
&lt;/p&gt;

&lt;p&gt;
It’s useful to explicitly call these out, as they often highlight positive capacities that are helpful to double down on, or socialize further.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mitigators&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mitigators&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;4987-5586&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;learnings_and_risks&quot;&gt;Learnings and risks&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
This section is a little harder to capture, but it should answer questions like: what did we learn, how can we streamline our response in the future, and what broader risks did this incident point towards?
&lt;/p&gt;

&lt;p&gt;
For example, you might have learned that one of your teammates was the only person who knew the details of the system that failed during this incident, and that might point at a more general “key person risk.” If other incidents point at similar risks, that’s useful learning for teams.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Learnings and risks&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;learnings_and_risks&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;5587-6120&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;follow-up_actions&quot;&gt;Follow-up actions&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Follow-up actions are here to convey what’s being done to reduce the likelihood and/or impact of similar events in future.
&lt;/p&gt;

&lt;p&gt;
In the context of this document, we think it’s most useful to highlight any key actions items or deliverables, rather than the full set. Ultimately, this will vary depending on the intended audience, but if the document is being written to be read and learned from, this section should close the loop on what’s being done to mitigate the major themes that have been identified.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Follow-up actions&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;follow-up_actions&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;6121-6660&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;optionalpost-mortem_meeting_notes&quot;&gt;Optional: Post-mortem meeting notes&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Many post-mortems can happen async but others may require a dedicated meeting to talk through what happened—especially incidents that were of higher severity. In cases like these, it’s a good idea to set up some time with incident response team members and relevant stakeholders and use the post-mortem as your meeting agenda.
&lt;/p&gt;

&lt;p&gt;
While it may seem a bit redundant, having the space to have a retrospective and talk through issues in real-time ultimately encourages better team collaboration and communication that’s nearly impossible to capture over an async document.
&lt;/p&gt;

&lt;p&gt;
It’s a good idea to brainstorm and collect talking points to help guide your post-mortem analysis meeting. In the end, an effective-post mortem meeting ensures that your team is rallying around tactics that will drive continuous improvement of your response processes and ultimately your product.
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/post-mortem?do=showtag&amp;amp;tag=post-mortem&quot; class=&quot;wikilink1&quot; title=&quot;tag:post-mortem&quot; rel=&quot;tag&quot;&gt;post-mortem&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Optional: Post-mortem meeting notes&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;optionalpost-mortem_meeting_notes&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;6661-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 03 Oct 2023 19:19:07 +0000</pubDate>
        </item>
        <item>
            <title>DevOps: Monitoring Cheat Sheet</title>
            <link>https://wiki.rtzra.ru/devops/monitoring-cheat-sheet</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;devopsmonitoring_cheat_sheet&quot;&gt;DevOps: Monitoring Cheat Sheet&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Актуально на сентябрь 2023 года
&lt;/p&gt;

&lt;p&gt;
Взято тут: &lt;a href=&quot;https://blog.bytebytego.com&quot; class=&quot;urlextern&quot; title=&quot;https://blog.bytebytego.com&quot; rel=&quot;ugc nofollow&quot;&gt;https://blog.bytebytego.com&lt;/a&gt; и там еще много вкусного
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.rtzra.ru/_detail/devops/monitoring_cheat_sheet_2023-09.jpg?id=devops%3Amonitoring-cheat-sheet&quot; class=&quot;media&quot; title=&quot;devops:monitoring_cheat_sheet_2023-09.jpg&quot;&gt;&lt;img src=&quot;https://wiki.rtzra.ru/_media/devops/monitoring_cheat_sheet_2023-09.jpg?w=800&amp;amp;tok=d5baec&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/monitoring?do=showtag&amp;amp;tag=%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3&quot; class=&quot;wikilink1&quot; title=&quot;tag:monitoring&quot; rel=&quot;tag&quot;&gt;мониторинг&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/monitoring?do=showtag&amp;amp;tag=monitoring&quot; class=&quot;wikilink1&quot; title=&quot;tag:monitoring&quot; rel=&quot;tag&quot;&gt;monitoring&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/cheat?do=showtag&amp;amp;tag=cheat&quot; class=&quot;wikilink1&quot; title=&quot;tag:cheat&quot; rel=&quot;tag&quot;&gt;cheat&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/sheet?do=showtag&amp;amp;tag=sheet&quot; class=&quot;wikilink1&quot; title=&quot;tag:sheet&quot; rel=&quot;tag&quot;&gt;sheet&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 16 Sep 2023 10:04:48 +0000</pubDate>
        </item>
        <item>
            <title>Nala: apt со стероидами</title>
            <link>https://wiki.rtzra.ru/devops/nala-ubuntu-installation</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;nalaapt_so_steroidami&quot;&gt;Nala: apt со стероидами&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Apt это, без сомнения, отличный пакетный менеджер, но всегда хочется чего-нибудь лучше и интереснее. Если так - то Nala это ваш выбор.
&lt;/p&gt;

&lt;p&gt;
Зачем еще один пакетный менеджер? Nala это надстройка над libapt-pkg, из плюсов:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Первое и главное для меня - понятная подача информации об обновлении, цветом выделены изменения. Не нужно вглядываться в портянку.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Функция «History» - упрощает понимание что и как менялось в системе&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Параллельная загрузка пакетов, реально обновление происходит быстрее. Да, можно использовать сторонний apt-fast но тут оно прикручено по умолчанию и является одной из фишек&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Тестирование зеркал для выбора самого быстрого&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Минусы:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Требует python 3.10 и выше, если ставим на 20.04 это нужно иметь в виду&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Иногда странно притормаживает, но не больше обычного apt&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Домашняя страница: &lt;a href=&quot;https://gitlab.com/volian/nala&quot; class=&quot;urlextern&quot; title=&quot;https://gitlab.com/volian/nala&quot; rel=&quot;ugc nofollow&quot;&gt;https://gitlab.com/volian/nala&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Установка в Ubuntu 22.04 и выше делается просто:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# sudo apt install nala -y&lt;/pre&gt;

&lt;p&gt;
Для более старых версий нужно читать инструкцию: &lt;a href=&quot;https://gitlab.com/volian/nala/-/wikis/Installation&quot; class=&quot;urlextern&quot; title=&quot;https://gitlab.com/volian/nala/-/wikis/Installation&quot; rel=&quot;ugc nofollow&quot;&gt;https://gitlab.com/volian/nala/-/wikis/Installation&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Далее включаем подсказки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nala --install-completion&lt;/pre&gt;

&lt;p&gt;
Команды идентичны apt, при желании можно сделать такой alias для обхода приглашения sudo:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt() { 
  command nala &amp;quot;$@&amp;quot;
}
sudo() {
  if [ &amp;quot;$1&amp;quot; = &amp;quot;apt&amp;quot; ]; then
    shift
    command sudo nala &amp;quot;$@&amp;quot;
  else
    command sudo &amp;quot;$@&amp;quot;
  fi
}&lt;/pre&gt;

&lt;p&gt;
Установка пакетов:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo nala install ansible&lt;/pre&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.rtzra.ru/_detail/devops/nala-install.png?id=devops%3Anala-ubuntu-installation&quot; class=&quot;media&quot; title=&quot;devops:nala-install.png&quot;&gt;&lt;img src=&quot;https://wiki.rtzra.ru/_media/devops/nala-install.png?w=900&amp;amp;tok=1a9b93&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;900&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
История:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nala history&lt;/pre&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.rtzra.ru/_detail/devops/nala-history.png?id=devops%3Anala-ubuntu-installation&quot; class=&quot;media&quot; title=&quot;devops:nala-history.png&quot;&gt;&lt;img src=&quot;https://wiki.rtzra.ru/_media/devops/nala-history.png?w=900&amp;amp;tok=3ee942&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;900&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Можно откатываться по истории командами undo и redo, в качестве параметра используем ID записи из истории. Например:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo nala history undo 2&lt;/pre&gt;

&lt;p&gt;
Стоит ли установить и пользоваться? Как для меня, так однозначно да.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 02 Aug 2023 10:25:44 +0000</pubDate>
        </item>
        <item>
            <title>Teamlead Roadmap</title>
            <link>https://wiki.rtzra.ru/devops/teamlead-roadmap</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;teamlead_roadmap&quot;&gt;Teamlead Roadmap&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Ресурсы с роадмапами для тимлида:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Карта навыков и компетенций тимлидов, которую можно адаптировать для любой компании и команды - &lt;a href=&quot;https://tlroadmap.io/&quot; class=&quot;urlextern&quot; title=&quot;https://tlroadmap.io/&quot; rel=&quot;ugc nofollow&quot;&gt;https://tlroadmap.io/&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Вантуван 1:1 - &lt;a href=&quot;https://tlroadmap.io/roles/people-manager/people-management/one-on-one.html&quot; class=&quot;urlextern&quot; title=&quot;https://tlroadmap.io/roles/people-manager/people-management/one-on-one.html&quot; rel=&quot;ugc nofollow&quot;&gt;https://tlroadmap.io/roles/people-manager/people-management/one-on-one.html&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Карта навыков и компетенций тимлидов - &lt;a href=&quot;https://github.com/tlbootcamp/tlroadmap&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/tlbootcamp/tlroadmap&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/tlbootcamp/tlroadmap&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/teamlead?do=showtag&amp;amp;tag=teamlead&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:teamlead&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; teamlead&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/roadmap?do=showtag&amp;amp;tag=roadmap&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:roadmap&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; roadmap&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/navyki?do=showtag&amp;amp;tag=%D0%BD%D0%B0%D0%B2%D1%8B%D0%BA%D0%B8&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:navyki&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; навыки&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/kompetencii?do=showtag&amp;amp;tag=%D0%BA%D0%BE%D0%BC%D0%BF%D0%B5%D1%82%D0%B5%D0%BD%D1%86%D0%B8%D0%B8&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:kompetencii&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; компетенции&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/roadmap?do=showtag&amp;amp;tag=%D1%80%D0%BE%D0%B0%D0%B4%D0%BC%D0%B0%D0%BF&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;tag:roadmap&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; роадмап&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/1/1?do=showtag&amp;amp;tag=1%3A1&quot; class=&quot;wikilink1 tag label label-default mx-1&quot; title=&quot;1:1&quot; rel=&quot;tag&quot;&gt;&lt;span class=&quot;iconify&quot;  data-icon=&quot;mdi:tag-text-outline&quot;&gt;&lt;/span&gt; 1&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 13 Feb 2022 08:35:45 +0000</pubDate>
        </item>
        <item>
            <title>Установка Zsh и Oh My Zsh!</title>
            <link>https://wiki.rtzra.ru/devops/zsh-oh-my-zsh</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;ustanovka_zsh_i_oh_my_zsh&quot;&gt;Установка Zsh и Oh My Zsh!&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Zsh \u0438 Oh My Zsh!&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ustanovka_zsh_i_oh_my_zsh&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-52&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;ustanovka_zsh&quot;&gt;Установка Zsh&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;sudo apt install zsh&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Zsh&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ustanovka_zsh&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;53-125&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;ustanovka_oh_my_zsh&quot;&gt;Установка Oh My Zsh&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Выбираем удобный вариант, в зависимости от установленного в системе ПО:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# Curl
sh -c &amp;quot;$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)&amp;quot;
# Wget
sh -c &amp;quot;$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)&amp;quot;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Oh My Zsh&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ustanovka_oh_my_zsh&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;126-498&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;ustanovka_zsh_obolochkoj_po_umolchaniju&quot;&gt;Установка Zsh оболочкой по умолчанию&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Достаточно выполнить команду для текущего пользователя:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;chsh -s $(which zsh)&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Zsh \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u043e\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ustanovka_zsh_obolochkoj_po_umolchaniju&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;499-719&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;nastrojka_temy_oformlenija&quot;&gt;Настройка темы оформления&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для включения популярной темы agnoster нужно открыть файл ~/.zshrc, найти строку ZSH_THEME=«robbyrussell» и заменить стандартную тему на нужную, в моем случае agnoster, итого получается ZSH_THEME=«agnoster». Не забываем про 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;source ~/.zshrc&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;Примечание&lt;/strong&gt;: если при смене темы получаем уведомление «zsh | (anon):12: character not in range» - это значит что в системе нет поддержки локали en_US.UTF-8
&lt;/p&gt;

&lt;p&gt;
Лечится довольно просто, но зависит от текущей установленной системы.
&lt;/p&gt;

&lt;p&gt;
1-й способ (debian container):
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавляем в /etc/locale.gen строку &amp;#039;en_US.UTF-8 UTF-8&amp;#039;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Запускаем &lt;pre class=&quot;code&quot;&gt;locale-gen&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
2-й способ (если в системе вообще нет пакета):
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ставим пакет и обновляем локали: &lt;pre class=&quot;code&quot;&gt;apt-get install -y language-pack-en &amp;amp;&amp;amp; update-locale&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Если хочется чего-то иного, можно найти много тем на любой вкус:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Официальные: &lt;a href=&quot;https://github.com/ohmyzsh/ohmyzsh/wiki/Themes&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/ohmyzsh/ohmyzsh/wiki/Themes&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/ohmyzsh/ohmyzsh/wiki/Themes&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Дополнительные: &lt;a href=&quot;https://github.com/ohmyzsh/ohmyzsh/wiki/External-themes&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/ohmyzsh/ohmyzsh/wiki/External-themes&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/ohmyzsh/ohmyzsh/wiki/External-themes&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
На вкус и цвет все разные, но самые удобные на мой взгляд это agnoster, powerlevel10k
&lt;/p&gt;

&lt;p&gt;
Установка powerlevel10k:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k&lt;/pre&gt;

&lt;p&gt;
Изменить тему:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ZSH_THEME=&amp;quot;powerlevel10k/powerlevel10k&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Конфигурация:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;p10k configure&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0435\u043c\u044b \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nastrojka_temy_oformlenija&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;720-2601&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;ustanovka_shriftov&quot;&gt;Установка шрифтов&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Если нет иконок Git или нету «уголков» в строке навигации, то вам нужно поставить дополнительные шрифты. Большинство тем требует установки данных шрифтов, они никак не помешают, но будет работать как нужно. Если всё хорошо и косяков нет - ставить не нужно.
&lt;/p&gt;

&lt;p&gt;
Примечание: Если вы работаете в Windows, шрифты так же необходимо поставить.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo apt install fonts-powerline&lt;/pre&gt;

&lt;p&gt;
или
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;git clone https://github.com/powerline/fonts.git
cd fonts
./install.sh
cd ..
rm -rf fonts&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0448\u0440\u0438\u0444\u0442\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ustanovka_shriftov&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2602-3407&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;ustanavlivaem_cvetovuju_palitru_dlja_terminala&quot;&gt;Устанавливаем цветовую палитру для терминала&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Мне нравится solarized:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;git clone git://github.com/sigurdga/gnome-terminal-colors-solarized.git ~/.solarized
cd ~/.solarized
./install.sh&lt;/pre&gt;

&lt;p&gt;
Выбираем пункт 1 (dark theme). Затем выбираем 1 для загрузки dircolors-solarized. После установки редактируем .zshrc и добавляем строку:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;eval `dircolors ~/.dir_colors/dircolors`&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0446\u0432\u0435\u0442\u043e\u0432\u0443\u044e \u043f\u0430\u043b\u0438\u0442\u0440\u0443 \u0434\u043b\u044f \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ustanavlivaem_cvetovuju_palitru_dlja_terminala&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3408-3943&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;poleznye_plaginy&quot;&gt;Полезные плагины&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Основной сайт с плагинами: &lt;a href=&quot;https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
И еще много всего тут: &lt;a href=&quot;https://github.com/unixorn/awesome-zsh-plugins&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/unixorn/awesome-zsh-plugins&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/unixorn/awesome-zsh-plugins&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Как может выглядеть секция с подключенными плагинами:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;plugins=(
    git
    colored-man-pages
    docker
    ansible
    zsh-autosuggestions
    kubectl
)&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;poleznye_plaginy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;3944-4392&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;kubectl&quot;&gt;kubectl&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Источник: &lt;a href=&quot;https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion&quot; class=&quot;urlextern&quot; title=&quot;https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion&quot; rel=&quot;ugc nofollow&quot;&gt;https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Добавляем строку в файл .zshrc:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;source &amp;lt;(kubectl completion zsh)&lt;/pre&gt;

&lt;p&gt;
Если нужен алиас для команды kubectl, добавляем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;echo &amp;#039;alias k=kubectl&amp;#039; &amp;gt;&amp;gt;~/.zshrc
echo &amp;#039;complete -F __start_kubectl k&amp;#039; &amp;gt;&amp;gt;~/.zshrc&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;kubectl&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kubectl&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:14,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;4393-4799&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;zsh-autosuggestions&quot;&gt;zsh-autosuggestions&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Работает с историей zsh, очень полезно если периодически набираем длинные команды.
&lt;/p&gt;

&lt;p&gt;
Сайт: &lt;a href=&quot;https://github.com/zsh-users/zsh-autosuggestions&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/zsh-users/zsh-autosuggestions&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/zsh-users/zsh-autosuggestions&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Установка:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Клонируем репозиторий в $ZSH_CUSTOM/plugins (по умолчанию ~/.oh-my-zsh/custom/plugins): &lt;pre class=&quot;code&quot;&gt;git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавляем в файл конфигурации ~/.zshrc: &lt;pre class=&quot;code&quot;&gt;plugins=(zsh-autosuggestions)&lt;/pre&gt;

&lt;p&gt;
 и перезапускаем сессию
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;zsh-autosuggestions&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zsh-autosuggestions&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:16,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;4800-5477&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;fast-syntax-highlighting&quot;&gt;fast-syntax-highlighting&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Раскрашивает синтаксис
&lt;/p&gt;

&lt;p&gt;
Сайт: &lt;a href=&quot;https://github.com/zdharma-continuum/fast-syntax-highlighting&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/zdharma-continuum/fast-syntax-highlighting&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/zdharma-continuum/fast-syntax-highlighting&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Установка:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Клонируем репозиторий &lt;pre class=&quot;code&quot;&gt;git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git \
  ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавляем в файл конфигурации ~/.zshrc: &lt;pre class=&quot;code&quot;&gt;plugins=(fast-syntax-highlighting)&lt;/pre&gt;

&lt;p&gt;
 и перезапускаем сессию
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;fast-syntax-highlighting&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fast-syntax-highlighting&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:18,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;5478-6024&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;fzf-tab&quot;&gt;fzf-tab&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Нечеткий поиск по всему: от истории до каталогов и ключей командной строки для утилит.
&lt;/p&gt;

&lt;p&gt;
Сайт: &lt;a href=&quot;https://github.com/Aloxaf/fzf-tab&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/Aloxaf/fzf-tab&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/Aloxaf/fzf-tab&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Примечания к установке:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Должен быть обязательно установлен оригинальный fzf&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; С списке плагинов fzf-tab должен быть ДО zsh-autosuggestions или fast-syntax-highlighting&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Установка:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Клонируем репозиторий &lt;pre class=&quot;code&quot;&gt;git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Добавляем в файл конфигурации ~/.zshrc: &lt;pre class=&quot;code&quot;&gt;plugins=(fzf-tab)&lt;/pre&gt;

&lt;p&gt;
 и перезапускаем сессию
&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Использование: как обычно нажимаем &lt;kbd class=&quot;__keyboard&quot;&gt;Tab&lt;/kbd&gt; при вводе команд и аргументов
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;fzf-tab&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fzf-tab&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:20,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;6025-6970&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;fzf&quot;&gt;fzf&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Еще один вариант расширенного поиска по истории, не стоит использовать совместно с fzf-tab
&lt;/p&gt;

&lt;p&gt;
Сайт: &lt;a href=&quot;https://github.com/junegunn/fzf&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/junegunn/fzf&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/junegunn/fzf&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Установка:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Клонируем репозиторий &lt;pre class=&quot;code&quot;&gt;git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf; ~/.fzf/install&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Отвечаем на вопросы&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;fzf&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fzf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:22,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;6971-7390&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;nastrojki_zsh&quot;&gt;Настройки Zsh&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Все настройки хранятся в файле ~/.zshrc
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Zsh&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nastrojki_zsh&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:23,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;7391-7493&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;udaljaem_zsh_i_oh_my_zsh&quot;&gt;Удаляем Zsh и Oh My Zsh&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;uninstall_oh_my_zsh
sudo apt uninstall zsh&lt;/pre&gt;
&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/zsh?do=showtag&amp;amp;tag=zsh&quot; class=&quot;wikilink1&quot; title=&quot;tag:zsh&quot; rel=&quot;tag&quot;&gt;zsh&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/oh?do=showtag&amp;amp;tag=oh&quot; class=&quot;wikilink1&quot; title=&quot;tag:oh&quot; rel=&quot;tag&quot;&gt;oh&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/my?do=showtag&amp;amp;tag=my&quot; class=&quot;wikilink1&quot; title=&quot;tag:my&quot; rel=&quot;tag&quot;&gt;my&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.rtzra.ru/tag/zsh?do=showtag&amp;amp;tag=zsh&quot; class=&quot;wikilink1&quot; title=&quot;tag:zsh&quot; rel=&quot;tag&quot;&gt;zsh&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0434\u0430\u043b\u044f\u0435\u043c Zsh \u0438 Oh My Zsh&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;udaljaem_zsh_i_oh_my_zsh&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:23,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;7494-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 29 Nov 2023 09:27:13 +0000</pubDate>
        </item>
    </channel>
</rss>
