Generated by All in One SEO v5.0.0.1, this is an llms.txt file, used by LLMs to index the site. # RTFM: Linux, DevOps та системне адміністрування DevOps-інжиніринг та системне адміністрування. Випадки з практики. ## Sitemaps - [XML Sitemap](https://rtfm.co.ua/sitemap.xml): Contains all public & indexable URLs for this website. ## Записи - [VictoriaMetrics: an overview and its use instead of Prometheus](https://rtfm.co.ua/en/victoriametrics-an-overview-and-its-use-instead-of-prometheus/) - Getting to know VictoriaMetrics - the main features, a little comparison with Prometheus, Grafana, alerts with the vmalert, and an example of a Slack message template for Alertmanager. - [NixOS: знайомство, установка пакетів та конфігурація системи](https://rtfm.co.ua/nixos-getting-started/) - Знайомство з NixOS - установка системи, пакетів, налаштування systemd-сервісів, Node Exporter, статична IP-адреса та remote deployment через Flakes по SSH. - [NixOS: Getting Started, Installing Packages, and Configuring the System](https://rtfm.co.ua/en/nixos-getting-started-installing-packages-and-configuring-the-system/) - NixOS Getting Started - installing system and packages, systemd configuration, setting up a static IP address, and remote deployment via Flakes over SSH. - [LiteLLM: OpenRouter Integration and Fallbacks Configuration](https://rtfm.co.ua/en/litellm-openrouter-integration-and-fallbacks-configuration/) - Adding OpenRouter as a model provider in LiteLLM, configuring fallbacks to OpenAI on failure, and routing requests via tags or User-Agent. - [LiteLLM: OpenRouter та налаштування Fallbacks](https://rtfm.co.ua/litellm-openrouter-and-fallbacks/) - Використання моделей в OpenRouter та налаштування Fallbacks та роутингу для LiteLLM - [MongoDB: запуск в Kubernetes з MongoDB Operator та MongoDBCommunity CRD](https://rtfm.co.ua/mongodb-kubernetes-operator-crd/) - Приклад запуску MongoDB Operator Kubernetes та створення MongoDB Community replica set - [MongoDB: run in Kubernetes with MongoDB Operator and MongoDBCommunity CRD](https://rtfm.co.ua/en/mongodb-run-in-kubernetes-with-mongodb-operator-and-mongodbcommunity-crd/) - Example of deploying the MongoDB Operator in Kubernetes and creating a MongoDB Community replica set - [Valkey: Deployment in Kubernetes - Helm, Monitoring, ACL](https://rtfm.co.ua/en/valkey-deployment-in-kubernetes-helm-monitoring-acl/) - An example of deploying Valkey/Redis with master-slave replication in Kubernetes using Helm, monitoring, creating users, and an Access Control List - [Valkey: запуск в Kubernetes - Helm, monitoring, ACL](https://rtfm.co.ua/valkey-redis-kubernetes/) - Приклад деплою Valkey/Redis з master-slave replication в Kubernetes з Helm, моніторинг, створення users та Access Control List - [LiteLLM: Monitoring with VictoriaMetrics - Alerts and Grafana](https://rtfm.co.ua/en/litellm-monitoring-with-victoriametrics-alerts-and-grafana/) - Configuring Basic Monitoring for AI Gateway LiteLLM with VictoriaMetrics - Examples of Creating Alerts and Grafana Dashboards - [LiteLLM: моніторинг з VictoriaMetrics - алерти та Grafana](https://rtfm.co.ua/litellm-victoriastack-alerty-ta-grafana/) - Налаштування базового моніторингу AI Gateway LiteLLM з VictoriaMetrics - приклади створення алертів та Grafana dashboards. - [LiteLLM: метрики, traces та інтеграція з VictoriaMetrics Stack](https://rtfm.co.ua/litellm-metrics-traces-victoriastack/) - Налаштування збору метрик та traces з LiteLLM до VictoriaMetrics та VictoriaTraces. Важливі параметри LiteLLM, головні метрики та трейси і їхні атрибути. - [LiteLLM: AI Gateway в Kubernetes та метрики до VictoriaMetrics](https://rtfm.co.ua/litellm-run-in-kubernetes/) - Деплой LiteLLM AI Gateway в Kubernetes з Helm chart, Redis, PostgreSQL та External Secrets Operator із AWS Secrets Manager, збір метрик до VictoriaMetrics - [LiteLLM: Metrics, Traces, and VictoriaMetrics Stack Integration](https://rtfm.co.ua/en/litellm-metrics-traces-and-victoriametrics-stack-integration/) - Configuring metrics and traces from LiteLLM to VictoriaMetrics and VictoriaTraces. Important LiteLLM settings, key metrics and traces, and their attributes. - [LiteLLM: AI Gateway on Kubernetes and Metrics in VictoriaMetrics](https://rtfm.co.ua/en/litellm-ai-gateway-on-kubernetes-and-metrics-in-victoriametrics/) - How to deploy LiteLLM AI Gateway on Kubernetes with Helm, AWS RDS PostgreSQL, and Redis, External Secrets Operator, and collect metrics to VictoriaMetrics - [LiteLLM: AI Gateway для LLM - overview можливостей](https://rtfm.co.ua/litellm-ai-gateway-for-llms-features-overview-2/) - Перше знайомство з LiteLLM AI Gateway - запуск в Docker, OpenTelemetry трейси у VictoriaTraces, доступи та ліміти через Virtual Keys, Teams та бюджети - [LiteLLM: AI Gateway for LLMs – Features Overview](https://rtfm.co.ua/en/litellm-ai-gateway-for-llms-features-overview/) - Getting Started with LiteLLM AI Gateway - Running in Docker, OpenTelemetry traces in VictoriaTraces, access and limits via Virtual Keys, Teams, and budgets - [Claude Code: Monitoring with OpenTelemetry and VictoriaMetrics](https://rtfm.co.ua/en/claude-code-monitoring-with-opentelemetry-and-victoriametrics/) - Claude Code monitoring for Organization and managed settings - OpenTelemetry metrics, traces, and logs with VictoriaMetrics, VictoriaTraces, and VictoriaLogs. - [Claude Code: моніторинг з OpenTelemetry та VictoriaMetrics](https://rtfm.co.ua/claude-code-opentelemetry-victoriametrics/) - Моніторинг Claude Code для Organization та managed settings - OpenTelemetry метрики, трейси й логи та VictoriaMetrics, VictoriaTraces і VictoriaLogs. - [MikroTik: User Management, access permissions, and SSH](https://rtfm.co.ua/en/mikrotik-user-management-access-permissions-and-ssh/) - How to configure access in MikroTik RouterOS - creating Groups and Policies, adding Users, restricting access by IP, and setting up SSH key authentication. - [MikroTik: Users Management, права доступа та SSH](https://rtfm.co.ua/mikrotik-groups-policies-users-ta-ssh/) - Налаштування доступу у MikroTik RouterOS: Groups, Policies, Users, обмеження по IP та аутентифікація з SSH ключами - [VictoriaTraces: Recording Rules, Metrics, and Alerts from Trace Spans](https://rtfm.co.ua/en/victoriatraces-recording-rules-metrics-and-alerts-from-trace-spans/) - Example of creating Recording Rules for metrics and alerts from OpenTelemetry traces in VictoriaTraces - latency and errors in a Backend API, AWS ALB, and PostgreSQL - [VictoriaTraces: Recording Rules, метрики та алерти з trace spans](https://rtfm.co.ua/draft-otel-traces-alerting/) - Приклад створення Recording Rules для метрик і алертів з OpenTelemtry traces у VictoriaTraces - latency та помилки Backend API, AWS ALB та PostgreSQL - [Arch Linux: a DNS Mystery – VPN, systemd-resolved, and Unbound](https://rtfm.co.ua/en/arch-linux-a-dns-mystery-–-vpn-systemd-resolved-and-unbound/) - Arch Linux, AWS EKS API endpoint and random DNS - how VPNs, routing tables, and systemd-resolved can break DNS resolution, and a fix with Unbound on Arch Linux - [Arch Linux: DNS-детектив - VPN, systemd-resolved та Unbound](https://rtfm.co.ua/draft-arch-linux-unbound/) - Детективна історія: Arch Linux, AWS EKS і рандомний DNS - як VPN, routing table і systemd-resolved ламають резолвінг, та фікс з локальним Unbound на Arch Linux - [VictoriaTraces: Tracing, Observability, and OpenTelemetry](https://rtfm.co.ua/en/victoriatraces-tracing-observability-and-opentelemetry/) - OpenTelemetry and Observability in theory, deploying VictoriaTraces on Kubernetes, integration with Grafana and VictoriaLogs, and VMAlert for trace metrics - [OpenTelemetry: OTel Collectors in Kubernetes and VictoriaMetrics Stack integration](https://rtfm.co.ua/en/opentelemetry-otel-collectors-in-kubernetes-and-victoriametrics-stack-integration/) - OpenTelemetry Collector in Kubernetes: Key Concepts, Configuration, OTel Gateway and Kubernetes Collector, Exporting to VictoriaMetrics and VictoriaLogs - [OpenTelemetry: OTel Collectors в Kubernetes та інтеграція з VictoriaMetrics stack](https://rtfm.co.ua/opentelemetry-otel-collectors-v-kubernetes-ta-integracziya-z-victoriametrics-stack/) - OpenTelemetry Collector в Kubernetes - основні концепти, конфігурація, OTel Gateway та Kubernetes Collector, експорт до VictoriaMetrics та VictoriaLogs - [VictoriaTraces: Tracing, Observability та OpenTelemetry](https://rtfm.co.ua/opentelemetry-an-overview-observability-ta-tracing-z-victoriatraces/) - OpenTelemetry та Observability в теорії, запуск VictoriaTraces в Kubernetes, інтеграція з Grafana і VictoriaLogs, та VMAlert для метрик з трейсів - [Arch Linux: WireGuard Peer for Connecting to MikroTik](https://rtfm.co.ua/en/arch-linux-wireguard-peer-for-connecting-to-mikrotik/) - Configuring WireGuard Peer on Arch Linux to connect to MikroTik—key generation, wg0 config, and fixing the “resolvconf signature mismatch” issue with NetworkManager - [Arch Linux: WireGuard Peer для підключення до MikroTik](https://rtfm.co.ua/arch-linux-wireguard/) - Налаштування WireGuard Peer на Arch Linux для підключення до MikroTik - генерація ключів, конфіг wg0, фікс "resolvconf signature mismatch" з NetworkManager - [FreeBSD: Jails networking та менеджмент контейнерів з Bastille](https://rtfm.co.ua/freebsd-jails-networking-ta-menedzhment-kontejneriv-z-bastille/) - Знайомство з контейнерами у FreeBSD - jails, Bastille, мережа з VNET, Alias та NAT, інтерфейси, створення FreeBSD та Linux jails - [FreeBSD: Jails Networking and Container Management with Bastille](https://rtfm.co.ua/en/freebsd-jails-networking-and-container-management-with-bastille/) - An Introduction to Containers in FreeBSD - jails, Bastille, Networking with VNET, Alias, and NAT, Interfaces, Creating FreeBSD and Linux Jails - [Hermes Agent: запуск AI Agent у FreeBSD Jail з Bastille](https://rtfm.co.ua/hermes-agent-zapusk-ai-agent-u-freebsd-jail-z-bastille/) - Hermes Agent у FreeBSD Jail з Bastille - установка, налаштування залежностей та запуск AI-агента на домашньому NAS - [Hermes Agent: Running an AI Agent in a FreeBSD Jail with Bastille](https://rtfm.co.ua/en/hermes-agent-running-an-ai-agent-in-a-freebsd-jail-with-bastille/) - Hermes Agent in a FreeBSD Jail with Bastille: Installation, Dependency Configuration, and Running the AI Agent on a Home NAS - [Claude Code: creating Kubernetes debugging AI Agent for VictoriaMetrics](https://rtfm.co.ua/en/claude-code-creating-kubernetes-debugging-ai-agent-for-victoriametrics/) - Creating a Claude Code Marketplace and a Claude Code Plugin with a custom AI agent for Kubernetes debugging using VictoriaMetrics Skills - [Claude Code: створення Kubernetes debugging AI Agent для VictoriaMetrics](https://rtfm.co.ua/claude-code-stvorennya-kubernetes-debugging-ai-agent-dlya-victoriametrics/) - Створення Claude Code Markeplace та Claude Code Plugin з власним AI Agent для Kubernetes debugging з використанням VictoriaMetrics Skills - [Okta: Integration with Google Workspaces, Part 1 - Provisioning](https://rtfm.co.ua/en/okta-integration-with-google-workspaces-part-1-provisioning/) - Configuring Okta Provisioning for Google Workspace: SCIM, user import and export, and lifecycle management - synchronizing users between Okta and Google - [Okta: інтеграція з Google Workspaces, частина 1 - Provisioning](https://rtfm.co.ua/okta-integracziya-z-google-workspaces-chastyna-1-provisioning/) - Налаштування Okta Provisioning для Google Workspace: SCIM, імпорт та експорт юзерів, та lifecycle management - синхронізація стану між Okta та Google - [SSL/TLS: self-signed Certificate Authority для NGINX на FreeBSD](https://rtfm.co.ua/ssl-tls-self-signed-certificate-authority-dlya-nginx-na-freebsd/) - Створення власного Certificate Authority на FreeBSD, підпис wildcard SSL/TLS сертифікату для NGINX, та налаштування CA в trust store на FreeBSD та Linux-клієнтах - [SSL/TLS: Self-signed Certificate Authority for NGINX on FreeBSD](https://rtfm.co.ua/en/ssl-tls-self-signed-certificate-authority-for-nginx-on-freebsd/) - Setting up your own Certificate Authority on FreeBSD, signing a wildcard SSL/TLS certificate for NGINX, and adding the CA to the trust store on FreeBSD and Linux clients - [AWS: налаштування Okta SSO з AWS IAM Identity Center](https://rtfm.co.ua/aws-nalashtuvannya-okta-sso-z-aws-iam-identity-center/) - Покроковий гайд з налаштування Okta SSO для AWS через IAM Identity Center з SAML та SCIM: синхронізація груп, створення AWS Organizations та Permission Sets - [AWS: Setting up Okta SSO with AWS IAM Identity Center](https://rtfm.co.ua/en/aws-setting-up-okta-sso-with-aws-iam-identity-center/) - Step-by-step guide to setting up Okta SSO for AWS via IAM Identity Center using SAML and SCIM: groups synchronization, creating AWS Organizations and Permission Sets - [FreeBSD: Configuring FEMP - NGINX, PHP-FPM, MariaDB](https://rtfm.co.ua/en/freebsd-configuring-femp-nginx-php-fpm-mariadb/) - Step-by-step guide to configuring the FEMP stack on FreeBSD: NGINX virtual hosts for Grafana and VictoriaMetrics, PHP-FPM pools, MariaDB, and WordPress installation - [FreeBSD: налаштування FEMP - NGINX, PHP-FPM, MariaDB](https://rtfm.co.ua/freebsd-nalashtuvannya-femp-nginx-php-fpm-mariadb/) - Покрокове налаштування FEMP стеку на FreeBSD: NGINX virtual hosts для Grafana та VictoriaMetrics, PHP-FPM pools і PHP Extentions, MariaDB, та установка WordPress - [VictoriaMetrics: базовий моніторинг AWS, Linux, NGINX та PHP](https://rtfm.co.ua/victoriametrics-bazovij-monitoring-aws-linux-nginx-ta-php/) - Налаштування моніторингу WordPress на AWS - VictoriaMetrics, метрики EC2 з Linux, NGINX, PHP-FPM, CloudWatch для ALB та RDS, і логи з Fluent Bit до VictoriaLogs - [VictoriaMetrics: Basic Monitoring for AWS, Linux, NGINX, and PHP](https://rtfm.co.ua/en/victoriametrics-basic-monitoring-for-aws-linux-nginx-and-php/) - Setting up WordPress on AWS monitoring - VictoriaMetrics, EC2 Linux metrics, NGINX, PHP-FPM, CloudWatch for ALB and RDS, and logs with Fluent Bit to VictoriaLogs - [AWS: Amazon Linux – Sending Email with Postfix via Gmail](https://rtfm.co.ua/en/aws-amazon-linux-sending-email-with-postfix-via-gmail/) - Configuring root email sending on Amazon Linux AL2023 using Postfix and SASL authentication via a Gmail SMTP relay - [AWS: ALB and Cloudflare – Configuring mTLS and AWS Security Rules](https://rtfm.co.ua/en/aws-alb-and-cloudflare-configuring-mtls-and-aws-security-rules/) - Restricting access to AWS Application Load Balancer with mTLS and Cloudflare Authenticated Origin Pulls, and AWS Security Groups with Cloudflare IP ranges - [AWS: Self-Managed EC2 NAT Gateway vs AWS Managed NAT](https://rtfm.co.ua/en/aws-self-managed-ec2-nat-gateway-vs-aws-managed-nat/) - Setting up a NAT Gateway on AWS EC2 as a replacement for AWS Managed NAT Gateway - cost comparison, Linux NAT configuration, and AWS VPC Route Tables setup. - [AWS: Basic Infrastructure Setup for WordPress](https://rtfm.co.ua/en/aws-basic-infrastructure-setup-for-wordpress/) - Step-by-step guide to building AWS infrastructure for WordPress: VPC, NAT Gateway, ALB with SSL, RDS MariaDB, NGINX and PHP-FPM, plus AWS cost breakdown. - [VictoriaMetrics: using vmalert and query() in alerts for different $value values](https://rtfm.co.ua/en/victoriametrics-using-vmalert-and-query-in-alerts-for-different-value-values/) - VictoriaMetrics and vmalert - using the `query()` function in alert annotations to display several different metrics instead of a single `$value` from `expr`. - [VictoriaMetrics: vmalert та query() в алерті для різних $value](https://rtfm.co.ua/victoriametrics-vmalert-ta-query-v-alerti-dlya-riznix-value/) - VictoriaMetrics та vmalert - використання функції query() в анотаціях алертів для відображання кількох різних метрик замість одного $value з expr. - [Okta: Configuring Grafana SSO with OIDC and Role Mapping](https://rtfm.co.ua/en/okta-configuring-grafana-sso-with-oidc-and-role-mapping/) - Configuring Grafana SSO with Okta as an Identity Provider using OIDC app, setting Custom Attributes in the App Profile, use Groups claim and Grafana Roles Mapping - [Okta: налаштування Grafana SSO з OIDC та Role mapping](https://rtfm.co.ua/okta-nalashtuvannya-grafana-sso-z-oidc-ta-role-mapping/) - Налаштування Grafana SSO з Okta як Identity Provider - OIDC app, атрибути в App User Profile та Groups claim, Grafana Roles Mapping та міграція існуючих юзерів - [Golang: interfaces - "магія" виклику методів через інтерфейси](https://rtfm.co.ua/golang-interfaces-magiya-vikliku-metodiv-cherez-interfejsi/) - "Під капотом" інтерфейсів в Golang як працюють виклики методів через інтерфейсні типи - [DNS Amplification DDoS: Анатомия атаки и защиты. Часть 2](https://rtfm.co.ua/ru/dns-amplification-ddos-anatomiya-ataki-i-zashhity-chast-2/) - Статья взята у Blogerator.ru. Продолжение большого разговора про особенно сильную разновидность DDoS-атаки через «DNS-отражение и усиление пакетов» (DNS Amplification DDoS, ещё её иногда называют DNS reflect attack). Рекомендую сначала обязательно проштудировать первую часть этой статьи, чтобы добросовестно понять устройство самой атаки, в противном случае многие советы-объяснения по борьбе с ней ниже рискуют остаться не правильно понятыми. Окей, после порции необходимой теории - [DNS Amplification DDoS: Анатомия атаки и защиты. Часть 1](https://rtfm.co.ua/ru/dns-amplification-ddos-anatomiya-ataki-i-zashhity-chast-1/) - Статья взята у Blogerator.ru. Сегодня у нас первая часть большой статьи про устройство ныне печально известной DDoS-атаки через отражение (DNS Amplification). Конечная цель статьи — показать, как можно эффективно бороться с паразитным DNS-трафиком (смотрите вторую часть), для чего сначала рассмотрим основы в первой части статьи, где исследуем механизмы и глубинное устройство этой атаки. Когда-то давным-давно, в те далекие времена, когда - [FreeBSD: строим почтовую систему Postfix + Dovecot + MySQL + Postfix Admin, часть 3 - установка и настройка Dovecot.](https://rtfm.co.ua/ru/freebsd-stroim-pochtovuyu-sistemu-postfix-dovecot-mysql-postfix-admin-chast-3-ustanovka-i-nastrojka-dovecot/) - Это третья часть. Первая часть тут>>>. Вторая часть тут>>>. Сам MDA (Mail Delivery Agent) Dovecot установился во время установки Postfix во второй части. Отредактируем файл конфигурации Dovecot - /usr/local/etc/dovecot.conf: # cat /usr/local/etc/dovecot.conf | grep -v '^#' | sed '/^$/d' | more #Поддерживаемые протоколы: protocols = imap pop3 lmtp #Разрешаем авторизацию без шифрования disable_plaintext_auth = no - [FreeBSD: сборка собственного ядра](https://rtfm.co.ua/ru/freebsd-sborka-sobstvennogo-yadra/) - Не смотря на то, что статья довольно объёмная - сам процесс особой сложности не представляет. Для начала, надо убедиться, что имеются исходные коды системы: # ls -la /usr/src total 4 drwxr-xr-x 2 root wheel 512 Feb 18 2011 . drwxr-xr-x 15 root wheel 512 May 15 22:07 .. Каталог пустой - значит, надо их получить. - [EX.UA закрыли (updated)](https://rtfm.co.ua/ru/ex-ua-zakryli/) - Для начала - несколько ссылок: Новость на сайте МВД (по состоянию на 22:30 01.0.1 сайт все не работает, как и сайт Президента Украины). Затруднен доступ к сайту Партии Регионов. BBC Russian: Месть за Eх.ua: сайты госорганов Украины "лежат" Новость на Репортер- UA И новость на SiteUA. 01.0.2 появилась интересная статья на Правда.com.ua Фотографии с митинга - [FreeBSD: обновление установленных портов](https://rtfm.co.ua/ru/freebsd-obnovlenie-ustanovlennyx-portov/) - Ниже приведены некоторые полезные приемы, которые пригодятся при обновлении установленных портов. При установке очередного порта, сборка отвалилась с ошибкой: configure: error: Package requirements (glib-2.0 >= 2.27.2) were not met: Requested 'glib-2.0 >= 2.27.2' but version of GLib is 2.26.1 Можно перепроверить, какая версия установлена: # pkg_info | grep glib glib-2.26.1_1 Пора подумать об обновлении установленных - [А как вы выглядите утром?](https://rtfm.co.ua/ru/a-kak-vy-vyglyadite-utrom/) - [FreeBSD: аномальная активность серверов в мир](https://rtfm.co.ua/ru/freebsd-anomalnaya-aktivnost-serverov-v-mir/) - Анализ проблемы показал, что абсолютно по всем - превышение допустимого числа пакетов на порту: ~25 000 для 100 Mpbs ~125 000 для 1 Gbps На графиках это выглядело примерно так: Помогала только принудительная перезагрузка. Проблема коснулась серверов с ОС FreeBSD 6.* и 7.*. Такую ситуацию вызывает файл barbut.bsd, который находится в разделе /tmp. И файл - [FreeBSD: Home NAS, part 14 - logs with VictoriaLogs and alerts with VMAlert](https://rtfm.co.ua/en/freebsd-home-nas-part-14-logs-with-victorialogs-and-alerts-with-vmalert/) - Configuring log monitoring on FreeBSD with VictoriaLogs, Fluent Bit, vmalert, and vmauth - log collection, LogsQL queries, and alerting on a real NAS - [FreeBSD: Home NAS, Part 13: Planning Data Storage and Backups](https://rtfm.co.ua/en/freebsd-home-nas-part-13-planning-data-storage-and-backups/) - Planning and organizing data storage and backups for a Home NAS running on FreeBSD: rsync from Linux hosts, use Rclone remotes for Google Drive and Backblaze B2 - [FreeBSD: Home NAS, part 12: synchronizing data with Syncthing](https://rtfm.co.ua/en/freebsd-home-nas-part-12-synchronizing-data-with-syncthing/) - Introduction to Syncthing for synchronizing data between NAS on FreeBSD and Linux hosts: adding devices, folders, and configuring versioning - [FreeBSD: Home NAS, part 11 – extended monitoring with additional exporters](https://rtfm.co.ua/en/freebsd-home-nas-part-11-extended-monitoring-with-additional-exporters/) - Extended monitoring of a home NAS on FreeBSD with VictoriaMetrics, Prometheus exporters, node_exporter with custom textfile metrics, and a Grafana dashboard. - [FreeBSD: Home NAS, part 10 - monitoring with VictoriaMetrics and Grafana](https://rtfm.co.ua/en/freebsd-home-nas-part-10-monitoring-with-victoriametrics-and-grafana/) - FreeBSD monitoring with VictoriaMetrics, Grafana, node_exporter, Alertmanager. Tuning memory metrics for the Grafana dashboard, and creating alerts. - [FreeBSD: Home NAS, part 9 – data backup to AWS S3 and Google Drive with rclone](https://rtfm.co.ua/en/freebsd-home-nas-part-9-data-backup-to-aws-s3-and-google-drive-with-rclone/) - Using rclone on FreeBSD for backups and data synchronization to AWS S3 and Google Drive: features overview, configuring remotes, and basic commands - [FreeBSD: Home NAS, part 8 - NFS and Samba data backups using restic](https://rtfm.co.ua/en/freebsd-home-nas-part-8-nfs-and-samba-data-backups-using-restic/) - Backups on FreeBSD and Linux with restic: repositories and snapshots, backup and restore workflows, and using restic with AWS S3 and Google Drive via rclone. - [FreeBSD: Home NAS, part 7 - NFSv4 and use with Linux clients](https://rtfm.co.ua/en/freebsd-home-nas-part-7-nfsv4-and-use-with-linux-clients-2/) - Configuring NFSv4 on FreeBSD with ZFS sharenfs, access permissions and maproot, common errors and nuances when working with Linux clients - [FreeBSD: Home NAS, part 6 – Samba server and client connections](https://rtfm.co.ua/en/freebsd-home-nas-part-6-samba-server-and-client-connections/) - Configuring NAS access on FreeBSD with Samba server: access permissions, systemd automount on Linux, and access from Linux, Android phone, and Android TV devices - [FreeBSD: Home NAS, part 5 – ZFS pool, datasets, snapshots, and ZFS monitoring](https://rtfm.co.ua/en/freebsd-home-nas-part-5-zfs-pool-datasets-snapshots-and-zfs-monitoring/) - Configuring ZFS on FreeBSD: GPT labels, creating a ZFS mirror pool, working with datasets and snapshots, ZFS monitoring, and basic best practices for home NAS - [FreeBSD: Home NAS, part 4 - Local DNS with Unbound](https://rtfm.co.ua/en/freebsd-home-nas-part-4-local-dns-with-unbound/) - Configuring local DNS on FreeBSD with Unbound - local zone, recursive resolving, forward zones, and views for different client networks - [FreeBSD: Home NAS, part 3 - WireGuard VPN, Linux peer, and routing](https://rtfm.co.ua/en/freebsd-home-nas-part-3-wireguard-vpn-linux-peer-and-routing/) - Setting up WireGuard VPN on FreeBSD 14.3: PF firewall, routing between networks, and peer-to-peer VPN between FreeBSD and Arch Linux - [FreeBSD: Home NAS, part 2 - introduction to Packet Filter (PF) firewall](https://rtfm.co.ua/en/freebsd-home-nas-part-2-introduction-to-packet-filter-pf-firewall/) - An overview of the Packet Filter (PF) firewall in FreeBSD - configuration, rules and their application, macros, tables, anchors, logging, management with pfctl - [FreeBSD: Home NAS, part 1 - configuring ZFS mirror (RAID1)](https://rtfm.co.ua/en/freebsd-home-nas-part-1-configuring-zfs-mirror-raid1/) - Prototyping a Home NAS with RAID1 on FreeBSD on a virtual machine: system installation via SSH with bsdinstall, configuring ZFS mirror and working with datasets - [Backblaze: A First Look at B2 Cloud Storage](https://rtfm.co.ua/en/backblaze-a-first-look-at-b2-cloud-storage/) - Using Backblaze Cloud Storage with S3-Compatible API - an AWS S3 alternative: configuring Rclone remotes, upload speed benchmark - B2 vs AWS S3 vs Google Drive - [ilert: an alternative to Opsgenie – first impressions, Alertmanager, Slack](https://rtfm.co.ua/en/ilert-an-alternative-to-opsgenie-first-impressions-alertmanager-slack/) - Introduction to the ilert alert system as an alternative to Opsgenie - setting up integration with Alertmanager, Slack notifications, and first impressions - [AWS: Amazon Linux відправка пошти з Postfix через Gmail](https://rtfm.co.ua/aws-amazon-linux-vidpravka-poshti-z-postfix-cherez-gmail/) - Налаштування відправки пошти root на Amazon Linux AL2023 з Postfix та SASL аутентифікацію через Gmail SMTP relay - [AWS: Increasing the EBS volume size on an EC2 instance running Linux](https://rtfm.co.ua/en/aws-increasing-the-ebs-volume-size-on-an-ec2-instance-running-linux/) - Manually expanding an EBS volume on an AWS EC2 Nitro instance running Linux - AWS modify-volume, growpart, and resize2fs - [AWS: збільшення розміру EBS на EC2 з Linux](https://rtfm.co.ua/aws-zbilshennya-rozmiru-ebs-na-ec2-z-linux/) - Ручне збільшення EBS диск на AWS EC2 Nitro з Linux - AWS modify-volume, growpart та resize2fs - [AWS: ALB та Cloudflare - налаштування mTLS та AWS Security Rules](https://rtfm.co.ua/aws-alb-ta-cloudflare-nalashtuvannya-mtls-ta-aws-security-rules/) - Обмеження доступу до AWS Application Load Balancer з mTLS і Cloudflare Authenticated Origin Pulls, та захист AWS Security Groups з Cloudflare IP range - [VictoriaMetrics: VMAuth - проксі, аутентифікація та авторизація](https://rtfm.co.ua/victoriametrics-vmauth-proksi-autentifiikaciya-ta-avtorizaciya/) - Налаштування VictoriaMetrics VMAuth для аутентифиікації і авторизації користувачів для доступу на внутрішні сервіси Kubernetes - [AWS: сетап базової інфраструктури для WordPress](https://rtfm.co.ua/aws-setap-bazovoї-infrastrukturi-dlya-wordpress/) - Покроковий гайд по створенню AWS інфраструктури для WordPress: VPC, Subnets, NAT Gateway, ALB з SSL, RDS, NGINX, PHP-FPM. Розбір AWS Costs по сервісам. - [FreeBSD: Home NAS, part 14 - логи з VictoriaLogs і алерти з VMAlert](https://rtfm.co.ua/freebsd-home-nas-part-14-logi-z-victorialogs-i-alerti-z-vmalert/) - Налаштування моніторингу логів на FreeBSD з VictoriaLogs, Fluent Bit, vmalert та vmauth - збір логів, LogsQL запити та алертинг на реальному NAS - [FreeBSD: Home NAS, part 13: планування зберігання даних та бекапів](https://rtfm.co.ua/freebsd-home-nas-part-13-planuvannya-zberigannya-danix-ta-bekapiv/) - Планування та організація збереження і бекапу даних для домашнього NAS на FreeBSD, хостів на Linux та Rclone remotes в Google Drive і Backblaze B2 - [FreeBSD: Home NAS, part 12: синхронізація даних з Syncthing](https://rtfm.co.ua/freebsd-home-nas-part-12-sinxronizaciya-danix-z-syncthing/) - Знайомство з Syncthing для синхронізації даних між NAS на FreeBSD та Linux-хостами: додавання Devcies, Folders, налаштування Versioning - [FreeBSD: Home NAS, part 11 – extended моніторинг з додатковими експортерами](https://rtfm.co.ua/freebsd-home-nas-part-11-extended-monitoring-z-dodatkovimi-eksporterami/) - Розширений моніторинг домашнього NAS на FreeBSD з VictoriaMetrics, Prometheus-експортерами, node_exporter з власними textfile-метриками та Grafana-дашбордом. - [FreeBSD: Home NAS, part 10 - моніторинг з VictoriaMetrics та Grafana](https://rtfm.co.ua/freebsd-home-nas-part-10-monitoring-z-victoriametrics-ta-grafana/) - Моніторинг FreeBSD: установка VictoriaMetrics, Grafana, node_exporter, Alertmanager, та метрики памʼяті для Grafana dahsboard і створення алертів - [FreeBSD: Home NAS, part 9 – backup даних з rclone до AWS S3 та Google Drive](https://rtfm.co.ua/freebsd-home-nas-part-9-backup-danix-z-rclone-do-aws-s3-ta-google-drive/) - Знайомство з rclone для роботи з AWS S3 та Google Drive для бекапів та синхронізації даних - налаштування remotes, основні команди та можливості - [FreeBSD: Home NAS, part 8 - backup даних NFS та Samba з restic](https://rtfm.co.ua/freebsd-home-nas-part-8-backup-danix-nfs-ta-samba-z-restic/) - Резервні копії на FreeBSD та Linux з restic: репозиторії, снапшоти, backup і restore, використання з AWS S3 та Google Drive з rclone - [FreeBSD: Home NAS, part 6 – Samba server та підключення клієнтів](https://rtfm.co.ua/freebsd-home-nas-part-6-samba-server-ta-pidklyuchennya-kliyentiv/) - Налаштування доступу до NAS на FreeBSD з Samba server: права доступу, automount з systemd, підключення з Linux, Android phone та Android TV - [FreeBSD: Home NAS, part 5 – ZFS pool, datasets, snapshots та моніторинг](https://rtfm.co.ua/freebsd-home-nas-part-5-zfs-pool-datasets-snapshots-ta-monitoring/) - Налаштування ZFS на FreeBSD: GPT labels, створення ZFS mirror pool, робота з datasets і snapshots, ZFS моніторинг та базові best practices для домашнього NAS - [FreeBSD: Home NAS, part 4 - локальний DNS з Unbound](https://rtfm.co.ua/freebsd-home-nas-part-3-lokalnij-dns-z-unbound/) - Налаштування локального DNS на FreeBSD з Unbound - локальна зона, рекурсивний резолвінг, forward-зони, та views для різних мереж клієнтів - [FreeBSD: Home NAS, part 3 - WireGuard VPN, Linux peer та routing](https://rtfm.co.ua/freebsd-wireguard-vpn-linux-peer-ta-routing-mizh-merezhami/) - Налаштування WireGuard VPN на FreeBSD 14.3: PF firewall, routing між мережами, і peer-to-peer VPN між FreeBSD та Arch Linux - [FreeBSD: Home NAS, part 2 - знайомство з Packet Filter (PF) firewall](https://rtfm.co.ua/freebsd-znajomstvo-z-packet-filter-pf-firewall/) - Практичний огляд Packet Filter (PF) firewall у FreeBSD - налаштування, rules і порядок їх застосування, macros, tables, anchors, логування, керування з pfctl - [FreeBSD: Home NAS, part 1 - налаштування ZFS mirror (RAID1)](https://rtfm.co.ua/freebsd-nalashtuvannya-zfs-raid1-dlya-domashnogo-nas/) - Створення домашнього NAS з RAID1 на FreeBSD - установка системи по SSH з bsdinstall, налаштування ZFS mirror та datasets - [FreeBSD: Home NAS, part 7 – NFSv4 та підключення до Linux](https://rtfm.co.ua/freebsd-home-nas-part-7-nfsv4-ta-pidklyuchennya-do-linux/) - Налаштування NFSv4 на FreeBSD з ZFS sharenfs, права доступу і maproot, помилки та нюанси роботи з Linux-клієнтами - [FreeBSD: Home NAS, Part 15: Automating Backups - scripts, rsync, rclone](https://rtfm.co.ua/en/freebsd-home-nas-part-15-automating-backups-scripts-rsync-rclone/) - Automated backup system for a home NAS on FreeBSD: rsync, ZFS snapshots, VictoriaMetrics, WordPress, and rclone sync to Google Drive and Backblaze - [AWS: власний EC2 в ролі NAT Gateway замість AWS Managed NAT Gateway](https://rtfm.co.ua/aws-vlasnij-ec2-v-roli-nat-gateway-zamist-aws-managed-nat-gateway/) - Створення self-managed NAT Gateway на AWS EC2 з Amazon Linux на заміну AWS Managed NAT Gateway - порівняння costs, налаштування Linux NAT та AWS VPC Route Tables - [MikroTik: First Look and Getting Started](https://rtfm.co.ua/en/mikrotik-first-look-and-getting-started/) - Introduction to MikroTik and RouterOS: first impressions, connecting for configuration, working in the terminal, backup and recovery, upgrading, users, and basic commands. - [MikroTik: WireGuard VPN Setup and Linux Peer Configuration](https://rtfm.co.ua/en/mikrotik-wireguard-vpn-setup-and-linux-peer-configuration/) - Configuring WireGuard VPN on MikroTik - network architecture, MikroTik Firewall configuration, Routing, connecting Linux Peers and troubleshooting - [Raspberry Pi: first experience and installation of Raspberry Pi OS Lite](https://rtfm.co.ua/en/raspberry-pi-first-experience-and-installation-of-raspberry-pi-os-lite/) - Installing Raspberry Pi OS Lite on CM4 with USB boot and rpiboot, searching for BOOT jumper, configuring SSH and IP - [Raspberry Pi: перший досвід і установка Raspberry Pi OS Lite](https://rtfm.co.ua/raspberry-pi-pershij-dosvid-i-ustanovka-raspberry-pi-os-lite/) - Установка Raspberry Pi OS Lite на CM4 з USB boot та rpiboot, пошуки BOOT jumper, налаштування SSH та IP - [Glance: setting up a self-hosted home page for your browser](https://rtfm.co.ua/en/glance-setting-up-a-self-hosted-home-page-for-your-browser/) - Example of setting up a self-hosted Home Page on Glance: introduction, widget examples, creating a Python Custom API for monitoring NAS and SSH sessions - [FreeBSD: Home NAS, part 15: автоматизація бекапів - скрипти, rsync, rclone](https://rtfm.co.ua/freebsd-home-nas-part-14-avtomatizaciya-bekapiv-skripti-rsync-rclone/) - Система автоматичного бекапу для домашнього NAS на FreeBSD: rsync, ZFS snapshots, VictoriaMetrics, WordPress та rclone sync в Google Drive і Backblaze - [ilert: альтернатива Opsgenie - перше знайомство, Alertmanager, Slack](https://rtfm.co.ua/ilert-alternativa-opsgenie-pershe-znajomstvo-alertmanager-slack/) - Знайомство з системою алертів ilert як альтернативою Opsgenie - налаштування інтеграції з Alertmanager, Slack нотифікації та перші враження - [Backblaze: знайомство з B2 Cloud Storage - перші враження](https://rtfm.co.ua/backblaze-znajomstvo-z-b2-cloud-storage-pershi-vrazhennya/) - Використання Backblaze Cloud Storage з S3-Compatible API як альтернатива AWS S3, налаштування Rclone remotes та порівняння швидкості - [MikroTik: налаштування WireGuard та підключення Linux peers](https://rtfm.co.ua/mikrotik-nalashtuvannya-wireguard-ta-pidklyuchennya-linux-peers/) - Налаштування WireGuard VPN на MikroTik - архітектура та об'єднання мереж, конфігурація MikroTik Firewall, Routing, підключення Linux Peers та troubleshooting - [Glance: налаштування self-hosted home page для браузера](https://rtfm.co.ua/glance-nalashtuvannya-self-hosted-home-page-dlya-brauzera/) - Приклад налаштування self-hosted Home Page на Glance: знайомство, приклади віджетів, створення Python Custom API для моніторингу NAS та SSH-сесій - [FreeBSD: configuring DragonFly Mail Agent for the root user mail](https://rtfm.co.ua/en/freebsd-configuring-dragonfly-mail-agent-for-the-root-user-mail/) - Configuring DragonFly Mail Agent MTA in FreeBSD to forward root mail to Gmail - [FreeBSD: налаштування DragonFly Mail Agent для пошти root](https://rtfm.co.ua/freebsd-nalashtuvannya-dragonfly-mail-agent-dlya-poshti-root/) - Налаштування DragonFly Mail Agent MTA у FreeBSD для пересилки пошти root на Gmail - [MikroTik: перше знайомство та Getting Started](https://rtfm.co.ua/mikrotik-pershe-znajomstvo-ta-getting-started/) - Знайомство з MikroTik та RouterOS: перші враження, підключення для налаштувань, робота в terminal, бекап та відновлення, апгрейд, юзери та основні команди. - [Arch Linux: "mysterious" DNS timeouts and "in search of the Ethernet truth"](https://rtfm.co.ua/en/arch-linux-mysterious-dns-timeouts-and-in-search-of-the-ethernet-truth/) - Analysis of a “weird” DNS timeouts on Linux via Ethernet connection: IPv6, e1000e driver and interrupts, power management and NIC Offloading, and the real cause - [Arch Linux: "містичні" таймаути з DNS та "в пошуках Ethernet-істини"](https://rtfm.co.ua/arch-linux-mistichni-tajmauti-z-dns-ta-v-poshukax-ethernet-istini/) - Розбір "дивних" DNS-таймаутів на Linux: IPv6, драйвер e1000e та interrupts, power management та NIC Offloading, і реальна причина - [TCP/IP: SYN flood attack on the RTFM server, and “Hacker News hug of death”](https://rtfm.co.ua/en/tcp-ip-syn-flood-attack-on-the-rtfm-server-and-hacker-news-hug-of-death/) - Mitigating the SYN flood attack on the rtfm.co.ua server: SYN_RECV in TCP, Cloudflare, Linux TCP stack tuning, iptables, and the “Hacker News hug of death” - [TCP/IP: SYN flood атака на сервер RTFM, та "Hacker News hug of death"](https://rtfm.co.ua/tcp-ip-syn-flood-ataka-na-server-rtfm-ta-hacker-news-hug-of-death/) - Розбір SYN flood-атаки на сервер rtfm.co.ua: SYN_RECV у TCP, Cloudflare, тюнинг TCP-стеку Linux, iptables та "Hacker News hug of death" - [AWS: creating an OpenSearch Service cluster and configuring authentication and authorization](https://rtfm.co.ua/en/aws-creating-an-opensearch-service-cluster-and-configuring-authentication-and-authorization/) - Creating an OpenSearch Service cluster and configuring authentication and authorization with AWS IAM and fine-grained access control - [AWS: Monitoring AWS OpenSearch Service cluster with CloudWatch](https://rtfm.co.ua/en/aws-monitoring-aws-opensearch-service-cluster-with-cloudwatch/) - Configuring AWS OpenSearch Service cluster monitoring with CloudWatch, monitoring JVM memory and k-NN, creating Grafana dashboards and alerts in Alertmanager - [Terraform: creating an AWS OpenSearch Service cluster and users](https://rtfm.co.ua/en/terraform-creating-an-aws-opensearch-service-cluster-and-users/) - Terraform and creating AWS OpenSearch Service Managed Cluster, users, roles, indexes, and configuring AWS Bedrock IAM access - [SSH: sshd hardening on FreeBSD and Linux, and 1Password integration](https://rtfm.co.ua/en/ssh-sshd-hardening-on-freebsd-and-linux-and-1password-integration/) - SSH hardening for FreeBSD and Linux: key-based authentication, working with 1Password Client and 1Password SSH Agent, configuring sshd options for security - [Arch Linux: pacman -Syu and "Failed to connect to system scope bus via local transport" errors](https://rtfm.co.ua/en/arch-linux-pacman-syu-and-failed-to-connect-to-system-scope-bus-via-local-transport-errors/) - Fixing the error “Failed to connect to the system bus via local transport” after pacman -Syu in Arch Linux - [Arch Linux: pacman -Syu та помилки "Failed to connect to system scope bus via local transport"](https://rtfm.co.ua/arch-linux-pacman-syu-ta-pomilki-failed-to-connect-to-system-scope-bus-via-local-transport/) - Фікс помилки "Failed to connect to system scope bus via local transport" після pacman -Syu на Arch Linux - [Terraform: using Ephemeral Resources and Write-Only Attributes](https://rtfm.co.ua/en/terraform-using-ephemeral-resources-and-write-only-attributes/) - Examples of using Ephemeral resources and Write-only attributes in Terraform for secure handling of secrets without storing them in the Terraform state file - [SSH: sshd hardening на FreeBSD і Linux, та інтеграція з 1Password](https://rtfm.co.ua/ssh-sshd-hardening-na-freebsd-i-linux-ta-integraciya-z-1password/) - SSH hardening для FreeBSD і Linux: аутентифікація по ключах, робота з 1Password Client та 1Password SSH Agent, корисні опції sshd для безпеки - [FreeBSD: Installation on a ThinkPad X200 Tablet in 2025](https://rtfm.co.ua/en/freebsd-installation-on-a-thinkpad-x200-tablet-in-2025/) - Review of the ThinkPad X200 Tablet laptop, installing FreeBSD, configuring WiFi, X.Org, and XFCE - [Arch Linux: fixing the "yay: error while loading shared libraries: libalpm.so.13" error](https://rtfm.co.ua/en/arch-linux-fix-the-yay-error-while-loading-shared-libraries-libalpm-so-13-error/) - How to fix the "yay: error while loading shared libraries: libalpm.so.13" error in Arch Linux after system upgrade - [Golang: writing an AWS Load Balancer logs collector for VictoriaLogs](https://rtfm.co.ua/en/golang-writing-an-aws-load-balancer-logs-collector-for-victorialogs/) - Creating a Golang logs collector to get AWS ALB Access Logs from AWS S3 via SQS and write to VictoriaLogs via the VictoriaLogs JSON stream API - [VictoriaMetrics: Recording rules for AWS Load Balancer logs](https://rtfm.co.ua/en/victoriametrics-recording-rules-for-aws-load-balancer-logs/) - Creating Recording Rules for VictoriaMetrics metrics from AWS Load Balancer logs in VictoriaLogs using pipes, filters, and solve some non-obvious nuances of ALB - [VictoriaMetrics: Recording Rules для логів AWS Load Balancer](https://rtfm.co.ua/victoriametrics-recording-rules-dlya-logiv-aws-load-balancer/) - Створення Recording Rules для метрик VictoriaMetrics з логів AWS Load Balancer у VictoriaLogs - використання pipes, filters, та деякі неочевидні нюанси ALB - [FreeBSD: установка на ThinkPad X200 Tablet у 2025 році](https://rtfm.co.ua/freebsd-ustanovka-na-thinkpad-x200-tablet-u-2025-roci/) - Обзор ноутбука ThinkPad X200 Tablet, установка FreeBSD, налаштування WiFi, X.Org та XFCE - [Golang: interfaces - the "magic" of calling methods through interface](https://rtfm.co.ua/en/golang-interfaces-the-magic-of-calling-methods-through-interface/) - “Under the hood” of interfaces in Golang: how method calls work through interface types - [Golang: запис логів AWS Loab Balancer до VictoriaLogs](https://rtfm.co.ua/golang-zapis-logiv-aws-loab-balancer-do-victorialogs/) - Створення Golang logs collector для збору ALB Access Logs з AWS S3 через SQS та запис до VictoriaLogs через VictoriaLogs JSON stream API - [Golang: інтерфейси, типи та методи на прикладі io.Copy()](https://rtfm.co.ua/golang-interfejsi-tipi-ta-metodi-na-prikladi-io-copy/) - Як працюють інтерфейси в Go: static та dynamic types, структура interface value, itab та приклади роботи з io.Copy() - [Golang: creating OpenAI Exporter for VictoriaMetrics](https://rtfm.co.ua/en/golang-creating-openai-exporter-for-victoriametrics/) - Step-by-step example of creating an OpenAI Exporter for VictoriaMetrics in Go - use of the VictoriaMetrics Go client, pushing metrics, and graceful shutdown with Golang context - [Golang: створення OpenAI Exporter для VictoriaMetrics](https://rtfm.co.ua/golang-stvorennya-openai-exporter-dlya-victoriametrics/) - Покроковий приклад створення OpenAI Exporter для VictoriaMetrics на Go - робота з context, VictoriaMetrics Go client, push-метриками та graceful shutdown - [VictoriaMetrics: Churn Rate, High cardinality, metrics, and IndexDB](https://rtfm.co.ua/en/victoriametrics-churn-rate-high-cardinality-metrics-an-indexdb/) - What are metrics and time series, Churn Rate and High Cardinality, how data storage and search works, and the role of IndexDB and Time Series ID in VictoriaMetrics? - [Kubernetes: monitoring processes with process-exporter](https://rtfm.co.ua/en/kubernetes-monitoring-processes-with-process-exporter/) - Monitoring memory consumption by processes in Kubernetes with Prometheus process-exporter - [VictoriaMetrics: Churn Rate, High cardinality, метрики та IndexDB](https://rtfm.co.ua/victoriametrics-churn-rate-high-cardinality-metriki-ta-indexdb/) - Що таке метрики та time series, Churn Rate та High cardinality, зберігання та пошук даних, і роль IndexDB та Time Series ID в VictoriaMetrics - [InfluxDB: запуск на Debian з NGINX і підключення Grafana](https://rtfm.co.ua/influxdb-zapusk-na-debian-z-nginx-i-pidklyuchennya-grafana/) - Приклад розгортання системи моніторингу з InfluxDB та Grafana на Debian з NGINX та SSL - [InfluxDB: знайомство і основні можливості](https://rtfm.co.ua/influxdb-znajomstvo-i-osnovni-mozhlivosti/) - (не)Перше знайомство з InfluxDB - інтерфейс, інтеграції, та збір метрик і логів з Telegraf - [Arize Phoenix: сервіс моніторингу LLM - запуск в Kubernetes](https://rtfm.co.ua/arize-phoenix-servis-monitoringu-llm-zapusk-v-kubernetes/) - Запуск Arize Phoenix для моніторингу LLM в Kubernetes - AWS Secrets з Terraform, деплой Phoenix з Helm, створення Kubernetes Secrets з External Secrets Operator - [Kubernetes: моніторинг процесів з process-exporter](https://rtfm.co.ua/kubernetes-monitoring-procesiv-z-process-exporter/) - Моніторинг споживання пам'яті процесами в Kubernetes з Prometheus process-exporter - [AWS: моніторинг AWS OpenSearch Service кластеру з CloudWatch](https://rtfm.co.ua/aws-monitoring-aws-opensearch-service-klasteru-z-cloudwatch/) - Налаштування моніторингу кластеру AWS OpenSearch Service з CloudWatch, та моніторинг пам'яті JVM та k-NN, створення Grafana dashboard та алертів в Alertmanager - [AWS: знайомство з OpenSearch Service в ролі vector store](https://rtfm.co.ua/aws-znajomstvo-z-opensearch-service-v-roli-vector-store/) - Знайомство з AWS OpenSearch Service в ролі vector store для AWS Bedrock Knowledge Base та планування ресурсів OpenSearch кластеру - [AWS: створення OpenSearch Service cluster та налаштування аутентифікації і авторизації](https://rtfm.co.ua/aws-stvorennya-opensearch-service-cluster-ta-nalashtuvannya-autentifikaciї-i-avtorizaciї/) - Створення OpenSearch Service cluster та налаштування аутентифікації і авторизації з AWS IAM та Fine-grained access control - [Terraform: створення AWS OpenSearch Service cluster та юзерів](https://rtfm.co.ua/terraform-stvorennya-aws-opensearch-service-cluster-ta-yuzeriv/) - Terraform і створення AWS OpenSearch Service Managed Cluster, юзерів, ролі, індексів, та налаштування AWS Bedrock IAM access - [AWS: introduction to the OpenSearch Service as a vector store](https://rtfm.co.ua/en/aws-introduction-to-the-opensearch-service-as-a-vector-store/) - Introduction to AWS OpenSearch Service as a vector store for AWS Bedrock Knowledge Base and OpenSearch cluster resource planning - [Arch Linux: installing and configuring KDE Plasma in 2025](https://rtfm.co.ua/en/arch-linux-installing-and-configuring-kde-plasma-in-2025/) - Initial Arch Linux settings after installation, and installing and configuring KDE Plasma in 2025 - themes, widgets, settings - [VictoriaLogs: “rate limit exceeded” and monitoring ingested logs](https://rtfm.co.ua/en/victorialogs-rate-limit-exceeded-and-monitoring-ingested-logs/) - Lost logs in VictoriaLogs and Loki with the “rate limit exceeded” error, and basic monitoring of VictoriaLogs ingested logs with LogsQL and alerts - [Terraform: використання Ephemeral resources та Write-only attributes](https://rtfm.co.ua/terraform-vikoristannya-ephemeral-resources-ta-write-only-attributes/) - Приклади використання Ephemeral resources та Write-only attributes в Terraform для безпечної роботи з секретами без їх зберігання у state-файлі Terraform - [Terraform: апгрейд модуля AWS EKS Terraform module v20.x на v21.x](https://rtfm.co.ua/terraform-apgrejd-modulya-aws-eks-terraform-module-v20-x-na-v21-x/) - Процес апгрейду модуля AWS EKS Terraform module з v20.x на v21.x - основні зміни і можливі проблеми - [Terraform: AWS EKS Terraform module update from version 20.x to version 21.](https://rtfm.co.ua/en/terraform-aws-eks-terraform-module-update-from-version-20-x-to-version-21/) - Upgrading the AWS EKS Terraform module from v20.x to v21.x – key changes and potential issues - [Arch Linux: установка і налаштування KDE Plasma у 2025](https://rtfm.co.ua/arch-linux-ustanovka-i-nalashtuvannya-kde-plasma-u-2025/) - Початкові налаштування Arch Linux після установки, та установка і налаштування KDE Plasma у 2025 році - теми, віджети, параметри - [Arch Linux: install in 2025 - partitions, encryption, and manual system installation](https://rtfm.co.ua/en/arch-linux-install-in-2025-partitions-encryption-and-manual-system-installation/) - Installing Arch Linux in 2025 - partitioning disks with fdisk, encryption with LUKS, kernel configuration - [Arch Linux: установка у 2025 - диски, шифрування, встановлення системи](https://rtfm.co.ua/arch-linux-ustanovka-u-2025-part-1-diski-shifruvannya-vstanovlennya-sistemi/) - Встановлення Arch Linux у 2025 році - розбивка дисків з fdisk, шифрування з LUKS, налаштування ядра - [VictoriaLogs: "rate limit exceeded" і моніторинг ingested logs](https://rtfm.co.ua/victorialogs-rate-limit-exceeded-i-monitoring-ingested-logs/) - Втрачені логи у VictoriaLogs та Loki з "rate limit exceeded", і базовий моніторинг ingested logs з LogsQL та алертами - [Terraform: “no available releases match the given constraints](https://rtfm.co.ua/en/terraform-no-available-releases-match-the-given-constraints-2/) - Cause and solution for the “no available releases match the given constraints” error in Terraform - [Terraform: "no available releases match the given constraints"](https://rtfm.co.ua/terraform-no-available-releases-match-the-given-constraints/) - Причина та рішення помилки "no available releases match the given constraints" в Terraform - [Kubernetes: PVC in StatefulSet, and the "Forbidden updates to statefulset spec" error](https://rtfm.co.ua/en/kubernetes-pvc-v-statefulset-and-the-forbidden-updates-to-statefulset-spec-error/) - Increasing PersistentVolumeClaim for StatefulSet in Kubernetes without deleting Pods and downtime - [Kubernetes: Kubernetes API, API groups, CRDs, and the etcd](https://rtfm.co.ua/en/kubernetes-kubernetes-api-api-groups-crds-and-the-etcd/) - A deep dive into the Kubernetes API, its API Groups and CustomResourceDefinitions — and the crucial role of etcd behind the scenes. - [Kubernetes: what are the Kubernetes Operator and CustomResourceDefinition](https://rtfm.co.ua/en/kubernetes-what-are-the-kubernetes-operator-and-customresourcedefinition/) - Learn how Kubernetes Operators work, understand the role of CustomResourceDefinitions, and walk through an example implemented in Python using the Kopf framework - [Kubernetes: Pod resources.requests, resources.limits, and Linux cgroups](https://rtfm.co.ua/en/kubernetes-pod-resources-requests-resources-limits-ta-linux-cgroup/) - Diving into the Linux cgroups and Kubernetes Pod resources: what are CPU Unit, CPU Share, Kubernetes cgroup slices, and how resources.limits.cpu can affect service performance - [VictoriaMetrics: migrating VMSingle and VictoriaLogs data between Kubernetes cluster](https://rtfm.co.ua/en/victoriametrics-migrating-vmsingle-and-victorialogs-data-between-kubernetes-cluster/) - Example of transferring VictoriaMetrics metrics and VictoriaLogs logs between two Kubernetes clusters using vmctl and rsync - [Terraform: using import, and some hidden pitfalls](https://rtfm.co.ua/en/terraform-using-import-and-some-hiden-pitfalls/) - Introduction to Terraform import using AWS IAM User as an example, importing into a module, and some non-obvious aspects of working with imports - [Terraform: data types, loops, indexes, and the “resource must be replaced” issue](https://rtfm.co.ua/en/terraform-data-types-loops-indexes-and-the-resource-must-be-replaced-issu/) - An example of how Not To do, or how indexes in for_each break logic and lead to resource recreation with Terraform - [AI: Introduction to Ollama for local LLM launch](https://rtfm.co.ua/en/ai-introduction-to-ollama-for-local-llm-launch/) - Introduction to Ollama, launching local models, creating own model from Modelfile, and connecting Roo Code to the local LLM - [Python: introduction to the Celery, and its monitoring configurations](https://rtfm.co.ua/en/python-introduction-to-the-celery-and-its-monitoring-configurations/) - The Python Celery overview, its use to create and process background tasks, and discover options to monitor it - [AI: writing an MCP server for VictoriaLogs](https://rtfm.co.ua/en/ai-writing-an-mcp-server-for-victorialogs/) - Continuing an introduction to the Model Context Protocol: writing our own MCP server in Python to work with VictoriaLogs - [Kubernetes: PVC в StatefulSet та помилка "Forbidden updates to statefulset spec"](https://rtfm.co.ua/kubernetes-pvc-v-statefulset-ta-pomilka-forbidden-updates-to-statefulset-spec/) - Збільшення PersistentVolumeClaim для StatefulSet в Kubernetes без видалення Pods та downtime - [TCP/IP: OSI and TCP/IP models, TCP packets, Linux sockets and ports](https://rtfm.co.ua/en/tcp-ip-osi-and-tcp-ip-models-tcp-packets-linux-sockets-and-ports/) - OSI and TCP/IP models and protocols, TCP and IP headers, packets, TCP handshake, packets analysis with Wireshark, sockets and the TCP Stack in the Linux kernel - [Kubernetes: Kubernetes API, API Groups, CRD та etcd](https://rtfm.co.ua/kubernetes-kubernetes-api-api-groups-crd-ta-etcd/) - Розбираємось що таке Kubernetes API, API Groups, CustomResourceDefinitions, і яка роль etcd в цьому всьому - [Kubernetes: що таке Kubernetes Operator та CustomResourceDefinition](https://rtfm.co.ua/kubernetes-shho-take-kubernetes-operator-ta-customresourcedefinition/) - Розбираємось з тим, як працюють Kubernetes Operator і яку роль грають CustomResourceDefinition, та пишемо приклад Kubernetes Operator з Python Kopf - [VictoriaMetrics: fixing the "no matches for kind VMAnomaly" error](https://rtfm.co.ua/en/victoriametrics-fixing-the-no-matches-for-kind-vmanomaly-error/) - VictoriaMetrics Kubernetes Operator, CRD, and Helm charts - [Arch Linux: linux-firmware-nvidia: /usr/lib/firmware/nvidia/ exists in filesystem](https://rtfm.co.ua/en/arch-linux-linux-firmware-nvidia-usr-lib-firmware-nvidia-exists-in-filesystem-2/) - Resolving the “issue” with the latest updates in Arch Linux and the error “The issue: linux-firmware exists in filesystem,” and its causes. - [VictoriaMetrics: фікс помилки "no matches for kind VMAnomaly"](https://rtfm.co.ua/victoriametrics-fiks-pomilki-no-matches-for-kind-vmanomaly/) - VictoriaMetrics Kubernetes Operator, CRD та Helm charts - [Arch Linux: linux-firmware-nvidia: /usr/lib/firmware/nvidia/ exists in filesystem](https://rtfm.co.ua/arch-linux-linux-firmware-nvidia-usr-lib-firmware-nvidia-exists-in-filesystem/) - Вирішення "проблеми" з останнім апдейтов в Arch Linux та помилкою "The issue: linux-firmware exists in filesystem", і її причини. - [Kubernetes: 503 errors with AWS ALB possible causes and solutions](https://rtfm.co.ua/en/kubernetes-503-errors-with-aws-alb-possible-causes-and-solutions/) - 503 errors between AWS Elastic Kubernetes Service and AWS Application LoadBalancer – three causes and three solutions - [Terraform: використання import, та деякі неочевидні нюанси](https://rtfm.co.ua/terraform-vikoristannya-import-ta-deyaki-neochevidni-nyuansi/) - Знайомство з Terraform import на прикладі AWS IAM User, імпорт в модулі, та деякі неочевидні моменти роботи з імпортом - [VictoriaMetrics: міграція даних VMSingle та VictoriaLogs між кластерами Kubernetes](https://rtfm.co.ua/victoriametrics-migraciya-danix-vmsingle-ta-victorialogs-mizh-klasterami-kubernetes/) - Приклад переносу метрик VictoriaMetrics та логів VictoriaLogs між двома кластерами Kubernetes з використання vmctl та rsync - [Kubernetes: Pod resources.requests, resources.limits та Linux cgroups](https://rtfm.co.ua/kubernetes-pod-resources-requests-resources-limits-ta-linux-cgroups/) - Розбираємось з Linux cgroups та Kubernetes Pod resources - що таке CPU Unit, CPU Share, Kubernetes cgroup slices, та як resources.limits.cpu може вплинути на роботу сервісу - [TCP/IP: моделі OSI та TCP/IP, TCP-пакети, Linux sockets і порти](https://rtfm.co.ua/tcp-ip-modeli-osi-ta-tcp-ip-tcp-paketi-linux-sockets-i-porti/) - Моделі OSI та TCP/IP та протоколи, структура TCP та IP headers, розмір даних в пакетах, TCP handshake і аналіз пакетів з Wireshark, сокети та TCP Stack в ядрі Linux - [Kubernetes: помилки 503 з AWS ALB - можливі причини та рішення](https://rtfm.co.ua/kubernetes-pomilki-503-z-aws-alb-mozhlivi-prichini-ta-rishennya/) - Помилки 503 між AWS Elastic Kubernetes Service та AWS Application LoadBalancer - три причини і три рішення - [Kubernetes: Pods and WorkerNodes - control the placement of the Pods on the Nodes](https://rtfm.co.ua/en/kubernetes-pods-and-workernodes-control-the-placement-of-the-pods-on-the-nodes/) - Control the placement of Kubernetes Pods on its WorkerNodes with the Tains/Tolerations, nodeSelector, Pod and Node Affinity, and Pod Topology Spread Constraints - [Terraform: типи даних, цикли, індекси, та "resource must be replaced"](https://rtfm.co.ua/terraform-tipi-danix-cikli-indeksi-ta-resource-must-be-replaced/) - Приклад того, як не треба робити, або як індекси у for_each ламають логіку і призводять до перестворення ресурсів з Terraform - [AI: знайомство з Ollama для локального запуску LLM](https://rtfm.co.ua/ai-znajomstvo-z-ollama-dlya-lokalnogo-zapusku-llm/) - Знайомство з Ollama, запуск локальних моделей, зборка власної моделі з Modelfile та підключення з Roo Code - [Nexus: running in Kubernetes, and setting up a PyPI caching repository](https://rtfm.co.ua/en/nexus-running-in-kubernetes-and-setting-up-a-pypi-caching-repository/) - Running Sonatype Nexus in Kubernetes to cache PyPi packets to save AWS NAT Gateway traffic - [Nexus: Configuring Docker proxy repository, and ContainerD in Kubernetes](https://rtfm.co.ua/en/nexus-configuring-docker-proxy-repository-and-containerd-in-kubernetes/) - Running Sonatype Nexus, setting up a Docker proxy repository, and configuring ContainerD registry mirrors in Kubernetes with Karpenter - [AI: What is the MCP?](https://rtfm.co.ua/en/ai-what-is-th-mcp/) - Exploring the Model Context Protocol: its components and architecture, writing our own simple MCP server, and connecting it to an IDE. - [Python: introduction to @decorators using FastAPI as an example](https://rtfm.co.ua/en/python-introduction-to-decorators-using-fastapi-as-an-example/) - What are decorators in Python, and how does the @app.get() work in the FastAPI? - [Kubernetes: find a directory with a mounted volume in a Pod on its host](https://rtfm.co.ua/en/kubernetes-find-a-directory-with-a-mounted-volume-in-a-pod-on-its-host/) - Two ways to find a directory from a Kubernetes Pod on its WorkerNode - [Nexus: launch in Kubernetes, and PyPI caching repository configuration](https://rtfm.co.ua/en/nexus-launch-in-kubernetes-and-pypi-caching-repository-configuration/) - Launch Sonatype Nexus in Kubernetes to cache PyPI packages and save AWS NAT Gateway traffic - [Nexus: запуск в Kubernetes та налаштування PyPi caching repository](https://rtfm.co.ua/nexus-zapusk-v-kubernetes-ta-nalashtuvannya-pypi-caching-repository/) - Запуск Sonatype Nexus в Kubernetes для кешування PyPi пакетів для економії AWS NAT Gateway трафіку - [AI: пишемо MCP-сервер для VictoriaLogs](https://rtfm.co.ua/ai-pishemo-mcp-server-dlya-victorialogs/) - Продовження знайомства з Model Context Protocol - пишемо власний MCP-сервер на Python для роботи з VictoriaLogs - [AI: що таке той MCP?](https://rtfm.co.ua/ai-shho-take-toj-mcp/) - Розбираємось з Model Context Protocol - компоненти та архітектура, пишемо власний простий MCP-сервер, та підключаємо його до IDE - [Python: знайомство з Celery та його моніторинг](https://rtfm.co.ua/python-znajomstvo-z-celery-ta-jogo-monitoring/) - Перше знайомство з Python Celery для створення та обробки backgroud задач, та спроби його моніторингу - [Arch Linux: mount LVM partitions and run mkinitcpio](https://rtfm.co.ua/en/arch-linux-mount-lvm-partitions-and-run-mkinitcpio/) - How to mount LVM partitions in Linux, and run mkinitcpio to fix the iniramfs issues - [Python: знайомство з декораторами на прикладі FastAPI](https://rtfm.co.ua/python-znajomstvo-z-dekoratorami-na-prikladi-fastapi/) - Що таке decorators в Python, та як працює @app.get() в Python FastAPI - [Kubernetes: знайти каталог з mounted volume в Pod на хості](https://rtfm.co.ua/kubernetes-znajti-katalog-z-mounted-volume-v-pod-na-xosti/) - Два способи знайти каталог з Kubernetes Pod на його host WorkerNode - [Nexus: налаштування Docker proxy repository та ContainerD в Kubernetes](https://rtfm.co.ua/nexus-nalashtuvannya-docker-proxy-repository-ta-containerd-v-kubernetes/) - Запуск Sonatype Nexus, налаштування Docker proxy repository, та налаштування ContainerD registry mirrors в Kubernetes з Karpenter - [Arch Linux: підключення розділів LVM та запуск mkinitcpio](https://rtfm.co.ua/arch-linux-pidklyuchennya-rozdiliv-lvm-ta-zapusk-mkinitcpio/) - Як підключити LVM-розділи в Linux, та запустити mkinitcpio - [PostgreSQL: using EXPLAIN and setting up “auto_explain” in AWS RDS](https://rtfm.co.ua/en/postgresql-using-explain-and-setting-up-auto_explain-in-aws-rds/) - Understanding the EXPLAIN and memory in PostgreSQL, and setting up EXPLAIN logging in AWS RDS - [PostgreSQL: AWS RDS Performance and monitoring](https://rtfm.co.ua/en/postgresql-aws-rds-performance-and-monitoring-2/) - An in-depth look at the PostgreSQL in AWS RDS: performance issues, monitoring, memory and Swap, disk and processes. - [PostgreSQL: AWS RDS Performance and monitoring](https://rtfm.co.ua/postgresql-aws-rds-performance-and-monitoring/) - Розбираємось з PostgreSQL в AWS RDS: проблеми perfomance, його моніторинг, пам'ять та Swap, диск та процеси. - [PostgreSQL: використання EXPLAIN та налаштування "auto_explain" в AWS RDS](https://rtfm.co.ua/postgresql-vikoristannya-explain-ta-nalashtuvannya-auto_explain-v-aws-rds/) - Розбираємось з EXPLAIN та пам'яттю в PostgreSQL, і налаштовуємо логування EXPLAIN в AWS RDS - [VictoriaLogs: creating Recording Rules with VMAlert](https://rtfm.co.ua/en/victorialogs-creating-recording-rules-with-vmalert/) - An example of creating VictoriaMetrics Recording Rules for VMAlert from logs in VictoriaLogs, running in Kubernetes - [VictoriaLogs: створення Recording Rules з VMAlert](https://rtfm.co.ua/victorialogs-stvorennya-recording-rules-z-vmalert/) - Приклад створення VictoriaMetrics Recording Rules для VMAlert з логів у VictoriaLogs в Kubernetes - [Kubernetes: a single AWS Load Balancer for different Kubernetes Ingresses](https://rtfm.co.ua/en/kubernetes-a-single-aws-load-balancer-for-different-kubernetes-ingresses/) - An example of using AWS Load Balancer Controller IngressGroups in Kubernetes to optimize AWS Costs for Load Balancers - [Vector.dev: introduction, AWS S3 logs, and integration with VictoriaLogs](https://rtfm.co.ua/en/vector-dev-introduction-aws-s3-logs-and-integration-with-victorialogs/) - Running Vector.dev in Kubernetes with Helm, setting up VPC Flow Logs collection from AWS S3, transformations, and writing logs with new fields to VictoriaLogs - [Vector.dev: знайомство, логи з AWS S3 та інтеграція з VictoriaLogs](https://rtfm.co.ua/vector-dev-znajomstvo-logi-z-aws-s3-ta-integraciya-z-victorialogs/) - Запуск Vector.dev в Kubernetes з Helm, налаштування збору VPC Flow Logs з AWS S3, трансформації, і запис логів з новими полями до VictoriaLogs - [GitHub Actions: running the Actions Runner Controller in Kubernetes](https://rtfm.co.ua/en/github-actions-running-the-actions-runner-controller-in-kubernetes/) - Running self-hosted GitHub Actions Runners in Kubernetes, configuring Docker in Docker, and connecting an AWS EBS with the gp3 StorageClass - [AWS: Kubernetes and External Secrets Operator for AWS Secrets Manager](https://rtfm.co.ua/en/aws-kubernetes-and-external-secrets-operator-for-aws-secrets-manager/) - Introduction to External Secrets Operator for AWS Secrets Manager to replace Kubernetes Secrets Store CSI Driver in AWS EKS, and its use with EKS Pod Identity - [VictoriaLogs: an overview, run in Kubernetes, LogsQL, and Grafana](https://rtfm.co.ua/en/victorialogs-an-overview-run-in-kubernetes-logsql-and-grafana/) - An introduction to VictoriaLogs running in Kubernetes from the Helm Chart, its LogsQL syntax and examples, and installing Grafana VictoriaLogs data source - [AWS: VPC Flow Logs - logs to S3 and Grafana dashboard with Loki](https://rtfm.co.ua/en/aws-vpc-flow-logs-logs-to-s3-and-grafana-dashboard-with-loki/) - Setting up the collection of AWS VPC Flow Logs to Grafana Loki, and creating a Grafana dashboard with information from an AWS NAT Gateway for Kubernetes Pods - [VictoriaLogs: a Grafana dashboard for AWS VPC Flow Logs - migrating from Grafana Loki](https://rtfm.co.ua/en/victorialogs-a-grafana-dashboard-for-aws-vpc-flow-logs-migrating-from-grafana-loki/) - Building a Grafana dashboard for AWS VPC Flow Logs and Kubernetes using VictoriaLogs. Migrating Grafana Loki and LogQL queries to VictoriaLogs and LogsQL - [VictoriaLogs: дашборда в Grafana з AWS VPC Flow Logs - мігруємо з Grafana Loki](https://rtfm.co.ua/victorialogs-dashborda-v-grafana-z-aws-vpc-flow-logs-migruyemo-z-grafana-loki/) - Створення Grafana dashboard з AWS VPC Flow Logs та Kubernetes з використанням VictoriaLogs. Міграція запитів Grafana Loki та LogQL в VictoriaLogs та LogsQL - [Підготовка до зими 2024-2025: частина 2 - готуємо оселю до блекаутів](https://rtfm.co.ua/pidgotovka-do-zimi-2024-2025-chastina-2-gotuyemo-oselyu-do-blekautiv/) - Як я готувався до цієї зими: зарядні станції, павербанки, інтернет, пожежна безпека, вода. - [Підготовка до зими 2024-2025: частина 1 - ДБЖ, інвертори, та акумулятори](https://rtfm.co.ua/pidgotovka-do-zimi-2024-2025-dbzh-invertori-ta-akumulyatori/) - Вольти/ампери/вати. Потужність домашніх електроприладів і необхідний запас енергії. Зарядні станції, ДБЖ та інвертори. Акумулятори - типи та швидкість зарядки. - [Kubernetes: єдиний AWS Load Balancer для різних Kubernetes Ingress](https://rtfm.co.ua/kubernetes-yedinij-aws-load-balancer-dlya-riznix-kubernetes-ingress/) - Приклад використання AWS Load Balancer Controller IngressGroups в Kubernetes для оптимізації AWS Costs на Load Balancers - [AWS: VPC Flow Logs - логи до S3 та Grafana dashboard з Loki](https://rtfm.co.ua/aws-vpc-flow-logs-logiv-do-s3-ta-grafana-dashboard-z-loki/) - Налаштування збору AWS VPC Flow Logs до Grafana Loki та створення Grafana dashboard з інформацією по трафіку через AWS NAT Gateway для Kubernetes Pods - [Terraform: managing EKS Access Entries and EKS Pod Identities](https://rtfm.co.ua/en/terraform-managing-eks-access-entries-and-eks-pod-identities/) - An example of creating a Terraform project to manage access to AWS EKS with Authentication Mode API and EKS Pod Identities for Kubernetes ServiceAccounts - [Karpenter: an introduction to the Disruption Budgets](https://rtfm.co.ua/en/karpenter-an-introduction-to-the-disruption-budgets/) - Introduction to Karpenter's Disruption budgets, and an example of setting up a NodePool with Consolidation Policy and Budgets - [VictoriaMetrics Cloud: integration with AWS Data Firehose for CloudWatch metrics](https://rtfm.co.ua/en/victoriametrics-cloud-integration-with-aws-data-firehose-for-cloudwatch-metrics/) - Setting up AWS CloudWatch metrics streaming via AWS Firehose to VictoriaMetrics Cloud - [VictoriaMetrics Cloud: інтеграція з AWS Data Firehose для CloudWatch метрик](https://rtfm.co.ua/victoriametrics-cloud-integraciya-z-aws-data-firehose-dlya-cloudwatch-metrik/) - Налаштування стрімінгу метрик AWS CloudWatch через AWS Firehose до VictoriaMetrics Cloud - [GitHub Actions: запуск Actions Runner Controller в Kubernetes](https://rtfm.co.ua/github-actions-zapusk-actions-runner-controller-v-kubernetes/) - Запуск GitHub Actions Runners в Kubernetes, налаштування Docker in Docker, та підключення AWS EBS gp3 StorageClass - [Karpenter: використання Disruption budgets](https://rtfm.co.ua/karpenter-vikoristannya-disruption-budgets/) - Знайомство з Disruption budgets в Karpenter, та приклад налаштування NodePool - [VictoriaLogs: знайомство, запуск в Kubernetes, LogsQL та Grafana](https://rtfm.co.ua/victorialogs-znajomstvo-zapusk-v-kubernetes-logsql-ta-grafana/) - Перше знайомство з VictoriaLogs запуск в Kubernetes з Helm-чарту, синтакси і приклади LogsQL, та встановлення Grafana VictoriaLogs data source - [AWS: IAM Access Analyzer policy generation - create an IAM Policy](https://rtfm.co.ua/en/aws-iam-access-analyzer-policy-generation-create-an-iam-policy/) - Using AWS IAM Access Analyzer policy generation for fine-grained IAM Policy creation - [AWS: Kubernetes та External Secrets Operator для AWS Secrets Manager](https://rtfm.co.ua/aws-kubernetes-ta-external-secrets-operator-dlya-aws-secrets-manager/) - Знайомство з External Secrets Operator для AWS Secrets Manager замість Kubernetes Secrets Store CSI Driver в AWS EKS, і його використання з EKS Pod Identity - [AWS: Kubernetes and Access Management API, the new authentication in EKS](https://rtfm.co.ua/en/aws-kubernetes-and-access-management-api-the-new-authentification-in-eks/) - AWS EKS Access Management API: authentication and authorization in AWS Elastic Kubernetes Service with EKS Access Entries, EKS Access Policy, and Kubernetes RBAC - [AWS: IAM Access Analyzer policy generation - створення IAM Policy](https://rtfm.co.ua/aws-iam-access-analyzer-policy-generation-stvorennya-iam-policy/) - Використання AWS IAM Access Analyzer policy generation для створення fine grained IAM Policy - [Terraform: менеджмент EKS Access Entries та EKS Pod Identities](https://rtfm.co.ua/terraform-menedzhment-eks-access-entries-ta-eks-pod-identities/) - Приклад створення Terraform проекту для управління доступами до AWS EKS з Authentification Mode API та EKS Pod Identities для Kubernetes ServiceAccounts - [Terraform: EKS and Karpenter version upgrade 19.21 to 20.0](https://rtfm.co.ua/en/terraform-eks-and-karpenter-upgrade-the-module-version-from-19-21-to-20-0/) - Step-by-step process of the Terraform terraform-aws-modules/eks upgrade from 19.21.0 to 20.0.0 for EKS and Karpenter: main changes and possible errors - [Kustomize: managing Kubernetes manifests - an overview, and examples](https://rtfm.co.ua/en/kustomize-managing-kubernetes-manifests-an-overview-and-examples/) - An overview of the Kustomize for managing Kubernetes manifests. Examples of features, and working with Helm. - [Helm: multiple deployment of the same chart with Chart's dependency](https://rtfm.co.ua/en/helm-multiple-deployment-of-the-same-chart-with-charts-dependency/) - Using Helm chart dependencies for sub-charts using one main chart - [AWS: Kubernetes та Access Management API - нова схема авторизації в EKS](https://rtfm.co.ua/aws-kubernetes-ta-access-management-api-nova-sxema-avtorizaciї-v-eks/) - AWS Access Management API - аутентифікація та авторизація в AWS Elastic Kubernetes Service з EKS Access Entries, EKS Access Policy, та Kubernetes RBAC - [Terraform: EKS та Karpenter - upgrade версії модуля з 19.21 на 20.0](https://rtfm.co.ua/terraform-eks-ta-karpenter-upgrade-versiї-modulya-z-19-21-na-20-0/) - Step-by-step процес апгрейду Terraform модуля terraform-aws-modules/eks з 19.21.0 на 20.0.0 для EKS Та Karpenter: основні зміни, та можливі помилки - [Kubernetes: containers, and the "lost" SIGTERM signals](https://rtfm.co.ua/en/kubernetes-containers-and-the-lost-sigterm-signals/) - "Finding Nemo", or why Linux signals get lost in containers. Dive into the Linux, SIGTERM and SIGKILL, tPID 1 process specialty, and Docker in Kubernetes - [Pritunl: launching a VPN in AWS on EC2 with Terraform](https://rtfm.co.ua/en/pritunl-launching-a-vpn-in-aws-on-ec2-with-terraform/) - Setting up AWS EC2 in a VPC with Terraform, launching and configuring Pritunl VPN Server, setting up OpenVPN Client on Linux - [EcoFlow: monitoring with Prometheus and Grafana](https://rtfm.co.ua/en/ecoflow-monitoring-with-prometheus-and-grafana/) - Monitoring an EcoFlow power station with the ecoflow_exporter for Prometheus, adding a Grafana dashboard, and configure alerts in Telegram - [AWS: RDS IAM database authentication, EKS Pod Identities, and Terraform](https://rtfm.co.ua/en/aws-rds-iam-database-authentication-eks-pod-identities-and-terraform/) - The AWS RDS IAM database overview, using Terraform for AWS EKS Pod Identities, and use Kubernetes Pod ServiceAccount to connect to RDS - [EcoFlow: моніторинг з Prometheus та Grafana](https://rtfm.co.ua/ecoflow-monitoring-z-prometheus-ta-grafana/) - Моніторинг зарядної станції EcoFlow з ecoflow_exporter для Prometheus, дашбордою в Grafana, та алертами в Telegram - [AWS: RDS з IAM database authentication, EKS Pod Identities та Terraform](https://rtfm.co.ua/aws-rds-z-iam-database-authentication-eks-pod-identities-ta-terraform/) - Знайомство з AWS RDS IAM database authentication, використання AWS EKS Pod Identities в Terraform, та Kubernetes Pod ServiceAccount для підключення до RDS. - [AWS: Karpenter and SSH for Kubernetes WorkerNodes](https://rtfm.co.ua/en/aws-karpenter-and-ssh-for-kubernetes-workernodes/) - Setting up SSH access to EC2 created by Karpenter in EKS from AWS Session Manager, AWS EC2 Instance Connect, and via EC2 User Data manually and from Terraform - [AWS: Cost optimization - an overview of Bills, Cost Explorer, and the costs control](https://rtfm.co.ua/en/aws-cost-optimization-an-overview-of-bills-cost-explorer-and-the-costs-control/) - Saving with AWS: An overview of costs in AWS Bills and Cost Explorer, traffic costs, and the answer to the question "What is EC2-Other?" - [Kubernetes: моніторинг Events з kubectl та Grafana Loki](https://rtfm.co.ua/kubernetes-monitoring-events-z-kubectl-ta-grafana-loki/) - Робота з Kubernetes events за допомогою kubectl та Grafana Loki - [Kubernetes: monitoring Events with kubectl and Grafana Loki](https://rtfm.co.ua/en/kubernetes-monitoring-events-with-kubectl-and-grafana-loki/) - Working with Kubernetes events with kubectl and Grafana Loki - [AWS: Karpenter та SSH для Kubernetes WorkerNodes](https://rtfm.co.ua/aws-karpenter-ta-ssh-dlya-kubernetes-workernodes/) - Налаштування доступу по SSH до EC2, створених Karpenter в AWS EKS з AWS Session Manager, AWS EC2 Instance Connect та через EC2 User Data вручну та з Terraform - [Pritunl: запуск VPN в AWS на EC2 з Terraform](https://rtfm.co.ua/pritunl-zapusk-vpn-v-aws-na-ec2-z-terraform/) - Створення AWS EC2 у VPC з Terraform, запуск та конфігурація Pritunl VPN Server, налаштування OpenVPN Client на Linux - [Kubernetes: контейнери та "загублений" SIGTERM](https://rtfm.co.ua/kubernetes-kontejneri-ta-zagublenij-sigterm/) - "В пошуках Немо", або чому в контейнерах "губляться" сигнали. Розбираємось з Linux, SIGTERM і SIGKILL, особливістю процесу з PID 1, та Docker в Kubernetes - [Renovate: GitHub та Helm Charts versions management](https://rtfm.co.ua/renovate-github-ta-helm-charts-versions-management/) - Налаштування перевірок апдейтів версій для Helm з Renovate у GitHub-репозиторії - [Renovate: GitHub, and Helm Charts versions management](https://rtfm.co.ua/en/renovate-github-and-helm-charts-versions-management/) - Setting up version update checks for Helm with Renovate in the GitHub repository - [Dependabot: GitHub, and Terraform versions management](https://rtfm.co.ua/en/dependabot-github-and-terraform-versions-management/) - Setting up version update checks for Terraform providers and modules with Dependabot in the GitHub repository - [Dependabot: GitHub та Terraform versions management](https://rtfm.co.ua/dependabot-github-ta-terraform-versions-management/) - Налаштування перевірок апдейтів версій для Terraform providers та modules з Dependabot у GitHub-репозиторії - [Helm: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress](https://rtfm.co.ua/en/helm-upgrade-failed-another-operation-install-upgrade-rollback-is-in-progress-2/) - Solving the "UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress" error during deployment with Helm - [Helm: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress](https://rtfm.co.ua/helm-upgrade-failed-another-operation-install-upgrade-rollback-is-in-progress/) - Рішення помилки "UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress" під час депло з Helm - [AWS: VPC Flow Logs, NAT Gateways, and Kubernetes Pods - a detailed overview](https://rtfm.co.ua/en/aws-vpc-flow-logs-nat-gateways-and-kubernetes-pods-a-detailed-overview/) - Understanding AWS VPC NAT Gateway, VPC Flow Logs, Source NAT, and searching for Kubernetes Pods IP in VPC logs - [AWS: VPC Flow Logs, NAT Gateways, та Kubernetes Pods - детальний обзор](https://rtfm.co.ua/aws-vpc-flow-logs-nat-gateways-ta-kubernetes-pods-detalnij-obzor/) - Детальний розбір AWS VPC NAT Gateway, VPC Flow Logs, Source NAT, та пошук Kubernetes Pods IP в логах - [Grafana: AWS EC2 resources та Kubernetes Pods requests](https://rtfm.co.ua/grafana-aws-ec2-resources-ta-kubernetes-pods-requests/) - Створення дашборди Grafana для моніторингу ресурсів AWS EC2 та Kubernetes Pods requests - [GitHub Actions: Terraform deployments with a review of planned changes](https://rtfm.co.ua/en/github-actions-terraform-deployments-with-a-review-of-planned-changes/) - Create a GitHub Actions Workflow for a Terraform deploy with changes review in Pull Request comments, and Terraform Apply execution after Pull Request merge into master - [GitHub Actions: working with Reusable Workflows](https://rtfm.co.ua/en/github-actions-working-with-reusable-workflows/) - Compare Reusable Workflows and Composite Actions in GitHub Actions, and the details of creating and using Reusable Workflows - [GitHub Actions: використання Reusable Workflows - нюанси роботи](https://rtfm.co.ua/github-actions-vikoristannya-reusable-workflows-nyuansi-roboti/) - Порівняння Reusable Workflows та Composite Actions в GiHub Actions, та нюанси при створенні та використанні Reusable Workflows - [Arch Linux: фікс помилки "yay: error while loading shared libraries: libalpm.so.13"](https://rtfm.co.ua/arch-linux-fiks-pomilki-yay-error-while-loading-shared-libraries-libalpm-so-13/) - Фікс помилки "yay: error while loading shared libraries: libalpm.so.13" в Arch Linux після апгрейду системи - [GitHub Actions: деплой Terraform з review запланованих змін](https://rtfm.co.ua/github-actions-deploj-terraform-z-review-zaplanovanix-zmin/) - Приклад створення GitHub Actions Workflow для деплою Terraform з review змін через Pull Request comments та виконанням Terraform Apply після Pull Request merge в master - [AWS: VPC Prefix та максимальна кількість подів на Kubernetes WorkerNodes](https://rtfm.co.ua/aws-vpc-prefix-ta-maksimalna-kilkist-podiv-na-kubernetes-workernodes/) - Робота з AWS VPC Prefix Assignment Mode - збільшуємо кількість подів на Kubernetes WorkerNodes. Робота плагіну VPC CNI та налаштування maxPods в Karpenter. - [AWS: VPC Prefix and the maximum of Pods on Kubernetes WorkerNodes](https://rtfm.co.ua/en/aws-vpc-prefix-and-maximum-of-pods-on-kubernetes-workernodes/) - Working with AWS VPC Prefix Assignment Mode - increasing the number of Pods on Kubernetes WorkerNodes. Working with the VPC CNI plugin and setting up maxPods in Karpenter. - [Kubernetes: tracing requests with AWS X-Ray, and Grafana data source](https://rtfm.co.ua/en/kubernetes-tracing-requests-with-aws-x-ray-and-grafana-data-source/) - Launching AWS X-Ray on AWS Elastic Kubernetes Service, creating a Python Flask with the AWS X-Ray SDK, and connecting a Grafana data source for X-Ray - [Kubernetes: tracing запитів з AWS X-Ray та Grafana data source](https://rtfm.co.ua/kubernetes-tracing-zapitiv-z-aws-x-ray-ta-grafana-data-source/) - Запуск AWS X-Ray в AWS Elastic Kubernetes Service, створення Python Flask з AWS X-Ray SDK, та підключення Grafana data source для X-Ray - [Terraform: creating a module for collecting AWS ALB logs in Grafana Loki](https://rtfm.co.ua/en/terraform-creating-a-module-for-collecting-aws-alb-logs-in-grafana-loki/) - An example of creating a Terraform module to automate the collection of logs from AWS Load Balancers in Grafana Loki with AWS Lambda and Promtail. - [Grafana Loki: LogQL та Recoding Rules для метрик з логів AWS Load Balancer](https://rtfm.co.ua/grafana-loki-logql-ta-recoding-rules-dlya-metrik-z-logiv-aws-load-balancer/) - Приклади роботи з LogQL в Grafana Loki для створення метрик з логів AWS Load Balancer - [Grafana Loki: LogQL and Recording Rules for metrics from AWS Load Balancer logs](https://rtfm.co.ua/en/grafana-loki-logql-and-recoding-rules-for-metrics-from-aws-load-balancer-logs/) - Examples of working with LogQL in Grafana Loki to create metrics from AWS Load Balancer logs - [Karpenter: its monitoring, and Grafana dashboard for Kubernetes WorkerNodes](https://rtfm.co.ua/en/karpenter-its-monitoring-and-grafana-dashboard-for-kubernetes-workernodes/) - Karpenter - monitoring: its metrics and creating a Grafana dashboard for Kubernetes WorkerNodes with examples of PromQL queries - [Terraform: створення модулю для збору логів AWS ALB в Grafana Loki](https://rtfm.co.ua/terraform-stvorennya-modulyu-dlya-zboru-logiv-aws-alb-v-grafana-loki/) - Приклад створення модулю Terraform для автоматизації збору логів з AWS Load Balancers у Grafana Loki з AWS Lambda і Promtail. - [Arduino: перше знайомство та мій Arduino Starter Kit](https://rtfm.co.ua/arduino-pershe-znajomstvo-ta-mij-arduino-starter-kit/) - Перше знайомство з першою Arduino та першим Arduino Starter Kit. - [Arduino: запуск Arduino IDE на Linux, та перший "Hello, World!"](https://rtfm.co.ua/arduino-zapusk-arduino-ide-na-linux-ta-pershij-hello-world/) - Підключення Arduino до Linux та перший "Hello, World" з резистороми та LED - [Karpenter: моніторинг та Grafana dashboard для Kubernetes WorkerNodes](https://rtfm.co.ua/karpenter-monitoring-ta-grafana-dashboard-dlya-kubernetes-workernodes/) - Karpenter - моніторинг: його метрики та створення Grafana dashboard для Kubernetes WorkerNodes з прикладами PromQL запитів - [AWS: EKS Pod Identities - a replacement for IRSA? Simplifying IAM access management](https://rtfm.co.ua/en/aws-eks-pod-identities-a-replacement-for-irsa-simplifying-iam-access-management/) - AWS EKS - Pod Identities: a new feature to replace the classic IAM Roles for Service Accounts - simplify pod access management in AWS - [AWS: EKS Pod Identities - заміна IRSA? Спрощуємо менеджмент IAM доступів](https://rtfm.co.ua/aws-eks-pod-identities-zamina-irsa-sproshhuyemo-menedzhment-iam-dostupiv/) - AWS EKS - Pod Identities: нова фіча на заміну класичному IAM Roles for Service Accounts - спрощуємо управління доступом подів до ресурсів в AWS - [AWS: Amazon Q - знайомство, можливості та перші враження](https://rtfm.co.ua/aws-amazon-q-znajomstvo-mozhlivosti-ta-pershi-vrazhennya/) - Перший погляд та перші враження від Amazon Q, і трохи про Amazon Bedrock та re:Invent взагалі - [AWS: CloudWatch - Multi source query: collecting metrics from an external Prometheus](https://rtfm.co.ua/en/aws-cloudwatch-multi-source-query-collecting-metrics-from-an-external-prometheus/) - A new feature in AWS CloudWatch is Multi source query: the ability to connect external resources to collect metrics from them. - [AWS: CloudWatch - Multi source query: збираємо метрики із зовнішнього Prometheus](https://rtfm.co.ua/aws-cloudwatch-multi-source-query-zbirayemo-metriki-iz-zovnishnogo-prometheus/) - Нова фіча в AWS CloudWatch - Multi source query: можливість підключення зовнішніх ресурсів для збору з них метрик. - [AWS: Amazon Q - an overview, features, and first impressions](https://rtfm.co.ua/en/aws-amazon-q-an-overview-features-and-first-impressions/) - A first look at and first impressions of Amazon Q, and a little bit about Amazon Bedrock from the re:Invent 2023 - [AWS Elastic Kubernetes Service: RBAC Authorization via AWS IAM and RBAC Groups](https://rtfm.co.ua/en/aws-elastic-kubernetes-service-rbac-authorization-via-aws-iam-and-rbac-groups/) - Configure access to Kubernetes resources using its RBAC Groups, AWS IAM Groups, and IAM Roles - [Grafana Loki: collecting AWS LoadBalancer logs from S3 with Promtail Lambda](https://rtfm.co.ua/en/grafana-loki-collecting-aws-loadbalancer-logs-from-s3-with-promtail-lambda/) - Setting up AWS LoadBalancer logs in S3 and transferring them to Grafana Loki with Promtail Lambda - [Kubernetes: ensuring High Availability for Pods](https://rtfm.co.ua/en/kubernetes-ensuring-high-availability-for-pods/) - Setting up High Availability for Kubernetes Pods with Deployment replicas, Pod Topology Spread Constraints, PodDisruptionBudget and annotations for Karpenter - [Kubernetes: забезпечення High Availability для Pods](https://rtfm.co.ua/kubernetes-zabezpechennya-high-availability-dlya-pods/) - Налаштовуємо High Availability для Kubernetes Pods з Deployment replicas, Pod Topology Spread Constraints, PodDisruptionBudget та анотаціями для Karpenter - [Kubernetes: Liveness and Readiness Probes - Best practices](https://rtfm.co.ua/en/kubernetes-liveness-and-readiness-probes-best-practices/) - Tips for using livenessProbe, readinessProbe, and startupProbe in Kubernetes - [VictoriaMetrics: pushing metrics without Prometheus Pushgateway](https://rtfm.co.ua/en/victoriametrics-pushing-metrics-without-prometheus-pushgateway/) - Writing metrics to VictoriaMetrics from Prometheus Exporter to Kubernetes CronJob without using Prometheus Pushgateway - [Grafana Loki: збираємо логи AWS LoadBalancer з S3 за допомогою Promtail Lambda](https://rtfm.co.ua/grafana-loki-zbirayemo-logi-aws-loadbalancer-z-s3-za-dopomogoyu-promtail-lambda/) - Налаштування логів AWS LoadBalancer в S3, та передача їх в Grafana Loki з Promtail Lambda - [Kubernetes: Liveness та Readiness Probes - Best practices](https://rtfm.co.ua/kubernetes-liveness-ta-readiness-probes-best-practices/) - Поради по використанню livenessProbe, readinessProbe та startupProbe в Kubernetes - [Karpenter: the Beta version - an overview of changes, and upgrade from v0.30.0 to v0.32.1](https://rtfm.co.ua/en/karpenter-the-beta-version-an-overview-of-changes-and-upgrade-from-v0-30-0-to-v0-32-1/) - Karpenter update to the Beta: main changes, and migration of v1alpha5 => v1beta1 to EKS from Terraform and Helm - [Karpenter: Beta version - обзор змін та upgrade v0.30.0 на v0.32.1](https://rtfm.co.ua/karpenter-beta-version-obzor-zmin-ta-upgrade-v0-30-0-na-v0-32-1/) - Оновлення Karpenter до Beta version: основні зміни, і міграція v1alpha5 => v1beta1 в EKS з Terraform та Helm - [VictoriaMetrics: Exporter в CronJob та пуш метрік без Pushgatway](https://rtfm.co.ua/victoriametrics-exporter-v-cronjob-ta-push-metrik-bez-pushgatway/) - Запис метрик в VictoriaMetrics з Prometheus Exporter в Kubernetes CronJob без використання Prometheus Pushgatway - [GitHub Actions: Docker build to AWS ECR and Helm chart deployment to AWS EKS](https://rtfm.co.ua/en/github-actions-docker-build-to-aws-ecr-and-helm-chart-deployment-to-aws-eks/) - Build a Docker image and deploy a Helm chart in AWS EKS with GitHub Actions and dynamic environments - [GitHub Actions: Docker-білд в AWS ECR та деплой Helm-чарту в AWS EKS](https://rtfm.co.ua/github-actions-docker-bild-v-aws-ecr-ta-deploj-helm-chartu-v-aws-eks/) - Білд Docker-образу та деплой Helm-чарту в AWS EKS з GitHub Actions і динамічними оточеннями - [Terraform: terraform_remote_state - getting Outputs from other state-files](https://rtfm.co.ua/en/terraform-terraform_remote_state-getting-outputs-from-other-state-files/) - An example of using terraform_remote_state to import outputs from other state files - [GitHub Actions: deploying Dev/Prod environments with Terraform](https://rtfm.co.ua/en/github-actions-deploying-dev-prod-environments-with-terraform/) - An example of creating GitHub Actions Workflows for deploying Dev/Prod environments from Terraform using Composite Actions and GitHub Environments - [Terraform: building EKS, part 4 - installing controllers](https://rtfm.co.ua/en/terraform-building-eks-part-4-installing-controllers/) - Installation of Kubernetes components with Terraform - ExternalDNS, AWS Load Balancer Controller, SecretStore CSI Driver and ASCP, and add a Subscription Filter - [Terraform: створення EKS, частина 4 - установка контролерів](https://rtfm.co.ua/terraform-stvorennya-eks-chastina-4-ustanovka-kontrolleriv/) - Установка компонентів Kubernetes з Terraform - ExternalDNS, AWS Load Balancer Controller, SecretStore CSI Driver і ASCP та приклад створення Subscription Filter - [AWS: Kubernetes - інтеграція AWS Secrets Manager та Parameter Store](https://rtfm.co.ua/aws-kubernetes-integraciya-aws-secrets-manager-ta-parameter-store/) - Налаштування AWS Secrets and Configuration Provider (ASCP) та Kubernetes Secrets Store CSI Driver для Kubernetes Secrets - [Terraform: "One Ring to rule them all!" - управління бекендами проектів](https://rtfm.co.ua/terraform-one-ring-to-rule-them-all-upravlinnya-bekendami-proektiv/) - Створення ресурсів S3 та DynamoDB для state-files проектів в окремому проекті Terraform з циклами for_each та for - [Terraform: створення Lambda-функцій у VPC](https://rtfm.co.ua/terraform-stvorennya-lambda-funkcij-u-vpc/) - Створення Lambda-функції у VPC з Docker-образом Promtail для логів Grafana Loki - [Terraform: terraform_remote_state - отримання outputs інших state-файлів](https://rtfm.co.ua/terraform-terraform_remote_state-otrimannya-outputs-inshix-state-fajliv/) - Приклад використання terraform_remote_state для імпорту outputs з інших state-файлів - [GitHub Actions: деплой Dev/Prod оточень з Terraform](https://rtfm.co.ua/github-actions-deploj-dev-prod-otochen-z-terraform/) - Приклад створення GitHub Actions Workflows для деплою Dev/Prod оточень з Terraform з використанням Composite Actions та GitHub Environments - [VictoriaMetrics: VMAuth - Proxy, Authentication, and Authorization](https://rtfm.co.ua/en/victoriametrics-vmauth-proxy-authentication-and-authorization/) - Configuring VictoriaMetrics VMAuth service for users authentication and authorization to access internal Kubernetes services - [Slack: switch back to the old experience (UI and theme)](https://rtfm.co.ua/en/slack-switch-back-to-the-old-experience-ui-and-theme/) - How to set back the old Slack view - [Terraform: building EKS, part 3 - Karpenter installation](https://rtfm.co.ua/en/terraform-building-eks-part-3-karpenter-installation/) - Installing Karpenter on AWS EKS cluster with Terraform Karpenter module and configuring its Provisioner and AWSNodeTemplate - [Terraform: Building EKS, part 2 - an EKS cluster, WorkerNodes, and IAM](https://rtfm.co.ua/en/terraform-building-eks-part-2-an-eks-cluster-workernodes-and-iam/) - Creating an AWS EKS with Terraform - a cluster with the Terraform EKS module, a default WorkerNode Group, and configure IAM authentication settings - [Terraform: Building EKS, part 1 - VPC, Subnets and Endpoints](https://rtfm.co.ua/en/terraform-building-eks-part-1-vpc-subnets-and-endpoints/) - Create an AWS VPC for AWS EKS and configure VPC Subnets and Endpoints with Terraform and modules - [Terraform: цикли count, for_each та for](https://rtfm.co.ua/terraform-cikli-count-for_each-ta-for/) - Приклади використання циклів for, count та for_each в Terraform - [Terraform: створення EKS, частина 3 - установка Karpenter](https://rtfm.co.ua/terraform-stvorennya-eks-chastina-3-ustanovka-karpenter/) - Установка Karpenter в AWS EKS з Terraform модулем karpenter та налаштування Provisioner і AWSNodeTemplate - [Terraform: створення EKS, частина 2 - EKS кластер, WorkerNodes та IAM](https://rtfm.co.ua/terraform-stvorennya-eks-chastina-2-eks-klaster-workernodes-ta-iam/) - Створення EKS з Terraform - кластер з EKS module, дефолтна WorkerNodeGroup та налаштування авторизації IAM - [Terraform: count, for_each, and for loops](https://rtfm.co.ua/en/terraform-count-for_each-and-for-loops/) - Using for, count, and for_each loops in Terraform with examples - [Terraform: introduction to data types - primitives and complex](https://rtfm.co.ua/en/terraform-introduction-to-data-types-primitives-and-complex/) - Overview of data types in Terraform - string, number, bool, list/tuple, and map/set - [Terraform: dynamic remote state with AWS S3 and multiple environments by directory](https://rtfm.co.ua/en/terraform-dynamic-remote-state-with-aws-s3-and-multiple-environments-by-directory/) - Using dynamic remote state with AWS S3, and management of Dev/Prod environments from separate directories - [Terraform: remote state with AWS S3, and state locking with DynamoDB](https://rtfm.co.ua/en/terraform-remote-state-with-aws-s3-and-state-locking-with-dynamodb/) - Setting up Terraform remote state with AWS S3 and the State Locking with DynamoDB - [RTFM: How and why is this blog written?](https://rtfm.co.ua/en/rtfm-how-and-why-is-this-blog-written/) - How and why is RTFM.CO.UA is written, and how and why is it worth running your own IT blog in general? - [RTFM: як і для чього пишеться цей блог?](https://rtfm.co.ua/rtfm-yak-i-dlya-chogo-pishetsya-cej-blog/) - Як і для чого ведеться RTFM, і як і для чого взагалі варто вести власний блог? - [Terraform: створення EKS, частина 1 - VPC, Subnets та Endpoints](https://rtfm.co.ua/terraform-stvorennya-eks-chastina-1-vpc-subnets-ta-endpoints/) - Створення AWS VPC для AWS EKS і налаштування VPC Subnets та Endpoints з Terraform та модулями - [Terraform: знайомство з типами даних - primitives та complex](https://rtfm.co.ua/terraform-znajomstvo-z-tipami-danix-primitives-ta-complex/) - Огляд типів даних в Terraform - string, number, bool та list/tuple і map/set - [Terraform: динамічний remote state з AWS S3 та multiple environments по директоріям](https://rtfm.co.ua/terraform-dinamichnij-remote-state-z-aws-s3-ta-multiple-environments-po-direktoriyam/) - Створення динамічного remote state з AWS S3 та управління Dev/Prod оточеннями з окремих директорій - [RTFM: День народження - 12 років. Що нового?](https://rtfm.co.ua/rtfm-den-narodzhennya-12-rokiv-shho-novogo/) - 12 років блогу. Трохи історії блогу, про його сьогодення, та пару слів про автора. - [Terraform: remote state з AWS S3 та state locking з DynamoDB](https://rtfm.co.ua/terraform-remote-state-z-aws-s3-ta-state-locking-z-dynamodb/) - Налаштування Terraform remote state з AWS S3 та State Locking з DynamoDB - [Grafana Loki: performance optimization with Recording Rules, caching, and parallel queries](https://rtfm.co.ua/en/grafana-loki-performance-optimization-with-recording-rules-caching-and-parallel-queries/) - Improve the performance and CPU/Memory resources usage by Grafana Loki components with Recording Rules and caching - [AWS: Getting started with Karpenter for autoscaling in EKS, and its installation with Helm](https://rtfm.co.ua/en/aws-getting-started-with-karpenter-for-autoscaling-in-eks-and-its-installation-with-helm/) - Getting started with the Karpenter, its features, compare it with the Cluster Autoscaler, and install Karpenter with the Helm chart - [Grafana: values ​​from records in Loki logs, and dual-Y-axes panels in Grafana](https://rtfm.co.ua/en/grafana-values-from-records-in-loki-logs-and-dual-y-axes-panels-in-grafana/) - Creating metrics from Grafana Loki logs, and configuring Grafana panels with two Y-axes - an example - [AWS: Grafana Loki, InterZone traffic in AWS, and Kubernetes nodeAffinity](https://rtfm.co.ua/en/aws-grafana-loki-interzone-traffic-in-aws-and-kubernetes-nodeaffinity/) - Large InterZone traffic in AWS, VPC Flow Logs, and Kubernetes nodeAffinity config for Pods - [AWS: знайомство з Karpenter для автоскейлінгу в EKS, та встановлення з Helm-чарту](https://rtfm.co.ua/aws-znajomstvo-z-karpenter-dlya-avtoskejlingu-v-eks-ta-vstanovlennya-z-helm-chartu/) - Знайомство з Karpenter, його можливостями, порівняння з Cluster Autoscaler, встановлення з Helm-чарту та налаштування Karpenter Provisioner - [Kubernetes: Pods та WorkerNodes - контроль розміщення подів на нодах](https://rtfm.co.ua/kubernetes-pods-ta-workernodes-kontrol-rozmishhennya-podiv-na-nodax/) - Контроль розташування Kubernetes Pods по його WorkerNodes з Tains/Tolerations, nodeSelector, Pod і Node Affinity, та з Pod Topology Spread Constraints - [Grafana: values з записів в логах Loki, та dual-Y-axes графіки в Grafana](https://rtfm.co.ua/grafana-values-z-zapisiv-v-logax-loki-ta-dual-y-axes-grafiki-v-grafana/) - Приклад створення метрик з логів Grafana Loki, та налаштування Grafana графіку з двома Y-axes - [Helm: multiple деплой одного чарта з Chart's dependency](https://rtfm.co.ua/helm-multiple-deploj-odnogo-charta-z-charts-dependency/) - Приклад встановлення декількох релізів одного чарту з subcharts - [Підготовка до зими 2023-2024: електрохарчування](https://rtfm.co.ua/pidgotovka-do-zimi-2023-2024-elektroxarchuvannya/) - Готуймось до зими: розбираємось з вольтами-амперами-ватами, та рахуємо свою автономність при блекаутах - [Grafana Loki: оптимізація роботи - Recording Rules, кешування та паралельні запити](https://rtfm.co.ua/grafana-loki-optimizaciya-roboti-recording-rules-keshuvannya-ta-paralelni-zapiti/) - Пришвидшуємо роботу компнентів Grafana Loki з Recording Rules та кешуванням - [AWS: Grafana Loki, InterZone трафік в AWS, та Kubernetes nodeAffinity](https://rtfm.co.ua/aws-grafana-loki-interzone-trafik-v-aws-ta-kubernetes-nodeaffinity/) - Великий InterZone трафік в AWS, VPC Flow Logs та налаштування Kubernetes nodeAffinity для Pods - [Arch Linux: failed to mount on real root](https://rtfm.co.ua/en/arch-linux-failed-to-mount-on-real-root-2/) - Fix the "device UUID not found" and "Failed to mount UUID on real root" errors on Arch Linux - [Arch Linux: failed to mount on real root](https://rtfm.co.ua/arch-linux-failed-to-mount-on-real-root/) - Виправлення помилки "device UUID not found" та "Failed to mount UUID on real root" на Arch Linux - [VictoriaMetrics: deploying a Kubernetes monitoring stack](https://rtfm.co.ua/en/victoriametrics-deploying-a-kubernetes-monitoring-stack/) - Victoria Metrics Kubernetes monitoring stack installation, exporters configuration, adding VMAgent, Grafana, Loki, and alerts with VMAlert - [VictoriaMetrics: створення Kubernetes monitoring stack з власним Helm-чартом](https://rtfm.co.ua/victoriametrics-stvorennya-kubernetes-monitoring-stack-z-vlasnim-helm-chartom/) - Cтворення Victoria Metrics Kubernetes monitoring stack, налаштування експортерів, VMAgent, Grafana, Loki та алертів з VMAlert - [AWS: CDK and Python - installing EBS CSI driver Add-On on EKS](https://rtfm.co.ua/en/aws-cdk-and-python-installing-ebs-csi-driver-add-on-on-eks/) - Installing EBS CSI Driver Add-On on an AWS Elastic Kubernetes Service cluster with AWS CDK, Python and CfnAddon - [AWS: Kubernetes - AWS Secrets Manager and Parameter Store integration](https://rtfm.co.ua/en/aws-kubernetes-aws-secrets-manager-and-parameter-store-integration/) - Configuring AWS Secrets and Configuration Provider (ASCP) and Kubernetes Secrets Store CSI Driver for Kubernetes Secrets - [AWS: CDK and Python - configure an IAM OIDC Provider, and install Kubernetes Controllers](https://rtfm.co.ua/en/aws-cdk-and-python-configure-an-iam-oidc-provider-and-install-kubernetes-controllers/) - Working with AWS CDK and Python - creating an IAM OIDC Provider for AWS EKS, and installing Kubernetes Controllers - ExternalDNS and AWS ALB Controller - [AWS: CDK and Python - building an EKS cluster, and general impressions of CDK](https://rtfm.co.ua/en/aws-cdk-and-python-building-an-eks-cluster-and-general-impressions-of-cdk/) - Creating an AWS VPC and AWS Elastic Kubernetes Service with AWS CDK and Python. Comparison with Terraform and general impressions. - [AWS: CDK підключення EBS CSI driver Add-On до EKS](https://rtfm.co.ua/aws-cdk-pidklyuchennya-ebs-csi-driver-add-on-do-eks/) - Підключення EBS CSI Driver Add-On до AWS Elastic Kubernetes Service з AWS CDK, Python та CfnAddon - [AWS: CDK та Python, IAM OIDC Provider, та Kubernetes Controllers](https://rtfm.co.ua/aws-cdk-ta-python-iam-oidc-provider-ta-kubernetes-controllers/) - Робота з AWS CDK та Python - створення IAM OIDC Provider для AWS EKS, та встановлення Kubernetes Controllers - ExternalDNS та AWS ALB Controller - [AWS Elastic Kubernetes Service: запуск ALB Ingress controller](https://rtfm.co.ua/ru/kubernetes-zapusk-alb-ingress-controller-dlya-aws-elastic-kubernetes-service/) - Пример запуска ALB Ingress controller для AWS Elastic Kubernetes Service - [AWS: EKS, OpenID Connect, and ServiceAccounts](https://rtfm.co.ua/en/aws-eks-openid-connect-and-serviceaccounts/) - How do AWS IAM Roles for Kubernetes ServiceAccounts (IRSA) work, and what role does the OpenID Identity Provider play in AWS Elastic Kubernetes Service and AWS IAM - [AWS: EKS, OpenID Connect та ServiceAccounts](https://rtfm.co.ua/aws-eks-openid-connect-ta-serviceaccounts/) - Як працює AWS IAM Roles для Kubernetes ServiceAccounts (IRSA), то яку роль грає OpenID Identity Provider в AWS Elastic Kubernetes Service та AWS IAM - [AWS: CDK - створення EKS з Python та загальні враження від CDK](https://rtfm.co.ua/aws-cdk-stvorennya-eks-z-python-ta-zagalni-vrazhennya-vid-cdk/) - Продовження знайомства з AWS CDK - створення VPC та EKS. Порівняння з Terraform та загальні враження - [Prometheus: GitHub Exporter - creating own exporter for GitHub API](https://rtfm.co.ua/en/prometheus-github-exporter-creating-own-exporter-for-github-api/) - Development of own Prometheus Exporter in Python to receive data from GitHub API and create Grafana dashboard - [VictoriaMetrics: знайомство та використання замість Prometheus](https://rtfm.co.ua/victoriametrics-znajomstvo-ta-vikoristannya-zamist-prometheus/) - Знайомство з VictoriaMetrics - основні можливості, трохи порівняння з Prometheus, Grafana та алерти з vmalert, приклад шаблону повідомлень у Slack для Alertmanager. - [Prometheus: GitHub Exporter - пишемо власний експортер для GitHub API](https://rtfm.co.ua/prometheus-github-exporter-pishemo-vlasnij-eksporter-dlya-github-api/) - Розробка власного Prometheus Exporter на Python для отримання даних з GitHub API та створення Grafana dashboard - [Terraform: planning a new project with Dev/Prod environments](https://rtfm.co.ua/en/terraform-planning-a-new-project-with-dev-prod-environments/) - Planning Terraform project: its bootstrap with the creation of an AWS S3 bucket for state files, and working with several project environments through modules - [Loki: collecting logs from CloudWatch Logs using Lambda Promtail](https://rtfm.co.ua/en/loki-collecting-logs-from-cloudwatch-logs-using-lambda-promtail/) - An example of using Lambda Promtail to retrieve logs from AWS CloudWatch Logs in Grafana Loki - [Terraform: початок роботи та планування нового проекту - Dev/Prod та bootsrap](https://rtfm.co.ua/terraform-pochatok-roboti-ta-planuvannya-novogo-proektu-dev-prod-ta-bootsrap/) - Планування Terraform - bootsrap зі створенням корзини для state-файлів, і робота з декількома оточеннями проекту через модулі - [Loki: збір логів з CloudWatch Logs з використанням Lambda Promtail](https://rtfm.co.ua/loki-zbir-logiv-z-cloudwatch-logs-z-vikoristannyam-lambda-promtail/) - Приклад використання Lambda Promtail для отримання логів з AWS CloudWatch Logs у Grafana Loki - [AWS: CDK - an overview, and Python examples](https://rtfm.co.ua/en/aws-cdk-an-onverview-and-python-examples/) - Introduction to the AWS Cloud Development Kit, and examples with Python of how to get started. - [AWS: CDK - знайомство та приклади на Python](https://rtfm.co.ua/aws-cdk-znajomstvo-ta-prikladi-na-python/) - Знайомство з AWS Cloud Development Kit і Python, та приклади початку роботи. - [AWS: Fargate - capabilities, comparison with Lambda/EC2 and usage with AWS EKS](https://rtfm.co.ua/en/aws-fargate-capabilities-comparison-with-lambda-ec2-and-usage-with-aws-eks/) - Getting to know AWS Fargate: pros and cons, comparison with AWS Lambda and EKS NodeGroups, creating an AWS EKS cluster, and running Kubernetes Pods in AWS Fargate - [AWS: Fargate - можливості, порівняння з Lambda/EC2 та використання з AWS EKS](https://rtfm.co.ua/aws-fargate-mozhlivosti-porivnyannya-z-lambda-ec2-ta-vikoristannya-z-aws-eks/) - Знайомство з AWS Fargate - плюси та мінуси, порівняння з AWS Lambda та EKS NodeGroups, створення AWS EKS кластеру та запуск Kubernetes-подів у AWS Fargate - [Kubernetes: vertical Pods scaling with Vertical Pod Autoscaler](https://rtfm.co.ua/en/kubernetes-vertical-pod-scaling-with-vertical-pod-autoscaler/) - Running the Kubernetes Vertical Pod Autoscaler in Minikube, and its available settings - [Kubernetes: вертикальний скейлінг подів з Vertical Pod Autoscaler](https://rtfm.co.ua/kubernetes-vertikalnij-skejling-podiv-z-vertical-pod-autoscaler/) - Запуск Kubernetes Vertical Pod Autoscaler у Minikube, та опис доступних налаштувань - [Prometheus: running Pushgateway on Kubernetes with Helm and Terraform](https://rtfm.co.ua/en/prometheus-running-pushgateway-on-kubernetes-with-helm-and-terraform/) - An example of running Prometheus Pushgateway on Kubernetes using Helm and Terraform to get metrics from AWS Lambda - [Prometheus: запуск Pushgateway у Kubernetes з Helm та Terraform](https://rtfm.co.ua/prometheus-zapusk-pushgateway-u-kubernetes-z-helm-ta-terraform/) - Приклад запуску Prometheus Pushgateway у Kubernetes за допомогою Helm та Terraform для отримання метрик з AWS Lambda - [GitLab: gitlab-shell timeouts, and /metrics Connection refused](https://rtfm.co.ua/en/gitlab-gitlab-shell-timeouts-and-metrics-connection-refused-2/) - Fixing long git pull/push issues in GitLab, and GitLab Shell metrics - [AWS: security - Instance Metadata Service v1 vs IMDS v2, Kubernetes Pod and Docker containers](https://rtfm.co.ua/en/aws-security-instance-metadata-service-v1-vs-imds-v2-kubernetes-pod-and-docker-containers/) - An example of working with AWS EC2 Instance Metadata Service v1 and v2. Access from Kubernetes and Docker - [GitLab: gitlab-shell timeouts та /metrics Connection refused](https://rtfm.co.ua/gitlab-gitlab-shell-timeouts-ta-metrics-connection-refused/) - Вирішення проблеми з довгими git pull/push у GitLab, та метриками GitLab Shell - [AWS: Instance Metadata Service v1 vs IMDS v2 та робота з Kubernetes Pod і Docker контейнерів](https://rtfm.co.ua/aws-instance-metadata-service-v1-vs-imds-v2-ta-robota-z-kubernetes-pod-i-docker-kontejneriv/) - Приклад роботи з AWS EC2 Instance Metadata Service v1 та v2. Доступ з Kubernetes та Docker. - [Knative: Serverless for Kubernetes - an overview and launch in Minikube](https://rtfm.co.ua/en/knative-serverless-for-kubernetes-an-overview-and-launch-in-minikube/) - What is Serverless and Knative overview - a system for implementing Serverless in Kubernetes: components and working with Knative Eventing - [Knative: Serverless для Kubernetes - огляд можливостей та запуск у Minikube](https://rtfm.co.ua/knative-serverless-dlya-kubernetes-oglyad-mozhlivostej-ta-zapusk-u-minikube/) - Що таке Serverless, та огляд Knative - системи для реалізації Serverless у Kubernetes: компоненти та робота з Knative Eventing - [GitLab: monitoring – Prometheus, metrics, and Grafana dashboard](https://rtfm.co.ua/en/gitlab-monitoring-prometheus-metrics-and-grafana-dashboard/) - Configuring monitoring of a self-hosted GitLab - Prometheus Federation, available metrics, and building your own Grafana dashboard - [Grafana Loki: LogQL for logs and creating metrics for alerts](https://rtfm.co.ua/en/draft-grafana-loki-logql-for-logs-and-creating-metrics-for-alerts/) - Grafana Loki interface and examples of working with logs with LogQL using filters, tags, and metrics - [Grafana Loki: alerts from the Loki Ruler and labels from logs](https://rtfm.co.ua/en/grafana-loki-alerts-from-the-loki-ruler-and-labels-from-logs/) - An example of creating alerts in Grafana Loki through the Loki Ruler, and adding new labels to logs and alerts - [GitLab: моніторинг - Prometheus, метрики, та Grafana dashboard](https://rtfm.co.ua/gitlab-monitoring-prometheus-metriki-ta-grafana-dashboard/) - Налаштування моніторингу self-hosted GitLab - Prometheus, доступні метрики, та створення власної Grafana dashboard - [GitLab: міграція даних з GitLab cloud та процес backup-restore у self-hosted версії в Kubernetes](https://rtfm.co.ua/gitlab-migraciya-danix-z-gitlab-cloud-ta-proces-backup-restore-u-self-hosted-versiї-v-kubernetes/) - Коротко про міграцію даних з GitLab Cloud до GitLab self-hosted, та детально про роботу з GitLab backup-utility для створення backup і відновлення даних - [Prometheus: Building a Custom Prometheus Exporter in Python](https://rtfm.co.ua/en/prometheus-building-a-custom-prometheus-exporter-in-python/) - Examples of writing Custom Prometheus Exporter on Python, and launching such an exporter in the Kube Prometheus Stack - [Kubernetes: збільшення Persistent Volume з PersistentVolumeClaim та volumeClaimTemplates](https://rtfm.co.ua/kubernetes-zbilshennya-persistent-volume-z-persistentvolumeclaim-ta-volumeclaimtemplates/) - Розширення Persistent Volume в Kubernetes зі звичайним PersistentVolumeClaim та volumeClaimTemplates із StatefulSet - [Prometheus: створення Custom Prometheus Exporter на Python](https://rtfm.co.ua/prometheus-stvorennya-custom-prometheus-exporter-na-python/) - Приклади написання Custom Prometheus Exporter на Python, та запуск такого експортеру в Kube Prometheus Stack - [GitLab: Helm-чарт values, залежності та деплой у Kubernetes з AWS S3](https://rtfm.co.ua/gitlab-helm-chart-values-zalezhnosti-ta-deploj-u-kubernetes-z-aws-s3/) - GitLab Helm-чарт, структура його залежностей, створення зовнішніх ресурсів та деплой в AWS Elastic Kubernetes Service з корзинами AWS S3 - [GitLab: Components, Architecture, Infrastructure, and Launching from the Helm Chart in Minikube](https://rtfm.co.ua/en/gitlab-components-architecture-infrastructure-and-launching-from-the-helm-chart-in-minikube/) - Preparing for the launch of the self-hosted GitLab - its architecture overview, infrastructure planning, GitLab Operator vs Helm chart, and launch with Minikube - [GitLab: компоненты, архитектура, инфраструктура и запуск из Helm-чарта в Minikube](https://rtfm.co.ua/ru/gitlab-komponenty-arxitektura-infrastruktura-i-zapusk-iz-helm-charta-v-minikube/) - Подготовка к запуску self-hosted GitLab - обзор архитектуры, планирование инфрастуктуры, GitLab Operator vs Helm chart и запуск в Minikube - [GitLab: компоненти, архітектура, інфраструктура та запуск з Helm-чарту в Minikube](https://rtfm.co.ua/gitlab-komponenti-arxitektura-infrastruktura-ta-zapusk-z-helm-chartu-v-minikube/) - Підготовка до запуску self-hosted GitLab - огляд архітектури, планування інфраструктури, GitLab Operator vs Helm chart та запуск у Minikube - [GitLab: Helm chart of values, dependencies, and deployment in Kubernetes with AWS S3](https://rtfm.co.ua/en/gitlab-helm-chart-of-values-dependencies-and-deployment-in-kubernetes-with-aws-s3/) - The GitLab Helm chart overview, the structure of its dependencies, creation of external resources, and deployment in AWS Elastic Kubernetes Service with AWS S3 buckets - [GitLab: Helm-чарт values, зависимости и деплой в Kubernetes с AWS S3](https://rtfm.co.ua/ru/gitlab-helm-chart-values-zavisimosti-i-deploj-v-kubernetes-s-aws-s3/) - Обзор values GitLab Helm-чарта, структура его зависимостей, создание внешних ресурсов и деплой в AWS Elastic Kubernetes Service с корзинами AWS S3 - [BASH: позиционные и специальные аргументы](https://rtfm.co.ua/ru/bash-pozicionnye-i-specialnye-parametry/) - В BASH shell имеется три типа аргументов - позиционные, специальные и переменные. Тут мы рассмотрим первые два. Позиционные параметры Позиционные аргументы - это аргументы командой строки (или функции в скрипте), доступ к которые осуществляется по номеру. Рассмотрим такой пример: #!/usr/bin/env bash echo $1 $2 $3 И пример его выполнения: [simterm] $ ./param1 one two three - [BASH: переменные - передача значений по-умолчанию ${var:-defaultvalue}, замена значений - ${var:+alternatevalue} и сообщений - ${var:?message}](https://rtfm.co.ua/ru/bash-peremennye-peredacha-znachenij-po-umolchaniyu-var-defaultvalue-zamena-znachenij-varalternatevalue-i-soobshhenij-varmessage/) - Использование значений по-умолчанию в переменных - ${var:-defaltvalue} и ${var-defaltvalue} Конструкция ${var:-defaltvalue} позволяет выполнять проверку - имеется ли значение у переменной, и задана ли переменная вообще. Если нет - то будет присвоено значение "defaltvalue". Примеры: [simterm] $ var=var $ echo ${var:-defaltvalue} var [/simterm] Удалим значение перемеренной: [simterm] $ var= $ echo ${var:-defaltvalue} defaultvalue [/simterm] Допустимо использование - [Kubernetes: Cluster Cost Monitoring - Kubernetes Resource Report and Kubecost](https://rtfm.co.ua/en/kubernetes-cluster-cost-monitoring-kubernetes-resource-report-and-kubecost/) - An overview of the Kubernetes Resource Report and Kubecost utilities for monitoring the cost of a Kubernetes cluster - [Kubernetes: мониторинг стоимости кластера - Kubernetes Resource Report и Kubecost](https://rtfm.co.ua/ru/kubernetes-monitoring-stoimosti-klastera-kubernetes-resource-report-i-kubecost/) - Обзор утилит Kubernetes Resource Report и Kubecost для мониторинга стоимости Kubernetes-кластера - [Kubernetes: моніторинг вартості кластеру - Kubernetes Resource Report та Kubecost](https://rtfm.co.ua/kubernetes-monitoring-vartosti-klasteru-kubernetes-resource-report-ta-kubecost/) - Огляд утиліт Kubernetes Resource Report та Kubecost для моніторингу вартості Kubernetes-кластера - [Grafana Loki: можливості LogQL для роботи з логами та створення метрик для алертів](https://rtfm.co.ua/grafana-loki-mozhlivosti-logql-dlya-roboti-z-logami-ta-stvorennya-metrik-dlya-alertiv/) - Інтерфейс Grafana Loki та приклади роботи з логами з LogQL - фільтри, теги, метрики - [Kustomize: робота з маніфестами Kubernetes - огляд, приклади](https://rtfm.co.ua/kustomize-robota-z-manifestami-kubernetes-oglyad-prikladi/) - Огляд Kustomize для роботи з маніфестами Kubernetes. Приклади можливостей та робота з Helm. - [Kustomize: управление манифестами Kubernetes - обзор, примеры](https://rtfm.co.ua/ru/kustomize-upravlenie-manifestami-kubernetes-obzor-primery/) - Обзор Kustomize для управления манифестами Kubernetes. Примеры возможностей и работа с Helm. - [BASH: using loops - for, while, until, with examples](https://rtfm.co.ua/en/bash-using-loops-for-while-until-with-examples/) - How to use Bash loops: for, while, until, will examples and explanations - [BASH: using functions, with examples](https://rtfm.co.ua/en/bash-using-functions-with-examples/) - BASH - Bourne Again Shell: Functions - arguments, variables, local variables, recursive functions, and function exports. Examples. - [BASH: використання функцій, приклади](https://rtfm.co.ua/bash-vikoristannya-funkcij-prikladi/) - BASH - Bourne Again Shell та функції: аргументи, змінні, локальні змінні, рекурсивні функції та експорт функцій. Приклади. - [BASH: використання циклів FOR, WHILE, UNTIL - приклади](https://rtfm.co.ua/bash-vikoristannya-cikliv-for-while-until-prikladi/) - Як використовувати цикли в Bash: FOR, WHILE, UNTIL. Приклади та пояснення. - [BASH: использование функций, примеры](https://rtfm.co.ua/ru/bash-ispolzovanie-funkcij-primery/) - BASH - Bourne Again Shell и функции: аргументы, переменные, локальные переменные, рекурсивные функции и экспорт функций. Примеры. - [MySQL/MariaDB: most used commands with examples](https://rtfm.co.ua/en/mysql-mariadb-most-used-commands-with-examples/) - MySQL and MariaDB CLI guide: databases, tables, users, permissions - how to add, modify, and delete objects. Working with records - SHOW, DESCRIBE, SELECT, DROP commands. - [Підготовка до зими 2022-2023: інтернет, електрика, опалення, їжа та вода](https://rtfm.co.ua/pidgotovka-do-zimi-2022-2023-internet-elektrika-opalennya-їzha-ta-voda/) - Як я готувався до цієй зими: інтернет, павербанки, акумулятори (безпека!), їжа, вода. Що, де і як брав. - [Grafana Loki: architecture and running in Kubernetes with AWS S3 storage and boltdb-shipper](https://rtfm.co.ua/en/grafana-loki-architecture-and-running-in-kubernetes-with-aws-s3-storage-and-boltdb-shipper/) - Grafana Loki logging system architecture and components, its setup in Kubernetes from the Helm chart with AWS S3 as Single Store and boltdb-shipper for indexes. - [Grafana Loki: алерти з Ruler та labels з логів](https://rtfm.co.ua/grafana-loki-alerty-z-ruler-ta-labels-z-logiv/) - Приклад створення алертів у Loki через Loki Ruler та додавання нових labels до логів та алертів - [Grafana Loki: alerts from Ruler and labels from logs](https://rtfm.co.ua/en/grafana-loki-alerti-z-ruler-ta-labels-z-logiv/) - An example of creating alerts in Grafana Loki through Loki Ruler and adding new labels to logs and alerts - [Grafana Loki: архітектура та запуск в Kubernetes з AWS S3 storage та boltdb-shipper](https://rtfm.co.ua/grafana-loki-arxitektura-ta-zapusk-v-kubernetes-z-aws-s3-storage-ta-boltdb-shipper/) - Архітектура системи логування Grafana Loki та її запуск в Kubernetes з Helm-чарту з AWS S3 в ролі Single Store та boltdb-shipper для індексів. - [Grafana Loki: алерты с Ruler и labels из логов](https://rtfm.co.ua/ru/grafana-loki-alerty-s-ruler-i-labels-iz-logov/) - Пример создания алертов в Loki через Loki Ruler и добавление новых labels к логам и алертам - [Terraform: modules, Outputs, and Variables](https://rtfm.co.ua/en/terraform-modules-outputs-and-variables/) - A simple examples of working with modules, variables, and outputs in Terraform - [Kubernetes: ServiceAccount from AWS IAM Role for Kubernetes Pod](https://rtfm.co.ua/en/kubernetes-serviceaccount-z-aws-iam-role-dlya-kubernetes-pod-2/) - Connecting an AWS IAM Role to a Kubernetes Pod via ServiceAccount for AWS S3 bucket permissions - [Kubernetes: ServiceAccount з AWS IAM Role для Kubernetes Pod](https://rtfm.co.ua/kubernetes-serviceaccount-z-aws-iam-role-dlya-kubernetes-pod/) - Підключення AWS IAM Role до Kubernetes Pod через ServiceAccount - [Prometheus: Kubernetes endpoints monitoring with blackbox-exporter](https://rtfm.co.ua/en/prometheus-kubernetes-endpoints-monitoring-with-blackbox-exporter/) - An example of working with Blackbox Exporter for Prometheus in Kubernetes: launch from a Helm chart, monitoring with ServiceMonitors, and the exporter's modules - [Prometheus: моніторинг ендпоінтів в Kubernetes з blackbox-exporter](https://rtfm.co.ua/prometheus-monitoring-endpointiv-v-kubernetes-z-blackbox-exporter/) - Приклад роботи с Blackbox Exporter для Prometheus - запуск з Helm-чарту, моніторинг з ServiceMonitors, та модулі - [Terraform: модулі, Outputs та Variables](https://rtfm.co.ua/terraform-moduli-outputs-ta-variables/) - Простий приклад роботи з модулями та змінними і outputs в Terraform - [Linux: збереження заряду батареї ноутбуку](https://rtfm.co.ua/linux-zberezhennya-zaryadu-batareї-noutbuku/) - Корисні утіліти в Linux для налаштувань економії батареї ноутбуку - [Networking: when there is no power - ZTE 4G modem + external antenna](https://rtfm.co.ua/en/networking-when-there-is-no-power-zte-4g-modem-external-antenna/) - Setting up a 4G ZTE modem with an external antenna for stable communication during power outages - [Linux: saving laptop's battery energy](https://rtfm.co.ua/en/linux-saving-laptops-battery-energy/) - Useful Linux utilities for laptop battery saving settings - [Networking: коли немає світла - модем 4G ZTE + зовнішня антена](https://rtfm.co.ua/networking-koli-nemaye-svitla-modem-4g-zte-zovnishnya-antena/) - Налаштування 4G ZTE модему із зовнішньою антеною для стабільного звя'зку під час відключення світла - [ФОП: податки для нубасів, ч3 - сплата податків ЄП та ЄСВ](https://rtfm.co.ua/fop-podatki-dlya-nubasiv-ch3-splata-podatkiv-yep-ta-yesv/) - Огляд податків для 3-ої групи ФОП в Україні. Реквізити, сума податків та ії сплата через Monobank в Кабінеті Бухгалтера - [Google: прибрати сайти з .RU із результатів пошуку](https://rtfm.co.ua/google-pribrati-sajti-z-ru-iz-rezultativ-poshuku/) - Способи прибрати россійскі сайти із результатів пошуку в Google - [Linux: утилита sar - описание, примеры](https://rtfm.co.ua/ru/linux-utilita-sar-opisanie-primery/) - sar - еще одна популярная утилита для мониторинга производительности системы. Входит в пакет sysstat, в которую так же включены: sar: сбор информации об активности системы; iostat: отчеты об использовании CPU и статистика I/O; mpstat: глобальная статистистика и отчеты по каждому процессу; pidstat: отчеты по процессам в Linux; sadf: отображение информации от sar в различных форматах; - [Pritunl: running VPN in Kubernetes](https://rtfm.co.ua/en/pritunl-running-vpn-in-kubernetes/) - Run and initial setup of Pritunl VPN on Kubernetes in Minikube - [Pritunl: запуск VPN в Kubernetes](https://rtfm.co.ua/pritunl-zapusk-vpn-v-kubernetes-2/) - Запуск та налаштування Pritunl VPN у Kubernetes в Minikube - [Pritunl: запуск VPN в Kubernetes](https://rtfm.co.ua/ru/pritunl-zapusk-vpn-v-kubernetes/) - Запуск и первоначальная настройка Pritunl VPN в Kubernetes в Minikube - [Apache Druid: PostgreSQL as Metadata storage, and replace ZooKeeper with Kubernetes Extensions](https://rtfm.co.ua/en/apache-druid-postgresql-as-metadata-storage-and-replace-zookeeper-with-kubernetes-extensions/) - Upgrading Apache Druid to use PostgreSQL as metadata storage, and replace ZooKeeper with Kubernetes Extensions - [Kubernetes: Minikube, и LoadBalancer в статусе Pending](https://rtfm.co.ua/ru/kubernetes-minikube-i-loadbalancer-v-statuse-pending/) - Проблема с LoadBalancer в статусе "Pending" при использовании Minikube и варианты решения - [Kubernetes: Minikube, and a LoadBalancer in the Pending status](https://rtfm.co.ua/en/kubernetes-minikube-and-a-loadbalancer-in-the-pending-status/) - Problem with LoadBalancer in "Pending" status when using Minikube and solutions - [Apache Druid: PostgreSQL в роли metadata storage и замена ZooKeeper на Kubernetes extensions](https://rtfm.co.ua/ru/apache-druid-postgresql-v-roli-metadata-storage-i-zamena-zookeeper-na-kubernetes-extensions/) - Настройка Apache Druid на работу с PostgreSQL в роли metadata storage и замена ZooKeeper на Kubernetes Extensions - [PostgreSQL: запуск в Kubernetes з PostgreSQL Operator и мониторинг с Prometheus](https://rtfm.co.ua/ru/rudraft-postgresql-zapusk-v-kubernetes-z-postgresql-operator-ta-monitoring-z-prometheus/) - Пример запуска PostgreSQL кластера в Kubernetes из PostgreSQL Operator и его мониторинг из Prometheus PostgreSQL Exporter - [PostgreSQL: запуск в Kubernetes з PostgreSQL Operator та моніторинг з Prometheus](https://rtfm.co.ua/postgresql-zapusk-v-kubernetes-z-postgresql-operator-ta-monitoring-z-prometheus/) - Приклад запуску PostgreSQL кластеру в Kubernetes з PostgreSQL Operator та його моніторинг з Prometheus PostgreSQL Exporter - [Kubernetes: Minikube, та LoadBalancer в статусі "Pending"](https://rtfm.co.ua/kubernetes-minikube-ta-loadbalancer-v-statusi-pending/) - Проблема з LoadBalancer в статусі "Pending" при використанні Minikube, та варіанти рішення - [ФОП: податки для нубасів, ч2 - "ІТ- Експорт - документи до надходження"](https://rtfm.co.ua/fop-podatki-dlya-nubasiv-ch2-it-eksport-dokumenti-do-nadxodzhennya/) - Документи, потрібні для отримання оплати послуг ФОП - [PostgreSQL: PostgreSQL Operator for Kubernetes, and its Prometheus monitoring](https://rtfm.co.ua/en/postgresql-postgresql-operator-for-kubernetes-and-its-prometheus-monitoring/) - An example of running a PostgreSQL cluster in Kubernetes with PostgreSQL Operator and configuring its monitoring with the Prometheus PostgreSQL Exporter - [Apache Druid: PostgreSQL в ролі metadata storage, та заміна ZooKeeper на Kubernetes Extensions](https://rtfm.co.ua/apache-druid-postgresql-v-roli-metadata-storage-ta-zamina-zookeeper-na-kubernetes-extensions/) - Налаштування Apache Druid на роботу з PostgreSQL в ролі metadata storage, та заміна ZooKeeper на Kubernetes Extensions - [ФОП: податки для нубасів, ч1 - вступ та відкриття рахунків Моно](https://rtfm.co.ua/fop-podatki-dlya-nubasiv-ch1-vstup-ta-vidkrittya-raxunkiv-mono/) - ФОП в Україні, та відкриття ФОП рахунків в гривні та долларах в Монобанку - [Apache Druid: огляд, запуск в Kubernetes та моніторинг з Prometheus](https://rtfm.co.ua/apache-druid-oglyad-zapusk-v-kubernetes-ta-monitoring-z-prometheus/) - Огляд бази даних Apache Druid, запуск кластера Druid у Kubernetes, та налаштування моніторингу з Prometheus та Druid Exporter. - [Apache Druid: overview, running in Kubernetes and monitoring with Prometheus](https://rtfm.co.ua/en/apache-druid-overview-running-in-kubernetes-and-monitoring-with-prometheus/) - Apache Druid database overview, running a Druid cluster in Kubernetes and setting up monitoring with Prometheus and Druid Exporter. - [Apache Druid: обзор, запуск в Kubernetes и мониторинг с Prometheus](https://rtfm.co.ua/ru/apache-druid-obzor-zapusk-v-kubernetes-i-monitoring-s-prometheus/) - Обзор базы данных Apache Druid, запуск кластера Druid в Kubernetes, и настройка мониторинга с Prometheus и Druid Exporter. - [AWS: VPC Flow Logs - an overview and example with CloudWatch Logs Insights](https://rtfm.co.ua/en/aws-vpc-flow-logs-an-overview-and-example-with-cloudwatch-logs-insights/) - An overview of VPC Flow Logs features. Flow Logs Custom Format and CloudWatch Logs Insights examples. - [AWS: VPC Flow Logs - знайомство та аналітика з CloudWatch Logs Insights](https://rtfm.co.ua/aws-vpc-flow-logs-znajomstvo-ta-priklad-analitiki-z-cloudwatch-logs-insights/) - Огляд можливостей AWS VPC Flow Logs. Робота з Flow Logs Custom Format та CloudWatch Logs Insights - [AWS: VPC Flow Logs - описание и пример с CloudWatch Logs Insights](https://rtfm.co.ua/ru/aws-vpc-flow-logs-opisanie-i-primer-s-cloudwatch-logs-insights/) - Обзор возможностей VPC Flow Logs. Работа с Flow Logs Custom Format и CloudWatch Logs Insights - [Arch Linux: pacman - error "HTTP server doesn't seem to support byte ranges"](https://rtfm.co.ua/en/arch-linux-pacman-error-http-server-doesnt-seem-to-support-byte-ranges/) - The cause and solution of the "HTTP server doesn't seem to support byte ranges" error during Arch Linux upgrades - [Arch Linux: pacman - ошибка "HTTP server doesn't seem to support byte ranges"](https://rtfm.co.ua/ru/arch-linux-pacman-oshibka-http-server-doesnt-seem-to-support-byte-ranges/) - Причина и решение ошибки "HTTP server doesn't seem to support byte ranges" при обновлении Arch Linux - [NGINX: IP Geolocation by Cloudflare and "nested" if conditions](https://rtfm.co.ua/en/nginx-ip-geolocation-by-cloudflare-and-nested-if-conditions/) - Configuring NGINX webserver to work with the CF-IPCountry header from Cloudflare, and using multiply if conditions for redirects - [NGINX: IP Geolocation от Cloudflare и вложенные if](https://rtfm.co.ua/ru/nginx-ip-geolocation-ot-cloudflare-i-vlozhennye-if/) - Настройка NGINX для работы с заголовком CF-IPCountry от Cloudflare, и применение "вложенных" условий if для редиректа - [Arch Linux: установка Steam](https://rtfm.co.ua/ru/arch-linux-ustanovka-steam/) - Новый компьютер, есть надежда поиграть в игры (World of Tanks уже работают, см.World of Tanks: установка и запуск на Arch Linux). Steam на Ubuntu работал без проблем, Civilization 5 игралась - попробуем на Arch. Документация по установке - тут>>>. Не без танцев с бубном - но всё завелось. Включаем multilib репозиторий - в файле /etc/pacman.conf раскомментируйте: - [Arch Linux: Steam installation](https://rtfm.co.ua/en/arch-linux-steam-installation/) - Got a new PC and want to play games here. World of Tanks already works - check the World of Tanks: installing and running on Arch Linux, and now I want to install Steam. It worked with no issues on Ubuntu a few years ago and I could play Civilization V there - so now - [Cloudflare: speed up WordPress with Automatic Platform Optimization plugin](https://rtfm.co.ua/en/cloudflare-speed-up-wordpress-with-automatic-platform-optimization-plugin/) - Configuring the Cloudflare Automatic Platform Optimization plugin for WordPress - caching, CDN, security - [Cloudflare: ускоряем работу WordPress с плагином Automatic Platform Optimization](https://rtfm.co.ua/ru/cloudflare-uskoryaem-rabotu-wordpress-s-plaginom-automatic-platform-optimization/) - Настройка плагина Cloudflare Automatic Platform Optimization для WordPress - кеширование, CDN, безопасность - [SSH: the "Too many authentication failures" error and its solution](https://rtfm.co.ua/en/ssh-the-too-many-authentication-failures-error-and-its-solution/) - The "Received disconnect from host port 22:2: Too many authentication failures" error during an SSH connection, and its solution - [SSH: ошибка "Too many authentication failures" и её решение](https://rtfm.co.ua/ru/ssh-oshibka-too-many-authentication-failures-i-eyo-reshenie/) - Причина и решение ошибки SSH "Received disconnect from host port 22:2: Too many authentication failures" - [Elastic Stack: an overview and ELK installation on Ubuntu 20.04](https://rtfm.co.ua/en/elastic-stack-an-overview-and-elk-installation-on-ubuntu-20-04/) - Elastic Stack (aka ELK) installation on Ubuntu 20.04, and its components overview - Elastisearch, Logstash, Filebat. Grok filters configuration for logs. - [Elastic Stack: обзор и установка ELK на Ubuntu](https://rtfm.co.ua/ru/elastic-stack-obzor-i-ustanovka-elk-na-ubuntu/) - Установка Elastic Stack на Ubuntu 20.04, и обзор его компонентов - Elastisearch, Logstash, Filebat. Настройка фильтров grok для парсинга логов. - [Unix: что такое traceroute](https://rtfm.co.ua/ru/unix-traceroute/) - Оригинал и полная версия доступна тут>>>. Основы traceroute "Просмотр результатов traceroute схож с наблюдением с высоты птичьего полета за движением автомобиля из одной точки в другую: вы видите каждую из дорог (маршрутов) и перекрестков (роутеров), которые встречаются по пути" (с) Richard Steenbergen, NANOG presentation. Каждая строка в выводе traceroute представляет собой один "прыжок" ("hop") через роутер и отображает - [Prometheus: мониторинг сети с node_exporter - метрики сети CloudWatch и Docker --net=host](https://rtfm.co.ua/ru/prometheus-monitoring-seti-s-node_exporter-metriki-seti-cloudwatch-i-docker-nethost/) - Сравнение метрик node_exporter и CloudWatch, и почему node_exporter должен запускаться в режиме Docker host networking? - [AWS: RDS Proxy - обзор, запуск, тестирование](https://rtfm.co.ua/ru/aws-rds-proxy-obzor-zapusk-testirovanie/) - Обзор возможностей AWS RDS Proxy, его ограничения. Запуск, настройка и тестирование производительности. - [Prometheus: мониторинг AWS Load Balancer Controller Controller в AWS EKS](https://rtfm.co.ua/ru/prometheus-monitoring-aws-load-balancer-controller-controller-v-aws-eks/) - Мониторинг AWS Load Balancer Controller в AWS Elastic Kubernetes Service с Prometheus ServiceMonitor - [RTFM: День рождения и годовщина - 10 лет. Обзор изменений.](https://rtfm.co.ua/ru/rtfm-den-rozhdeniya-i-godovshhina-10-let-obzor-izmenenij/) - Годовщина RTFM.CO.UA - 10 лет. История обновлений и немного об авторе - [Linux: ошибки unknown filesystem type 'LVM2_member' и duplicate VG names или VG name is used by](https://rtfm.co.ua/ru/linux-oshibki-unknown-filesystem-type-lvm2_member-i-duplicate-vg-names-ili-vg-name-is-used-by/) - Исправление ошибок "unknown filesystem type 'LVM2_member'" и "duplicate VG names" или "VG name is used by" при подключении дисков в Linux - [AWS: Trusted Advisor, part 1 - its features overview](https://rtfm.co.ua/en/aws-trusted-advisor-part-1-its-features-overview/) - The AWS Trusted Advisor overview - recommendations on the security, performance, and cots-optimization for your AWS resources - [AWS: Trusted Advisor, part 2 - CloudWatch Alarms and Slack notifications](https://rtfm.co.ua/en/aws-trusted-advisor-part-2-cloudwatch-alarms-and-slack-notifications/) - Configuring AWS Trusted Advisor findings alerts via Opsenie to a Slack channel using AWS CloudWatch Alarms - [AWS: Trusted Advisor, часть 2 - алерты CloudWatch и уведомления в Slack](https://rtfm.co.ua/ru/aws-trusted-advisor-chast-2-alerty-cloudwatch-i-uvedomleniya-v-slack/) - Настройка отправки алертов от Trusted Advisor через Opsenie в Slack через CloudWatch Alarms - [AWS: Cost optimization - обзор Bills, Cost Explorer и контроль расходов](https://rtfm.co.ua/ru/aws-costs-optimization-obzor-bills-i-cost-explorer-i-kontrol-rasxodov/) - Экономия с AWS: обзор расходов в AWS Bills и Cost Explorer, расходы на трафик, и ответ на вопрос "Что такое EC2-Other?" - [Prometheus: Recording Rules и теги - разделяем алерты в Slack](https://rtfm.co.ua/ru/prometheus-recording-rules-i-tegi-razdelyaem-alerty-v-slack/) - Применение Prometheus Recording Rules и Tags для выбора Slack-канала, используя Opsgenie - [AWS: Trusted Advisor, часть 1 - обзор возможностей](https://rtfm.co.ua/ru/aws-trusted-advisor-chast-1-obzor-vozmozhnostej/) - Обзор AWS Trusted Advisor - рекомендации по безопасности, производительности, оптимизации расходов. - [AWS: Console - The Dark theme](https://rtfm.co.ua/en/aws-console-the-dark-theme/) - How to enable the Dark Theme for the AWS Console - [AWS: Console - тёмная тема оформления](https://rtfm.co.ua/ru/aws-console-tyomnaya-tema-oformleniya/) - В production эту фичу ещё видимо не завезли (объявят на re:Invent-2021?), но через Developer Tools браузера можно задать тёмную тему оформления для панели управления AWS. Открываем Developer Tools (F12) и AWS Console, переключаемся во вкладку Application, слева в Storage открываем Cookies: В Filter находим параметр aws-color-scheme: Двойной клик на Value, что бы открыть на редактирование, - [AWS: Cost optimization - services expenses overview and traffic costs in AWS](https://rtfm.co.ua/en/aws-cost-optimization-services-expenses-overview-and-traffic-costs-in-aws/) - Amazon Web Services: what are we paying for? An overview of the service costs, and AWS Data Transfer pricing - [AWS: cost optimization - purchasing RDS Reserved Instances](https://rtfm.co.ua/en/draften-aws-optimizaciya-rasxodov-pokupka-i-analiz-rds-reserved-instances/) - Optimizing AWS costs - purchasing AWS RDS Reserved Instances, and expenses analyze with the AWS Cost Explorer. Calculating savings with the Reserved Instances. - [AWS: Cost optimization - обзор расходов на сервисы и стоимость трафика в AWS](https://rtfm.co.ua/ru/aws-cost-optimization-obzor-rasxodov-na-servisy-i-stoimost-trafika-v-aws/) - Обзор расходов на инфрастуктуру в Amazon Web Services и стоимость трафика в AWS - [AWS: Lambda - copy EC2 tags to its EBS, part 2 - create a Lambda function](https://rtfm.co.ua/en/aws-lambda-copy-ec2-tags-to-its-ebs-part-2-create-a-lambda-function/) - A step-by-step guide to creating an AWS Lambda function to copy AWS Tags from an EC2 to its EBS, part 2 - create a Lambda function and a CloudWatch Events Rule - [AWS: Lambda - copy EC2 tags to its EBS, part 1 - Python and boto3](https://rtfm.co.ua/en/aws-lambda-copy-ec2-tags-to-its-ebs-part-1-python-and-boto3/) - A step-by-step guide to creating an AWS Lambda function to copy AWS Tags from an EC2 to its EBS, part 1 - writing a Python script with the boto3 - [AWS: Lambda - копирование тегов EC2 на EBS, часть 2 - создание Lambda-функции](https://rtfm.co.ua/ru/aws-lambda-kopirovanie-tegov-ec2-na-ebs-chast-2-sozdanie-lambda-funkcii/) - Пошаговое создание AWS Lambda функции для копирования тегов EC2 на EBS, часть 2 - создание Lambda-функции и CloudWatch Events Rule - [AWS: Lambda - копирование тегов EC2 на EBS, часть 1 - Python и boto3](https://rtfm.co.ua/ru/aws-lambda-kopirovanie-tegov-ec2-na-ebs-chast-1-python-i-boto3/) - Пошаговое создание AWS Lambda функции для копирования тегов EC2 на EBS, часть 1 - пишем Python скрипт с boto3 - [Istio: external AWS Application LoadBalancer and Istio Ingress Gateway](https://rtfm.co.ua/en/istio-external-aws-application-loadbalancer-and-istio-ingress-gateway/) - Configuring an AWS Application LoadBalancer with SSL and Istio Ingress Gateway to proxy traffic to an application in a Kubernetes cluster - [Kubernetes: Krew plugins manager, and useful kubectl plugins list](https://rtfm.co.ua/en/kubernetes-the-krew-plugins-manager-and-useful-kubectl-plugins-list/) - The Krew - plugins manager for the kubectl, and useful plugins list for the kubectl to work with Kubernetes from the console - [Kubernetes: менеджер плагинов Krew и полезные плагины для kubectl](https://rtfm.co.ua/ru/kubernetes-menedzher-plaginov-krew-i-poleznye-plaginy-dlya-kubectl/) - Krew - менеджер плагинов для kubectl, и обзор полезных плагинов kubectl для работы с Kubernetes из консоли - [AWS User group Ukraine: AWS Tech Conference](https://rtfm.co.ua/ru/aws-user-group-ukraine-aws-tech-conference/) - Boom! Встречайте виртуальную AWS Tech Conference от AWS User Group Ukraine! В программе конференции: 6 хайлоад докладов 6 воркшопов с тренерами AWS Ask an Expert з AWS 1500 участников онлайн призы за лучшие вопросы Спикеры — команда AWS с разных уголков мира, поэтому доклады будут на украинском, русском и английском языках. Суперинтересно будет backend разработчикам - [AWS User group Ukraine: AWS Tech Conference](https://rtfm.co.ua/en/aws-user-group-ukraine-aws-tech-conference-2/) - Boom! Get ready for a virtual AWS Tech Conference from AWS User Group Ukraine! Conference program: 6 comprehensive presentations 6 workshops with AWS instructors AMA with AWS experts 1500 online attendees rewards for best questions The speaker line-up will consist of an AWS team from all over the world that’s why the presentation will be - [Linux: create Gif or record video from the screen](https://rtfm.co.ua/en/linux-create-gif-or-record-video-from-the-screen/) - The Peek utility - create a Gif animation, or record video from the screen on a Linux system - [Linux: записать gif или видео с экрана](https://rtfm.co.ua/ru/linux-zapisat-gif-ili-video-s-ekrana/) - peek - создание Gif-анимаций или запись видео с экрана в Linux - [Kubernetes: Helm - "x509: certificate signed by unknown authority", and ServiceAccount for Pod](https://rtfm.co.ua/en/kubernetes-helm-x509-certificate-signed-by-unknown-authority-and-serviceaccount-for-pod/) - The "x509: certificate signed by unknown authority" error from Helm, and a Kubernetes Pod's authorization on the Kubernetes API with a Kubernetes ServiceAccount - [Kubernetes: Helm - "x509: certificate signed by unknown authority" и ServiceAccount для Pod](https://rtfm.co.ua/ru/kubernetes-helm-x509-certificate-signed-by-unknown-authority-i-serviceaccount-dlya-pod/) - Ошибка Helm "x509: certificate signed by unknown authority" и авторизация Kubernetes Pod в Kubernetes API через Kubernetes ServiceAccount - [Helm: пошаговое создание чарта и деплоймента из Jenkins](https://rtfm.co.ua/ru/helm-poshagovoe-sozdanie-charta-i-deplojmenta-iz-jenkins/) - Пошаговое создание Helm-чарта и Jenkins-джобы для деплоя приложения в Kubernetes-кластер. - [AWS: disable TLS 1.0 and TLS 1.1 for Application LoadBalancer](https://rtfm.co.ua/en/aws-disable-tls-1-0-and-tls-1-1-for-application-loadbalancer/) - How to disable deprecated TLS versions 1.0 and TLS 1.1 on an AWS Application LoadBalancer - [AWS: отключить TLS 1.0 и TLS 1.1 на Application LoadBalancer](https://rtfm.co.ua/ru/aws-otklyuchit-tls-1-0-i-tls-1-1-na-application-loadbalancer/) - Отключение TLS 1.0 и TLS 1.1 на AWS Application LoadBalancer - [AWS: Cost Explorer - costs checking on the CloudWatch Logs example](https://rtfm.co.ua/en/aws-cost-explorer-costs-checking-on-the-cloudwatch-logs-example/) - An example of using AWS Cost Explorer to check costs spending on the CloudWatch Logs. - [.NET Meetup Temabit](https://rtfm.co.ua/en/net-meetup-temabit-2/) - Immerse yourself into the world of .NET together with the experts at Temabit and Microsoft at the new .NET Meetup coming up on September 14. Meet our speakers: Christos Matskas, Microsoft Topic: Secure your apps with Azure and Microsoft Identity' Anton Koposov, Temabit Fozzy Group Topic: Messaging with MassTransit Meetup will be moderate by: Natalia - [.NET Meetup Temabit](https://rtfm.co.ua/ru/net-meetup-temabit/) - Привет! Готовы окунуться в мир .NET? Приглашаем присоединиться к новому митапу от Temabit Fozzy Group 14 сентября. На митапе вас ждут выступления от: Кристоса Матскаса с Microsoft с темою “Secure your apps with Azure and Microsoft Identity'” Антона Копосова с Temabit Fozzy Group, который расскажет про способы интеграции систем и паттерны интеграции с помощью MassTransit - [AWS: Cost Explorer - проверка расходов на примере CloudWatch Logs](https://rtfm.co.ua/ru/aws-cost-explorer-proverka-rasxodov-na-primere-cloudwatch-logs/) - Пример использования Cost Explorer для проверки расходов на CloudWatch Logs. - [Поездка в Kemer, Турция — фото](https://rtfm.co.ua/ru/poezdka-v-kemer-turciya-foto/) - Продолжу уже традицию рассказывать о своих поездках. Предыдущими были Бали, в 2019 - Поездка на Bali, Indonesia — фото, и Доминикана в 2021 - Поездка в Punta Cana, Dominikana — фото. 2021 у меня вышел насыщенным - сначала Доминикана в мае, теперь вот Турция, был там с 20 по 27 августа. Про страну Турция понравилась - [Поездка на Bali, Indonesia - фото](https://rtfm.co.ua/ru/poezdka-na-bali-indonesia-foto/) - (много фотографий, трафик) 17-го сентября вернулся из поездки на Бали, Индонезия. Так получилось, что это во-первых была моя первая поездка за границу, во-вторых - первый полёт самолётом. Бали очень понравился. Религиозность там везде: в каждом доме есть мини-храм для подношений богам, у каждого клана свои храмы, побольше. Ну и целые храмовые комплексы. Интересное дорожное движение: - [Поездка в Punta Cana, Dominikana — фото](https://rtfm.co.ua/ru/poezdka-v-punta-cana-dominikana-foto/) - Поездка в Доминикану. Фото. - [AWS: Lambda functions - an overview, and integration with AWS API Gateway](https://rtfm.co.ua/en/aws-lambda-functions-and-overview-and-integration-with-aws-api-gateway/) - AWS Lambda functions overview - its features, create and update a function. AWS Lambda and AWS API Gateway integration - [AWS: Lambda-функции - обзор и интеграция с AWS API Gateway](https://rtfm.co.ua/ru/aws-lambda-funkcii-obzor-i-integraciya-s-aws-api-gateway/) - Обзор AWS Lambda функций - возможности, создание и редактирование. Интеграция AWS Lambda и AWS API Gateway - [Git: scan repositories for secrets using Gitleaks](https://rtfm.co.ua/en/git-scanning-repositories-for-secrets-using-gitleaks/) - Gitleaks: scan Github repositories for secrets leaked. Run as a Jenkins cronjob and send notifications to a Slack channel. - [Git: сканирование репозиториев с Gitleaks и запуск из Jenkins](https://rtfm.co.ua/ru/git-skanirovanie-repozitoriev-s-gitleaks-i-zapusk-iz-jenkins/) - Проверка Github-репозиториев и поиск утечки конфеденциальных данных в них с помощью Gitleaks. Запуск из Jenkins по расписанию. - [Tableau: install Tableau Bridge to access a database server in a private network](https://rtfm.co.ua/en/tableau-install-tableau-bridge-to-access-database-server-in-a-private-network/) - Tableau Bridge installation on an AWS EC2 to access AWS RDS Aurora in a private AWS VPC subnet - [Tableau: установка Tableau Bridge для доступа к базам данных в приватных сетях](https://rtfm.co.ua/ru/tableau-ustanovka-tableau-bridge-dlya-dostupa-k-bazam-dannyx-v-privatnyx-setyax/) - Установка Tableau Bridge на AWS EC2 для доступа к AWS RDS Aurora в приватной сети AWS VPC - [AWS Elastic Kubernetes Service: load-testing and high-load tuning - problems and solutions](https://rtfm.co.ua/en/kubernetes-load-testing-and-high-load-tuning-problems-and-solutions/) - A load-testing example for Laravel running in the AWS Elastic Kubernetes Service - issues and their solutions for high-loaded Kubernetes cluster. - [Prometheus: prometheus_replica и дублирование метрик](https://rtfm.co.ua/ru/prometheus-prometheus_replica-i-dublirovanie-metrik/) - Дедупликация метрик в Kubernetes: избавляемся от дубликатов метрик по prometheus_replica label - [BASH: описание циклов for, while, until и примеры использования](https://rtfm.co.ua/ru/bash-opisanie-ciklov-for-while-until-i-primery-ispolzovaniya/) - Краткое описание разницы в типах циклов: for - будет выполнять действие до тех пор, пока есть объекты для выполнения (например - чтение потока из stdin, файла или функции); while - выполняет действие до тех пор, пока условие является истинным; until - будет выполняться до тех пор, пока условие не станет истинным, т.е. пока оно false. - [Let’s Encrypt: SSL and the "SERVFAIL looking up CAA for domain.com" error](https://rtfm.co.ua/en/lets-encrypt-ssl-and-the-servfail-looking-up-caa-for-domain-com-error/) - The cause and solution of the "SERVFAIL looking up CAA for domain.com" error during an SSL certificate renewal with Let's Encypt. - [Let’s Encrypt: SSL и ошибка SERVFAIL looking up CAA for domain.com](https://rtfm.co.ua/ru/lets-encrypt-ssl-i-oshibka-servfail-looking-up-caa-for-domain-com/) - Причина и решение ошибки "SERVFAIL looking up CAA for domain.com" при обнолвении сертификата от Let's Encypt. - [AWS: Route53 Private Hosted Zones — hiding domains from the Internet](https://rtfm.co.ua/en/aws-route53-private-hosted-zones-hiding-domains-from-the-internet/) - Using Private Hosted Zones in the AWS Route53 for internal access from AWS VPC only - [AWS: Route53 Private Hosted Zones - прячем домены от мира](https://rtfm.co.ua/ru/aws-route53-private-hosted-zones-pryachem-domeny-ot-mira/) - Использование приватных доменных зон в AWS Route53 для внутренних сервисов в VPC - [AWS: WAF WebACL logging and Logz.io integration](https://rtfm.co.ua/en/aws-waf-webacl-logging-and-logz-io-integration/) - AWS Web Application Firewall WebACL logging configuration with AWS Kinesis and AWS S3. Integration with Logz.io, alerting and logs fields configuration. - [AWS: обзор и настройка Web Application Firewall и его мониторинга](https://rtfm.co.ua/ru/aws-obzor-i-nastrojka-web-application-firewall-i-ego-monitoringa/) - Обзор и настройка AWS Web Application Firewall и его мониторинга с CloudWatch и Prometheus - [AWS: WAF WebACL логи и Logz.io](https://rtfm.co.ua/ru/aws-waf-webacl-logi-i-logz-io/) - Настройка отправки логов AWS Web Application Firewall WebACL в AWS Kinesis и S3, и их визуализация и настройка отправки алертов в Logz.io - [AWS: Web Application Firewall overview, configuration, and its monitoring](https://rtfm.co.ua/en/aws-web-application-firewall-overview-configuration-and-its-monitoring/) - An overview and configuration of the AWS Web Application Firewall and its monitoring with CloudWatch and Prometheus. Access Control Lists, and Rules. - [AWS: CloudTrail overview and integration with CloudWatch and Opsgenie](https://rtfm.co.ua/en/aws-cloudtrail-overview-and-integration-with-cloudwatch-and-opsgenie/) - AWS CloudTrail components and features overview. Integration with CloudTrail and CloudWatch. Alerts on CloudTrail events, notifications to Slack via Opsgenie - [AWS: Simple Email Service Bounce rate and monitoring with and Prometheus](https://rtfm.co.ua/en/aws-simple-email-service-bounce-rate-and-monitoring-with-and-prometheus/) - What are email Bounce and Complaint rates. AWS Simple Email Service and its monitoring with CloudWatch and Prometheus. Alerting to Opsgenie and Slack. - [AWS: миграция AWS ALB Ingress Controller (v1) на AWS Load Balancer Controller (v2)](https://rtfm.co.ua/ru/aws-migraciya-aws-alb-ingress-controller-v1-na-aws-load-balancer-controller-v2/) - Миграция AWS ALB Ingress Controller (v1) на AWS Load Balancer Controller (v2) - IAM-политики, ServiceAccount, Ansible, Helm и автоматизация. - [Kubernetes: Deployment Strategies types, and Argo Rollouts](https://rtfm.co.ua/en/kubernetes-deployment-strategies-types-and-argo-rollouts/) - A Kubernetes Recreate, RollingUpdate, Canary, and Blue-green Deployment types overview, Kubernetes Deployments, and ReplicaSet. Using Argo Rollouts for deploys - [AWS User Group Ukraine: AWS CloudFormation && AWS X-Ray Meetup](https://rtfm.co.ua/ru/aws-user-group-ukraine-aws-cloudformation-aws-x-ray-meetup/) - ☁️ Друзья, приглашаем на новый бесплатный митап от AWS User Group Ukraine 8 июля. На митапе вас ждут выступления от: 🔸Darko Meszaros, Senior Developer Advocate, AWS Тема: “Do awesome things with AWS CloudFormation” 🔸Сергея Громового, Technology Architect, Skelia Тема: "AWS X-Ray: Tracing in distributed systems" Модератор встречи — Алексей Алмиз, Java/AWS Team Lead, Skelia 🔹 - [AWS: CloudTrail - обзор и интеграция с CloudWatch и Opsgenie](https://rtfm.co.ua/ru/aws-cloudtrail-obzor-i-integraciya-s-cloudwatch-i-opsgenie/) - Обзор компонентов и возможностей AWS CloudTrail. Интеграция CloudTrail и CloudWatch Logs, алерты по событиям CloudTrail и отправка их в Slack через Opsgenie - [AWS: интеграция AWS SNS и Slack, и уведомления от AWS SES о bounced-письмах](https://rtfm.co.ua/ru/aws-integraciya-aws-sns-i-slack-i-uvedomleniya-ot-aws-ses-o-bounced-pismax/) - Настройка отправки уведомлений из AWS SNS топика в Slack, и получение списка bounced-писем из AWS SES - [AWS Hero: June, 2021 announce](https://rtfm.co.ua/en/aws-hero-june-2021-announce/) - Amazon Web Services has an AWS Hero program for a contribution to the AWS community, and I was announced there in June in the AWS Container Hero category. - [AWS Hero: анонс June, 2021.](https://rtfm.co.ua/ru/aws-hero-anons-june-2021/) - Amazon Web Services и программа AWS Hero за вклад в развитие AWS-комьюнити. Как-то вдруг - попал туда и я, в категорию AWS Container Hero. - [AWS: мониторинг Simple Email Service с CloudWatch и Prometheus](https://rtfm.co.ua/ru/aws-monitoring-simple-email-service-s-cloudwatch-i-prometheus/) - Bounce и Complaint rates. AWS Simple Email Service и его мониторинг с CloudWatch и Prometheus. Алерты в Opsgenie и Slack. - [DevOps IT Ring](https://rtfm.co.ua/en/devops-it-ring-2/) - 💥9 June, 17:00 — IT Ring “DevOps” | Online/Offline. 6 speakers will come together in one IT Ring to determine the real functions of DevOps specialists and discuss what their cooperation with programmers should be. Topics: 📌 “Who are DevOps: people or tools?” 📌 "The perfect Architect - DevOps or developer?" 📌 "If you have - [DevOps IT Ring](https://rtfm.co.ua/ru/devops-it-ring/) - 💥9 июня приглашаем вас на IT Ring - батл о том, кто такие DevOps и за что они отвечают. Проект IT Ring, который организовывает компания Parimatch Tech, продолжается второй серией экспертных поединков. Речь на нем пойдет о DevOps: спикеры сойдутся на ринге, чтобы определить функции этих специалистов, поспорят о том, каким должно быть их взаимодействие - [DevSecOps Build-up from Cloud Builders](https://rtfm.co.ua/en/devsecops-build-up-from-cloud-builders/) - Cloud Builders Community invites to join the DevSecOps Build-up to discuss the best DevSecOps practices with experts from Microsoft, Pulumi, Stand Out In Tech, and Intellias. Speakers lineup: Continuously Implementing DevSecOps in AWS, — Volodymyr Shynkar, Senior Lead DevOps Engineer at Intellias. Join the fireside chat in Cloud AMA (ask me anything) format with Matt - [DevSecOps Build-up от Cloud Builders](https://rtfm.co.ua/ru/devsecops-build-up-ot-cloud-builders/) - 10 июня пройдет DevSecOps Build-up от Cloud Builders Community с экспертами из Microsoft, Pulumi, Stand Out In Tech и Intellias. Участие бесплатное, проходит в онлайн формате. В программе: Continuously Implementing DevSecOps in AWS, — Volodymyr Shynkar, Senior Lead DevOps Engineer в Intellias. Fireside chat в формате Cloud AMA (ask me anything) с Matt Stratton, Staff - [Kubernetes: типы Deployment Strategies и Argo Rollouts](https://rtfm.co.ua/ru/kubernetes-tipy-deployment-strategies-i-argo-rollouts/) - Обзор Kubernetes Recreate, RollingUpdate, Canary и Blue-green деплоев, Kubernetes Deployments и ReplicaSet, и использование Argo Rollouts - [ArgoCD: declarative Projects, Applications, and ArgoCD deploy from Jenkins](https://rtfm.co.ua/en/argocd-declarative-projects-applications-and-argocd-deploy-from-jenkins/) - Create Projects and Applications manifests for ArgoCD, Github repositories authentication setup, and ArgoCD provisioning from Jenkins with Ansible and Helm - [ArgoCD: декларативные Projects, Applications и деплой ArgoCD из Jenkins](https://rtfm.co.ua/ru/argocd-deklarativnye-projects-applications-i-deploj-argocd-iz-jenkins/) - Создание манифестов Projects и Applications для ArgoCD, настройка аутентификации Github-репозиториев, и деплой ArgoCD из Jenkins с Ansible и Helm - [ArgoCD: Okta integration, and user groups](https://rtfm.co.ua/en/argocd-okta-integration-and-user-groups/) - Configuring SSO in ArgoCD via Okta by using Dex. User groups, and project access. - [ArgoCD: users, access, and RBAC](https://rtfm.co.ua/en/argocd-users-access-and-rbac/) - ArgoCD users management, and access permissions with RBAC. Dedicated access to namespaces with ArgoCD Projects, and authorization tokens. - [ArgoCD: пользователи, доступы и RBAC](https://rtfm.co.ua/ru/argocd-polzovateli-dostupy-i-rbac/) - Управление пользователями, доступами и настройка RBAC в ArgoCD. Разделение доступов к неймспейсам через Project и токены аутентификации. - [ArgoCD: интеграция с Okta и группы пользователей](https://rtfm.co.ua/ru/argocd-integraciya-s-okta-i-gruppy-polzovatelej/) - Настройка SSO в ArgoCD через Okta с использование Dex. Группы пользователей и доступы к проектам. - [Github: Github Actions overview and ArgoCD deployment example](https://rtfm.co.ua/en/github-github-actions-overview-and-argocd-deployment-example/) - Github Actions overview: main capabilities, components, creating a workflow, working with Events, Secrets, and ArgoCD deployment example - [Github: обзор Github Actions и деплой с ArgoCD](https://rtfm.co.ua/ru/github-obzor-github-actions-i-deploj-s-argocd/) - Обзор Github Actions: основные возможности, компоненты, создание workflow, работа с Events, Secrets и пример деплоя в ArgoCD - [Kubernetes: spec.ports[0].nodePort: Forbidden: may not be used when `type` is 'ClusterIP'](https://rtfm.co.ua/en/kubernetes-spec-ports0-nodeport-forbidden-may-not-be-used-when-type-is-clusterip-2/) - Solutions of the "spec.ports[0].nodePort: Forbidden: may not be used when `type` is 'ClusterIP'" error in Kubernetes Service types NodePort and ClusterIP - [Istio: shared Ingress/AWS ALB, Helm chart with conditions, Istio, and ExternalDNS](https://rtfm.co.ua/en/istio-shared-ingress-aws-alb-helm-chart-with-conditions-istio-and-externaldns/) - Using a shared Istio Ingress Gateway with an AWS Application LoadBalancer. Creating a Helm chart with a Gateway and VirtualServices and various Ingress. Configuring ExternalDNS for Istio. - [Kubernetes: spec.ports[0].nodePort: Forbidden: may not be used when `type` is 'ClusterIP'](https://rtfm.co.ua/ru/kubernetes-spec-ports0-nodeport-forbidden-may-not-be-used-when-type-is-clusterip/) - Решения ошибки "spec.ports[0].nodePort: Forbidden: may not be used when `type` is 'ClusterIP'" в Kubernetes при смене типа Service с NodePort на ClusterIP - [Istio: a cause and solution of the "SQLSTATE Connection refused"](https://rtfm.co.ua/en/istio-a-cause-and-solution-of-the-sqlstate-connection-refused/) - The "SQLSTATE Connection refused" error when starting an application with Istio in Kubernetes and its solutions - [Kubernetes: metrics-server - "401 Unauthorized" amd "kubelet stopped posting node status"](https://rtfm.co.ua/en/kubernetes-metrics-server-401-unauthorized-amd-kubelet-stopped-posting-node-status/) - Kubernetes metrics-server errors "401 Unauthorized" and kube-controller-manager "Kubelet stopped posting node status" - a solution. - [Istio: причина и решения ошибки "SQLSTATE Connection refused"](https://rtfm.co.ua/ru/istio-prichina-i-resheniya-oshibki-sqlstate-connection-refused/) - Ошибка "SQLSTATE Connection refused" при запуске прилодений через Istio в Kubernetes и её решения - [Kubernetes: metrics-server - 401 Unauthorized и kubelet stopped posting node status](https://rtfm.co.ua/ru/kubernetes-metrics-server-401-unauthorized-i-kubelet-stopped-posting-node-status/) - Ошибки "401 Unauthorized" в metrics-server для Kubernetes и "Kubelet stopped posting node status". - [Kubernetes: NodeLocal DNS and the "lookup istiod.istio-system.svc on lookup: no such host" error](https://rtfm.co.ua/en/kubernetes-nodelocal-dns-and-the-lookup-istiod-istio-system-svc-on-lookup-no-such-host-error/) - The cause and solution of the "lookup istiod.istio-system.svc on on 169.254.20.10:53: no such host" error when using NodeLocal DNSCache in Kubernetes - [Kubernetes: NodeLocal DNS и ошибка "lookup istiod.istio-system.svc on lookup: no such host"](https://rtfm.co.ua/ru/kubernetes-nodelocal-dns-i-oshibka-lookup-istiod-istio-system-svc-on-lookup-no-such-host/) - Причина и решение ошибки "lookup istiod.istio-system.svc on on 169.254.20.10:53: no such host" при использовании NodeLocal DNSCache в Kubernetes - [AWS: оптимизация расходов - покупка и анализ RDS Reserved Instances](https://rtfm.co.ua/ru/aws-optimizaciya-rasxodov-pokupka-i-analiz-rds-reserved-instances/) - Оптимизация расходов AWS - покупка RDS Reserved Instances и анализ расходов с AWS Cost Explorer. Расчёт затрат на RDS и экономии с Reserved Instances. - [Istio: общий Ingress/AWS ALB, Helm-чарт с условиями, Istio и ExternalDNS](https://rtfm.co.ua/ru/istio-obshhij-ingress-aws-alb-helm-chart-s-usloviyami-istio-i-externaldns/) - Общий Istio Ingress Gateway и AWS Application LoadBalancer для приложений. Helm чарт с Gateway и VirtualServices с различными Ingress. ExternalDNS и Istio. - [DevOps Days Kyiv 2021](https://rtfm.co.ua/en/devops-days-kyiv-2021/) - ⚙️ On April 20-22th, join DevOps Days Kyiv - a free online conference focused on the DevOps Culture. Meet experts from Google, VMWare, PagerDuty, and co-creator of Kubernetes – Joe Beda. 💻 What to expect: 5 talks about DevOps culture fireside chat with co-creator of Kubernetes – Joe Beda, fill in your questions for Joe - [DevOpsDays Kyiv 2021](https://rtfm.co.ua/ru/devopsdays-kyiv-2021/) - 20–22 апреля присоединяйтесь к DevOpsDays Kyiv 2021 - бесплатной онлайн конференции о культуре и процессах, на которых строится работа инженеров. Вас ждут три вечера со спикерами из Google, VMWare, PagerDuty, Dojo and Co, Datadog, fireside чат с одним из создателей Kubernetes - Joe Beda, и не только. 💻 В программе: 5 докладов о культуре DevOps; - [Istio: an overview and running Service Mesh in Kubernetes](https://rtfm.co.ua/en/istio-an-overview-and-running-service-mesh-in-kubernetes/) - What is the Service Mesh? Istio architecture and components overview. Running Istio in Kubernetes. Gateway and VirtualService configuration. - [Kubernetes: ExternalDNS - records retrieval failed: failed to list hosted zones: Throttling: status code: 400](https://rtfm.co.ua/ru/kubernetes-externaldns-records-retrieval-failed-failed-to-list-hosted-zones-throttling-status-code-400/) - Ошибка "Throttling error that was caused because API rate was exceeded" в AWS Route53 и Kubernetes ExternalDNS - [Kubernetes: ExternalDNS - records retrieval failed: failed to list hosted zones: Throttling: status code: 400](https://rtfm.co.ua/en/kubernetes-externaldns-records-retrieval-failed-failed-to-list-hosted-zones-throttling-status-code-400-2/) - Cause and solution of the AWS API "Throttling: status code: 400" error when using Kubernetes ExternalDNS service - [Kubernetes: Cluster Autoscaler - failed to renew lease](https://rtfm.co.ua/en/kubernetes-cluster-autoscaler-failed-to-renew-lease-2/) - Solution of the Kubernetes Cluster Autoscaler "failed to renew lease" error - [Prometheus: ошибки "federation failed: broken pipe" и "Received SIGTERM, exiting gracefully" - постоянные рестарты](https://rtfm.co.ua/ru/prometheus-oshibki-federation-failed-broken-pipe-i-received-sigterm-exiting-gracefully-postoyannye-restarty/) - Причины ошибок Prometheus federation failed: broken pipe и Received SIGTERM, exiting gracefully в Kubernetes и их решения - [Kubernetes: Cluster Autoscaler: failed to renew lease](https://rtfm.co.ua/ru/kubernetes-cluster-autoscaler-failed-to-renew-lease/) - Имеется в нашем Kubernetes Cluster Autoscaler для скейлинга AWS EC2 WorkerNode Groups. На Dev-кластере временами перестаёт работать скейлинг, а под с Cluster Autoscaler в логах пишет следующее: [simterm] ... E0331 08:57:52.264549 1 leaderelection.go:320] error retrieving resource lock kube-system/cluster-autoscaler: Get https://172.20.0.1:443/apis/coordination.k8s.io/v1/namespaces/kube-system/leases/cluster-autoscaler: context deadline exceeded I0331 08:58:14.468096 1 leaderelection.go:277] failed to renew lease kube-system/cluster-autoscaler: timed out waiting - [Kubernetes: namespace hangs in Terminating and metrics-server non-obviousness](https://rtfm.co.ua/en/kubernetes-namespace-hangs-in-terminating-and-metrics-server-non-obviousness/) - A Kubernetes namespace hangs in Terminating: ways to remove it, and finding a real cause and a solution - [Istio: установка с Ansible и Helm](https://rtfm.co.ua/ru/istio-ustanovka-s-ansible-i-helm/) - Создание Ansible-роли для установки Istio в AWS Elastic Kubernetes Service - [Istio: интеграция Ingress Gateway с AWS Application LoadBalancer](https://rtfm.co.ua/ru/istio-integraciya-inrgress-gateway-s-aws-application-loadbalancer/) - Настройка AWS Application LoadBalancer с SSL и Istio Ingress Gateway для проксирования трафика к приложению в Kubernetes - [Istio: обзор и запуск service mesh в Kubernetes](https://rtfm.co.ua/ru/istio-obzor-i-zapusk-service-mesh-v-kubernetes/) - Знакомство с Service mesh. Обзор архитектуры и компонентов Istio. Запуск Istio в Kubernetes. Настройка Gateway и VirtualService. - [Kubernetes: namespace висит в Terminating и неочевидности с metrics-server](https://rtfm.co.ua/ru/kubernetes-namespace-visit-v-terminating-i-neochevidnosti-s-metrics-server/) - Попытки удаления Kubernetes Namespace, зависшего в Terminating, и реальная причина проблемы. - [Opsgenie: integration with AWS RDS and alerting](https://rtfm.co.ua/en/opsgenie-integration-with-aws-rds-and-alerting/) - How to configure Opsgenie to receive events from AWS RDS and create alerts - [Opsgenie: интеграция с AWS RDS и алерты](https://rtfm.co.ua/ru/opsgenie-integraciya-s-aws-rds-i-alerty/) - Интеграция и настройка отправки алертов из AWS RDS в Opsgenie через AWS SNS. - [Windows: Windows Subsystem for Linux и установка Ubuntu Linux](https://rtfm.co.ua/ru/windows-windows-subsystem-for-linux-i-ustanovka-ubuntu-linux/) - Что такое Windows Subsystem for Linux, как её включить, установить Ubuntu в Windows 10 и получить доступ к файлам из Linux в Windows. - [Windows: Windows Subsystem for Linux and Ubuntu Linux installation](https://rtfm.co.ua/en/windows-windows-subsystem-for-linux-and-ubuntu-linux-installation/) - What is Windows Subsystem for Linux, how to enable it, how to install Ubuntu Linux in Windows 10, and how to access files in Windows from Linux. - [Kubernetes: what is Endpoints](https://rtfm.co.ua/en/kubernetes-what-is-endpoints/) - What is Kubernetes Endpoints? Overview of the Kubernetes Services and Endpoints. Creating a Custom Endpoint. - [Kubernetes: что такое Endpoints](https://rtfm.co.ua/ru/kubernetes-chto-takoe-endpoints/) - Обзор Kubernetes Services и Endpoints. Создание Custom Endpoint. - [AWS: InvalidSignatureException: Signature not yet current and Kubernetes AWS ALB Ingress controller](https://rtfm.co.ua/en/aws-invalidsignatureexception-signature-not-yet-current-and-kubernetes-aws-alb-ingress-controller/) - A cause and solution of the "InvalidSignatureException: Signature not yet current" error when using AWS Elastic Kubernetes Service and AWS ALB Controller - [AWS: InvalidSignatureException: Signature not yet current и Kubernetes AWS ALB Ingress controller](https://rtfm.co.ua/ru/aws-invalidsignatureexception-signature-not-yet-current-i-kubernetes-aws-alb-ingress-controller/) - Решение ошибки "InvalidSignatureException: Signature not yet current" в AWS Elastic Kubernetes Service и AWS ALB Controller - [OpsGenie: настройка Incidents и Incidents Management проекта в целом](https://rtfm.co.ua/ru/opsgenie-nastrojka-incidents-i-incidents-management-proekta-v-celom/) - Incidents Management проекта, подключение и настройка автоматического создания Incidents в OpsGenie с экспортов в Atlassian Confluence. - [Jenkins: running workers in Kubernetes and Docker images build](https://rtfm.co.ua/en/jenkins-running-workers-in-kubernetes-and-docker-images-build/) - Jenkins Kubernetes Plugin configuration to run Jenkins workers in Kubernetes and build Docker images - [Jenkins: запуск slaves в Kubernetes и билд Docker-образов](https://rtfm.co.ua/ru/jenkins-zapusk-slaves-v-kubernetes-i-bild-docker-obrazov/) - Настройка Kubernetes Plugin в Jenkins, запуск Jenkins-slave в Kubernetes и сборка Docker-образов - [Kubernetes: NGINX/PHP-FPM graceful shutdown - избавляемся от 502 ошибок](https://rtfm.co.ua/ru/kubernetes-nginx-php-fpm-graceful-shutdown-izbavlyaemsya-ot-502-oshibok/) - Причины и варианты решения появления 502 ошибок в Kubernetes при использовании NGINX+PHP-FPM. - [Kubernetes: NGINX/PHP-FPM graceful shutdown and 502 errors](https://rtfm.co.ua/en/kubernetes-nginx-php-fpm-graceful-shutdown-and-502-errors/) - Causes and solutions of the 502 errors in Kubernetes with applications running in NGINX and PHP-fpm containers - [Yandex.Tank: load testing tool - an overview, configuration, and examples](https://rtfm.co.ua/en/yandex-tank-load-testing-tool-an-overview-configuration-and-examples/) - Besides the Apache Bench and JMeter there is another utility - Yandex Tank. It's used by our QA team and now it's time for me to take a closer look on it to test one issue with our application running on a Kubernetes cluster. In this post a short overview of its capabilities and configuration. - [Yandex.Tank: нагрузочное тестирование](https://rtfm.co.ua/ru/yandex-tank-nagruzochnoe-testirovanie/) - Запуск Yandex.Tank, настройка тестов и мониторинга с Telegraf. - [Linux: Mutt и Neomutt - консольный почтовый клиент](https://rtfm.co.ua/ru/linux-mutt-i-neomutt-konsolnyj-pochtovyj-klient/) - Настройка консольного почтового клиента Mutt на Linux - [Linux: менеджер терминалов tmux - установка, настройка, управление](https://rtfm.co.ua/ru/linux-menedzher-terminalov-tmux-ustanovka-nastrojka-komandy/) - tmux - terminal multiplexer, утилита позволяющая в одно окне терминала открывать несколько сессий одновременно: Установка Устанавливаем: [simterm] $ sudo apt-get install tmux [/simterm] Запускаем: [simterm] $ tmux [/simterm] Проверяем активные сессии: [simterm] $ tmux ls 0: 1 windows (created Fri Nov 25 14:03:05 2016) [197x55] (attached) [/simterm] Основные действия с панелями и окнами: Ctrl+b " - - [Linux: setlocale: LC_ALL: cannot change locale (en_US.utf8) and Cyrillic symbols](https://rtfm.co.ua/en/linux-setlocale-lc_all-cannot-change-locale-en_us-utf8-and-cyrillic-symbols/) - What is Locale in Linux, its options, and configuration - [Linux: setlocale: LC_ALL: cannot change locale (en_US.utf8) и кирилица](https://rtfm.co.ua/ru/linux-setlocale-lc_all-cannot-change-locale-en_us-utf8-i-kirilica/) - Кирилица и настройка locale в Linux - [Linux: connect Bluetooth headset with bluetoothctl and Blueman](https://rtfm.co.ua/en/linux-connect-bluetooth-headset-with-bluetoothctl-and-blueman/) - Recently, I bought a Sony WH-1000XM3 headset. In general, they are great but need to connect them to my laptop with Arch Linux. The documentation about Bluetooth on Arch Linux can be found here>>> and here>>>: Installation Install necessary packages: [simterm] $ sudo pacman -S bluez bluez-utils [/simterm] Check kernel's module: [simterm] $ lsmod | - [Linux: подключение Bluetooth-наушников](https://rtfm.co.ua/ru/linux-podklyuchenie-bluetooth-naushnikov/) - Настройка подключения Bluetooth-наушников на Arch Linux через bluetoothctl и blueman. - [Logz.io: collection logs from Kubernetes - fluentd vs filebeat](https://rtfm.co.ua/en/logz-io-collection-logs-from-kubernetes-fluentd-vs-filebeat/) - Configuring logs collectors from a Kubernetes cluster with the Filebeat deployed from a Helm-chart, and Filebeat vs Fluentd CPU usage. - [Logz.io: сбор логов из Kubernetes - fluentd vs filebeat](https://rtfm.co.ua/ru/logz-io-sbor-logov-iz-kubernetes-fluentd-vs-filebeat/) - Установка Filebeat в Kubernetes-кластер из Helm-чарта для сбора логов в Logz.io. - [Prometheus: Alertmanager Web UI alerts Silence](https://rtfm.co.ua/en/prometheus-alertmanager-web-ui-alerts-silence/) - Configuring Alertmanager's Web UI to temporary mute alerts sending via Silence. - [Prometheus: Alertmanager Web UI и Silence алертов](https://rtfm.co.ua/ru/prometheus-alertmanager-web-ui-i-silence-alertov/) - Настройка Web UI для Alertmanager и добавление Silenced alerts - отключение повторной отправки алертов из Prometheus. - [Prometheus: AWS EC2 service discovery](https://rtfm.co.ua/ru/prometheus-aws-ec2-service-discovery/) - Для чего нам нужен EC2 service discovery? В первую очередь - что бы избежать необходимости открывать порт на Application Load Balancer и гонять трафик "через мир". Т.е. вместо того, что бы в конфиге Prometheus указывать статичный URL и URI, типа mainhost.domain.tld/metrics, который был бы направлен на AWS ALB, у которого было бы правило форвардить URI /metrics - [ArgoCD: CIOps vs GitOps и деплой приложения из TravisCI](https://rtfm.co.ua/ru/argocd-ciops-vs-gitops-i-deploj-prilozheniya-iz-travisci/) - CIOps vs GitOps, ArgoCD и деплой приложения в Kubernetes из TravisCI - [Instana: мониторинг Kubernetes-кластера](https://rtfm.co.ua/ru/instana-monitoring-kubernetes-klastera/) - Подключение Instana мониторинга к AWS Elastic Kubernetes Service - [Ansible: модуль community.kubernetes и установка Helm-чарта с ExternalDNS](https://rtfm.co.ua/ru/ansible-modul-community-kubernetes-i-ustanovka-helm-charta-s-externaldns/) - Ansible-модуль community.kubernetes для установки Helm-чарта с ExternalDNS в Kubernetes-кластер - [ArgoCD: обзор, запуск, настройка SSL, деплой приложения](https://rtfm.co.ua/ru/argocd-obzor-zapusk-nastrojka-ssl-deploj-prilozheniya/) - ArgoCD для GitOps - обзор, запуск, настройка LoadBalancer и SSL в AWS, и деплой приложения в Kubernetes - [Kubernetes: ServiceAccounts, JWT-tokens, authentication, and RBAC authorization](https://rtfm.co.ua/en/kubernetes-serviceaccounts-jwt-tokens-authentication-and-rbac-authorization/) - What are Kubernetes ServiceAccounts, how JWT tokens are used there, ServiceAccounts authentification in a cluster-scope, and their RBAC authorization? - [ArgoCD: a Helm chart deployment, and working with Helm Secrets via AWS KMS](https://rtfm.co.ua/en/argocd-a-helm-chart-deployment-and-working-with-helm-secrets-via-aws-kms/) - ArgoCD - a Helm chart deployment and work with the Helm Secrets with encryption via AWS Key Management System. - [ArgoCD: an overview, SSL configuration, and an application deploy](https://rtfm.co.ua/en/argocd-an-overview-ssl-configuration-and-an-application-deploy/) - ArgoCD for the GitOps - an overview, installation in Kubernetes, a LoadBalancer and SSL configuration in AWS, and an example application ndpeloy - [Kubernetes: update AWS Route53 DNS from an Ingress](https://rtfm.co.ua/en/kubernetes-update-aws-route53-dns-from-an-ingress/) - Update Route53 hosted zones automatically when creating a Kubernetes Ingress reources - [Kubernetes: мониторинг кластера с Prometheus Operator](https://rtfm.co.ua/ru/kubernetes-monitoring-klastera-s-prometheus-operator/) - Настройка мониторинга Kubernetes кластера с Prometheus Operator - [ArgoCD: деплой Helm-чарта и работа с Helm Secrets через AWS KMS](https://rtfm.co.ua/ru/argocd-deploj-helm-charta-i-rabota-s-helm-secrets-cherez-aws-kms/) - Деплой Helm-чарта и работа с Helm Secrets с шифрованием через AWS Key Management System в ArgoCD. - [Kubernetes: ServiceAccounts, JWT-токены, аутентификация и RBAC-авторизация](https://rtfm.co.ua/ru/kubernetes-serviceaccounts-jwt-tokeny-autentifikaciya-i-rbac-avtorizaciya/) - Что такое ServiceAccounts в Kubernetes, как работают JWT-токены, аутентификация сервис-аккаунтов в кластере и их RBAC-авторизация. - [Android: DroidCam - камера телефона на компьютере и "кухонные хитрости"](https://rtfm.co.ua/ru/android-droidcam-kamera-telefona-na-kompyutere-i-kuxonnye-xitrosti/) - Что делать, что бы на кухне постоянно не заливало плиту, когда что-то варишь, а живёшь сам? Сидеть возле плиты, и наблюдать? Так себе приключение. Пршло в голову использовать камеру телефона/планшета, и транслировать на компьютер в комнате. Был уверен, что есть для этого софт, и не ошибся - гуглим "android share camera with pc", находим обзор - [Kubernetes: Ingress, ошибка 502, readinessProbe и livenessProbe](https://rtfm.co.ua/ru/kubernetes-ingress-oshibka-502-readinessprobe-i-livenessprobe/) - Возможные причины ошибки 502 в Kubernetes Ingress, и применение readinessProbe и livenessProbe. - [Kubernetes: обновление DNS в Route53 при создании Ingress](https://rtfm.co.ua/ru/kubernetes-obnovlenie-dns-v-route53-pri-sozdanii-ingress/) - Автоматизация создания записи DNS в Route53 при создании Ingress в Kubernetes. - [Linux: LEMP set up - NGINX, PHP, MySQL, SSL, monitoring, logs, and a WordPress blog migration](https://rtfm.co.ua/en/linux-lemp-set-up-nginx-php-mysql-ssl-monitoring-logs-and-a-wordpress-blog-migration/) - A step-by-step walkthrough on Linux configuration as aa WordPress web-hosting with NGINX+PHP-MySQL, backups, monitoring, and logs collecting - [Linux: настройка LEMP - NGINX, PHP, MySQL, SSL, мониторинг, логи, и миграция RTFM](https://rtfm.co.ua/ru/linux-nastrojka-lemp-nginx-php-mysql-ssl-monitoring-logi-i-migraciya-rtfm/) - Пошаговая настройка Linux в роли сервера для хостинга WordPress - установка NGINX+PHP-MySQL, настройка бекапов, мониторинга и сбора логов. - [Jenkins: Redis deployment, and Helm subchart values](https://rtfm.co.ua/en/jenkins-redis-deployment-and-helm-subchart-values/) - A Jenkins job example to deploy a Redis service from a subchart with values from a parent chart - [Kubernetes: Service, load balancing, kube-proxy, and iptables](https://rtfm.co.ua/en/kubernetes-service-load-balancing-kube-proxy-and-iptables/) - What is the kube-proxy, how the load-balancing between pods is working in Kubernetes, and the role of the iptables here. - [Kubernetes: Service, балансировка нагрузки, kube-proxy и iptables](https://rtfm.co.ua/ru/kubernetes-service-balansirovka-nagruzki-kube-proxy-i-iptables/) - Что такое kube-proxy, как работает балансировка нагрузки на поды в Kubernetes, и зачем нужен iptables. - [Jenkins: деплой Redis и Helm subchart values](https://rtfm.co.ua/ru/jenkins-deploj-redis-i-helm-subchart-values/) - Пример Jenkins-деплоя Redis из Helm-чарта с передачей параметров в сабчарт - [Kubernetes: running SQL migrations with Kubernetes Job and Helm hook](https://rtfm.co.ua/en/kubernetes-running-sql-migrations-with-kubernetes-job-and-helm-hook/) - SQL in Kubernetes - Kubernetes Init Container vs Kubernetes Job, and running migrations with Kubernetes Job via Helm hooks - [Kubernetes: запуск SQL-миграций - Kubernetes Job и Helm hook](https://rtfm.co.ua/ru/kubernetes-zapusk-sql-migracij-kubernetes-job-i-helm-hook/) - SQL-миграции в Kubernetes - Kubernetes Init Container vs Kubernetes Job, и запуск миграций из Kubernetes Job через Helm hooks - [Git: git clone - fatal: unable to fork and RSA key fingerprint](https://rtfm.co.ua/en/git-git-clone-fatal-unable-to-fork-and-rsa-key-fingerprint/) - The cause and solution for the "fatal: unable to fork" during git clone and automating "RSA key fingerprint" confirmation - [Git: git clone - fatal: unable to fork и RSA key fingerprint](https://rtfm.co.ua/ru/git-git-clone-fatal-unable-to-fork-i-rsa-key-fingerprint/) - Причина и решение ошибки "fatal: unable to fork" при git clone и автоматизация подтверждения "RSA key fingerprint" - [AWS: Glue - ошибка AWS S3 connect timed out, и cross-region connections](https://rtfm.co.ua/ru/aws-glue-oshibka-aws-s3-connect-timed-out-i-cross-region-connections/) - Причина и решение ошибки "connect timed out" при подключении к AWS S3 из AWS Glue - [Helm: reusable chart - named templates, and a generic chart for multiple applications](https://rtfm.co.ua/en/helm-reusable-chart-named-templates-and-a-generic-chart-for-multiple-applications/) - Create a reusable chart for multiple applications with Helm Named Templates using define, include, toYaml, tpl, and range and while loops. - [Helm: reusable чарт - named templates, и общий чарт для нескольких приложений](https://rtfm.co.ua/ru/helm-reusable-chart-named-templates-i-obshhij-chart-dlya-neskolkix-prilozhenij/) - Пример создания общего шаблона для приложений и использование Helm Named Templates - применение define и include, использование toYaml, tpl, циклов range и while. - [Kubernetes: дебаг Init containers при запуске SQL-миграций](https://rtfm.co.ua/ru/kubernetes-debag-init-containers-pri-zapuske-sql-migracij/) - Пример получения информации о статусе и логах Init Containers в Kubernetes - [Kubernetes: AWS ALB Ingress Controller - add redirect to another domain](https://rtfm.co.ua/en/kubernetes-aws-alb-ingress-controller-add-redirect-to-another-domain/) - AWS LoadBalancer - configuring a redirect on the Kubernetes AWS ALB Ingress Controller - [Kubernetes: AWS ALB Ingress Controller - добавление редиректа на другой домен](https://rtfm.co.ua/ru/kubernetes-aws-alb-ingress-controller-dobavlenie-redirekta-na-drugoj-domen/) - AWS LoadBalancer - настройка редиректа из Kubernetes AWS ALB Ingress Controller - [Kubernetes: Evicted поды и Quality of Service для подов](https://rtfm.co.ua/ru/kubernetes-evicted-pody-i-quality-of-service-dlya-podov/) - Что такое Quality of Service для подов в Kubernetes, роль requests и limits, и Evicted поды - [Kubernetes: Evicted pods and Pods Quality of Service](https://rtfm.co.ua/en/kubernetes-evicted-pods-and-pods-quality-of-service/) - What is Quality of Service for pods in Kubernetes, requests, and limits, and what is Evicted pods - [Redis: running Master-Slave replication in Kubernetes](https://rtfm.co.ua/en/redis-running-master-slave-replication-in-kubernetes/) - How to deploy Redis with Master-Slave replication and Sentinels in Kubernetes - [Archlabs: Openbox - послеустановочные настройки](https://rtfm.co.ua/ru/archlabs-openbox-posleustanovochnye-nastrojki/) - Послеустановочные настройки Archlabs с Openbox - утилиты, настройка внешнего вида. - [Redis: Master-Slave репликация и запуск в Kubernetes](https://rtfm.co.ua/ru/redis-master-slave-replikaciya-i-zapusk-v-kubernetes/) - Задача - запустить Redis в Kubernetes. Используем Master-Slave репликацию и Sentinel для мониторинга и failover. См. Redis: репликация, часть 2 — Master-Slave репликация, и Redis Sentinel. Redis cluster vs Redis replication См. Redis: репликация, часть 1 — обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis и Choose between Redis Helm Chart and Redis Cluster - [Slack: Cannot read property 'appTeams' of undefined](https://rtfm.co.ua/en/slack-cannot-read-property-appteams-of-undefined-2/) - Slack on Linux - the "Cannot read property 'appTeams' of undefined" error's solution. - [Slack: Cannot read property 'appTeams' of undefined](https://rtfm.co.ua/ru/slack-cannot-read-property-appteams-of-undefined/) - Решение ошибки "Cannot read property 'appTeams' of undefined" при запуске Slack на Linux. - [MySQL: mysqldbcompare - сравнение двух баз](https://rtfm.co.ua/ru/mysql-mysqldbcompare-sravnenie-dvux-baz/) - Пример использования mysqldbcompare для валидации идентичности двух баз после миграции с AWS Database Migration Service. - [AWS: Database Migration Service, часть 1 - обзор и пример миграции self-hosted MariaDB в AWS Aurora RDS](https://rtfm.co.ua/ru/aws-database-migration-service-obzor-i-primer-migracii-self-hosted-mariadb-v-aws-aurora-rds/) - Обзор возможностей AWS Database Migration Service и пример миграции базы данных MariaDB в AWS RDS Aurora без даунтайма и СМС. - [AWS: Database Migration Service, часть 2 - нет AUTO_INCREMENT и индексов. Фиксы для "foreign key constraint fails" и логов CloudWatch](https://rtfm.co.ua/ru/aws-database-migration-service-chast-2-net-auto_increment-i-indeksov-fiksy-dlya-foreign-key-constraint-fails-i-logov-cloudwatch/) - Продолжение мигарции MariaDB базы в AWS Aurora с помощью AWS DMS - решение проблем с индексами и AUTO_INCREMENT. - [Kubernetes: нагрузочное тестирование и high-load тюнинг - проблемы и решения](https://rtfm.co.ua/ru/kubernetes-nagruzochnoe-testirovanie-i-high-load-tyuning-problemy-i-resheniya/) - Пример нагрузочного тестирования Laravel в AWS Elastic Kubernetes Service - возникшие проблемы, и способы их решения - [HTTP: редиректы, POST и GET запросы, и "потерянные" данные](https://rtfm.co.ua/ru/http-redirekty-post-i-get-zaprosy-i-poteryannye-dannye/) - Причина и решение проблемы с потерей данных при выполнении HTTP POST с редиректом HTTP на HTTPS - [Helm: secrets плагин не дешифрует данные](https://rtfm.co.ua/ru/helm-secrets-plagin-ne-deshifruet-dannye/) - При использовании Helm Secrets - Kubernetes Secret содержит строку "ENC[AES256_GCM,data:[...],type:str]" вместо пароля - причина и решение. - [Helm: dependencies aka subcharts - обзор и пример](https://rtfm.co.ua/ru/helm-dependencies-aka-subcharts-obzor-i-primer/) - Пример использования dependencies (subchatrs) в Helm - установка сабчарта, работа с параметрами. - [Kubernetes: a cluster's monitoring with the Prometheus Operator](https://rtfm.co.ua/en/kubernetes-a-clusters-monitoring-with-the-prometheus-operator/) - A step-by-step Prometheus Operator set up for Kubernetes clusters - [Kubernetes: HorizontalPodAutoscaler - an overview with examples](https://rtfm.co.ua/en/kubernetes-horizontalpodautoscaler-an-overview-with-examples/) - An overview and examples of the Kubernetes HorizontalPodAutoscaler - Multi-metrics scaling and Custom Metrics with the Prometheus Adapter. - [Kubernetes: HorizontalPodAutoscaler - обзор и примеры](https://rtfm.co.ua/ru/kubernetes-horizontalpodautoscaler-obzor-i-primery/) - Обзор и примеры работы с Kubernetes HorizontalPodAutoscaler - Mutli-metrics scaling и Custom Metrics с Prometheus Adapter. - [Kubernetes: 503 no endpoints available for service - causes and solutions](https://rtfm.co.ua/en/kubernetes-503-no-endpoints-available-for-service-the-cause-and-solution/) - The cause and solution for the Kubernetes Service "no endpoints available for service" error - [Kubernetes: 503 no endpoints available for service - причины и решения](https://rtfm.co.ua/ru/kubernetes-503-no-endpoints-available-for-service-prichina-i-reshenie/) - Имеется Redis, для которого создан Service типа ClusterIP. К этому Редису должны ходить поды этого неймспейса (Gorush). Проблема в том, что поды с Gorush подключиться к Redis по адресу gorush-server-redis-svc:6379 не могут - отваливаются с ошибкой "Can't connect redis server: connection refused": [simterm] $ kk -n gorush-test logs gorush-server-55cd659dff-9wfbw time="2020/06/12 - 13:44:02" level=debug msg="Init - [Neo4j: running in Kubernetes](https://rtfm.co.ua/en/neo4j-running-in-kubernetes/) - How to run the Neo4j Community Edition in a Kubernetes cluster with Helm - [Neo4j: запуск в Kubernetes](https://rtfm.co.ua/ru/neo4j-zapusk-v-kubernetes/) - Пример запуска Neo4j Community Edition в Kubernetes кластере с помощью Helm - [Kubernetes: PersistentVolume and PersistentVolumeClaim - an overview with examples](https://rtfm.co.ua/en/kubernetes-persistentvolume-and-persistentvolumeclaim-an-overview-with-examples/) - How to work with the Kubernetes PersistentVolume and PersistentVolumeClaim - an overview with examples - [Kubernetes: PersistentVolume и PersistentVolumeClaim - обзор и примеры](https://rtfm.co.ua/ru/kubernetes-persistentvolume-i-persistentvolumeclaim-obzor-i-primery/) - Обзор Kubernetes PersistentVolume и PersistentVolumeClaim, и примеры работы с ними. - [Neo4j: graph database - run with Docker and Cypher QL examples](https://rtfm.co.ua/en/neo4j-graph-database-run-with-docker-and-cypher-ql-examples/) - A brief overview of the Neo4j Graph Database, run it with the Docker, and Cypher QL examples. - [Neo4j: graph database - запуск в Docker и примеры работы с Cypher QL](https://rtfm.co.ua/ru/neo4j-graph-database-zapusk-v-docker-i-primery-raboty-s-cypher-ql/) - Краткий обзор Neo4j Graph Database, её запуск в Docker и работа с Cypher QL. - [Kubernetes: manually restart a Cron Job](https://rtfm.co.ua/en/kubernetes-manually-restart-a-cron-job/) - Manually restart a failed Kubernetes Cron Job - [Kubernetes: перезапустить Cron Job вручную](https://rtfm.co.ua/ru/kubernetes-perezapustit-cron-job-vruchnuyu/) - Ручной перезапуск Kubernetes Cron Job - [Prometheus: yet-another-cloudwatch-exporter - collecting AWS CloudWatch metrics](https://rtfm.co.ua/en/prometheus-yet-another-cloudwatch-exporter-collecting-aws-cloudwatch-metrics/) - AWS cloudwatch-exporter vs yet-another-cloudwatch-exporter and run the yet-another-cloudwatch-exporter in Prometheus - [Prometheus: yet-another-cloudwatch-exporter - сбор метрик AWS CloudWatch](https://rtfm.co.ua/ru/prometheus-yet-another-cloudwatch-exporter-sbor-metrik-aws-cloudwatch/) - AWS cloudwatch-exporter vs yet-another-cloudwatch-exporter и запуск yet-another-cloudwatch-exporter в Prometheus - [Linux: configuring KDE Connect and connection to an Android phone](https://rtfm.co.ua/en/linux-configuring-kde-connect-and-connection-to-an-android-phone/) - Arch Linux and Android phone integration using KDE Connect - files transfer, multimedia control, etc - [Kubernetes: ClusterIP vs NodePort vs LoadBalancer, Services, and Ingress - an overview with examples](https://rtfm.co.ua/en/kubernetes-clusterip-vs-nodeport-vs-loadbalancer-services-and-ingress-an-overview-with-examples/) - Kubernetes ClusterIP, NodePort, LoadBalancer, ExternalName, and ingress - an overview and examples - [What is: Linux keyring, gnome-keyring, Secret Service, и D-Bus](https://rtfm.co.ua/ru/what-is-linux-keyring-gnome-keyring-secret-service-i-d-bus/) - Что такое Linux keyring, gnome-keyring, Secret Service, и D-Bus - [Kubernetes: ClusterIP vs NodePort vs LoadBalancer, Services и Ingress - обзор, примеры](https://rtfm.co.ua/ru/kubernetes-clusterip-vs-nodeport-vs-loadbalancer-services-i-ingress-obzor-primery/) - Kubernetes ClusterIP, NodePort, LoadBalancer, ExternalName и Ingress - обзор, примеры работы - [AWS: CloudFormation - using Conditions, Fn::Equals, and Fn::If - an example](https://rtfm.co.ua/en/aws-cloudformation-using-conditions-fnequals-and-fnif-an-example/) - How to use CloudFormation Conditions, Fn::Equals и Fn::If in Nested Stacks - an example - [Docker: configure tzdata and timezone during build](https://rtfm.co.ua/en/docker-configure-tzdata-and-timezone-during-build/) - During a Docker image build - it stops asking to configure the tzdata. Dockerfile at this moment is the next: FROM ubuntu:18.04 RUN apt update && apt install -y python-pip python-dev ssh python-boto3 RUN pip install ansible==2.4.3.0 Let's reproduce - run the build: [simterm] admin@jenkins-production:~$ docker build -t proj/proj-ansible:1.1 . Sending build context to Docker - [Helm: helm-secrets - sensitive data encryption with AWS KMS and use it with Jenkins](https://rtfm.co.ua/en/helm-helm-secrets-sensitive-data-encryption-with-aws-kms-and-use-it-from-jenkins/) - A step-by-step guide to install helm-secrets to use for Helm encryption with the AWS KMS and apply it in a Jenkins deployment job - [Helm: helm-secrets - шифрование sensitive данных с AWS KMS и деплой из Jenkins](https://rtfm.co.ua/ru/helm-helm-secrets-shifrovanie-sensitive-dannyx-s-aws-kms-i-deploj-iz-jenkins/) - Установка и настройка helm-secrets для шифрования паролей в Helm и деплой из Jenkins - [Jira: filters and email notifications about tickets](https://rtfm.co.ua/en/jira-filters-and-email-notifications-about-tickets/) - Creating a filter using the JQL and configuring email notifications about tickets - [Jira: фильтры и почтовые уведомления о тикетах](https://rtfm.co.ua/ru/jira-filtry-i-pochtovye-uvedomleniya-o-tiketax/) - Создание фильтра с JQL и настройка почтовой рассылки о тикетах - [AWS Elastic Kubernetes Service: RBAC-авторизация через AWS IAM и RBAC группы](https://rtfm.co.ua/ru/aws-elastic-kubernetes-service-rbac-avtorizaciya-cherez-aws-iam-i-rbac-gruppy/) - Использование AWS IAM и RBAC групп для RBAC-авторизации в AWS Elastic Kubernetes Service - [AWS: CloudFormation - using lists in Parameters](https://rtfm.co.ua/en/aws-cloudformation-using-lists-in-parameters/) - Using AWS CloudFormation Parameters with the List data-type - [Arch Linux: set a Java version](https://rtfm.co.ua/en/arch-linux-set-a-java-version/) - A short note about HowTo install and set a specific Java version when you have various versions installed. - [Arch Linux: установить версию Java](https://rtfm.co.ua/ru/arch-linux-ustanovit-versiyu-java/) - Небольшая заметка об установке и настройке дефолтной версии Java, когда их установлено несколько различных. Используем скрипт archlinux-java, см. Switching between JVM. Устанавливаем сам пакет, тут будет установлена Oracle Java 14: [simterm] $ yay -S jdk :: Checking for conflicts... :: Checking for inner conflicts... [Aur: 2] jre-14.0.1-1 jdk-14.0.1-1 ... [/simterm] Проверяем текущую активную - будет - [Helm: Kubernetes package manager - an overview, getting started](https://rtfm.co.ua/en/helm-kubernetes-package-manager-an-overview-getting-started/) - Helm - the Kubernetes package manager: its components and concepts overview, and work with its Charts, variables, and repositories. - [Helm: Kubernetes package manager - обзор, начало работы](https://rtfm.co.ua/ru/helm-kubernetes-package-manager-obzor-nachalo-raboty/) - Основные понятия и компоненты Helm - менеджера пакетов Kubernretes: работа с чартами, шаблонами, переменными и репозиториями. - [AWS Elastic Kubernetes Service: a cluster creation automation, part 2 - Ansible, eksctl](https://rtfm.co.ua/en/aws-elastic-kubernetes-service-a-cluster-creation-automation-part-2-ansible-eksctl/) - A step-by-step guide for the AWS Elastic Kubernetes Service automation with Ansible, CloudFormation, and eksctl - [AWS Elastic Kubernetes Service: a cluster creation automation, part 1 - CloudFormation](https://rtfm.co.ua/en/aws-elastic-kubernetes-service-a-cluster-creation-automation-part-1-cloudformation/) - A step-by-step guide for the AWS Elastic Kubernetes Service automation with Ansible, CloudFormation, and eksctl - [Linux: no sound after suspend/sleep - solution](https://rtfm.co.ua/en/linux-no-sound-after-suspend-sleep-solution/) - The cause and solution with no sound on Linux after suspend/resume - [Linux: нет звука после suspend/sleep](https://rtfm.co.ua/ru/linux-net-zvuka-posle-suspend-sleep/) - Решение проблемы отсутствия звука после suspend на Linux - [Steam: Civilization V, Arch Linux and ERROR:Invalid resolutions constraints: 0x0 must not be greater than 0x0](https://rtfm.co.ua/en/steam-civilization-v-arch-linux-and-errorinvalid-resolutions-constraints-0x0-must-not-be-greater-than-0x0/) - The cause and solution of the Civilization V startup issue from Steam on Linux - [Steam: Civilization V, Arch Linux и ERROR:Invalid resolutions constraints: 0x0 must not be greater than 0x0](https://rtfm.co.ua/ru/steam-civilization-v-arch-linux-i-errorinvalid-resolutions-constraints-0x0-must-not-be-greater-than-0x0/) - Решение проблемы вылета Civilization V при запуске из Steam на Linux - [AWS: eksctl - "Put http://169.254.169.254/latest/api/token: net/http: request canceled"](https://rtfm.co.ua/en/aws-eksctl-put-http-169-254-169-254-latest-api-token-net-http-request-canceled-2/) - The cause and solution for the eksctl error "Put http://169.254.169.254/latest/api/token: net/http: request canceled" - [Kubernetes: monitoring with Prometheus - exporters, a Service Discovery, and its roles](https://rtfm.co.ua/en/kubernetes-monitoring-with-prometheus-exporters-a-service-discovery-and-its-roles/) - A step-by-step set up a Kubernetes cluster monitoring with Prometheus - [AWS Elastic Kubernetes Service: автоматизация создания кластера, часть 1 - CloudFormation](https://rtfm.co.ua/ru/aws-elastic-kubernetes-service-avtomatizaciya-sozdaniya-klastera-chast-1-cloudformation/) - Пошаговое создаине автоматизации для развёртывания AWS Elastic Kubernetes Service с Ansible, CloudFormation и eksctl - [AWS Elastic Kubernetes Service: - автоматизация создания кластера, часть 2 — Ansible, eksctl](https://rtfm.co.ua/ru/aws-elastic-kubernetes-service-avtomatizaciya-sozdaniya-klastera-chast-2-ansible-eksctl/) - Пошаговое создаине автоматизации для развёртывания AWS Elastic Kubernetes Service с Ansible, CloudFormation и eksctl - [Google Drive: using via terminal on Linux Debian 9 with insync-headless](https://rtfm.co.ua/en/google-drive-using-via-terminal-on-linux-debian-9-with-insync-headless/) - Attaching Google Drive to a Linux Debian 9 host with the Insync to use via terminal - [Google Drive: подключение на Linux Debian 9 с insync-headless](https://rtfm.co.ua/ru/google-driv-linux-insync/) - Подключение Google Drive к Linux Debian 9 с помощью Insync - [AWS Elastic Kubernetes Service: running ALB Ingress controller](https://rtfm.co.ua/en/aws-elastic-kubernetes-service-running-alb-ingress-controller/) - Пример запуска ALB Ingress controller для AWS Elastic Kubernetes Service - [Kubernetes: kubectl и kubeconfig - обзор файла, добавление кластера, пользователя и контекста](https://rtfm.co.ua/ru/kubernetes-kubectl-i-kubeconfig-obzor-fajla-dobavlenie-klastera-polzovatelya-i-konteksta/) - Обзор файла настроек kubectl и примеры работы с cluster, user, context в нём. - [AWS: CloudFormation - пример использования Conditions, Fn::Equals и Fn::If](https://rtfm.co.ua/ru/cloudformation-conditions-fn-equals-fn-if/) - Пример применения CloudFormation Conditions, Fn::Equals и Fn::If в Nested Stacks - [AWS: eksctl - "Put http://169.254.169.254/latest/api/token: net/http: request canceled"](https://rtfm.co.ua/ru/aws-eksctl-put-http-169-254-169-254-latest-api-token-net-http-request-canceled/) - Причина и решение ошибки eksctl "Put http://169.254.169.254/latest/api/token: net/http: request canceled" - [Email: Exim и Dovecot - настройка SSL/TLS от Let's Encrypt](https://rtfm.co.ua/ru/email-exim-i-dovecot-nastrojka-ssltls-ot-lets-encrypt/) - Вся моя почта бегает через маленький VPS в дата-центре "Воля". Настроена она была ещё в 07/12/2014 и до сих пор работает отлично (CentOS: установка и настройка Dovecot 2 + Exim + ClamAV + Postfixadmin). Один недостаток - тогда я поленился добавить SSL/TLS, что недавно и исправил. Проверить почтовый сервер можно на странице http://emailsecuritygrader.com - изначально он мне - [AWS: CloudFormation - использование lists в Parameters](https://rtfm.co.ua/ru/aws-cloudformation-ispolzovanie-lists-v-parameters/) - Пример применения параметров в виде списка в AWS CloudFormation - [Arch Linux: установка с UEFI, GPT, LVM и LUKS шифрованием](https://rtfm.co.ua/ru/arch-linux-ustanovka-s-uefi-gpt-lvm-i-luks-shifrovaniem/) - И ещё один пример установки Arch Linux на ноутбук с UEFI, GPT разметкой, используя LUKS шифрование LVM раздела. Аналогичные примеры - Arch Linux: установка с LVM и LUKS шифрованием диска и Arch: установка с LVM. Собственно в этом примере ничего особо отличного, кроме настроек GRUB. WiFi Настраиваем WiFi, подключаемся к сети: [simterm] # wifi-menu [/simterm] Задаём пароль - [Kubernetes: мониторинг с Prometheus](https://rtfm.co.ua/ru/kubernetes-monitoring-s-prometheus/) - Пошаговая настройка мониторинга Kubernetes-кластера в Prometheus - [Python: boto3 - примеры аутентификации и авторизации](https://rtfm.co.ua/ru/python-boto3-primery-avtorizacii/) - Полная документация - тут>>>. Основные способы авторизации, по очереди их выполнения: передача данных доступа методу boto.client() передача данных доступа параметрами при создании объекта Session() переменные окружения файл данных CLI ~/.aws/credentials файлы /etc/boto.cfg и ~/.boto Пишу скрипт бекапа (очередной :-) ), и очень хочется избежать передачи данных через файл настроек скрипта, поэтому основным вариантом для домашней - [S.M.A.R.T: проверка HDD - описание атрибутов, значение атрибутов, утилиты, параметры](https://rtfm.co.ua/ru/s-m-a-r-t-proverka-hdd-opisanie-atributov-znachenie-atributov-utility-parametry/) - UPD март 2020: см. обновлённую версию тут>>>. S.M.A.R.T. (от англ. self-monitoring, analysis and reporting technology — технология самоконтроля, анализа и отчётности) — технология оценки состояния жёсткого диска встроенной аппаратурой самодиагностики, а также механизм предсказания времени выхода его из строя. smartctl - утилита для чтения информации SMART; smartd - демон SMART, постоянно работающий в системе (UNIX-системы) - [S.M.A.R.T: проверка HDD - описание атрибутов, значение атрибутов, утилиты, параметры](https://rtfm.co.ua/ru/s-m-a-r-t-proverka-hdd-opisanie-atributov-znachenie-atributov-utility-parametry-2/) - Решил проверить диск дома, помнил, что был пост по smartctl - но не ожидал, что он такой толковый (хотя вся информация натырена из других источников, ссылки в конце поста). Ну, или мне кажется таким. В любом случае - незапланированно решил его "перевыпустить" с небольшими обновлениями. Оригинал тут>>>, февраль 2013 года. Обзор S.M.A.R.T. (от англ. self-monitoring, - [Kubernetes: part 5 — RBAC authorization with a Role and RoleBinding example](https://rtfm.co.ua/en/kubernetes-part-5-rbac-authorization-with-a-role-and-rolebinding-example/) - Kubernetes RBAC authorization overview with Role и RoleBinding examples for AWS Elastic Kubernetes Service - [Kubernetes: знакомство, часть 5 — RBAC авторизация и примеры Role и RoleBinding](https://rtfm.co.ua/ru/kubernetes-znakomstvo-chast-5-rbac-avtorizaciya-i-primery-role-i-rolebinding/) - Обзор RBAC авторизации в Kubernetes и примеры создания Role и RoleBinding для AWS Elastic Kubernetes Service - [Kubernetes: знакомство, часть 4 - аутентификация в AWS EKS, aws-iam-authenticator и AWS IAM](https://rtfm.co.ua/ru/kubernetes-znakomstvo-chast-4-autentifikaciya-v-aws-eks-aws-iam-authenticator-i-aws-iam/) - Ошибка "You must be logged in to the server (Unauthorized)", аутентификация vs авторизация и аутентификация в AWS EKS с помощью AWS CLI и aws-iam-authenticator. - [Arch Linux: key could not be imported - required key missing from keyring](https://rtfm.co.ua/ru/arch-linux-key-could-not-be-imported-required-key-missing-from-keyring/) - Ошибка "required key missing from keyring" в Arch и Manjaro Linux, попытки её решения, и реальная причина. - [Linux: processes core dumps, systemd-coredump and Debian](https://rtfm.co.ua/en/linux-processes-core-dumps-systemd-coredump-and-debian/) - How to create and manage core dumps Linux - [WordPress: использование дочерних тем оформления блога](https://rtfm.co.ua/ru/wordpress-ispolzovanie-dochernix-tem-oformleniya-bloga/) - Создание с редактирование дочереней темы для WordPress на примере RTFM.CO.UA - [Linux: создание coredump памяти процесса, systemd-coredump и Debian](https://rtfm.co.ua/ru/linux-sozdanie-coredump-pamyati-processa-debian-i-systemd-coredump/) - Настройка создания дампов памяти процесса в Linux - [Prometehus: мониторинг AWS Billing](https://rtfm.co.ua/ru/prometehus-monitoring-aws-billing/) - Сбор метрик AWS Billing в Prometheus и графики в Grafana - [What is: Linux keyring, gnome-keyring, Secret Service, and D-Bus](https://rtfm.co.ua/en/what-is-linux-keyring-gnome-keyring-secret-service-and-d-bus/) - What are Linux keyring, gnome-keyring, Secret Service, and D-Bus - a brief overview and usage examples - [AWS: CloudFormation - вложенные стеки и Import/Export параметров](https://rtfm.co.ua/ru/aws-cloudformation-vlozhennye-steki-i-import-export-parametrov/) - Пример работы с AWS CloudFormation Nested Stacks и Import/export параметров между стеками - [AWS: CloudFormation - Nested Stacks and stacks parameters Import/Export](https://rtfm.co.ua/en/aws-cloudformation-nested-stacks-and-stacks-parameters-import-export/) - AWS CloudFormation Nested Stacks and stacks parameters Import/Export usage examples - [Redis: "psync scheduled to be closed ASAP for overcoming of output buffer limits" and the client-output-buffer-limit](https://rtfm.co.ua/en/en-draft-redis-psync-scheduled-to-be-closed-asap-for-overcoming-of-output-buffer-limits-i-client-output-buffer-limit/) - The "psync scheduled to be closed ASAP for overcoming of output buffer limits" error and Redis' client-output-buffer-limit config for Master-Slave replication - [Linux: gnome-keyring setup as Freedesktop SecretService](https://rtfm.co.ua/en/linux-gnome-keyring-setup-as-freedesktop-secretservice/) - The gnome-keyring Freedesktop SecretService installation and configuration on Arch Linux - [Linux: настройка gnome-keyring в роли Freedesktop SecretService](https://rtfm.co.ua/ru/linux-nastrojka-gnome-keyring-v-roli-freedesktop-secretservice/) - Установка и настройка gnome-keyring Freedesktop SecretService на Arch Linux - [Redis: "psync scheduled to be closed ASAP for overcoming of output buffer limits" и client-output-buffer-limit](https://rtfm.co.ua/ru/redis-psync-scheduled-to-be-closed-asap-for-overcoming-of-output-buffer-limits-i-client-output-buffer-limit/) - Ошибка "psync scheduled to be closed ASAP for overcoming of output buffer limits" и настройка client-output-buffer-limit для Redis Master-Slave репликации - [Linux: PHP-FPM, Docker, STDOUT and STDERR - no an application's error logs](https://rtfm.co.ua/en/linux-php-fpm-docker-stdout-and-stderr-no-an-applications-error-logs/) - A PHP-application in a Docker container doesn't send errors to outputs - the cause and solution - [Python: пример AWS boto3 SQS и SES](https://rtfm.co.ua/ru/python-primer-aws-boto3-sqs-i-ses/) - boto3 - набор библиотек для Python, для работы с AWS. AWS CLI "под капотом" использует boto3 для работы с ядром Amazon Web Services. Данный пост - ни разу не HowTo, а скорее просто набор заметок и быстрых примеров + пример скрипта, использующего boto3 для работы с AWS SQS и SES. Документация: https://boto3.readthedocs.org/en/latest Документация по модулю - [Redis: основные параметры конфигурации и тюнинг производительности](https://rtfm.co.ua/ru/redis-osnovnye-parametry-konfiguracii-i-tyuning-proizvoditelnosti/) - Обзор основных параметров конфигурации Redis и настроек ядра Linux - [PHP: PHP-FPM игнорирует переменные - решения](https://rtfm.co.ua/ru/php-php-fpm-ignoriruet-peremennye-resheniya/) - PHP-приложение в PHP-FPM не видит переменные окружения - решение - [PHP: PHP-FPM ignores environment variables - solutions](https://rtfm.co.ua/en/php-php-fpm-ignores-environment-variables-solutions/) - A PHP-application nin Kubernetes can't access a pod's environment variables - solutions - [Ansible: получить IP таргет-хоста](https://rtfm.co.ua/ru/ansible-poluchit-ip-target-xosta/) - Задача - в Ansible получить IP адрес хоста, на котором выполняется задача. Есть два варианта (может и больше), ниже - примеры с обоими. Вариант 1 - hostvars См. документацию тут>>>. Добавим тестовую задачу: - name: Test hosts list debug: msg: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}" Запускаем: [simterm] ... TASK [test : Test hosts list] **** ok: [dev.backend-app1-internal.example.com] - [Linux: PHP-FPM, Docker, STDOUT и STDERR - нет логов приложения](https://rtfm.co.ua/ru/linux-php-fpm-docker-stdout-i-stderr-net-logov-prilozheniya/) - PHP-приложение в Docker не пишет логи ошибок - причины и решение - [Kubernetes: запуск metrics-server в AWS EKS для Kubernetes Pod AutoScaler](https://rtfm.co.ua/ru/kubernetes-zapusk-metrics-server-v-aws-eks-dlya-kubernetes-pod-autoscaler/) - Запуск и настройка Kubernetes metrics-server в AWS EKS, и метрики для Kubernetes Horizontal Pod AutoScaler - [Kubernetes: running metrics-server in AWS EKS for a Kubernetes Pod AutoScaler](https://rtfm.co.ua/en/kubernetes-running-metrics-server-in-aws-eks-for-a-kubernetes-pod-autoscaler/) - Start and configure Kubernetes metrics-server for the AWS EKS and collect metrics for the Kubernetes Horizontal Pod AutoScaler - [Kubernetes: ConfigMaps and Secrets on a Gorush server example](https://rtfm.co.ua/en/kubernetes-configmaps-and-secrets-on-a-gorush-server-example/) - Running a Gorush in Kubernetes with ConfigMaps for its settings and Secrets for passwords - [Kubernetes: ConfigMaps и Secrets на примере Gorush сервера](https://rtfm.co.ua/ru/kubernetes-configmaps-i-secrets-na-primere-gorush-servera/) - Запуск Gorush в Kubernetes с ConfigMaps для настроек и Secrets для паролей - [Jenkins: изменить следующий BUILD_NUMBER](https://rtfm.co.ua/ru/jenkins-izmenit-sleduyushhij-build_number/) - Есть Jenkins job-а, в которой девелоперы попросили изменить номер следующего билда, т.к. версия приложения привязывается к нему. Текущее состояние - #118: Переходим в Manage Jenkins -> Script Console, и выполняем запрос: Jenkins.instance.getItemByFullName("v1-dev-build").updateNextBuildNumber(363) Если джоба находится во вложенных каталогах - необходимо задать полный путь со слешем в начале, т.е. для URL https://ci.example.com/view/Backend/job/BE_EKS/job/Workrouts/job/Build/job/ApplicationBuild/ путь будет выглядеть как: - [Kubernetes: ConfigMap and Secrets - data auto-reload in pods](https://rtfm.co.ua/en/kubernetes-configmap-and-secrets-data-auto-reload-in-pods/) - Using Reloader in Kubernetes for ConfgiMap and Secret data auto-update in pods - [Kubernetes: ConfigMap и Secrets - auto-reload данных в подах](https://rtfm.co.ua/ru/kubernetes-configmap-i-secrets-auto-reload-dannyx-v-podax/) - Запуск Reloader в Kubernetes для автоматического обновления ConfgiMap или Secret в подах - [Kubernetes: running a push-server with Gorush behind an AWS LoadBalancer](https://rtfm.co.ua/en/kubernetes-running-a-push-server-with-gorush-behind-an-aws-loadbalancer/) - How to run a push-server Gorush in a Kubernetes behind an AWS Load Balancer - [Kubernetes: запуск push-сервера Gorush в EKS за AWS LoadBalancer](https://rtfm.co.ua/ru/kubernetes-zapusk-push-servera-gorush-v-eks-za-aws-loadbalancer/) - How to run a push-server Gorush in a Kubernetes behind an AWS Load Balancer - [AWS: IAM AssumeRole - описание, примеры](https://rtfm.co.ua/ru/aws-iam-assumerole-opisanie-primery/) - Описание и пример использования AWS IAM AssumeRole. - [Debian: php7.3-curl : Depends: libcurl3 (>= 7.44.0) but it is not installable](https://rtfm.co.ua/en/debian-php7-3-curl-depends-libcurl3-7-44-0-but-it-is-not-installable-2/) - Root cause and solution for the "Depends: libcurl3 (>= 7.44.0) but it is not installable" in Debian - [Debian: php7.3-curl : Depends: libcurl3 (>= 7.44.0) but it is not installable](https://rtfm.co.ua/ru/debian-php7-3-curl-depends-libcurl3-7-44-0-but-it-is-not-installable/) - Причина и решение обшики "Depends: libcurl3 (>= 7.44.0) but it is not installable" в Debian - [Calibre Web: home in-browser online-library with Nextcloud storage and Moon+ Reader on Android](https://rtfm.co.ua/en/calibre-web-home-in-browser-online-library-with-nextcloud-storage-and-moon-reader-on-android/) - Configuring a Calibre Web online library on a Debian Linux in Docker with Nextcloud and using Moon+ Reader for Android with WebDav. - [Bitwarden: shared MFA TOTP codes for Gmail accounts](https://rtfm.co.ua/en/bitwarden-shared-mfa-totp-codes-for-gmail-accounts/) - An MFA TOTP in Bitwarden for shared accounts - [PHP: кеширование PHP-скриптов - настройка и тюнинг OpCache](https://rtfm.co.ua/ru/php-keshirovanie-php-skriptov-nastrojka-i-tyuning-opcache/) - Парметры OpCache, и его настройка для повыешния производительности PHP - [Calibre: домашняя онлайн-библиотека в браузере и Moon+ Reader](https://rtfm.co.ua/ru/calibre-domashnyaya-onlajn-biblioteka-v-brauzere-i-moon-reader/) - Настройка онлайн-библиотеки Calibre Web на Linux с Nextcloud и Moon+ Reader на Android. - [KeePass: настройка MFA, хранение паролей браузера, паролей SSH ключей и интеграция Secret Service](https://rtfm.co.ua/ru/keepass-nastrojka-mfa-xranenie-parolej-brauzera-parolej-ssh-klyuchej-i-integraciya-secret-service/) - Настройка KeePassXC для MFA TOTP, хранения паролей браузера и SSH-ключей, и в роли Secret Service - [Linux: настройка KDE Connect и подключение к Android-телефону](https://rtfm.co.ua/ru/linux-nastrojka-kde-connect-i-podklyuchenie-k-android-telefonu/) - Интеграция Arch Linux и Android через KDE Connect - передача файлов, уведомления, управление мультимедиа. - [KeePass: SSH keys passwords storage and decryption on Linux](https://rtfm.co.ua/en/keepass-ssh-keys-passwords-storage-and-decryption-on-linux/) - Configuring KeePass to store SSH-keys passwords and auto-decrypt the for ssh-agent - [KeePass: an MFA TOTP codes, a browser's passwords, SSH keys passwords storage configuration and Secret Service integration](https://rtfm.co.ua/en/keepass-an-mfa-totp-codes-a-browsers-passwords-ssh-keys-passwords-storage-configuration-and-secret-service-integration/) - KeePassXC configuration for MFA TOTP, browsers and SSH keys passwords storage, and Secret Service integration - [Chromium: Linux, keyrings && Secret Service, passwords encryption and store](https://rtfm.co.ua/en/chromium-linux-keyrings-secret-service-passwords-encryption-and-store/) - One of the motives to go deeper into the keyrings (see the What is: Linux keyring, gnome-keyring, Secret Service, and D-Bus post) was the fact that Chromium, surprise-surprise, keep passwords unencrypted if a Linux system has no keyring and/or Secret Service enabled. So, let's try to find how and where Chromium store passwords, and the - [Chromium: Linux, keyrings && Secret Service, шифрование и хранение паролей](https://rtfm.co.ua/ru/chrome-chromium-linux-keyrings-security-service-i-xranenie-parolej/) - Одним из поводов настолько углубиться в keyrings (см. What is: Linux keyring, gnome-keyring, Secret Service, и D-Bus) был факт того, что Chromium, внезапно, при отсутствии keyring в Linux будет хранить пароли в "открытом виде". Собственно, давайте попробуем найти - как и где Chromium хранит пароли, и, самое важное - шифрует ли он их? Chromium и - [AWS: RDS - обновление Certificate Authority SSL сертификата](https://rtfm.co.ua/ru/aws-rds-obnovlenie-certificate-authority-ssl-sertifikata/) - Пошаговый процесс обновления и отката AWS RDS Certificate Authority SSL сертификата. - [Bitwarden: расшаренный MFA для общих аккаунтов Google](https://rtfm.co.ua/ru/bitwarden-rassharennyj-mfa-dlya-obshhix-akkauntov-google/) - Настройка общего MFA для общих Google-аккаунтов - [Linux: KeePass, SSH и хранение паролей RSA-ключей](https://rtfm.co.ua/ru/linux-keepass-ssh-i-xranenie-parolej-rsa-klyuchej/) - Настройка KeePass на хранение паролей от RSA-ключей для SSh-аутентификации. - [SSH: RSA-ключи и ssh-agent - управление SSH-ключами и их паролями](https://rtfm.co.ua/ru/ssh-rsa-klyuchi-i-ssh-agent-upravlenie-ssh-klyuchami-i-ix-parolyami/) - Примеры использования ssh-agent и ssh-add для управления запароленными RSA-ключами для SSH и Git. - [SSH: RSA keys, and ssh-agent for SSH keys and their passwords management](https://rtfm.co.ua/en/ssh-rsa-keys-and-ssh-agent-for-ssh-keys-and-their-passwords-management/) - The ssh-agent and ssh-add usage examples for password-protected RSA keys management during SSH authentification - [Linux: the Nextcloud client, qtkeychain and the "The name org.freedesktop.secrets was not provided by any .service files" error](https://rtfm.co.ua/en/linux-the-nextcloud-client-qtkeychain-and-the-the-name-org-freedesktop-secrets-was-not-provided-by-any-service-files-error/) - The root cause and the solution for the "The name org.freedesktop.secrets was not provided by any .service files" in the Nextcloud desktop client - [Nextcloud: running in Docker Compose on Debian with Let's Encrypt SSL](https://rtfm.co.ua/en/nextcloud-running-in-docker-compose-on-debian-with-lets-encrypt-ssl/) - A step by step example run a Nextcloud service with Docker Compose on Debian - [Linux: Nextcloud клиент, qtkeychain и ошибка "The name org.freedesktop.secrets was not provided by any .service files"](https://rtfm.co.ua/ru/linux-nexctloud-klient-qtkeychain-i-oshibka-the-name-org-freedesktop-secrets-was-not-provided-by-any-service-files/) - Причина и решение ошибки "The name org.freedesktop.secrets was not provided by any .service files" в Nextcloud клиенте - [Nextcloud: запуск в Docker Compose на Debian с SSL от Let's Encrypt](https://rtfm.co.ua/ru/nextcloud-zapusk-v-docker-compose-na-debian-s-ssl-ot-lets-encrypt/) - Пошаговое руководство по запуску полноценного Nextcloud в Docker Compose на Debian - [Arch Linux: key could not be imported - required key missing from keyring](https://rtfm.co.ua/en/arch-linux-key-could-not-be-imported-required-key-missing-from-keyring-2/) - The "required key missing from keyring" error in Arch and Manjaro Linux, ways to solve it, and the real reason and solution - [NextCloud: установка сервера на Debian с NGINX и PHP-FPM, и клиента на Arch Linux](https://rtfm.co.ua/ru/nextcloud-ustanovka-servera-na-debian-s-nginx-i-php-fpm-i-klienta-na-arch-linux/) - Установка NextCloud на Debian Linux с LEMP. Установка и настройка NextCloud клиентов на Arch Linux и Android. - [HTTP: redirects, POST and GET requests, and the "lost" data](https://rtfm.co.ua/en/http-redirects-post-and-get-requests-and-lost-data/) - Причина и решение проблемы с потерей данных при выполнении HTTP POST с редиректом HTTP на HTTPS - [AWS: RDS Certificate Authority SSL certificate upgrade](https://rtfm.co.ua/en/aws-rds-certificate-authority-ssl-certificate-upgrade/) - A step-by-step AWS RDS Certificate Authority SSL certificate upgrade and its rollback. - [Linux: Kazam - record a screencast](https://rtfm.co.ua/en/linux-kazam-record-a-screencast/) - had to create a short demonstration video for Okta's support, googled a tiny, quick and simple application - Kazam. On Arch Linux can be install from AUR: [simterm] $ yaourt -S kazam [/simterm] Run it: [simterm] $ kazam [/simterm] I set the Automatic save by default (to the ~/Videos): Now, chose an area to record - [Linux: Kazam - запись видео с экрана](https://rtfm.co.ua/ru/linux-kazam-zapis-video-s-ekrana/) - Появилась необходимость для саппорта Okta записать небольшое видео процесса логина в один из сервисов, быстренько нагуглилось такое приложение, как Kazam - маленькое, простое, и, главное, работающее. На Arch Linux устанавливаем из AUR: [simterm] $ yaourt -S kazam [/simterm] Запускаем: [simterm] $ kazam [/simterm] Я в настройках сразу включил Automatic save файла (в ~/Videos): Выбираем область, - [Grafana: Loki - the LogQL's Prometheus-like counters, aggregation functions and dnsmasq's requests graphs](https://rtfm.co.ua/en/grafana-loki-the-logqls-prometheus-like-counters-aggregation-functions-and-dnsmasqs-requests-graphs/) - How to use LogQL and its aggregation functions and counters in Loki and Grafana - [What is: SAML - обзор, структура и трассировка запросов на примере Jenkins и Okta SAML SSO](https://rtfm.co.ua/ru/what-is-saml-obzor-struktura-i-trassirovka-zaprosov-na-primere-jenkins-i-okta-saml-sso/) - Что такое SAML, его архитектура, компонены и трассировка запросов между Okta и Jenkins - [What is: SAML - an overview, its structure and requests tracing between a Jenkins and Okta SSO](https://rtfm.co.ua/en/what-is-saml-an-overview-its-structure-and-requests-tracing-between-a-jenkins-and-okta-sso/) - A detailed overview about SAML, its architecture, components and a tracing example between a Jenkins and Okta during Web SSO authentification - [Grafana: Loki - Prometheus-like счётчики и функции агрегации в LogQL и графики DNS запросов к dnsmasq](https://rtfm.co.ua/ru/grafana-loki-prometheus-like-schyotchiki-i-funkcii-agregacii-v-logql-i-grafiki-dns-zaprosov-k-dnsmasq/) - Loki, LogQL и функции rate, count, etc. Grafana и графики DNS запросов. - [Bitcoin: установка кошелька Electrum на Arch Linux](https://rtfm.co.ua/ru/bitcoin-ustanovka-koshelka-electrum-na-arch-linux/) - Перебирал вчера различные сервисы на https://degooglisons-internet.org/en/alternatives - альтернативы сервисам всяких корпрораций типа Google etc, среди прочего взгляд упал на Bitcoin, вспомнил, что давно хотел установить и потрогать его. Начинаем со страницы https://bitcoin.org/ru/getting-started, я выбрал Electrum. Устанавливаем его на Arch Linux: [simterm] $ sudo pacman -S electrum resolving dependencies... looking for conflicting packages... Packages (19) gunicorn-19.9.0-1 - [English: глаголы и времена в английском языке](https://rtfm.co.ua/ru/english-glagoly-i-vremena-v-anglijskom-yazyke/) - Одной из причин, по которой хотелось добавить английскую версию блога было то, что это дало бы хороший повод подтянуть грамматику английского, с которым у меня достаточно большие проблемы. Долго думал - стоит ли заводить такую рубрику в этом блоге, но - в IT без английского никуда, а потому, надеюсь, попытки разобраться с некоторыми нюансами и - [Jenkins: SAML, Okta, user groups and Role-Based Security plugin](https://rtfm.co.ua/en/jenkins-saml-okta-users-groups-and-role-based-security-plugin/) - The Role-Based Security plugin configuration in Jenkins to use Okta's user groups - [Okta: настройка SWA SSO для Gmail и Slack](https://rtfm.co.ua/ru/okta-nastrojka-sso-dlya-gmail-i-slack/) - Настройка авторизации в Gmail и Slack через Okta SSO - [Arch Linux: package-query: error while loading shared libraries: libalpm.so.11](https://rtfm.co.ua/en/arch-linux-package-query-error-while-loading-shared-libraries-libalpm-so-11-2/) - Solutions for the "package-query: error while loading shared libraries: libalpm.so.11" error during Arch Linux upgrade - [dnsmasq: AWS - "Temporary failure in name resolution", logs, debug and dnsmasq cache size](https://rtfm.co.ua/en/dnsmasq-aws-temporary-failure-in-name-resolution-logs-debug-and-dnsmasq-cache-size/) - The AWS VPC DNS "Temporary failure in name resolution" errors and the dnsmasq debugging, logging and usage statistic - [Arch Linux: package-query: error while loading shared libraries: libalpm.so.11](https://rtfm.co.ua/ru/arch-linux-package-query-error-while-loading-shared-libraries-libalpm-so-11/) - Решения ошибки "package-query: error while loading shared libraries: libalpm.so.11" при обновлении Arch Linux - [dnsmasq: ошибки в AWS - "Temporary failure in name resolution", логи, дебаг и размер кеша](https://rtfm.co.ua/ru/dnsmasq-oshibki-v-aws-temporary-failure-in-name-resolution-logi-debag-i-razmer-kesha/) - Поиски причин ошибки "Temporary failure in name resolution" - дебаг dnsmasq, настройка его логов и получение стастики - [DNS: установка BIND, DNS Load Balancing и network-based routing через view](https://rtfm.co.ua/ru/dns-ustanovka-bind-dns-load-balancing-i-network-based-routing-cherez-view/) - Ниже описывается установка DNS сервера BIND (Berkeley Internet Name Domain) на AWS EC2 в VPC + два дополнительных инстанса в разных подсетях (А и В), после чего на нём реализуем следующее: DNS round-robin Load Balancer - будет распределять трафик по очереди на каждый из двух дополнительных интансов DNS network-based routing - тут задача интереснее: если - [Okta: G-Suite integration - provisioning and users import and export](https://rtfm.co.ua/en/okta-g-suite-integration-provisioning-and-users-import-and-export/) - Okta and G Suite integration - provisioning and users import and export - [RTFM: День Рождения - 8 годиков и 3 миллиона посетителей. Обзор обновлений.](https://rtfm.co.ua/ru/rtfm-den-rozhdeniya-8-godikov-i-3-milliona-posetitelej-obzor-obnovlenij/) - Как-то вдруг наступил уже и Август. Традицонно - 14-е Августа у RTFM что-то вроде Дня рождения: Ну и традиционно - кратенько пройдусь по основным событиям за прошедший год (хотя семилетие не записал, ну да ладно). Блог по-прежнему работает на WordPress, хостится на Debian + NGINX + PHP-FPM + MariaDB - стандартный LEMP. Предыдущие посты: rtfm.co.ua - [Okta: настройка своего домена](https://rtfm.co.ua/ru/okta-nastrojka-svoego-domena/) - Создание и настройка собственного домена и SSL для Okta - [Jenkins: SAML Authentication через Okta SSO и группы пользователей](https://rtfm.co.ua/ru/jenkins-saml-authentication-cherez-okta-i-gruppy-polzovatelej/) - Пошаговая настройка SAML аутентификации в Jenkins через Okta - [Jenkins: SAML, Okta, группы пользователей и Role-Based Security](https://rtfm.co.ua/ru/jenkins-saml-okta-gruppy-polzovatelej-i-role-based-security/) - Настройка Role-Based Secuirty авторизации в Jenkins с использованием групп из Okta - [Okta: интеграция с G-Suite - provisioning, импорт и экспорт пользователей](https://rtfm.co.ua/ru/okta-integraciya-s-g-suite-provisioning-import-i-eksport-polzovatelej/) - Настройка интеграции Okta и G Suite: provisioning, импорт и экпорт пользователей - [Github: SAML, Okta, and Github Enterprise Cloud - Organization SSO configuration](https://rtfm.co.ua/en/github-saml-okta-and-github-enterprise-cloud-organization-sso-configurartion/) - SAML authentication in Github using Okta SSO - [Github: SAML Okta - настройка SSO в Github Enterprise Cloud - Organization](https://rtfm.co.ua/ru/github-saml-okta-nastrojka-sso-v-github-enterprise-cloud-organization/) - Настройка SAML-аутентификации в Github Enterprise Cloud - Organization через Okta SSO - [AWS: Redshift - quick start and SQL-workbench connection config](https://rtfm.co.ua/en/aws-redshift-quick-start-and-sql-workbench-connection-config/) - Пример быстрого создания и запуска кластера AWS Redshift и настройка подключения из SQL-workbench - [AWS: Redshift - быстрый запуск кластера и подключение из SQL-workbench](https://rtfm.co.ua/ru/aws-redshift-bystryj-zapusk-klastera-i-podklyuchenie-iz-sql-workbench/) - Пример быстрого создания и запуска кластера AWS Redshift и настройка подключения из SQL-workbench - [OpenVPN: the No route to host and ERR_ADDRESS_UNREACHABLE errors - the cause and a solution](https://rtfm.co.ua/en/openvpn-the-no-route-to-host-and-err_address_unreachable-errors-the-cause-and-a-solution/) - The cause and a solution for the "No route to host" and "ERR_ADDRESS_UNREACHABLE" errors in the OpenVPN Access Server - [OpenVPN: ошибки No route to host и ERR_ADDRESS_UNREACHABLE - причина и решение](https://rtfm.co.ua/ru/openvpn-oshibki-no-route-to-host-i-err_address_unreachable-prichina-i-reshenie/) - Причина и решение ошибок No route to host и ERR_ADDRESS_UNREACHABLE в OpenVPN Access Server - [Jenkins: SAML Authentication with Okta SSO and users groups](https://rtfm.co.ua/en/jenkins-saml-authentication-via-okta-and-users-groups/) - A step by step SAML authentication in Jenkins from Okta - [Vertica: a simple cluster set up and configuration on AWS EC2](https://rtfm.co.ua/en/vertica-a-simple-cluster-set-up-and-configuration-on-aws-ec2/) - Установка и запуск сервера баз данных Vertica на AWS EC2 - [Vertica: установка и запуск кластера на AWS EC2](https://rtfm.co.ua/ru/vertica-ustanovka-i-zapusk-na-aws-ec2/) - Установка и запуск сервера баз данных Vertica на AWS EC2 - [Debian: logrotate won't rotate logs with an "unknown group 'syslog'" error](https://rtfm.co.ua/en/debian-logrotate-wont-rotate-logs-with-the-unknown-group-syslog-error/) - Logrotate on Debian and the "unknown group 'syslog'" error solution - [Debian: не срабатывает logrotate - unknown group 'syslog'](https://rtfm.co.ua/ru/debian-ne-srabatyvaet-logrotate-unknown-group-syslog/) - Logrotate на Debian и решение ошибки "unknown group 'syslog'" - [Okta: the Custom domain and TLS configuration](https://rtfm.co.ua/en/okta-the-custom-domain-and-tls-configuration/) - How to create and configure a Custom domain and its SSL for the Okta SSO - [Okta: SSO authentication for Gmail and Slack](https://rtfm.co.ua/en/okta-sso-authentication-for-gmail-and-slack/) - Authentication config for Gmail and Slack via Okta SSO - [AWS: clean up CloudFront cache](https://rtfm.co.ua/en/aws-clean-up-cloudfront-cache/) - Removing objects from the AWS CloudFront edge cache - [AWS: очистить кеш CloudFront](https://rtfm.co.ua/ru/aws-ochistit-kesh-cloudfront/) - Удаление объектов из кеша Cloudfront дистрибьюции - [AWS: создание Elastic Container Registry и деплой из Jenkins](https://rtfm.co.ua/ru/aws-sozdanie-elastic-container-registry-i-deploj-iz-jenkins/) - Создание AWS Elastic Container Service - [AWS: create an Elastic Container Registry and Jenkins deploy job](https://rtfm.co.ua/en/aws-create-an-elastic-container-registry-and-jenkins-deploy-job/) - Create an AWS Elastic Container Service and Jenkins deploy job - [Jenkins: Docker Compose deployment from Ansible with ECR authentication](https://rtfm.co.ua/en/jenkins-docker-compose-deployment-from-ansible-with-ecr-authentication/) - How to deploy Docker Compose via Ansible-роль from the Jenkins with the AWS ECR authentification - [Jenkins: деплой Docker Compose из Ansible и ECR авторизация](https://rtfm.co.ua/ru/jenkins-deploj-docker-compose-iz-ansible-i-ecr-avtorizaciya/) - Деплой Docker Compose через Ansible-роль в Jenkins с авторизацией в AWS ECR - [Linux: persistent logs in systemd-journald](https://rtfm.co.ua/en/linux-persistent-logs-in-systemd-journald/) - Configure logs Persistent Storage in journald - [Linux: постоянное хранение логов в systemd-journald](https://rtfm.co.ua/ru/linux-postoyannoe-xranenie-logov-v-systemd-journald/) - Настройка Persistent Storage логов в journald - [OpsGenie: Uptrends integration](https://rtfm.co.ua/en/opsgenie-uptrends-integration/) - Uptrends - just a simple pinging monitoring service already used for the RTFM blog (see the Prometheus: RTFM blog monitoring set up with Ansible – Grafana, Loki, and promtail post for more details). Now I'd like to add it as an additional alerting service for the project's API-endpoints and configure its alerts to be sent - [Opsgenie: интеграция с Uptrends](https://rtfm.co.ua/ru/opsgenie-integraciya-s-uptrends/) - Uptrends - простая мониторилка-пинговалка, давно использую для RTFM (см. Prometheus: мониторинг для RTFM — Grafana, Loki и promtail). Решил добавить её как последний рубеж для уведомлений о проблемах с рабочими ендпоинтами, а заодно - прикрутить интеграцию с OpsGenie, через который мы получаем уведомления на мобильные, см. Prometheus: OpsGenie и Alertmanager — уведомления в почту/SMS/телефон. Интеграция - [CloudFlare: CDN configuration for AWS S3 website hosting](https://rtfm.co.ua/en/cloudflare-cdn-configuration-for-aws-s3-website-hosting/) - A static website hosting on AWS S3 with CDN from CloudFlare - [CloudFlare: настройка CDN для AWS S3](https://rtfm.co.ua/ru/cloudflare-nastrojka-cdn-dlya-aws-s3/) - Настройка хостинга статического сайта в AWS S3 и подключение CDN от CloudFlare - [PostgreSQL: FATAL: Peer authentication failed for user "name"](https://rtfm.co.ua/en/postgresql-fatal-peer-authentication-failed-for-user-name-2/) - PostgreSQL remote access configuration, the "Peer authentication failed for user "name" error solution and making PostgreSQL database dump - [PostgreSQL: FATAL: Peer authentication failed for user "name"](https://rtfm.co.ua/ru/postgresql-fatal-peer-authentication-failed-for-user-name/) - PostgreSQL remote access configuration, the "Peer authentication failed for user "name" error solution and making PostgreSQL database dump - [Prometheus: получить общее количество процессов на сервере и process-exporter](https://rtfm.co.ua/ru/prometheus-poluchit-obshhee-kolichestvo-processov-na-servere-i-process-exporter/) - Начали у нас на бекенде размножаться процессы. Причина сейчас не важна, интересно другое: захотелось собирать метрики по общему количеству процессов на хостах, но, внезапно - node-exporter такого не умеет: у него есть только метрики node_procs_running и node_procs_blocked, а хочется видеть количество процессов и в Sleep, и в Zombie. Используем вместо него process-exporter. Запускаем для проверки - [Redis: main configuration parameters and performance tuning overview](https://rtfm.co.ua/en/draft-eng-redis-main-configuration-parameters-and-performance-tuning-overview/) - Redis performance tuning, main configuration parameters, and Linux settings overview - [Kubernetes: part 4 - AWS EKS authentification, aws-iam-authenticator and AWS IAM](https://rtfm.co.ua/en/kubernetes-part-4-aws-eks-authentification-aws-iam-authenticator-and-aws-iam/) - The "You must be logged in to the server (Unauthorized)" error, authentification vs authorization in AWS EKS with AWS CLI and aws-iam-authenticator. - [Kubernetes: знакомство, часть 3 - обзор AWS EKS и ручное создание кластера](https://rtfm.co.ua/ru/kubernetes-znakomstvo-chast-3-obzor-aws-eks-i-ruchnoe-sozdanie-klastera/) - Обзор AWS EKS, ручное создание Kubernetes Control Plane, CloudFormation стек с Worker Nodes, запуск веб-сервиса с LoadBalancer. - [Kubernetes: part 3 - AWS EKS overview and manual EKS cluster set up](https://rtfm.co.ua/en/kubernetes-part-3-aws-eks-overview-and-manual-eks-cluster-set-up/) - The AWS EKS overview, create a Kubernetes Control Plane, CloudFormation stack with Worker Nodes, and running a web-service with a LoadBalancer. - [SonarQube: solving "Unrecoverable indexation failures" and Elasticsearch "Disk watermark exceeded" errors](https://rtfm.co.ua/en/sonarqube-solving-unrecoverable-indexation-failures-and-elasticsearch-disk-watermark-exceeded-errors/) - Cause and solution for the SonarQube's "Unrecoverable indexation failures" and Elasticsearch's "Disk watermark exceeded" errors. - [SonarQube: Unrecoverable indexation failures и Elasticsearch "Disk watermark exceeded"](https://rtfm.co.ua/ru/sonarqube-unrecoverable-indexation-failures-i-elasticsearch-disk-watermark-exceeded/) - Причина и решение ошибок Unrecoverable indexation failures в SonarQube и "Disk watermark exceeded" в Elasticsearch. - [Redis: fork - Cannot allocate memory, Linux, virtual memory and vm.overcommit_memory](https://rtfm.co.ua/en/redis-fork-cannot-allocate-memory-linux-virtual-memory-and-vm-overcommit_memory/) - What is the vm.overcommit_memory in Linux, how it affects Redis and the "fork :Cannot allocate memory" error root cause. - [Redis: fork - Cannot allocate memory, Linux, виртуальная память и vm.overcommit_memory](https://rtfm.co.ua/ru/redis-linux-i-vm-overcommit_memory/) - Что такое vm.overcommit_memory в Linux, как он влияет на Redis и причина ошибки fork :Cannot allocate memory - [Kubernetes: знакомство, часть 2 - создание кластера с AWS cloud-provider и AWS LoadBalancer](https://rtfm.co.ua/ru/kubernetes-znakomstvo-chast-2-sozdanie-klastera-s-aws-cloud-provider-i-aws-loadbalancer/) - Пошаговое создание Kubernetes кластера с AWS cloud-provider и AWS LoadBalancer - [Kubernetes: part 2 - a cluster set up on AWS with AWS cloud-provider and AWS LoadBalancer](https://rtfm.co.ua/en/kubernetes-part-2-a-cluster-set-up-on-aws-with-aws-cloud-provider-and-aws-loadbalancer/) - A step-by-step manual cluster set up using kubeadm on AWS with AWS cloud-provider and AWS LoadBalancer - [Kubernetes: part 1 - architecture and main components overview](https://rtfm.co.ua/en/kubernetes-part-1-architecture-and-main-components-overview/) - Kubernetes architecture and main components overview - [AWS: CloudCraft - an existing infrastructure's map generator](https://rtfm.co.ua/en/aws-cloudcraft-an-existing-infrastructures-map-generator/) - How to create an AWS account's resources map using CloudCraft - [AWS: CloudCraft - генерация карты существующей инфрастуктуры](https://rtfm.co.ua/ru/aws-cloudcraft-generaciya-karty-sushhestvuyushhej-infrastuktury/) - Создание карты существующих ресурсов в AWS-аккаунте - [Docker: Compose shared networks](https://rtfm.co.ua/en/docker-compose-shared-networks/) - Docker Compose stacks shared networks example with Jenkins and SonarQube - [Docker: Compose и общие сети](https://rtfm.co.ua/ru/docker-compose-i-obshhie-seti/) - Использование общих сетей в Docker Compose стеках - [Kubernetes: знакомство, часть 1 - архитектура и основные компоненты, обзор](https://rtfm.co.ua/ru/kubernetes-znakomstvo-chast-1-arxitektura-i-osnovnye-komponenty-obzor/) - Обзор основных компонентов и архитектуры Kubernetes - [NGINX: limit_req - limiting requests per IP](https://rtfm.co.ua/en/nginx-limit_req-limiting-requests-per-ip/) - NGINX limit_req_module - limiting requests from one IP - [NGINX: limit_req - ограничение количества запросов](https://rtfm.co.ua/ru/nginx-limit_req-ogranichenie-kolichestva-zaprosov/) - NGINX limit_req_module - ограничение количества запросов с одного IP адреса - [rtfm.co.ua - 14 августа - день рождения блога: 3 годика](https://rtfm.co.ua/ru/rtfm-co-ua-14-avgusta-den-rozhdeniya-bloga/) - Дата регистрации домена и запуска блога: Domain Name:RTFM.CO.UA Created On:14-Aug-2011 09:40:17 UTC Блог работает на WordPress 3.2 (изначально был 2.6, если не ошибаюсь), на операционной системе: # uname -r 9.2-RELEASE-p6 (изначально 7.4, хотя тоже могу ошибаться, предполгаю по дате релиза - February 2011) Хотя в ближайшее время будет мигрировать на новый сервер с: # cat - [AWS: S3 Cross-Region Replication with DeleteMarkers set up](https://rtfm.co.ua/en/aws-s3-cross-region-replication-configuration-and-objects-deletemarkers-replication/) - AWS S3 Cross-Region Replication set up and DeleteMarkers configuration to delete objects during replication - [What is: chroot - system call and utility in Linux](https://rtfm.co.ua/en/what-is-chroot-the-system-call-and-utility-in-linux/) - The chroot() system call and Linux utility history, overview and usage examples. - [AWS RDS: "SQLSTATE[22001] - Data too long for column" using MariaDB 10.2](https://rtfm.co.ua/en/aws-rds-sqlstate22001-data-too-long-for-column-using-mariadb-10-2/) - The "SQLSTATE[22001] Data too long for column" error solution for the AWS RDS MariaDB 10.2 - [AWS RDS: SQLSTATE[22001] - Data too long for column в MariaDB 10.2](https://rtfm.co.ua/ru/data-too-long-for-column/) - Решение ошибки "SQLSTATE[22001] Data too long for column" в AWS RDS MariaDB 10.2 - [Golang: pointers - detailed overview](https://rtfm.co.ua/en/golang-ukazateli-podrobnyj-razbor-2/) - What pointers are? Pointers examples in Golang. * and & operators. Pointer as an argument to a function. Functions - arguments by value and by reference. - [Grafana Labs: Loki - logs collecting and monitoring system](https://rtfm.co.ua/en/grafana-labs-loki-logs-collector-and-monitoring-system/) - Grafana 6.0 was still in Beta on Feb 2019, when the new feature was introduced - Loki, a log aggregation system available via another new ability - Explore. It's similar to well-known ELK/EFK stack but more simple to set up and use and is intended to be used mostly with clouds and systems like Prometheus - [SonarQube: running tests from Jenkins Pipeline in Docker](https://rtfm.co.ua/en/sonarqube-running-tests-from-jenkins-pipeline-from-docker/) - A step-by-step example of the SonarQube set up using Docker to run PHP test from a Jenkins Pipline. - [Kubernetes: запуск Gravl в Minikube](https://rtfm.co.ua/ru/kubernetes-zapusk-gravl-v-minikube/) - Задача: используя Minikube запустить контейнер с CMS Grav. Шаги: собрать Docker образ с NGINX + PHP-FPM и кодом приложения запушить его в DockerHub запустить контейнер с приложением в Kubernetes кластере Установка и запуск Minikube описаны тут>>>. Проверка Grav Т.к. эту CMS ещё не использовал - сначала попробуем запустить её вручную, и посмотреть как она стартует. На Arch для - [Kubernetes: запуск Minikube на Arch Linux](https://rtfm.co.ua/ru/kubernetes-zapusk-minikube-na-arch-linux/) - Minikube - утилита для запуска Kubernetes кластера на локальной машине. Может использовать Virtualbox, VMWare, Hyper-V гипервизоры, на которых запускает виртуальную машину, в которой создаётся кластер Kubernetes. В Arch Linux - устанавливаем из AUR: [simterm] $ yaourt -S minikube [/simterm] Если Virtualbox не установлен - устанавливаем: [simterm] $ sudo pacman -S virtualbox [/simterm] minikube работает с Kubernetes через - [AWS: настройка S3 Cross-Region Replication и удаление файлов при репликации](https://rtfm.co.ua/ru/aws-nastrojka-s3-cross-region-replication-i-udalenie-fajlov-pri-replikacii/) - Создание S3 Cross-Region Replication между двумя корзинами AWS S3 и настройка репликации удаления файлов - [BASH: скрипт бекапа /home с уведомлениями](https://rtfm.co.ua/ru/bash-skript-bekapa-home-s-uvedomleniyami/) - Задача - написать скрипт для домашней машинки, что бы создавать бекапы по расписанию используя rsync, с уведомлениями на почту и в трее. Бекапы хранятся на отдельном USB SSD. Описание настройки отправки почты пользователю есть в посте Arch Linux: ssmtp – отправка локальной почты. Ниже - процесс написания такого скрипта с примерами функций. Сам скрипт доступен в - [NGINX: multi-branch deployment with Ansible, NGINX map and HTTP Headers](https://rtfm.co.ua/en/nginx-multi-branch-deployment-with-ansible-nginx-map-and-http-headers/) - Deploy an application from different branches to the same host using Ansible and serve them from one NGINX - [NGINX: мульти-бранч деплой приложения с использованием NGINX map и HTTP Headers](https://rtfm.co.ua/ru/nginx-multi-branch-deploj-prilozheniya-s-ispolzovaniem-nginx-map-i-http-headers/) - Настройка NGINX для отдачи разных версий приложения из разных бранчей, и их деплой из Ansible. - [SonarQube: запуск в Docker и вызов из Jenkins Pipeline](https://rtfm.co.ua/ru/sonarqube-zapusk-v-docker-i-vyzov-iz-jenkins-pipeline/) - Пошаговая настройка SonarQube в Docker и запуск тестов PHP из Jenkins Pipeline - [Jenkins: running PHPUnit from Codeception by a Pull Request in Github and Allure-reports](https://rtfm.co.ua/en/jenkins-running-phpunit-from-codeception-by-a-pull-reguest-in-github-and-allure-reports/) - Running PHPUnit from Codeception in a Jenkins Scripted Pipeline job by a Github webhook on a Pull Request and reports collecting to Allure. - [SonarQube: the "SCM provider autodetection failed" error](https://rtfm.co.ua/en/sonarqube-the-scm-provider-autodetection-failed-error/) - The SonarQube's "SCM provider autodetection failed" error solution. - [SonarQube: ошибка "SCM provider autodetection failed"](https://rtfm.co.ua/ru/sonarqube-oshibka-scm-provider-autodetection-failed/) - Решение ошибки "SCM provider autodetection failed" в SonarQube. - [Jenkins: запуск PHPUnit из Codeception по Pull Reguest в Github и Allure-репорты](https://rtfm.co.ua/ru/jenkins-zapusk-phpunit-iz-codeception-po-pull-reguest-v-github-i-allure-reporty/) - Запуск PHPUnit из Codeception в Jenkins Scripted Pipeline по вебхуку из Github при создании Pull Request и сбор репортов в Allure. - [AWS: IAM users keys rotation, EC2 IAM Roles and Jenkins](https://rtfm.co.ua/en/aws-iam-users-keys-rotation-ec2-iam-roles-and-jenkins/) - An example of the AWS EC2 IAM roles usage for Jenkins jobs authorization instead of the ACCESS/SECRET keys - [AWS: ротация ключей IAM пользователей, EC2 IAM Roles и Jenkins](https://rtfm.co.ua/ru/aws-rotaciya-klyuchej-iam-polzovatelej-ec2-iam-roles-i-jenkins/) - Пример использования AWS EC2 IAM-ролей для авторизации задач Jenkins в AWS вместо ACCESS/SECRET ключей IAM-пользователя. - [OpenVPN: Let's Encrypt DNS verification on AWS Route53 and OpenVPN Access Server SSL certificate auto update](https://rtfm.co.ua/en/openvpn-lets-encrypt-dns-verification-on-aws-route53-and-openvpn-access-server-ssl-certificate-auto-update/) - Let's Encrypt DNS verification with the certbot and AWS Route53 and OpenVPN Access Server SSL auto updates - [Linux: GPG-keys, Pass - passwords manager, and passwords import from the KeePass database](https://rtfm.co.ua/en/linux-gpg-keys-the-pass-passwords-manager-and-passwords-import-from-the-keepass-database/) - GPG-keys management in Linux. The pass passwords manager description, usage examples. A KeyPass passwords database import to the pass. Synching pass with Git. - [Sentry: running self-hosted errors tracking system on an AWS EC2](https://rtfm.co.ua/en/sentry-running-self-hosted-errors-tracking-system-on-an-aws-ec2/) - An example of a self-hosted Sentry errors tracking system running on an AWS EC2, its email configuration and catching errors from Python - [OpenVPN: Let's Encrypt DNS verification с certbot и AWS Route53 и обновление сертификата в OpenVPN Access Server](https://rtfm.co.ua/ru/openvpn-lets-encrypt-dns-verification-i-obnovlenie-sertifikata-v-openvpn-access-server/) - Настройка Let's Encrypt DNS verification с помощью certbot и автоматическое обновление сертификата в OpenVPN Access Server - [Debian: unattended-upgrades - automatic upgrades installation with email notifications via AWS SES](https://rtfm.co.ua/en/debian-unattended-upgrades-automatic-upgrades-installation-with-email-notifications-via-aws-ses/) - A unattended-upgrades package performs automated upgrades installation on Debian/Ubuntu systems. It's a Python script (1500 lines) located at /usr/bin/unattended-upgrade (and /usr/bin/unattended-upgrades is a symlink to the /usr/bin/unattended-upgrade). CentsOS/RHEL analog - yum-cron. Install it: [simterm] $ sudo apt -y install unattended-upgrades [/simterm] The main config file is /etc/apt/apt.conf.d/50unattended-upgrades where upgrade types, email settings etc can be - [Debian: автоматические обновления с помощью unattended-upgrades и отправка почты через AWS SES](https://rtfm.co.ua/ru/debian-avtomaticheskie-obnovleniya-s-pomoshhyu-unattended-upgrades-i-otpravka-pochty-cherez-aws-ses/) - Пакет unattended-upgrades выполняет автоматическую установку обновлений на Debian/Ubuntu. Представляет собой Python-скрипт (1500 строк), расположенный в /usr/bin/unattended-upgrade (при этом /usr/bin/unattended-upgrades является симлинком на /usr/bin/unattended-upgrade). Аналог для CentsOS/RHEL - yum-cron. Устанавливаем: [simterm] $ sudo apt -y install unattended-upgrades [/simterm] Основной файл настроек - /etc/apt/apt.conf.d/50unattended-upgrades, в нём настраиваются тип обновлений, отправка почты и прочее. Настройки самих обновлений выполняются - [Sentry: запуск self-hosted версии системы мониторинга ошибок на AWS EC2](https://rtfm.co.ua/ru/sentry-zapusk-self-hosted-versii-sistemy-monitoringa-oshibok-na-aws-ec2/) - Пример запуска системы мониторинга ошибок Sentry на AWS EC2, настройка почты и отправка ошибок из Python. - [Bitwarden: менеджер паролей организации - установка self-hosted версии на AWS EC2](https://rtfm.co.ua/ru/bitwarden-menedzher-parolej-organizacii-ustanovka-self-hosted-versii-na-aws-ec2/) - Обзор и пошаговая установка менеджера паролей Bitwarden на AWS EC2. Bitwarden приложения. Импорт/экспорт данных. Бекап и восстановление. - [AWS: VPC peering DNS resolution и настройки DNS для OpenVPN AS](https://rtfm.co.ua/ru/aws-vpc-peering-dns-resolution-i-nastrojki-dns-dlya-openvpn-as/) - Настройка разрешения DNS для получения приватных IP в OpenVPN сервере через VPC peering connection. - [OpenVPN: настройки DNS и dnsmasq](https://rtfm.co.ua/ru/openvpn-nastrojki-dns-i-dnsmasq/) - В продолжение OpenVPN: настройка OpenVPN Access Server и AWS VPC peering - пример настройки DNS. UPD: решение, описанное в этом посте - рабочее, но есть более правильный вариант. См пост AWS: VPC peering DNS resolution и настройки DNS для OpenVPN AS. Дано: домен ci.example.com, который должен резолвиться на публичный IP сервера с Jenkins при подключении - [AWS: VPC peering DNS resolution and DNS settings for OpenVPN Access Server](https://rtfm.co.ua/en/aws-vpc-peering-dns-resolution-and-dns-settings-for-openvpn-access-server/) - DNS resolution configuration between VPC with OpenVPN and VPC with ЕС2 via VPC Peering connection - [Linux: A stop job is running for Session c1 of user setevoy (1min 30s)](https://rtfm.co.ua/en/linux-a-stop-job-is-running-for-session-c1-of-user-setevoy-1min-30s-2/) - The solution for a long-waiting Linux shutdown with the "A stop job is running for Session [...]" message - [Linux: A stop job is running for Session c1 of user setevoy (1min 30s)](https://rtfm.co.ua/ru/linux-a-stop-job-is-running-for-session-c1-of-user-setevoy-1min-30s/) - Решение долгого ожидания при рестарте Linux с сообщением "A stop job is running for Session [...]". - [TestRail: сброс пароля admin](https://rtfm.co.ua/ru/testrails-sbros-parolya-admin/) - Сброс пароля администратора TestRail при неработающей почте напрямую в базе данных - [TestRail: reset admin password](https://rtfm.co.ua/en/testrails-reset-admin/) - Resetting TestRail's administrator password without email directly in a MySQL database - [AWS: MariaDB RDS - kill: You are not owner of thread](https://rtfm.co.ua/en/aws-mariadb-rds-kill-you-are-not-owner-of-thread-2/) - Solution for the "You are not owner of thread" error in AWS RDS MariaDB during kill() - [AWS: MariaDB RDS - kill: You are not owner of thread](https://rtfm.co.ua/ru/aws-mariadb-rds-kill-you-are-not-owner-of-thread/) - Решение ошибки "You are not owner of thread" в AWS RDS MariaDB при вызове kill - [Bitwarden: an organization's password manager self-hosted version installation on an AWS EC2](https://rtfm.co.ua/en/bitwarden-an-organizations-password-manager-self-hosted-version-installation-on-an-aws-ec2/) - Bitwarden passwords manager overview and step-by-step installation on an AWS EC2. Bitwarden applications. Data import/export. Backup and restore. - [Arch Linux: ssmtp - отправка локальной почты](https://rtfm.co.ua/ru/arch-linux-ssmtp-otpravka-lokalnoj-pochty/) - Хочется иметь уведомления от системы на почту, например статусы cron-задач и тому подобное. Как вариант - использовать ssmtp, и отправлять письма через внешний SMTP. Устанавливаем: [simterm] $ sudo pacman -S ssmtp [/simterm] Редактируем /etc/ssmtp/ssmtp.conf: mailhub=mail.example.kiev.ua:587 # The full hostname hostname=setevoy-arch-home UseTLS=Yes UseSTARTTLS=Yes AuthUser=user@example.kiev.ua AuthPass=password AuthMethod=LOGIN У ssmtp есть баг со специальными символами - =, ; - [Linux: GPG-ключи, менеджер паролей pass и импорт из KeePass](https://rtfm.co.ua/ru/linux-gpg-klyuchi-menedzher-parolej-pass-i-import-iz-keepass/) - Управление GPG-ключами в Linux. Менеджер паролей pass - прмиеры работы. Импорт паролей из KeePass в pass. Синхронизация базы паролей pass через Github. - [Golang: указатели - подробный разбор](https://rtfm.co.ua/ru/golang-ukazateli-podrobnyj-razbor/) - Что такое указатели? Примеры указателей в Golang. Операторы * и &. Передача указателя в функцию. Аргументы функции по ссылке и значению. - [Authy: step by step Multi-Factor Authentication configuration for Github and AWS](https://rtfm.co.ua/en/authy-step-by-step-multi-factor-authentication-configuration-for-github-and-aws/) - Authy vs Google Authenticator. Step by step MFA configuration for Github and AWS using Authy. - [Authy: настройка Multi-Factor Authentication для Github и AWS](https://rtfm.co.ua/ru/authy-nastrojka-multi-factor-authentication-dlya-github-i-aws/) - Authy vs Google Authenticator. Настройка MFA для Github и AWS, используя Authy. - [Jenkins: проверка публичных репозиториев Github-организации](https://rtfm.co.ua/ru/jenkins-proverka-publichnyx-repozitoriev-github-organizacii/) - Проверка списка публичных репозиториев на Go: Docker-файл для Go, Jenkins джоба для его запуска. - [Jenkins: a job to check a Github organization's public repositories list](https://rtfm.co.ua/en/jenkins-a-job-to-check-a-github-organizations-public-repositories-list/) - Checking Github organization's public repositories list: building a Docker image with the Go utility, adding Jenkins job. - [Go: checking public repositories list in Github. Go slices comparison. The first Golang experience.](https://rtfm.co.ua/en/go-checking-public-repositories-list-in-github-go-slices-comparison-the-first-golang-experience/) - The writing process of the tool in Golang to check Github's public repositories list. Go slices comparison. Slack notifications with Go. - [Go: проверка списка публичных репозиториев в Github и уведомления в Slack. Сравнение списков в Go. Первый опыт с Golang.](https://rtfm.co.ua/ru/go-proverka-spiska-publichnyx-repozitoriev-v-github-i-uvedomleniya-v-slack-sravnenie-spiskov-v-go-pervyj-opyt-s-golang/) - Процесс написания утилиты на Go для проверки списка публичных репозиториев в Github с уведомлениями в Slack. Сравнение списков в Go. - [Redis: replication, part 4 - writing an Ansible role fore the Master-Slave replication with Redis Sentinel provisioning](https://rtfm.co.ua/en/redis-replication-part-4-writing-an-ansible-role-fore-the-master-slave-replication-with-redis-sentinel-provisioning/) - Step-by-step Ansible role writing for Redis Master-Slave replication with Redis Sentinel failover. - [Redis: репликация, часть 2 - Master-Slave репликация, и Redis Sentinel](https://rtfm.co.ua/ru/redis-replikaciya-chast-2-master-slave-replikaciya-i-redis-sentinel/) - Установка и настройка Redis Master-Slave репликации, настройка Redis Sentinel для мониторинга статуса Master-нод. Примеры работы с Redis Sentinel. - [Redis: репликация, часть 3 — redis-py и работа с Redis Sentinel из Python](https://rtfm.co.ua/ru/redis-replikaciya-chast-3-redis-py-i-rabota-s-redis-sentinel-iz-python/) - Пример работы с Redis replication и Redis Sentinel с использованием библиотеки Python redis-py. - [Redis: репликация, часть 1 - обзор. Replication vs Sharding. Sentinel vs Cluster. Топология Redis.](https://rtfm.co.ua/ru/redis-replikaciya-chast-1-obzor-replication-vs-sharding-sentinel-vs-cluster-topologiya-redis/) - Обзор репликации и кластеризации Redis. Различия между Replication и Sharding, Sentinel и Cluster. Примеры топологии Redis. - [Redis: репликация, часть 4 - написание Ansible роли](https://rtfm.co.ua/ru/redis-replikaciya-chast-4-napisanie-ansible-roli/) - Пошаговое описание написания Ansible роли для Redis-репликации с мастером и двумя слейвами, плюс Redis Sentinel для мониторинга и восстановления репликации. - [Arch Linux: Albion Online - Unable to preload the following plugins: libSDL2-2.0.so.0](https://rtfm.co.ua/en/arch-linux-albion-online-unable-to-preload-the-following-plugins-libsdl2-2-0-so-0-2/) - Решение ошибки "Unable to preload the following plugins: libSDL2-2.0.so.0" при запуске Albion Online на Arch Linux - [Arch Linux: Albion Online - Unable to preload the following plugins: libSDL2-2.0.so.0](https://rtfm.co.ua/ru/arch-linux-albion-online-unable-to-preload-the-following-plugins-libsdl2-2-0-so-0/) - Решение ошибки "Unable to preload the following plugins: libSDL2-2.0.so.0" при запуске Albion Online на Arch Linux - [Redis: Sentinel - bind 0.0.0.0, the localhost issue and the announce-ip option](https://rtfm.co.ua/en/redis-sentinel-bind-0-0-0-0-the-localhost-issue-and-the-announce-ip-option/) - Multitype known-sentinel records, Redis Master election process broken, Redis Sentinel network discovery. Configuration examples, IP addresses troubleshooting. - [Redis: Sentinel - bind 0.0.0.0, проблема с localhost и announce-ip](https://rtfm.co.ua/ru/redis-sentinel-bind-0-0-0-0-problema-s-localhost-i-announce-ip/) - Sentinel discovery, сеть и IP-адреса. Примеры конфигураций и решение проблем с определением IP инстансов Sentinel и Redis master ноды. - [JetBrains Upsource: installation, configuration on Linux with NGINX and SSL and PyCharm integration](https://rtfm.co.ua/en/jetbrains-upsource-installation-configuration-on-linux-with-nginx-and-ssl-and-pycharm-integration/) - JetBrains Upsource installation and configuration example on AWS EC2 with Debian Linux behind NGINX with SSL and PyCharm integration. - [Ansible: get a target host's IP](https://rtfm.co.ua/en/ansible-get-a-target-hosts-ip/) - The task is to get a host's IP during executing an Ansible task. Below - two examples of how this can be done. Example 1 - hostvars See the documentation here>>>. Code: - name: Test hosts list debug: msg: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}" Run it: [simterm] ... TASK [test : Test hosts list] **** ok: [dev.backend-app1-internal.example.com] - [Atom: useful plugins](https://rtfm.co.ua/en/atom-useful-plugins/) - Usually, I'm using vim almost for everything excepting big Python projects (which happen rarely last time). In such cases, I have PyCharm, which is also used for AWS CloudFormation templates with the aws-cloudformation plugin. For the Go lang programmes I have used vim with the vim-go plugin but on last weekend I tried the Atom - [Atom: полезные плагины](https://rtfm.co.ua/ru/atom-poleznye-plaginy/) - Давно пользуюсь vim практически для всего, кроме крупных проектов на Python (которые последнее время случаются крайней редко), для которого использую PyCharm. Тот же PyCharm использую при написании JSON-шаблонов для CludFormation (см. плагин aws-cloudformation). Для Go сначала пользовался vim с плагином vim-go, но недавно потрогал Atom - вполне понравился, попробую исопльзовать его. Собственно в этом посте - [MySQL/MariaDB: like Petya ransomware for MySQL and 'root'@'%' access](https://rtfm.co.ua/en/mysql-mariadb-like-petya-ransomware-for-mysql-and-root-access/) - "Not a Petya" ransomware, MySQL root's access, AWS Security groups, and some "security". The real case. - [Redis: Can't open the log file: Read-only file system](https://rtfm.co.ua/en/redis-cant-open-the-log-file-read-only-file-system-2/) - The Can't open the log file: Read-only file system on a Redis startup - root cause and its solution. - [Redis: Can't open the log file: Read-only file system](https://rtfm.co.ua/ru/redis-cant-open-the-log-file-read-only-file-system/) - Ошибка Can't open the log file: Read-only file system при запуске Redis - причина и решение. - [Redis: replication, part 3 - redis-py and work with Redis Sentinel from Python](https://rtfm.co.ua/en/redis-replication-part-3-redis-py-and-work-with-redis-sentinel-from-python/) - Python redis-py library examples for Redis replication and Redis Sentinel. - [JetBrains Upsource: установка и запуск на Linux с NGINX и SSL](https://rtfm.co.ua/ru/jetbrains-upsource-ustanovka-i-zapusk-na-linux-s-nginx-i-ssl/) - Пример установки, запуска и настройки JetBrains Upsource на AWS EC2 с Debian Linux с NGINX и SSL. Подключение из PyCharm. - [Redis: replication, part 1 - an overview. Replication vs Sharding. Sentinel vs Cluster. Redis topology.](https://rtfm.co.ua/en/redis-replication-part-1-overview-replication-vs-sharding-sentinel-vs-cluster-redis-topology/) - Redis replication and clustering overview. Differences between Replication and Sharding, Sentinel and Cluster. Redis topologies examples. - [Redis: replication, part 2 - Master-Slave replication, and Redis Sentinel](https://rtfm.co.ua/en/redis-replication-part-2-master-slave-replication-and-redis-sentinel/) - Redis basic Master-Slave replication and Redis Sentinel set up and configuration examples. Useful documentation and related articles links. - [Kubernetes: running Minikube on Arch Linux](https://rtfm.co.ua/en/kubernetes-running-minikube-on-arch-linux/) - Minikube - a utility to run a Kubernetes cluster locally on your PC. It can use Virtualbox, VMware, Hyper-V etc hypervisors which will be used to create a virtual machine with a Kubernetes cluster. Minikube is a great tool for developers or DevOps engineers to test deployments/services etc without the need to create and configure - [Prometheus: Alertmanager's alerts receivers and routing based on severity level and tags](https://rtfm.co.ua/en/prometheus-alertmanagers-alerts-receivers-and-routing-based-on-severity-level-and-tags/) - The Prometheus Alertmanager routing configuration to send alerts to different notification channels basing on an alert's tags. - [Prometheus: роутинг алертов в Alertmanager](https://rtfm.co.ua/ru/prometheus-routing-alertov-v-alertmanager/) - Настройка Prometheus Alertmanager маршрутов для пересылки определённых алертов в разные каналы уведомлений в зависимости от тегов. - [Ansible: check if a package is installed on a remote system](https://rtfm.co.ua/en/ansible-check-if-a-package-installed-on-a-remote-system/) - An Ansible's package_facts and when condition usage example to check if a package is already installed on a remote system before running actions. - [Ansible: проверка наличия пакета в системе](https://rtfm.co.ua/ru/ansible-proverka-nalichiya-paketa-v-sisteme/) - Пример использования Ansible package_facts и условия when для проверки наличия пакета на удалённой системе перед выполнением действий. - [Monit: email alerting on an SSH logins](https://rtfm.co.ua/en/monit-email-alerting-on-an-ssh-logins/) - The task is to send an email alert when SSH-login was made from a not whitelisted IPs. Will use Monit here. Install it: [simterm] root@jenkins-dev:/home/admin# apt update && apt -y install monit [/simterm] Configure email settings: set localhost (we have a local eximhere), email's format and email's receiver. Edit the /etc/monit/monitrc file: ... set mailserver localhost - [Monit: алерты при SSH логинах на сервер](https://rtfm.co.ua/ru/monit-alerty-pri-ssh-loginax-na-server/) - Задача - отсылать уведомления на почту при SSH-логине на хост с недоверенных IP. Используем Monit. Устанавливаем: [simterm] root@jenkins-dev:/home/admin# apt update && apt -y install monit [/simterm] Настраиваем отправку почты - задаём localhost (у нас крутится локальный exim), формат письма и получателя алертов. Редактируем /etc/monit/monitrc: ... set mailserver localhost set mail-format { from: Monit subject: - [NextCloud: installing server on Debian behind NGINX with PHP-FPM and client on Arch Linux](https://rtfm.co.ua/en/nextcloud-installing-server-on-debian-behind-nginx-with-php-fpm-and-client-on-arch-linux/) - NextCloud installation and configuration on Debian Linux with LEMP. NextCloud clients installation and configuration on Arch Linux and Android. - [Jenkins: HTTP full-duplex channel timeout](https://rtfm.co.ua/en/jenkins-http-full-duplex-channel-timeout-2/) - Jenkins CLI and the "HTTP full-duplex channel timeout" errors - its cause and solution. - [Jenkins: HTTP full-duplex channel timeout](https://rtfm.co.ua/ru/jenkins-http-full-duplex-channel-timeout/) - Jenkins CLI и ошибка "HTTP full-duplex channel timeout" - причина и решение. - [What is: YAML - its overview, basic data types, YAML vs JSON, and PyYAML](https://rtfm.co.ua/en/what-is-yaml-its-overview-basic-data-types-yaml-vs-json-and-pyyaml/) - A basic YAML data types and syntax overview. YAML vs JSON examples. Python's PyYAML library usage examples for YAML-formatted data. - [What is: YAML - общий обзор, типы данных, YAML vs JSON и PyYAML](https://rtfm.co.ua/ru/what-is-yaml-obshhij-obzor-tipy-dannyx-yaml-vs-json-i-pyyaml/) - Обзор базовых типов в YAML, его синтаксиса, примеры YAML vs JSON и работа с YAML с использованием библиотеки Python PyYAML. - [VirtualBox: Nonexistent host networking interface, name 'wlp13s0'](https://rtfm.co.ua/en/virtualbox-nonexistent-host-networking-interface-name-wlp13s0-2/) - The Virtualbox's "Nonexistent host networking interface, name 'wlp13s0' (VERR_INTERNAL_ERROR)" error cause and solution. - [VirtualBox: Nonexistent host networking interface, name 'wlp13s0'](https://rtfm.co.ua/ru/virtualbox-nonexistent-host-networking-interface-name-wlp13s0/) - Причины и решение ошибки "Nonexistent host networking interface, name 'wlp13s0' (VERR_INTERNAL_ERROR)." в Virtualbox. - [Jenkins: your Jenkins data directory is almost full and automated disk cleanup](https://rtfm.co.ua/en/jenkins-your-jenkins-data-directory-is-almost-full-and-automated-disk-cleanup/) - Solving the "your Jenkins data directory /var/lib/jenkins (aka JENKINS_HOME) is almost full" issue using an automated old builds removal. - [Jenkins: your Jenkins data directory is almost full и автоматическая очистка диска](https://rtfm.co.ua/ru/jenkins-your-jenkins-data-directory-is-almost-full-i-avtomaticheskaya-ochistka-diska/) - Решение проблемы "your Jenkins data directory /var/lib/jenkins (aka JENKINS_HOME) is almost full" с помощью автоматического удаления старых билдов. - [Prometheus: Alertmanager - send alerts to a "/dev/null"](https://rtfm.co.ua/en/prometheus-alertmanager-send-alerts-to-a-dev-null/) - Configuring Prometheus Alertmanager routes to send alerts to a /dev/null basing on its tags. - [Prometheus" Alertmanager - отправка алертов в "/dev/null"](https://rtfm.co.ua/ru/prometheus-alertmanager-otpravka-alertov-v-dev-null/) - Настройка Prometheus Alertmanager маршрутов для пересылки определённых алертов в /dev/null. - [Arch Linux: NVIDIA driver installation for GeForce GTX 1050 Ti](https://rtfm.co.ua/en/arch-linux-nvidia-driver-installation-for-geforce-gtx-1050-ti/) - Installing NVIDIA drivers on Arch Linux running on PC. Troubleshooting. - [Arch Linux: установка драйверов NVIDIA для GeForce GTX 1050 Ti](https://rtfm.co.ua/ru/arch-linux-ustanovka-drajverov-nvidia-dlya-geforce-gtx-1050-ti/) - Установка NVIDIA драйверов на Arch Linux на PC, проблемы и решения. - [What is: chroot - системный вызов и утилита в Linux](https://rtfm.co.ua/ru/what-is-chroot-sistemnyj-vyzov-i-utilita-v-linux/) - История, описание работы и пример использования системного вызова chroot() в Linux. Примеры работы с утилитой chroot в Linux. - [TestRail: QA Test Case Management система - установка на Linux](https://rtfm.co.ua/ru/testrail-qa-test-case-management-sistema-ustanovka-na-linux/) - TestRail - Test Case Management Software for QA and Development Teams. Пример установки LEMP с SSL от Let's Encrypt и запуска TestRail. - [NGINX: access лог - логгирование всех запросов, кроме 200](https://rtfm.co.ua/ru/nginx-access-log-loggirovanie-vsex-zaprosov-krome-200/) - Пример использования NGINX map для настройки логгирования только определённых кодов в access.log - [Redis: установка, запуск, примеры](https://rtfm.co.ua/ru/redis-ustanovka-zapusk-primery/) - Redis - система хранения и обработки данных, написанная на C, которую можно использовать как базу данных, сервис кеширования и менеджер очередей. Обслуживаемые им данные хранятся в памяти (in-memory dataset), периодически синхронизируясь с данными на жестком диске, в зависимости от конфигурации Redis. Установка Redis Redis можно установить с помощью менеджера пакетов ОС, из исходников, либо запустить - [Разное: подарок на День Рождения](https://rtfm.co.ua/ru/raznoe-podarok-na-den-rozhdeniya/) - Хотя это было ещё в декабре, но вот - да. Было очень приятно, и очень оригинально :-) Коллеги на работе подарили - теперь висит у меня на рабочем месте на стене. Использую, при необходимости: Спасибо, Костя!) - [Jenkins: Scripted Pipeline - Production environment job confirmation step](https://rtfm.co.ua/en/jenkins-scripted-pipeline-production-environment-job-confirmation-step/) - We have jobs which have to be executed on a Dev and Production environments via a Scripted Pipeline. In such jobs, there are tasks to execute CloudFormation upgrades on an infrastructure or Ansible playbooks to update servers configuration. To avoid an accidental execution of a Production job I want to have some confirmation step before - [Linux: strace - отслеживаем выполнение процесса](https://rtfm.co.ua/ru/linux-strace-otslezhivaem-vypolnenie-processa/) - strace - утилита для Linux, которая позволяет отследить выполнение системных вызовов (system call) и сигналов к ядру системы. Для примера возьмем простую программу на С, которая выводит содержимое указанного файла: #include #include int main() { char ch, file_name[25]; FILE *fp; printf("Enter the name of file you wish to see\n"); gets(file_name); fp = fopen(file_name,"r"); - [TestRail: QA Test Case Management installation on Linux](https://rtfm.co.ua/en/testrail-qa-test-case-management-installation-on-linux/) - TestRail - Test Case Management Software for QA and Development Teams. Well - that's all needed as a description) Below - its installation on Debian Linux with NGINX, Let's Encrypt, PHP-FPM, MariaDB, and Exim. Project's homepage - www.gurock.com/testrail Installation official documentation - here>>>. Setup will be on an AWS EC2. LEMP and SSL Login to - [NGINX: access log - log all except 200 responses](https://rtfm.co.ua/en/nginx-access-log-log-all-except-200-responses/) - The task is to save to a log file all requests excluding ones with the 200 response from the NGINX. Using such an approach with the map - you can do various things, for example - chose a location to be used based on a header value. Will add such an example later. For now, - [AWS: CLI named profiles](https://rtfm.co.ua/en/aws-cli-named-profiles/) - AWS CLI supports so-called named profiles stored in the configuration file .aws/config and ~/.aws/credentials file with keys which by default contains the... Well - the "default" profile. An additional profile can be added using the aws configure command with the --profile option. Here is an example of such file with already existing two profiles: [simterm] - [AWS: именованные профили доступа](https://rtfm.co.ua/ru/aws-imenovannye-profili-dostupa/) - AWS CLI поддерживает т.н. "именованные профили" (named profiles) доступа, которые хранятся в файле конфигурации и файле ~/.aws/credentials. Дополнительные профили могут быть настроены с помощью команды aws configure с опцией --profile. Вот пример файла с двумя профилями: [simterm] $ cat ~/.aws/credentials [default] aws_access_key_id = AKI***6GA aws_secret_access_key = cbd***M6W [TAG] aws_access_key_id = AKI***FJQ aws_secret_access_key = 6T/***4sG [/simterm]Что бы - [Terraform: creating a project with an AWS EC2, VPC, and AWS cross-region VPC peering connection](https://rtfm.co.ua/en/terraform-creating-project-with-an-aws-ec2-vpc-and-aws-cross-region-vpc-peering-connection/) - One of the disappointing surprises in my AWS CloudFormation experience was the fact that it wasn't able to automatically create cross-region VPC-peering connections. Note: this post originally was written in Rus on 28 June 2018 but now CloudFormation can do it, check the PeerRegion parameter of the AWS::EC2::VPCPeeringConnection resource. As a result - it tries - [OpenVPN: настройка OpenVPN Access Server и AWS VPC peering](https://rtfm.co.ua/ru/openvpn-nastrojka-openvpn-access-server-i-aws-vpc-peering/) - OpenVPN Access Server предоставляет полностью настроенный и готовый к использованию OpenVPN сервер, который требует минимальной настройки для запуска. Бесплатная версия разрешает использовать 2 одновременных подключения, если требуется больше пользователей - за денежку. Сейчас для доступа к нашим ресурсам, таким как Jenkins, Nexus и т.д. используются правила в Security Group-ах, в которых для каждого пользователя приходится - [Terraform: main commands, state-files, backend storages, and modules in examples on AWS](https://rtfm.co.ua/en/terraform-main-commands-state-files-backend-storages-and-modules-in-examples-on-aws/) - Examples of how to use Terraform, work with its backends and modules. Here will set up a simple EC2 instance in AWS and will store Terraform's state-files in an AWS S3 bucket. In short terms - but with real examples and links to documentation. Installation on Arch Linux: [simterm] $ sudo pacman -S terraform [/simterm] - [Jenkins: jenkins.model.RunIdMigrator doMigrate WARNING: found unexpected dir lastSuccessfulBuil](https://rtfm.co.ua/ru/jenkins-jenkins-model-runidmigrator-domigrate-warning-found-unexpected-dir-lastsuccessfulbuil/) - Имеется Jenkins, запущен в Docker-контейнере. Проблема После рестарта через systemctl - "Шеф, усё пропало!" Сам сервис выглядит так: [simterm] root@jenkins-production:/opt/jenkins# systemctl cat jenkins # /etc/systemd/system/jenkins.service [Unit] Description=Jenkins service Requires=docker.service After=docker.service [Service] Restart=always WorkingDirectory=/opt/jenkins # Compose up ExecStart=/usr/local/bin/docker-compose -f jenkins-compose.yml up # Compose down, remove containers and volumes ExecStop=/usr/local/bin/docker-compose -f jenkins-compose.yml down -v [Install] WantedBy=multi-user.target [/simterm] - [Jenkins: import a job to another server](https://rtfm.co.ua/en/jenkins-import-a-job-to-an-another-server/) - We have an old Jenkins with a bunch of iOS jobs which needs to be copied to a new Jenkins instance. Documentation suggests to: Move a job from one installation of Jenkins to another by simply copying the corresponding job directory. I.e. the first solution is just to copy a whole jobs directory or copy - [Jenkins: копирование проекта на другой сервер](https://rtfm.co.ua/ru/jenkins-kopirovanie-proekta-na-drugoj-server/) - Имеется старый Jenkins с пачкой iOS джоб, которые надо перенести на новый сервер. Документация предлагает: Move a job from one installation of Jenkins to another by simply copying the corresponding job directory. Т.е. вариант первый, самый простой - просто скопировать всю папку jobs, или вложенных задач. Недостаток (или преимущество, в зависимости от задачи) такого подхода - [Linux: telegram-desktop - no systray icon](https://rtfm.co.ua/en/linux-telegram-desktop-no-systray-icon/) - Have the telegram-desktop installed via pacman on the Arch Linux. After starting - no systray's icon present and thus can't see new messages and even can't exit in a normal way. This issue is not specific for the Arch Linux and happens on any Linux systems. Go to the Google and make search with "telegram linux - [Linux: telegram-desktop - нет иконки в системном трее](https://rtfm.co.ua/ru/linux-telegram-desktop-net-ikonki-v-sistemnom-tree/) - Имеется telegram-desktop, установленный с помощью pacman на Arch Linux. После запуска - не отображается иконка в системном трее и, соответсвенно, не всегда видно, что есть новые сообщения. Проблема не специфична для Arch, и может возникать на других Linux-системах. Открываем Google, ищем по "telegram linux no systray" - и первой же ссылкой идёт обсуждение на Github - [Fornex: вокруг да около: пошаговое постижение современного хостинга](https://rtfm.co.ua/ru/fornex-vokrug-da-okolo-poshagovoe-postizhenie-sovremennogo-xostinga/) - Вокруг да около: пошаговое постижение современного хостинга Здравствуйте, уважаемые читатели! Понятно, что тема хостинга обширна и масштабна. Но что-то мы все прыгаем вокруг да около… Настало время разобраться, как выбрать правильного хостера. А также пошагово пройтись по процедуре развертывания сайта на арендованном виртуальном пространстве. Какой краше? Методика проведения конкурса «красоты» среди хостингов. Разочарую, но такого - [Prometehus: обзор - federation, мониторинг Docker Swarm и настройки Alertmanager](https://rtfm.co.ua/ru/prometehus-obzor-federation-monitoring-docker-swarm-i-nastrojki-alertmanager/) - Задача - настроить Proof of Concept мониторинга, используя Prometheus, что бы показать основные его возможности. Используется Prometheus 2.2.1 (между 1.* и 2.* существенные различия в синтаксисе). Чего не добавлено в этот пост - это работа с Prometheus API, и хотелось подробнее остановиться на Grafana и её шаблонах, но уже отдельным постом. Кроме того, в самом тексте - [OpenBSD: установка NGINX и настройки безопасности](https://rtfm.co.ua/ru/openbsd-ustanovka-nginx-i-nastrojki-bezopasnosti/) - Задача - запустить EC2 с OpenBSD, установить NGINX, добавить настройки для его безопасной работы. Позже - сюда же можно добавить Fail2ban, PSAD и AIDE. Кроме того - у AWS имеется сервис AWS WAF (Amazon Web App Firewall), пример его использования можно найти тут>>>. Описание создания EC2 и сети можно найти тут>>>. Базовые пакеты для установки: - [Debian: настройка и управление IPTABLES](https://rtfm.co.ua/ru/debian-nastrojka-i-upravlenie-iptables/) - Тут приводятся примеры настройки для различных ситуаций. Про структуру IPTABLES, управление, архитектуру и прочее - смотрите в цикле Linux: IPTABLES — руководство: часть 1 — основы IPTABLES. Настройка осуществляется на: # lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 6.0.7 (squeeze) Release: 6.0.7 Codename: squeeze Создаём файл настроек для IPTABLES: - [Docker: PHP Composer и multi-stage билды Docker образов](https://rtfm.co.ua/ru/docker-php-composer-i-multi-stage-bildy-docker-obrazov/) - Задача - подготовить Docker образ с PHP Composer. Ниже рассмотрим сначала сам Composer (от PHP далёк, и с Composer дела раньше не имел, хотя сам PHP потрогать довелось), потом - пример сборки Docker контейнера и его использование под разными пользователями. Результат можно посмотреть в Github. PHP Composer Composer предназначен для установки общих библиотек при создании - [Azure: VMSS за Load Balancer, renew SSL от Let's Encrypt, SMB file share и NGINX-proxy](https://rtfm.co.ua/ru/azure-vmss-za-load-balancer-renew-ssl-ot-lets-encrypt-smb-file-share-i-nginx-proxy/) - Продолжаем танцевать с проектом на Azure. Описание самого проекта можно найти в посте Azure: CDN, NodeJS, Docker Swarm и Blue-Green деплой. Сейчас имеется одна виртуальная машина, на которой работает NGINX, выполняющий роль прокси для всех доменов и всех сервисов проекта. Изначально - этот прокси планировался для двух WordPress сайтов проекта, и никоим образом не для того, - [Azure: CDN, NodeJS, Docker Swarm и Blue-Green деплой](https://rtfm.co.ua/ru/azure-cdn-nodejs-docker-swarm-i-blue-green-deploj/) - Имеется проект на Azure, которым я занимался большую часть последнего года (с 20-го марта 2016). Пост Azure: почему никогда писался под впечатлением работы как раз на нём (да и большая часть рубрики Azure - тоже). За год мы перенесли приложение на Umbraco CMS с MS SQL базами от другого агентства к нам (и с Ажуры на Ажур), - [What is: Infrastructure as Code](https://rtfm.co.ua/ru/what-is-infrastructure-as-code/) - Одним из наиболее важных трендов в IT за последние годы стало бурное развитие автоматизации и одновременно - уменьшение необходимости во вмешательстве человека и выполнении каких-либо действий. Виртуализация дала нам возможность развёртывания новых окружений для девелоперов, в которых они могли бы делать их работу без опасений затронуть Production-систему, а гипервизоры, такие как Hyper-V или VMWare позволяют - [Chef: This resource is written with Chef 12.5 and requires at least Chef 12.0[...] it will not work with Chef 11.x clients](https://rtfm.co.ua/ru/rdy-chef-this-resource-is-written-with-chef-12-5-and-requires-at-least-chef-12-0-it-will-not-work-with-chef-11-x-clients/) - Ошибка Ошибка во время провижена Adobe Experience Manager (CQ5): ... 16:34:13.924 Starting Chef Client, version 11.14.6 16:34:17.226 Compiling Cookbooks... 16:34:17.237 16:34:17.237 ================================================================================ 16:34:17.237 Recipe Compile Error in /home/chef/chef-solo/cookbooks-2/compat_resource/libraries/autoload.rb 16:34:17.237 ================================================================================ 16:34:17.237 16:34:17.237 RuntimeError 16:34:17.237 ------------ 16:34:17.237 This resource is written with Chef 12.5 custom resources, and requires at least Chef 12.0 used with the compat_resource cookbook, - [AWS: CloudFormation](https://rtfm.co.ua/ru/aws-cloudformation-2/) - AWS CloudFormation предоставляет разработчикам и системным администраторам простой способ создания и управления наборам ресурсов AWS. Для CloudFormation можно использовать наборы готовых шаблонов, создать свои вручную или с помощью визуализации в CloudFormation Designer, либо использовать утилиты типа CloudFormer для создания шаблона из уже готовой инфрастуктуры. Вам так же не придется беспокоится по поводу порядка выполнения создания сервисов AWS или - [Terraform: установка на Ubuntu](https://rtfm.co.ua/ru/terraform-ustanovka-na-ubuntu/) - Terraform - ещё один продукт компании Hashicorp, предназначенный для создания и управления инфраструктурой - физическими и виртуальными серверами, сетями, контейнерами и так далее. Terraform поддерживает работу с такими сервисами (провайдерами, providers, в терминиологии Terraform) как AWS, DigitalOcean, GCE, OpenStack и т.д. Полный спсиок можно найти тут>>>. Для Terraform имеется отличная документация - тут>>>, тут>>> и тут>>>. Установка выполняется на: # cat /etc/issue Ubuntu - [Docker: Dockerfile COPY - not a directory](https://rtfm.co.ua/ru/docker-dockerfile-copy-not-a-directory/) - Имеется Dockerfile для билда образа Docker с Java-приложением: FROM java:8 MAINTAINER User "user@domain.com" COPY eod-report-0.0.1-SNAPSHOT.jar /opt ENTRYPOINT ["/usr/bin/java", "-jar"] CMD ["/eod-report-0.0.1-SNAPSHOT.jar"] Во время билда на Go CD агенте - сборка падает с сообщением: 17:19:12.677 Sending build context to Docker daemon 17:19:12.719 Step 0 : FROM java:8 17:19:12.720 ---> c1ccce98b537 17:19:12.720 Step 1 : MAINTAINER User - [Python: библиотка PyCrypto - шифрование файла](https://rtfm.co.ua/ru/python-bibliotka-pycrypto-shifrovanie-fajla/) - У нас имеется утилита, которая управляет билдами и деплоями. Помимо всего прочего - в ней прописаны несколько паролей - для авторизации в базе данных (Apache Cassandra) и для отправки почтовых уведомлений. Хранились они в plaintext виде, прямо в коде утилиты. Для решения этой задачи - был написан отдельный класс, который умеет шифровать и дешифровать файл, в - [Amazon web service: копирование EC2 машины](https://rtfm.co.ua/ru/amazon-web-service-kopirovanie-ec2-mashiny/) - Имеется машина с поднятым на ней Apache Cassandra. Для создания кластера - надо установить ещё несколько таких же машин, но не хочется на каждой всё устанавливать заново. Выход - создать образ настроенной машины, зарегистрировать его как AMI (Amazon Machine Image) - и потом создать новый EC2 интстанс с этим AMI. Переходим в панель управления машинами, правой - [PowerDNS: установка и настройка на CentOS + MySQL/MariaDB + Poweradmin](https://rtfm.co.ua/ru/centos-ustanovka-i-nastrojka-powerdns-mysqlmariadb-poweradmin/) - Домашняя страница PowerDNS - тут>>>. Установка выполняется на CentOS 6.6. Установка MariaDB полностью описана тут>>>. Устанавливаем MariaDB: # yum install MariaDB-client MariaDB-common MariaDB-compat MariaDB-devel MariaDB-server MariaDB-shared Запускаем: # service mysql start Выполняем первоначальную настройку: # /usr/bin/mysql_secure_installation Добавляем в автозагрузку: # chkconfig mysql on Настраиваем MariaDB для работы PowerDNS: # mysql -u root -p Создаём базу: MariaDB - [Grafana Labs: Loki – distributed system, labels and filters](https://rtfm.co.ua/en/grafana-labs-loki-distributed-system-labels-and-filters/) - The previous post - Grafana Labs: Loki – logs collecting and monitoring system. There Loki, promtail, and Grafana were configured on the same host in one Docker Compose stack. Now I want to try some distributed setup: Grafana will work on a one host Loki - on the other one Promtail - will collect logs from - [Linux: Spectacle - module "QtQuick.Controls" is not installed](https://rtfm.co.ua/ru/linux-spectacle-module-qtquick-controls-is-not-installed/) - После последнего апдейта системы - spectacle начал вылетать при попытке сделать скришот выделенной области - опция "Reactangular Region" в Area: Для "дебага" - запускаем его из консоли, и смотрим сообщения: [simterm] 11:40:46 [setevoy@setevoy-arch-work ~] $ spectacle qt5ct: using qt5ct plugin qrc:/QuickEditor/EditorRoot.qml:23:1: module "QtQuick.Controls" is not installed QObject::connect: Cannot connect (null)::acceptImage(int, int, int, int) to QuickEditor::acceptImageHandler(int, int, - [AWS: миграция RTFM 3.0 (final) - CloudFormation и Ansible роли](https://rtfm.co.ua/ru/aws-migraciya-rtfm-3-0-final-cloudformation-i-ansible-roli/) - Прошёл почти год, как я начал миграцию v2, закончил на посте Ansible: миграция RTFM 2.11 – хост Services – установка PHP, PHP-FPM. Основной её идеей на тот момент было максимально использовать возможности AWS и Ansible - чисто из интереса и для практики, т.к. на предыдущем месте работы её было совсем мало (там в основном был Azure - [Linux: polybar - статус-бар, пример настройки и использования в Openbox вместе с tint2](https://rtfm.co.ua/ru/linux-polybar-status-bar-primer-nastrojki-i-ispolzovaniya-v-openbox-vmeste-s-tint2/) - С момента установки первого Arch Linux - я пользуюсь Openbox WM и tint2 для отображения панелей. Но tint2, как где-то писали - "Капризна, как школьница". В целом он отлично работает, но вот трей отрисовывает значки запущенных приложений достаточно криво: Потому, после установки Arch в очередной раз (дома менял диск на SSD, переустанавливал систему) - решил - [Grafana Labs: Loki – распределённая система, теги и фильтры](https://rtfm.co.ua/ru/grafana-labs-loki-raspredelyonnaya-sistema-tegi-i-filtry/) - Предыдущий пост серии - Grafana Labs: Loki – сбор и просмотр логов. Задача на сейчас - попробовать собрать распределённую систему: Grafana будет работать на одном хосте Loki - на втором Promtail - на третьем Суть идеи такова: имеется рабочее окружение, скажем Dev, включает в себя 2 хоста имеется окружение мониторинга - хост с Grafana/Prometheus/etc На хостах Dev-окружения - [Prometheus: мониторинг PHP-FPM + Ansible роль](https://rtfm.co.ua/ru/prometheus-monitoring-php-fpm-ansible-rol/) - Задача - собирать метрики с PHP-FPM /status. Используем lusotycoon/phpfpm-exporter. Кроме этого экспортёра есть bakins/php-fpm-exporter - но контейнер из его Docker образа постоянно возвращает "Empty reply from server". Есть peakgames/php-fpm-prometheus - но для него нет Docker образа, а собирать свой не хочется. Имеется также hipages/php-fpm_exporter - но с ним возникли ошибки вида "Error scraping PHP-FPM: invalid character 'A' looking for beginning - [Prometheus: CloudWatch exporter - сбор метрик из AWS и графики в Grafana](https://rtfm.co.ua/ru/prometheus-cloudwatch-exporter-sbor-metrik-iz-aws-i-grafiki-v-grafana/) - Используем prometheus/cloudwatch_exporter. Клиент написан, внезапно, на Java, из минусов - не умеет экпортировать теги AWS в метки Prometheus (есть альтернативный клиент - technofy/cloudwatch_exporter, который вроде бы умеет). IAM пользователь Для IAM пользователя, доступы которого будет использовать експортёр требуются роли cloudwatch:ListMetrics и cloudwatch:GetMetricStatistics (надо проверить - сработает ли роль CloudWatchAgentServerPolicy, подключенная к EC2, что бы не использовать Access/Secret - [NGINX: Amplify - SaaS мониторинг от NGINX](https://rtfm.co.ua/ru/nginx-amplify-saas-monitoring-ot-nginx/) - NGINX Amplify - сервис для полноценного мониторинга NGINX и его рабочего окружения. Умеет рисовать графики, отправлять уведомления о проблемах и даже подсказывать некорректные настройки хостов. Суть работы весьма простая: регистрируемся на сайте сервиса, устанавливаем Amplify агент, получаем данные. Бесплатен с определёнными ограничениями (5 агентов, 10 алертов и т.д.). На момент написания был доступен для Amazon Linux, - [What is: Load Balancing - алгоритмы](https://rtfm.co.ua/ru/what-is-load-balancing-algoritmy/) - Основной задачей балансировщика является определение того, какой из серверов из бекенд-пула может наиболее эффективно обработать входящий пакет данных. Для этого у балансировщика (Load Balancer, LB) имеется несколько алгоритмов, наличие и возможность применения которых зависит от типа LB и его настроек. Основное различие алгоритмов - это уровень их применения: 7-ой, Application (уровень приложения), 4-ый, Транспортный уровень - [What is: Linux namespaces, примеры PID и Network namespaces](https://rtfm.co.ua/ru/what-is-linux-namespaces-primery-na-c-clone-pid-i-net-namespaces/) - Данный пост обединяет в себе два других замечательных (на мой взгляд) поста на тему Namespaces в Linux - A Tutorial for Isolating Your System with Linux Namespaces и Introduction to Linux namespaces - Part 1: UTS, с небольшими дополнениями и изменениями. Тем не менее - крайне рекомендую к прочтению оба поста выше, и ознакомиться с другими ссылками из - [AWS: SSL Certificate Manager, CloudFront, S3 static website хостинг и несколько доменов](https://rtfm.co.ua/ru/aws-ssl-certificate-manager-cloudfront-s3-static-website-xosting-i-neskolko-domenov/) - AWS Certificate Manager (ACM) позволяет создавать и управлять SSL сертификатами для сайтов и приложений в AWS. С его помощью можно получить новый сертификат - или загрузить и использовать свой. Документация по ACM - тут>>>. Задача: создать хостинг статического сайта в AWS S3, отдавать контент через CDN CloudFront, получить SSL в AWS ACM для двух имён и - [Arch Linux: cups и hplip - подключение принтера](https://rtfm.co.ua/ru/arch-linux-cups-i-hplip-podklyuchenie-printera/) - Установка cups Устанавливаем cups: $ sudo pacman -S cups Запускаем и добавляем в автозапуск: [simterm] $ systemctl start org.cups.cupsd.service $ systemctl enable org.cups.cupsd.service [/simterm] Проверяем - переходим на страницу http://localhost:631: Файл настроек - /etc/cups/cups-files.conf. Добавляем группу: [simterm] $ sudo groupadd printadmin [/simterm] Пользователя в неё: [simterm] $ sudo usermod -a -G printadmin $USER [/simterm] Обновляем - [Tableau: установка на AWS EC2, запуск, бекап и восстановление](https://rtfm.co.ua/ru/tableau-ustanovka-na-aws-ec2-zapusk-bekap-i-vosstanovlenie/) - Задача: запустить Tableau сервер на EC2 в AWS. Можно использовать AMI из AWS Marketplace: Но мы пойдём "сложным" путём и установим Tableau с нуля на "голую" Windows 2016. Документация по установке - тут>>>. Документация по самому Tableau - тут>>>. Подготовка Запускаем m4.4xlarge (минимальный для Windows + Tableau). Тут всё стандартно - для тестовго интанса можно - [Prometheus: запуск сервера с Alertmanager, cAdvisor и Grafana](https://rtfm.co.ua/ru/prometheus-zapusk-servera-s-alertmanager-cadvisor-i-grafana/) - Пример установки и настройки минимального мониторинга, чисто ознакомительного. Используем Pormetheus для сбора метрик, Alertmanager для отправки сообщений о проблемах, cAdvisor для сбора метрик из Docker, node-exporter для сбора метрик с виртуальной машины и Grafana - для визуализации собранных данных, а запускать всё будем из Docker Compose. Все получившиеся в результате конфиги можно посмотреть в репозитории. - [I2P: установка и настройка на Arch Linux](https://rtfm.co.ua/ru/i2p-ustanovka-i-nastrojka-na-arch-linux/) - Кратко: I2P — это масштабируемая, самоорганизующаяся, распределяющая пакеты между анонимными сетевыми уровнями сеть, в которой может работать любое количество приложений, при этом будет обеспечиваться высокий уровень безопасности и анонимности. Каждое из этих приложений само по себе, может быть анонимным, иметь свои возможности для управления сетью, не беспокоясь о надлежащем осуществлении контоля работы свободной, распределённой и - [Linux: mps-youtube - консольный Youtube плеер](https://rtfm.co.ua/ru/linux-mps-youtube-konsolnyj-pleer-youtube-fajlovplejlistov/) - Страница проекта на Github. Умеет играть прямо с Youtube, искать на нём музыку, загружать, конвертировать. Устанавливаем: [simterm] $ sudo pacman -S mps-youtube [/simterm] Дополнительно: [simterm] $ sudo pacman -S youtube-dl [/simterm] Запускаем: [simterm] $ mpsyt [/simterm] Помощь: [simterm] $ mpsyt --help [/simterm] Или из консоли плеера - h: Help Topics Enter help for specific - [Ansible: миграция RTFM 2.2 - RTFM Jenkins provision](https://rtfm.co.ua/ru/ansible-rtfm-jenkins-provision/) - Продолжение сетапа Jenkins для RTFM. Начало - AWS: CloudFormation для EC2 c Jenkins. Для того, что бы развернуть Jenkins на EC2 в созданном стеке - потребуются: Docker для запуска самого Jenkins docker-compose файл для запуска Jenkins и подключения разделов Т.к. CI для развёртывания CI не будет :-) - то добавлю скрипт, который будет запускать создание стека а - [AWS: миграция RTFM 2.7 - CloudFormation и Ansible - наcтройка NAT](https://rtfm.co.ua/ru/aws-migraciya-rtfm-2-7-cloudformation-i-ansible-nactrojka-nat/) - Продолжаем миграцию. Предыдущие посты серии: AWS: миграция RTFM 2.1 – CloudFormation для EC2 c Jenkins: создание CloudFormation шаблона для EC2 с Jenkins Ansible: миграция RTFM 2.2 – RTFM Jenkins provision: создание ролей Ansible для установки и запуска Jenkins AWS: миграция RTFM 2.3 – инфраструктура для RTFM и создание CloudFormation шаблона – VPC, subnets, EC2: создание CloudFormation - [Prometheus: мониторинг - введение, установка, запуск, примеры](https://rtfm.co.ua/ru/prometheus-monitoring-vvedenie-ustanovka-zapusk-primery/) - Prometheus - open-source система мониторинга, изначально разработанная в SoundCloud в 2012, публичный релиз состоялся в 2015. Сам Prometheus написан большей частью на Go, компоненты связываются по HTTP. Для визуализации имеет собственные графики, но может работать с системами типа Grafana (о ней позже, тоже будем применять). Данные хранит локально, в собственной TSDB базе, индексы хранятся в LevelDB. - [Ansible: пример установки NGINX](https://rtfm.co.ua/ru/ansible-primer-ustanovki-nginx/) - Задача - установить NGINX на удалённый хост с помощью Ansbile. Подготовка На рабочей машине - устанавливаем Ansible: [simterm] $ sudo pacman -S ansible [/simterm] В Jenkins - будем использовать Docker образ (или плагин). Проверяем: [simterm] $ ansible --version ansible 2.3.2.0 config file = /etc/ansible/ansible.cfg configured module search path = Default w/o overrides python version = 2.7.13 - [Azure: CLI - пример создания SMB file share, Load Balancer и Linux VM с NGINX](https://rtfm.co.ua/ru/azure-cli-primer-sozdaniya-smb-file-share-load-balancer-i-linux-vm-s-nginx/) - Задача - добавить новую группу ресурсов, которая бы включала в себя Load Balancer и две виртуальные машины с NGINX за ним. Машины будут использовать единую файл-шару, в которую будут деплоиться обновлённые конфиги NGINX. Ресурс группа будет включать в себя: Load Balancer две идентичные VM с NGINX Storage Account, который будет подключаться как Samba-share ресурс к - [SSH: подключение в приватную сеть через Bastion и немного про Multiplexing](https://rtfm.co.ua/ru/ssh-podklyuchenie-v-privatnuyu-set-cherez-bastion-i-nemnogo-pro-multiplexing/) - Имеется сервер с доступом к порту 22 с домашнего IP - это будет rtfm-bastion. За ним, в приватной сети, есть сервер баз данных, доступ к которому разрешён только с bastion хоста - это будет rtfm-db. Задача: подключаться к серверу баз данных "напрямую", без дополнительных команд на бастион-хосте (вообще это надо будет для Ansible, но можно - [C: libssh - пример SSH-"клиента"](https://rtfm.co.ua/ru/c-libssh-primer-ssh-klienta/) - Ниже рассматривается пример написания SSH-клиента на C с использованием libssh. Сама библиотека libssh уже устарела, и вместо неё рекомендуется libssh2. Сравнение libssh и libssh2 есть тут>>>. Тем не менее у libssh отличные примеры (которые и используются в примерах ниже с небольшими отличаями) и документация, поэтому использую её. RFC 4251 в SSH Protocol Architecture описывает три основных - [C: сокеты и пример модели client-server](https://rtfm.co.ua/ru/c-sokety-i-primer-modeli-client-server/) - Перевод с дополнениями. Оригинал - тут>>>. Как правило - два процесса общаются друг с другом с помощью одного из Inter Process Communication (IPC) механизма ядра, таких как: pipe очереди сообщений (Message queues) общая память (shared memory) Кроме перечисленных IPC - в ядре присутствует много других возможностей, но что если процессам необходимо обмениваться данными по сети? - [Arch: skype error while loading shared libraries: libssl.so.1.0.0 - три решения](https://rtfm.co.ua/ru/arch-skype-error-while-loading-shared-libraries-libssl-so-1-0-0-tri-resheniya/) - После очередного обновления - Skype перестал запускаться с ошибкой отсутствия библиотеки: $ skype /usr/lib32/skype/skype: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory Проверяем зависимости общих библиотек с помощью ldd: [simterm] $ ldd /usr/lib32/skype/skype ... libssl.so.1.0.0 => not found libcrypto.so.1.0.0 => not found ... [/simterm] Решение 1 - - [AWS [China]: начало](https://rtfm.co.ua/ru/aws-china-nachalo/) - Описание Продолжение проекта, описанного в посте AWS: билд Java + Maven + Docker + Packer + Terraform - будем разворачивать нечто аналогичное в Китае. Хотя у Китая есть "свой AWS" - Aliyun.com, принадлежащий Alibaba Group, тем не менее - мы будем пользоваться именно Amazon Web Services. В этом посте не будет HowTo do something - больше просто описание опыта работы - [Docker: Swarm mode, Compose и scaling](https://rtfm.co.ua/ru/docker-swarm-mode-compose-i-scaling/) - Быстрый пример запуска и управления сервисами в Docker Swarm. Имеется две VM в Azure. Master setup Подключаемся к Мастеру: [simterm] $ ssh setevoy@23.97.132.113 ... setevoy@jm-sw-arseny-test-1-master:~$ [/simterm] Устанавливаем Docker: [simterm] $ sudo curl https://get.docker.com/ | sudo bash [/simterm] Добавляем пользователя в группу docker: [simterm] $ sudo usermod -aG docker setevoy [/simterm] Перелогиниваемся, поверяем: [simterm] $ docker - [Docker: изменить рабочую директорию](https://rtfm.co.ua/ru/docker-izmenit-rabochuyu-direktoriyu/) - Имеется Docker, установленный на Azure VM. Задача - добавить диск, перенести /var/lib/docker на этот диск, что бы Docker хранил загруженные образы и остальные данные на отдельном разделе. Создаём раздел на диске /dev/sdc: root@hwlezntbao7fc000000:~# sgdisk -n 1 /dev/sdc Creating new GPT entries. The operation has completed successfully. Форматируем: root@hwlezntbao7fc000000:~# mkfs.ext4 /dev/sdc1 mke2fs 1.42.13 (17-May-2015) Discarding device - [Azure: Azure Resource Manager provisioning и Jenkins в Docker](https://rtfm.co.ua/ru/azure-azure-resource-manager-provisioning-i-jenkins-v-docker/) - Задача: создать Resource Group в Azure, которая будет включать в себя виртуальную машину с Jenkins-ом. Jenkins будет запускаться в Docker-контейнере, и подгружать $JENKINS_HOME с внешнего диска, подключенного к виртуальной машине. Получившийся шаблон можно посмотреть тут>>>. Диск уже создан, имеет файловую систему и данные с текущего интанса Jenkins: [simterm] $az disk list ... { "accountType": "Premium_LRS", "creationData": - [Jenkins: pipeline плагин и триггер билда через Github webhook](https://rtfm.co.ua/ru/jenkins-pipeline-plagin-i-trigger-bilda-cherez-github-webhook/) - Задача: триггерить билд по каждому push в репозиторий. Усложнаяется задача тем, что некоторые билды созданы как Freestyle project и используют плагин GitHub плагин, а некоторые - созданы через Pipeline плагин. Ниже описано создание вебхуков в Github для обоих типов билдов. Firewall Сначала - Azure firewall. Находим IP Github-а тут>>>, добавляем правило: Подготовка Jenkins Добавляем пользователя Jenkins для - [Arch: GTK-темы в Qt-приложениях](https://rtfm.co.ua/ru/arch-gtk-temy-v-qt-prilozheniyax/) - В KDE имеется замечательный файл-менеджер Dolphin, однако после его установки на Arch Linux + Openbox - он не отображает установленные иконки: $ sudo pacman -S dolphin Для решения - устанавливаем qt5ct: $ sudo pacman -S qt5ct Задаём переменную $QT_QPA_PLATFORMTHEME: $ export QT_QPA_PLATFORMTHEME="qt5ct" Запускаем qt5ct, и устанавливаем тему иконок: Проверяем dolphin: Добавляем переменную в .xinitrc: $ - [Exim: Mailing to remote domains not supported](https://rtfm.co.ua/ru/exim-mailing-to-remote-domains-not-supported/) - Ошибка При попытке отправить почту с помощью mailx на "свежем" сервере - Exim сообщает в лог: $ sudo cat /var/log/exim4/mainlog 2017-01-05 08:56:38 exim 4.84_2 daemon started: pid=19690, -q30m, listening for SMTP on [127.0.0.1]:25 [::1]:25 2017-01-05 08:56:38 Start queue run: pid=19691 2017-01-05 08:56:38 End queue run: pid=19691 2017-01-05 08:57:27 1cP3rT-0005BJ-32 - [Linux: cheese - запись видео](https://rtfm.co.ua/ru/linux-cheese-zapis-video/) - Наверно самая удобная и наименее глючная утилита для записи видео - cheese. Для Arch устанавливаем: [simterm] $ sudo pacman -S cheese resolving dependencies... looking for conflicting packages... Packages (25) celt-0.11.3-2 chromaprint-1.4.1-1 clutter-1.26.0+24+g79da526-1 clutter-gst-3.0.22-1 clutter-gtk-1.8.2-1 cogl-1.22.2-1 faad2-2.7-4 fftw-3.3.6-1 gnome-desktop-1:3.22.2-1 gnome-video-effects-0.4.1+56+g393c78f-1 graphene-1.4.0-1 gst-plugins-bad-1.10.3-1 libcanberra-0.30-8 libdca-0.0.5-4 libdvdnav-5.0.3-1 libdvdread-5.0.4-1 libgme-0.6.1-1 libmms-0.6.4-1 libofa-0.9.3-6 libsrtp-1:1.5.4-1 mjpegtools-2.1.0-3 rtmpdump-1:2.4.r96.fa8646d-2 sbc-1.3-1 sound-theme-freedesktop-0.8-2 cheese-3.22.1-1 - [Pidgin: интеграция Slack](https://rtfm.co.ua/ru/pidgin-integraciya-slack/) - Находим свой шлюз. Переходим по адресу https://channelname.slack.com/account/gateways: Добавляем аккаунт - Accounts > Manager accounts > Add, выбираем XMPP и задаём настройки: Username: логин Domain: channelname.xmpp.slack.com Resource: оставляем пустым На вкладке Advanced - меняем порт на 6667, 6697 или 8000. Готово: Документация - тут: https://get.slack.help/hc/en-us/articles/201727913-Connect-to-Slack-over-IRC-and-XMPP - [Arch: установка Oracle Java и PyCharm](https://rtfm.co.ua/ru/arch-ustanovka-oracle-java-i-pycharm/) - Обновляем систему: # pacman -Syyu Установка Oracle Java Пакеты можно найти тут>>>, или поискав через yaourt: $ yaourt jdk 1 extra/jdk7-openjdk 7.u111_2.6.7-1 OpenJDK Java 7 development kit 2 extra/jdk8-openjdk 8.u112-1 OpenJDK Java 8 development kit 3 extra/jre7-openjdk 7.u111_2.6.7-1 OpenJDK Java 7 full runtime environment 4 extra/jre7-openjdk-headless 7.u111_2.6.7-1 ... 21 aur/jdk 8u112-1 (729) (13.00) Oracle - [Arch: установка GTK тем и иконок](https://rtfm.co.ua/ru/arch-ustanovka-gtk-tem-i-ikonok/) - Установка тем из репозитория Некоторые темы доступны в репозитории, например - numix: $ sudo pacman -S numix-themes (UPD: переименован в numix-gtk-theme) После чего - можно использовать lxappearance или другую утилиту для её активации: Для GTK2 имя установленной темы сохраняется в файле .gtkrc-2.0 в домашнем каталоге пользователя: $ cat ~/.gtkrc-2.0 | grep Num gtk-theme-name="Numix" А тема - [Azure: AzCopy для Linux - скопировать весь контейнер](https://rtfm.co.ua/ru/azure-azcopy-dlya-linux-skopirovat-ves-kontejner/) - Так как Azure CLI не предоставляет возможности скопировать сразу все файлы из контейнера в Storage Account на свою машину - ищем костыли и подпорки. Одним из таких костылей является утилита AzCopy, которая доступна под Windows. Для того, что иметь аналогичный функционал на Linux/macOS - была написана аналоигчная утулита - blobxfer. Предсталвяет собой Python-скрипт. Устанавливаем: $ sudo - [Ubuntu: add-apt-repository: command not found](https://rtfm.co.ua/ru/ubuntu-add-apt-repository-command-not-found/) - При добавлении нового репозитория с помощью add-apt-repository - ошибка: # add-apt-repository -y ppa:webupd8team/java bash: add-apt-repository: command not found Решение - установить пакет software-properties-common: # apt-get install software-properties-common ... The following NEW packages will be installed: apt-utils ca-certificates cron dbus dh-python distro-info-data file gir1.2-glib-2.0 iso-codes krb5-locales libapt-inst2.0 libasn1-8-heimdal libcap-ng0 libcurl3-gnutls libdbus-1-3 libdbus-glib-1-2 libexpat1 libffi6 libgirepository-1.0-1 libglib2.0-0 - [Arch: установка с LVM + Openbox + Tint2](https://rtfm.co.ua/ru/arch-ustanovka-s-lvm-openbox-tint2/) - Задача: установить Arch Linux на: $ sudo dmidecode | grep -A 8 "System Information" System Information Manufacturer: Hewlett-Packard Product Name: HP ProBook 450 G0 Version: A2018CD200 Serial Number: 2CE3450FGG UUID: 9000EA6A-45FA-11E3-9673-CE39E71C9906 Wake-up Type: Power Switch SKU Number: H0W25EA#ACB Family: 103C_5336AN G=N L=BUS B=HP S=PRO Window manager - Openbox, панель задач - Tint2. Подготовка При необходимости - [Jenkins: запуск на AWS EC2 + Pipeline Plugin + Docker Pipeline Plugin](https://rtfm.co.ua/ru/jenkins-zapusk-na-aws-ec2-pipeline-plugin-docker-pipeline-plugin/) - Задача - поднять Jenkins 2 на AWS EC2, и создать два билда: с помощью плагина workflow-aggregator (Jenkins Pipeline Plugin) - вывести "Hello, World" через Pipeline Script; с помощью плагина docker-workflow (CloudBees Docker Pipeline Plugin) запустить Docker контейнер, в котором Maven-ом будет выполенна сборка Java-проекта. Документация по Jenkins Pipeline Plugin - тут>>>. Документация по CloudBees Docker Pipeline Plugin - тут>>>. Создание EC2 Установка NGINX, Docker Установка - [AWS: билд Java + Maven + Docker + Packer + Terraform](https://rtfm.co.ua/ru/aws-bild-java-maven-docker-packer-terraform/) - Достаточно.... Скажем так - интересная схема билда и деплоя одного приложения. Приложение включает в себя 6 контейнеров (5 - сервисы самого приложения, и один контейнер - Zuul discovery service). Сама идея и архитектура - красивая и достаточно сложная. Но использовать такое для билда и деплоя 5 контейнеров... Overhead, overengineering. Ещё один антипаттерн того, как надо - [Azure: настройка MySQL in-app (Preview) для Web Apps и сравнение с ClearDB](https://rtfm.co.ua/ru/azure-mysql-in-app-preview-dlya-web-apps-vs-cleardb/) - Обзор Создание WordPress WebApp с in-app MySQL Подключение MySQL In App к существующему WebApp WordPress Подключение MySQL In App к новому пустому WebApp Сравнение Azure MySQL in-app vs Azure ClearDB Обзор Не так давно Azure анонсировала поддержку MySQL для Azure Application Services, aka WebApp. Благодаря ей - вам не требуется больше беспокоиться о развёртывании MySQL сервера - [Azure: ARM - ручное создание шаблона](https://rtfm.co.ua/ru/azure-arm-ruchnoe-sozdanie-shablona/) - Для приложения требуется создать Resource Group, в которую будут входить: один WebApp; один SQL сервер; две SQL базы; один Storage Account. За основу - можно взять готовый шаблон от Azure ("Фягку" :-D ) отсюда>>>. Шаблон, который получился в результате написания поста, можно посмотреть тут>>>. Общий обзор по работе с Azure Resource Manager и созданию шаблонов - - [Azure: запуск Docker Swarm на Azure Container Service](https://rtfm.co.ua/ru/azure-azure-container-service-docker-docker-swarm/) - Azure Container Service позволяет использовать контейнеры в Azure. В примере ниже - запустим Docker Swarm мастер и три агента, после чего с помощью Docker Compose - запустим приложение из приватного репозитория в Docker Hub. Без особых деталей, больше информации тут>>> и тут>>>. Деплой ACS Swarm через ARM Логинимся в Azure: $ azure login Выбираем подписку: - [AWS: миграция RTFM, часть #2: ручное создание инфраструктуры - AIM, S3, RDS и EBS](https://rtfm.co.ua/ru/aws-migraciya-rtfm-chast-2-ruchnoe-sozdanie-infrastruktury-aim-s3-rds-i-ebs/) - Продолжение. Начало - в посте AWS: миграция RTFM, часть #1: ручное создание инфраструктуры - VPC, подсети, IGW, NAT GW, маршруты и EC2. Далее мы создадим S3 корзины (для CDN и хранения логов), MariaDB RDS базу данных (для будущего WordPress на Zeus) и Elastic Block Storage - в котором будут храниться данные (файлы WordPress) для подключения к - [AWS: Blue-green deployment](https://rtfm.co.ua/ru/aws-blue-green-deployment/) - Строго говоря - тема не совсем относится к AWS. Тем не менее - оригинальный пост называется именно так. Обзор Деплой новой версии приложения требует изменений на PRODuction-системе. Изменения == риск. Имеется много техник деплоя - некоторые простые, некоторые более сложные. Некоторые требуют даунтайма - другие нет. Blue/green Deployment - одна из таких техник. Она достаточно - [AWS: S3, Simple Storage Service - описание, примеры](https://rtfm.co.ua/ru/aws-simple-storage-service-s3-opisanie-primery/) - Amazon S3 (Amazon Simple Storage Service) позволяет хранить контент и получать к нему доступ из любого места в любое время. Amazon 3 хранит данные в виде объектов в корзинах (bucket). Каждый объект представляет собой файл и, опционально - метаданные, которые этот объект описывают (например - Content Type) Что бы сохранить данные в S3 - вам - [Arch Linux: установка KDE](https://rtfm.co.ua/ru/arch-linux-ustanovka-kde/) - Предполагается, что система уже установлена. Пример установки - в посте Arch Linux: установка. Обновляем систему: # pacman -Syu :: Synchronizing package databases... core is up to date extra is up to date community is up to date :: Starting full system upgrade... there is nothing to do Устанавливаем X.Org - графический сервер. Находим видеокарту: # lspci - [Azure: CDN и Blob Storage](https://rtfm.co.ua/ru/azure-cdn-i-blob-storage/) - Введение Создание Storage account Настройка Azure CDN Content Delivery Network (CDN) - система распределенных (географически, по различным дата-центрам) серверов, которые доставляют веб-страницы и другой контент пользователю, основываясь на его местоположении, с ближайшего к нему сервера, входящего в CDN. Принцип его работы: Пользователь запрашивает файл (или asset) через специальный URL, который выглядит как .azureedge.net. DNS перенаправляет запрос к Point-of-Presence (POP), - [Azure: VM с NGINX в роли reverse-прокси к WebApp](https://rtfm.co.ua/ru/azure-vm-s-nginx-v-roli-reverse-proksi-k-webapp/) - Задача - поднять реверс-прокси на NGINX, который будет проксировать данные к WebApp в Azure. NGINX будет работать на виртуальной машине. Создание VM Используем Azure CLI для создания машины. Логинимся: $ azure login Проверяем режим Azure CLI - нужен arm (Resource Manager mode): $ azure config list | grep arm data: mode arm Если сейчас CLI - [JIRA: интеграция в Slack через WebHook](https://rtfm.co.ua/ru/jira-integraciya-v-slack-cherez-webhook/) - Запускаем JIRA: $ sudo docker run --detach --publish 8080:8080 cptactionhank/atlassian-jira:latest Переходим в Slack/Apps и находим JIRA: Выбираем канал, к которому подключаем JIRA: Жмём Install, выбираем канал, в который слать уведомления: Получаем URL хука: Возвращаемся к JIRA, которая уже готова к употреблению. Находим IP: $ sudo docker inspect 9179e850032c5378a59bec11ba8eead47c26f735c5560a60fb53ef39503ade48 | grep IP "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, - [JIRA: ручная установка на Debian](https://rtfm.co.ua/ru/jira-ruchnaya-ustanovka-na-debian/) - Установка JIRA 7.1.4 на Debian 8 Jessie в Vagrant-бокс. Подготовка Vagrant бокса и ОС Установка MySQL/MariaDB Установка Java Установка и настройка JIRA Установка и настройка NGINX Завершение установки Подготовка Vagrant бокса и ОС Создаем машину: $ vagrant init debian/jessie64 Редактируем файл Vagrantfile, настраиваем сеть и добавляем памяти: ... config.vm.network "public_network" ... config.vm.provider "virtualbox" do |vb| vb.memory = - [Azure: Blob storage и Python SDK](https://rtfm.co.ua/ru/azure-blob-storage-i-python-sdk/) - Подготовка Вводная часть по Azure Blob - в посте Azure: Blob storage. Логинимся: $ azure login -u service@domain.onmicrosoft.com -p pass info: Executing command login /info: Added subscription Pay-As-You-Go info: Setting subscription "Pay-As-You-Go" as default + info: login command OK Выбираем подписку: $ azure account set 0a4f2b9c-b34a-4521-ae89-40b17ef8c3ab info: Executing command account set info: Setting subscription to "Pay-As-You-Go" - [Linux: systemctl - управление службами](https://rtfm.co.ua/ru/linux-systemctl-upravlenie-sluzhbami/) - Debian, начиная с 8 версии по умолчанию используется systemd вместо init.d, который использует unit-файлы из каталога /etc/systemd/system, вместо скриптов в /etc/init.d/, как это делает init.d. Краткое перечисление полезных команд systemctl. Получение списка служб Управление службами Управление автозапуском Получение списка служб Вывести на экран активные сервисы и их состояние: # systemctl list-units -t service UNIT LOAD ACTIVE - [Azure: Blob storage](https://rtfm.co.ua/ru/azure-blob-storage/) - Blob Storage в Azure - это сервис, позволяющий хранить неструктурированные данные в облаке, обеспечивая простой доступ к ним из любого ресурса Azure - VM, Wep App и т.д. Кроме того - к любому ресурсу (блобу) в хранилище можно получить доступ по HTTP/HTTPS, используя Access keys. Структура хралилища состоит из трех основных компонентов: Storage Account: доступ - [Linux: Netdata - мониторинг с веб-интерфейсом](https://rtfm.co.ua/ru/linux-netdata-monitoring-s-veb-interfejsom/) - Netdata - утилита для мониторинга в реальном времени Linux систем, приложений, устройств по SNMP и так далее. Простая установка, множество графиков "из коробки" и красивый веб-интерфейс. Больше информации - на странице>>> проекта. Установка Необходимые пакеты: $ sudo apt-get install zlib1g-dev gcc make git autoconf autogen automake pkg-config Устанавливаем netdata: $ cd /tmp/ $ git clone - [AWS: CloudFormation - custom template](https://rtfm.co.ua/ru/aws-cloudformation-custom-template/) - Первая часть по AWS: CloudFormation- в посте AWS: CloudFormation. В этом посте будет использоваться шаблон WordPress от AWS с некоторыми изменениями. Будет добавлена возможность выбора различных окружений (PROD или DEV), в зависимости от которых будет выбираться тип RDS и EC2 инстансов и другие параметры. Операционная система - Ubuntu, вместо Amazon Linux. В панели управления создадим ключ CloudFormationWPsetupCustom.pem, - [NGINX: HTTP-прокси, Load Balancing, буферы и кеширование](https://rtfm.co.ua/ru/nginx-http-proksi-load-balancing-bufery-i-keshirovanie/) - NGINX часто используется в роли реверс-прокси для облегчения задач масштабируемости инфрастуктуры или для проксирования запросов сервисам, которые сами не могут обработать большое количество клиентов. Оригинал и полная версия - тут>>>. General Proxying Information HTTP Proxy Pass Заголовки и Nginx Добавление и изменение заголовков Upstream контекст для балансировки нагрузки проксируемых подключений Changing the Upstream Balancing Algorithm - [AWS: Route 53 DNS - добавление домена и управление записями](https://rtfm.co.ua/ru/aws-route-53-dns-dobavlenie-domena-i-upravlenie-zapisyami/) - AWS Route 53 выполняет три основные функции: DNS сервера, доступные в различных локациях, что уменьшает время ответа; регистрация доменов; мониторинг приложений. Далее будет рассмотрено добавление нового домена (зоны) и управление записями на DNS Amozon-а через консоль AWS и AWS CLI. Переходим на https://console.aws.amazon.com/route53/home: Создаем зону: Указываем имя домена/зоны, комментарий и выбираем тип Public (Private используется для сетей - [Debian: ручная разбивка диска с fdisk, создание разделов LVM и установка системы](https://rtfm.co.ua/ru/debian-fdisk-lvm-partitioning/) - Задача - разбить диск вручную, создать два раздела LVM: корень для самой системы - / и для домашних каталогов - /home. /home должен сохранить данные после установки/переустановки системы. Схема разбивки диска будет такая: /boot - требуется вынести в отдельный раздел, т.к. / будет в LVM-разделе. 2 гигабайта - для того, что бы кроме ядер добавить позже - [Linux: CVE-2015-7547 - патчим CentOS 6 и Debian 8](https://rtfm.co.ua/ru/linux-cve-2015-7547-patchim-centos-6-i-debian-8/) - 16-го Февраля была обнаружена уязвимость в библиотеке glibc, которая содержит стандартные библиотеки, используемые многими службами на сервере. Уязвимость находится в функции getaddrinfo() библиотеки libresolv, которая входит в glibc. Документацию по glibc можно найти тут>>> и тут>>>. Исходный код getaddrinfo() есть тут>>>. Атакующий может отправить специально сформированный DNS-ответ на удаленный хост и выполнить произвольный код с правами пользователя, от которого запущена служба, использущая эту - [Nagios: ручная установка Nagiosgraph](https://rtfm.co.ua/ru/nagios-ruchnaya-ustanovka-nagiosgraph/) - Nagiosgraph позволяет отрисовывать графики по различным метрикам. Установка выполняется на CentOS 7, Nagios 4.1. Установка Nagios описана в посте Nagios: установка на CentOS 7 + NGINX. Находим последнюю актуальную версию плагина на странице проекта>>>, и качаем его: # cd /tmp/ # wget http://downloads.sourceforge.net/project/nagiosgraph/nagiosgraph/1.5.2/nagiosgraph-1.5.2.tar.gz # tar xfp nagiosgraph-1.5.2.tar.gz # ls -l nagiosgraph-1.5.2 total 324 -rw-r--r-- 1 501 - [RTFM: переезд и смена оформления](https://rtfm.co.ua/ru/rtfm-pereezd-i-smena-oformleniya/) - Давно собирался перенести блог, почту и другие сервисы на сервера в AWS. Сегодня начал немного перебираться. Пока только блог, на Debian 8: # lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 8.1 (jessie) Release: 8.1 Codename: jessie С CentOS, на котором работали старые VPS пока не прощаюсь - но хочу попробовать - [Koding.org: виртуальная машина и IDE в браузере](https://rtfm.co.ua/ru/koding-org-virtualnaya-mashina-i-ide-v-brauzere/) - На днях мне в ленте Facebook попалась ссылка на замечательный ресурс - https://koding.com (ссылка реферальная - увеличивает место на диске, можно зайти по прямой тут>>>). Ниже - небольшой обзор этой системы и её возможностей. Koding.com предоставляет в бесплатное пользование готовую среду для тестирования и разработки. В неё входят виртуальная машина (под управлением ОС Ubuntu), среда разработки (IDE), предустановленные - [Django: пример создания приложения - часть 1: создание и запуск проекта](https://rtfm.co.ua/ru/django-primer-sozdaniya-prilozheniya-chast-1-sozdanie-zapusk-proekta/) - Перевод документации Django, с некоторыми изменениями и дополнениями. Часть информации так же рассмотрена в цикле переводов Django Book – русский перевод, который, однако, пока не завершён. В этом цикле статей мы рассмотрим создание обычного приложения с опросами. Приложение будет состоять из двух частей: общедоступная часть, которая позволит посетителям сайта голосовать и смотреть результаты голосований; панель администратора, которая - [Nagios: установка на CentOS 7 + NGINX](https://rtfm.co.ua/ru/nagios-ustanovka-na-centos-7-nginx/) - Краткая статья, без особых подробностей. Установка выполняется на CentOS 7. Вместо Apache HTTP - будет использоваться NGINX. Установка Nagios Важно: у Nagios 3.5 есть проблемы при работе с NGINX. Поэтому - будем устанавливать 4. Находим тут>>> последнюю версию (на момент написания - это была 4.1), качаем: # cd /tmp/ # wget http://downloads.sourceforge.net/project/nagios/nagios-4.x/nagios-4.1.0/nagios-4.1.0rc1.tar.gz # tar xfp nagios-4.1.0rc1.tar.gz Создаём - [Bamboo: установка и настройка на CentOS + MySQL/MariaDB](https://rtfm.co.ua/ru/bamboo-ustanovka-i-nastrojka-na-centos-mysqlmariadb/) - Bamboo - билд-сервер и Сontinuous Integration tool, аналогичен TeamCity, но так как разработчик - Atlassian - то в нём реализована тесная интеграция с Jira и другими продуктами Atlassian. Именно поэтому на новом проекте решили попробовать мигрировать на Bamboo вместо TeamCity. Недостаток - он платный, но для знакомства доступна 30-ти дневная Trial лицензия, а годовая лицензия на - [Bamboo: reverse proxy через NGINX на порт 80](https://rtfm.co.ua/ru/bamboo-reverse-proxy-cherez-nginx-na-port-80/) - Вместо того, что бы ходить к Bamboo по адресу вида http://bamboo.domain.local:8085 - можно добавить NGINX, который будет проксировать запросы с порта 80 на порт 8085 Bamboo. Предполагается, что Bamboo уже установлен и настроен. Тут речь только о NGINX. Устанавливаем NGINX: # yum install nginx Редактируем /etc/nginx/nginx.conf и добавляем описание хоста: server { server_name bamboo.domain.local; listen - [Django Book: выборка объектов](https://rtfm.co.ua/ru/django-book-vyborka-obektov/) - Предыдущая часть. Знать как создавать и обновлять данные в базе данных необходимо. Однако, скорее всего ваше веб-приложение будет выполнять больше запросов на получение данных из базы, чем на добавление их. Мы уже встречали пример того, как получить все записи для определённой модели: In [12]: Publisher.objects.all() Out[12]: [, - [Django Book: третье представление - динамические URL-ы](https://rtfm.co.ua/ru/django-book-trete-predstavlenie-dinamicheskie-url-y/) - Предыдущая часть. В нашем предыдущем представлении current_datetime содержимое страницы - текущие время и дата - были динамическими, но URL для обращения к ним был статическим. В очень многих веб-приложений URL содержит в себе параметры, которые влияют на выводимое содержимое страницы. Например, онлайн-магазин книг может хранить каждую книгу в одельном URL-е, таком как /books/243/ и /books/81196/. Давайте создадим третье представление, - [Django book: ваша первая модель](https://rtfm.co.ua/ru/django-book-vasha-pervaya-model/) - Предыдущая часть. В качестве примере в этой и следующих главах - мы будем использовать модель данных книга/автор/издатель (book/author/publisher). Мы используем её, так как связи между книгой, автором и издателем хорошо всем известны, и это достаточно распространённая модель, используемая в учебниках по SQL. Мы предлагаем следующие понятия, поля и связи: У автора есть имя, фамилия и - [Django book: установка модели](https://rtfm.co.ua/ru/django-book-ustanovka-modeli/) - Предыдущая часть. Мы написали код, теперь время создать таблицы в нашей базе данных. Что бы сделать это - сначала на "активировать" наши модули в нашем Django-проекте. Мы сделаем это, добавив приложение books в список установленных приложений в файле настроек. Откройте файл settings.py в редакторе и найдите опцию INSTALLED_APPS. Она указывает Django, какие приложения активны в данном проекте. - [FreeBSD: установка OpenLDAP сервера](https://rtfm.co.ua/ru/freebsd-ustanovka-openldap-servera/) - Установка будет выполняться на систему: # uname -r 9.2-RELEASE Выполняем поиск: # cd /usr/ports/ && make search name='openldap-server' Port: openldap-server-2.4.36_2 Path: /usr/ports/net/openldap24-server Info: Open source LDAP server implementation Maint: delphij@FreeBSD.org B-deps: db46-4.6.21.4 libltdl-2.4.2_2 libtool-2.4.2_2 openldap-client-2.4.36 R-deps: db46-4.6.21.4 libltdl-2.4.2_2 openldap-client-2.4.36 WWW: http://www.OpenLDAP.org/ Приступаем к конфигурированию и установке # cd /usr/ports/net/openldap24-server/ # make config-recursive # make install - [Vault: Consul в роли бекенда](https://rtfm.co.ua/ru/vault-consul-v-roli-bekenda/) - Пример быстрой настройки Vault с хранилищем данных в Consul. Установка выполняется на Ubuntu 14. Подробнее о Vault -Vault: установка и базовые операции. Подробнее о Consul -Consul: установка и базовые операции. Устанавливаем Vault: # cd /usr/local/bin/ # wget https://releases.hashicorp.com/vault/0.4.1/vault_0.4.1_linux_amd64.zip # unzip vault_0.4.1_linux_amd64.zip Archive: vault_0.4.1_linux_amd64.zip inflating: vault # rm vault_0.4.1_linux_amd64.zip Устанавливаем Consul: # unzip consul_0.6.3_linux_amd64.zip && rm consul_0.6.3_linux_amd64.zip Archive: - [Vault: установка и базовые операции](https://rtfm.co.ua/ru/vault-ustanovka-i-bazovye-operacii/) - Краткий HowTo по установке и использованию Vault от Hashicorp. Установка выполняется на Ubuntu 14. Загрузить архив с Vault можно тут>>>. Полная документация доступна тут>>>. Установка Vault $ cd /tmp/ && wget https://releases.hashicorp.com/vault/0.4.1/vault_0.4.1_linux_amd64.zip $ unzip vault_0.4.1_linux_amd64.zip Archive: vault_0.4.1_linux_amd64.zip inflating: vault $ ls -l vault -rwxr-xr-x 1 vagrant vagrant 31659744 Jan 13 22:32 vault Копируем исполняемый файл в - [Consul: установка и базовые операции](https://rtfm.co.ua/ru/consul-ustanovka-i-bazovye-operacii/) - Краткий HowTo по установке и использованию Consul от Hashicorp. Установка выполняется на Ubuntu 14. Загрузить архив с Consul можно тут>>>. Полная документация доступна тут>>>. Установка Consul Загружаем архив с подходящей сборкой со страницы загрузок>>>: $ cd /tmp/ $ wget https://releases.hashicorp.com/consul/0.6.3/consul_0.6.3_linux_amd64.zip $ unzip consul_0.6.3_linux_amd64.zip Archive: consul_0.6.3_linux_amd64.zip inflating: consul Копируем исполняемый файл Consul в каталог из $PATH, например - /usr/local/bin: ## Сторінки - [About](https://rtfm.co.ua/en/about-2/) - Hi. My name is Arseny, I'm from Ukraine, and this is my personal blog about everything about operating systems, clouds, IT in general, and everything I've faced during my working and personal experience. This blog initially was started as a personal "notebook" for myself, but since 2011, I have gathered enough useful information for others. - [About](https://rtfm.co.ua/about-ukrainian/) - Вітаю. Мене звуть Арсеній, а це - мій блог про все, що пов'язано з операційними системами, хмарними технологіями і взагалі IT, і з чим я стикався в роботі і не тільки. Починався він як і багато інших в якості блокноту для себе, але з 2011 року тут зібралося досить багато корисної інформації і для інших. - [Книги](https://rtfm.co.ua/knigi-2/) - Невелика добірка цікавих книг із моєї бібліотеки. За категоріями, із невеликими коментарями. Практично все є в PDF/EPUB (щоправда, можуть бути реально застарілі видання), за необхідності можна зв'язатися через групу в Телеграм або форму контактів тут>>>, там же можна пропонувати та обговорювати книги, які тут прогаяв. Linux Beginner Evi Nemeth - UNIX and Linux System Administration - [FAQ](https://rtfm.co.ua/ru/f-a-q/) - Ответы на часто задаваемые вопросы по Linux, Kubernetes, etc. - [Книги](https://rtfm.co.ua/ru/knigi/) - Небольшая подборка интересных книг из моей библиотеки. По категориям, с небольшими комментариями. Практически все есть в PDF/EPUB (правда, могут быть реально устаревшие издания), при необходимости можно связаться через группу в Телеграм или форму контактов тут>>>, там же можно предлагать и обсуждать книги, которые тут упустил. Linux Beginner Evi Nemeth - UNIX and Linux System Administration - [Books](https://rtfm.co.ua/en/books/) - Небольшая подборка интересных книг из моей библиотеки. По категориям, с небольшими комментариями. Практически все есть в PDF/EPUB (правда, могут быть реально устаревшие издания), при необходимости можно связаться через группу в Телеграм или форму контактов тут>>>, там же можно предлагать и обсуждать книги, которые тут упустил. Linux Beginner Evi Nemeth - UNIX and Linux System Administration - [About](https://rtfm.co.ua/ru/about/) - Привет. Меня зовут Арсений, а это - мой блог обо всём, что связано с операционными системами, облачными технологиями и вообще IT, и с чем я сталкивался в работе и не только. Начинался он как и многие другие в качестве блокнота для себя, но с 2011-го года тут собралось достаточно много полезной информации и для других. Некоторые - [Links](https://rtfm.co.ua/en/links/) - Links seach Categories All links Suggest a link - [Ссылки](https://rtfm.co.ua/ru/ssylki/) - Поиск по ссылкам Категории Все ссылки Предложить свою ссылку - [Python с нуля](https://rtfm.co.ua/ru/books-translations/python_s_nulya/) - Основы синтаксиса Python и базовые операторы Базовый синтаксис Типы переменных Базовые операторы Управляющие конструкции - операторы IF...ELIF...ELSE Циклы в Python Циклы - цикл for Вложенные циклы Цикл while Оператор циклов pass Оператор циклов continue Оператор циклов break Последовательности в Python Числа Строки Списки Кортежи Словари Другие операции в Python Часть 11: - [Программирование на C шаг за шагом](https://rtfm.co.ua/ru/books-translations/programmirovanie-na-c-shag-za-shagom/) - Краткий курс по программированию на C. Основной курс шаг 1 - Hello, World! шаг 2 - переменные и типы данных шаг 3 - массивы шаг 4 - строки шаг 5 - цикл FOR шаг 6 - цикл WHILE шаг 7 - функции Расширенный курс шаг 8 - указатели шаг 9 - структуры шаг 10 - - [Программирование на C шаг за шагом: шаг 9 - структуры (structures)](https://rtfm.co.ua/ru/books-translations/programmirovanie-na-c-shag-za-shagom/programmirovanie-na-c-shag-za-shagom-shag-9-struktury-structures/) - Структуры в языке C - это специальные большие перменные, которые содержат внутри себя несколько именнованых переменных. Структуры так же являются базовой основой для объектов и классов в C++. Структуры используются для: сериализация данных; передача множественных аргументов в и из фукнции через один аргумент; структуры данных, такие как свзанные списки, двиочные деревья и другое. Базовый пример структуры: - [Python с нуля — часть 5: циклы](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-5-cikly/) - Иногда возникает необходимость в выполнении одного блока кода несколько раз. Как правило, выражения выполняются в порядке очереди - первое в функции будет выполнено первым, за ним второе и так далее. Языки программирования предлагают различные управляющие конструкции, которые позволяют выполнять более сложные операции. Циклы позволяют выполнять выражение или целую группу выражений множество раз: Типы циклов в - [C programming для начинающих](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/) - Краткий и достаточно вольный перевод/отекстовка курса на Udemy - C programming for beginners. Предполагается, что читатель знаком с компилятором (здесь и далее - gcc), умеет пользоваться текстовым редактором и консолью. Другие материалы по C: Программирование на C шаг за шагом Курс программирования на С с нуля Оглавление C programming basics Часть 1 - Hello, World - [Django Book - русский перевод](https://rtfm.co.ua/ru/books-translations/django-book/) - Глава 1: представления и URLconf первая страница Django-проекта: Hello World как Django обрабатывает запрос второе представление – динамический контент URLconf и "слабые связи" третье представление - динамические URL-ы описание страницы ошибок Django Глава 2: шаблоны основы системы шаблонов использование системы шаблонов основные теги и фильтры шаблона философия и ограничения использование шаблонов в представлениях загрузка шаблонов наследование - [Python с нуля - часть 11: время и дата](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-с-нуля-часть-11-время-и-дата/) - В Python есть несколько возможностей работы с временем и датой. Для этого имеется два основных модуля - time и calendar. Модуль time Временные инетервалы являются числами с плавающей точкой, с единицей измерения в секундах. Специфичные даты считаются в секундах с момента 12:00, 1-го января 1970 года (UNIX-время, или POSIX-время). В Python имеется модуль time, который - [Python с нуля — часть 5: циклы - оператор break](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-5-cikly/python-s-nulya-chast-5-cikly-operator-break/) - Оператор break в Python прерывает выполнение текущего цикла и передаёт выполнение следующему после цикла выражению. Наиболее распространённым случаем использования этого оператора являются случаи, когда срабатывает какое-то внешнее условие, в результате чего требуется выход из цикла. Оператор break можно использовать в обоих типах циклов - и while, и for. Если используется вложенный цикл - break вызовет - [Python с нуля - часть 1: базовый синтаксис](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-1-bazovyj-sintaksis/) - Эта и последующие статьи в этой серии - перевод страниц руководства Python Basic Tutorial, с небольшими дополнениями и уточнениями. Замечания и предложения можно оставить в комментариях или на странице Контакты. Язык Python во многом схож с языками Perl, C и Java, однако между ними имеются и определённые различия. В этой главе мы рассмотрим базовый синтаксис - [Site map](https://rtfm.co.ua/en/site-map/) - [Groovy: часть 3 - типы данных](https://rtfm.co.ua/ru/books-translations/groovy-s-nulya/groovy-chast-3-tipy-dannyx/) - Предыдущая часть - Groovy: часть 2 – Hello World и базовый синтаксис. В любом языке программирвоания - вам может потребоваться использование различных переменных для того, что бы хранить информацию. Вы можете хранить информацию различного вида - строки, символы, целочисленные значения, значения с плавающей точкой, булевы значения и так далее. В зависимости от типа данных переменной - [Go с нуля](https://rtfm.co.ua/ru/books-translations/go-s-nulya/) - Ещё один цикл переводов с tutorialspoint.com по языку Go. "Почитать за Go" я хотел давно, с тех пор, как пошла основная волна "хайпа" вокруг него. Но когда начал знакомиться с ним поближе (начал плотно работать с Prometheus, и пришлось читать исходный код его експортёров, т.к. документация к некоторым весьма скромная) , и чем ближе знакомлюсь - - [Go: часть 9 - функции](https://rtfm.co.ua/ru/books-translations/go-s-nulya/go-chast-9-funkcii/) - Предыдущая часть - часть 8 – циклы. Функция - это группа операторов, которые вместе выполняют определённую задачу. В каждой программе Go имеется как имнимум одна функция, которая называется main(). Кроме неё - вы можете разбить код на другие функции по вашему усмотрению, но логически каждая функция должна выполнять определённую задачу. Объявление (declaration) функции указывает компилятору имя функции, - [Go: часть 8 – циклы](https://rtfm.co.ua/ru/books-translations/go-s-nulya/go-chast-8-cikly/) - Предыдущая часть - Управляющие конструкции – операторы if/else/switch/select. У разработчика может возникнуть необходимость выполнения одного кода несколько раз. В таком случае в программировании применяются циклы, ход выполнения которых выглядит так: В Go имеется цикл типа for и вложенные циклы: Sr.No Loop Type & Description 1 for loop Выполняет последовательность операторов или выражений несколько раз 2 - [Go: часть 7 - Управляющие конструкции – операторы if/else/switch/select](https://rtfm.co.ua/ru/books-translations/go-s-nulya/go-chast-7-upravlyayushhie-konstrukcii-operatory-if-else-switch-select/) - Предыдущая часть - операторы. В управляющих конструкциях разработчик указывает одно или больше условий, которые будут проверены программой во время выполнения, и в зависимости от этих условий - будут выполнены операторы, если уловие было истинно, и опционально - операторы, которые будут выполненын, если условие было false. Базовая управляющая конструкция сходна во всех языках программирования, и выглядит так: - [Go: часть 6 - операторы](https://rtfm.co.ua/ru/books-translations/go-s-nulya/go-chast-6-operatory/) - Предыдущая часть - 5 - константы. Оператор - это символ, который указывает компилятору на выполнение определённой математическоого или лоического действия. В Go имеется множество встроенных операторов, которые объединены в слудующие группы: арифметические операторы (Arithmetic Operators) операторы сравнения (Relational Operators) логические операторы (Logical Operators) побитовые операторы (Bitwise Operators) операторы присваивания (Assignment Operators) другие операторы (Miscellaneous Operators) Ниже - [Go: часть 5 - константы](https://rtfm.co.ua/ru/books-translations/go-s-nulya/go-chast-5-konstanty/) - Предыдущая часть - 4 – переменные. Константы являются фиксированными значениями, которые программа не может изменять после запуска. Сами значения так же называют литералами. Тут стоит сразу оговориться: константа: это имя, которое ссылается/содержит значение литерал: это само значение Константы могут содержать любой базовой тип данных, например целочисленные константы или строковые литералы. Константы используются аналогично переменными, с той лишь - [Go: часть 4 - переменные](https://rtfm.co.ua/ru/books-translations/go-s-nulya/go-chast-4-peremennye/) - Предыдущая часть - типы данных. Переменная является ни чем иным, как просто именем для области памяти, которой может манипулировать программа. Каждая переменная в Go имеет свой тип, который определяет размер памяти и расположение выделенной для переменной области памяти в адресном пространстве процесса, диапазон значений, которое она может принимать, и типы операций, которые могут быть применены к - [Go: часть 3 – типы данных](https://rtfm.co.ua/ru/books-translations/go-s-nulya/go-chast-3-tipy-dannyx/) - Предыдущая часть - базовый синтаксис. В Go типы данных являются обширной системой, используемой для объявления переменных или функций различных типов. Тип переменной определяет размер памяти, которая будет выделена в адресном пространстве процесса. Общие классы типов Типы в GO могут быть классифицированы следующим образом: Типы и описание 1 Boolean типы Булевый, или логический тип данных, который имеет - [Go: часть 2 - базовый синтаксис](https://rtfm.co.ua/ru/books-translations/go-s-nulya/go-chast-2-bazovyj-sintaksis/) - В предыдущем посте, часть 1 – структура программы, мы рассмотрели структуру программы на Go, теперь давайте рассмотрим её базовый синтаксис - "строительные блоки", из которых она состоит. Токены в Go Программа на Go состоит из множества т.н. "токенов". Токеном может быть ключевое слово, идентификатор, константа, строковый литерал или даже отдельный символ. Например, следующий код: fmt.Println("Hello, World!") - [Go: часть 1 - структура программы](https://rtfm.co.ua/ru/books-translations/go-s-nulya/go-chast-1-struktura-programmy/) - Программа на Go как правило состоит из: объявление пакета импорт пакетов функций переменных операторов и выражений комментариев Hello, World на Go Структура Рассмотрим классический пример - "Hello, World" на Go: package main import "fmt" func main() { /* This is my first sample program. */ fmt.Println("Hello, World!") } Рассмотрим её построчно: package main: задаёт имя - [Переводы](https://rtfm.co.ua/ru/books-translations/) - Мои переводы различных курсов и мануалов. В своё время была отличная практика английского. Groovy с нуля Python с нуля Django Book – русский перевод Курс Ruby с нуля Программирование на C шаг за шагом Курс программирования на С с нуля C programming для начинающих Go с нуля - [C programming для начинающих: часть 14 - операторы ветвления if/else](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-14-operatory-vetvleniya-ifelse/) - Предыдущая часть Мы уже сталкивались с операторами if/else, например в часть 11 – if/else и проверка равенства. В этой части начнём рассмотрение с такого кода: #include int main(int argc, char **argv) { char agestring[10]; int age; int bonus; printf("Enter your age : "); gets(agestring); age = atoi(agestring); if (age > 45) { bonus = - [C programming для начинающих: часть 15 - проблемы gets() и fgets()](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-15-problemy-gets-i-fgets/) - Предыдущая часть В предыдщуем примере мы уже сталкивались с использованием функции gets(): ... int main(int argc, char **argv) { char agestring[10]; int age; int bonus; printf("Enter your age : "); gets(agestring); ... Тут мы получаем данные от пользователя из STDIN, и вписываем их в массив agestring. Однако - тут имеется серьёзная проблема: gets() примет любое - [C programming для начинающих: часть 12 - составные операторы](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-12-sostavnye-operatory/) - Предыдущая часть Некоторые операторы в C могут выполнять как математическую операцию - так и присваивание значения переменной. Такие операторы называются составными операторами - compoud operators. Рассмотрим пример: #include void showPrefixAndPostfixOps() { int num1, num2; printf( "\nPrefix and Postfix operators... (num1 = 10)"); num1 = 10; num2 = num1++; // num2 = 10, num1 = - [C programming для начинающих: часть 13 - операторы инкремента и декремента](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-13-operatory-inkrementa-i-dekrementa/) - Предыдущая часть В предыдущем уроке мы рассматривали код, в котором помимо прочего использовались следующие операторы: ... a = 10; a++; printf( "a++ : %d\n", a ); a = 10; a--; printf( "a-- : %d\n", a ); ... Тут операторы "++" и "--" являются операторами инкремента и декремента соответственно, единственной задачей которых является увеличить значение на - [C programming для начинающих: часть 11 - if/else и проверка равенства](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-11-ifelse-i-proverka-ravenstva/) - Предыдущая часть В C можно выполнять првоерку значений или результата выполнения операций с помощью инструкции if. Рассмотрим немного изменённый пример из предыдущего поста: #include #include int main(int argc, int **argv) { int num1, num2; num1 = atoi(argv[1]);; num2 = atoi(argv[2]);; if (num1 > num2) { printf("First argument is greater: %d, %d\n", num1, num2); - [C programming для начинающих: часть 10 - операторы равенства и присваивания](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-10-operatory-ravenstva-i-prisvaivaniya/) - Предыдущая часть Давайте рассмотрим операторы в C более детально. Операторы - это специальные символы, которые выполняют определённые операции, такие как сложение или умножение чисел. Наиболее часто используемые и важные операторы - операторы присваивания и сравнения. Присваивание Рассмотрим такой пример: #include int main(int argc, char **argv) { char agestring[10]; int age; int bonus; printf("Enter your - [C programming для начинающих: часть 9 - naming convention](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-9-naming-convention/) - Предыдущая часть. Как вы могли заметить в предыдущих примерах - для имён констант использовались заглавные буквы: $ cat constants.c | grep 'define\|PI' #define PI 3.14 #define PI 5.0 const double C_PI = 3.14159265358979323846; printf("My math: %f\n", PI); printf("My math: %f\n", M_PI); C_PI = 100; printf("My math: %.10f\n", C_PI); А слова в именах - разделяются символом - [C programming для начинающих: часть 8 - константы](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-8-konstanty/) - Предыдущая часть В прошлой части мы рассмотрели использование переменных в коде, для замены данных во время выполнения программы. Однако иногда может потребоваться задать данные, которые будут неизменными. Для этого в C используются константы (constant). Возьмём для примера такой код: #include int main (int argc, char **argv) { printf("My math\n"); return 0; } Предположим - - [C programming для начинающих: часть 7 - целые числа и дроби](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-7-celye-chisla-i-drobi/) - Предыдущая часть. Возьмём следующий пример: #include int main(int argc, char **argv) { int subtotal; int tax; int grandtotal; double taxrate; taxrate = 0.175; subtotal = 200; tax = subtotal * taxrate; grandtotal = subtotal + tax; printf( "The tax on %d is %d, so the grand total is %d.\n", subtotal, tax, grandtotal ); return - [C programming для начинающих: часть 1 - Hello, World](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-1-hello-world/) - Первым делом - создадим и запустим простейший "Hello, World". Создаём файл hello.c с таким содержимым: #include main () { printf("Hello, world\n"); } Соберём его, и убедимся что он работает: [simterm] $ gcc hello.c -o hello [/simterm] Запускаем: [simterm] $ ./hello Hello, world [/simterm] Раберём его построчно. #include Команда препроцессора, которая указывает загрузить содержимое из - [C programming для начинающих: часть 2 - аргументы и возвращаемые значения](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-2-argumenty-i-vozvrashhaemye-znacheniya/) - Первая часть В прерыдущем примере мы использовали очень простую программу: #include main () { printf("Hello, world\n"); } Код завершения Давайте дополним её код: #include int main (int argc, char **argv) { printf("Hello, world\n"); return 0; } Компилируем, проверяем: [simterm] $ gcc hello2.c -o hello2 $ ./hello2 Hello, world [/simterm] Первая строка у нас - [C programming для начинающих: часть 3 - передача аргументов программе](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-3-peredacha-argumentov-programme/) - Предыдущая часть. Давайте вернёмся к примеру из предыдущей части: #include int main (int argc, char **argv) { printf("Hello, world\n"); printf("Argc: %d\n", argc); int i; for (i = 0; i < argc; i++) { printf("Argv[%d]: %s\n", i, argv[i]); } return 0; } В настоящий момент нас интересует цикл for: ... for (i = 0; i - [C programming для начинающих: часть 4 - printf](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-4-printf/) - Предыдущая часть Мы уже видели применение функции printf() в примерах ранее: #include int main (int argc, char **argv) { printf("Hello, world\n"); printf("Argc: %d\n", argc); int i; for (i = 0; i < argc; i++) { printf("Argv[%d]: %s\n", i, argv[i]); } return 0; } В строке printf("Argv[%d]: %s\n", i, argv[i]) - printf() выводит на экран - [C programming для начинающих: часть 5 - комментарии](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-5-kommentarii/) - Предыдущая часть. В С поддерживаются комментарии двух типов - многострочные и однострочные. Многострочные коммментарии Например - возьмём наш Hello, Wolrd из первой части: #include main () { printf("Hello, world\n"); } Для добавления многострочного комментария - он должен открываться символами /* и закрываться - */: #include /* This is my first C programm */ main - [C programming для начинающих: часть 6 - переменные и типы данных](https://rtfm.co.ua/ru/books-translations/c-programming-dlya-nachinayushhix/c-programming-dlya-nachinayushhix-chast-6-peremennye-i-tipy-dannyx/) - Предыдущая часть. Для того, что бы хранить данные в программе - вам требуется объявить переменные. В С переменные объявляются с указанием их типа данных, например - int (integer) для целочисленных, double - для дробей и т.д. Рассмотрим следующий пример: #include int main(int argc, char **argv) { double pettycash; double grandtotal = 500.50; pettycash = - [Groovy: часть 6 - циклы](https://rtfm.co.ua/ru/books-translations/groovy-s-nulya/groovy-chast-6-cikly/) - Предыдущая часть - часть 5 – операторы. Циклы в Groovy До сих пор мы рассматривали операторы, которые выполняются один за другим, по очереди. Кроме них - в Groovy представлены операторы циклов - while, for и for-in: while - оператор while выполняет проверку заданного условия, и выполняет код в цикле, если условие True. for - оператор for используется - [Groovy с нуля](https://rtfm.co.ua/ru/books-translations/groovy-s-nulya/) - Перевод, с дополнениями. Полный курс - тут>>>. часть 1 - установка на Linux часть 2 - Hello World и базовый синтаксис часть 3 - типы данных часть 4 – переменные часть 5 – операторы часть 6 – циклы часть 7 – операторы ветвления if/else/switch - [Groovy: часть 7 - операторы ветвления if/else/switch](https://rtfm.co.ua/ru/books-translations/groovy-s-nulya/groovy-chast-7-operatory-vetvleniya-ifelseswitch/) - Предыдущая часть - часть 6 – циклы. В Groovy имеются операторы ветвления (или условные операторы), позволяющие менять ход выполнения программы. Оператор if Самый используемый оператор - if. Его синтаксис выглядит следующим образом: if(condition) { statement #1 statement #2 ... } Оператор if проверяет условие (condition), и если оно True - выполняется выражение в блоке: Пример использования - [Groovy: часть 5 - операторы](https://rtfm.co.ua/ru/books-translations/groovy-s-nulya/groovy-chast-5-operatory/) - Предыдущая часть - Groovy: часть 4 – переменные. Оператор - специальный символ, который указывает компилятору на выполнение математических или логиеских операций. В Groovy имеются следующие типы операторов: арифметические операторы сравнения логические побитовые операторы операторы присваивания Арифметические операторы В Groovy, как и в любом другом языке программирвоания, имеются арифметические операторы: Operator Description Example + Addition of two - [Groovy: часть 4 - переменные](https://rtfm.co.ua/ru/books-translations/groovy-s-nulya/groovy-chast-4-peremennye/) - Предыдущая часть - Groovy: часть 3 – типы данных. Переменные в Groovy могут быть заданы двумя способами - с помощью указания типа данных и встроенного синтаксиса Groovy, либо - с помощью ключевого слова def. Типы в Groovy рассмотрены в предыдущей части - Groovy: часть 3 - типы данных. Кроме того - для переменных в Groovy допустимы и - [Groovy: часть 2 - Hello World и базовый синтаксис](https://rtfm.co.ua/ru/books-translations/groovy-s-nulya/groovy-chast-2-hello-world-i-bazovyj-sintaksis/) - Hello, Groovy Предыдущая часть - Groovy: часть 1 – установка на Linux. Самый простой способо выполнить "Hello, World" - используя Groovy shell: $ groovysh Groovy Shell (2.4.7, JVM: 1.8.0_51) Type ':help' or ':h' for help. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ groovy:000> И выполнить println('Hello World'): groovy:000> println('Hello World'); Hello World ===> null Либо - в виде скрипта: #!/usr/bin/env groovy class Example { - [Groovy: часть 1 - установка на Linux](https://rtfm.co.ua/ru/books-translations/groovy-s-nulya/groovy-chast-1-ustanovka-na-linux/) - Установка на Ubuntu Linux 14.04. На страницы загрузок выбираем Source Release и загружаем архив: $ wget https://bintray.com/artifact/download/groovy/maven/apache-groovy-src-2.4.7.zip Распаковываем, и пермеещаем в /opt: $ unzip apache-groovy-binary-2.4.7.zip $ ls -l groovy-2.4.7/ total 48 drwxr-xr-x 2 setevoy setevoy 4096 чер 3 18:51 bin drwxr-xr-x 2 setevoy setevoy 4096 чер 3 18:51 conf drwxr-xr-x 2 setevoy setevoy 4096 чер 3 18:51 - [Курс C с нуля: часть 6 - переменные](https://rtfm.co.ua/ru/books-translations/kurs-c-s-nulya/kurs-c-s-nulya-chast-6-peremennye/) - Предыдущая часть - Курс C с нуля: часть 5 – константы. переменная с C - это именованный участок памяти, в котором программа может хранить и управлять данными; значение переменной в C может меняться во время выполнения программы (в отличии от констант); переменная может быть любого типа данных - int, float, char и т.д.. Правила имен - [Курс C с нуля: часть 5 - константы](https://rtfm.co.ua/ru/books-translations/kurs-c-s-nulya/kurs-c-s-nulya-chast-5-konstanty/) - Предыдущая часть - Курс C с нуля: часть 4 – токены и ключевые слова. константы в C фактически являются обычными переменными, с той разницей, что после инициализации их значение неизменно; константы так же называют литералами (literals); константы могут хранить данные любого типа. Синтаксис const data_type variable_name; или: const data_type *variable_name; Типы констант в C целочисленные константы; действительные константы; константы - [Курс C с нуля: часть 4 - токены и ключевые слова](https://rtfm.co.ua/ru/books-translations/kurs-c-s-nulya/kurs-c-s-nulya-chast-4-tokeny-i-klyuchevye-slova/) - Предыдущая часть - Курс C с нуля: часть 3 – типы данных. Основные элементы любой программы на C - это токены, идентификаторы и ключевые слова. 1. Токены в C токены в C являются базовыми "строительными блоками", котоыре вместе представляют собой программу; каждый элемент кода в C является токеном. В C есть шесть типов токенов: ключевые слова (keywords) - [Курс C с нуля: часть 3 - типы данных](https://rtfm.co.ua/ru/books-translations/kurs-c-s-nulya/kurs-c-s-nulya-chast-3-tipy-dannyx/) - Предыдущая часть - Курс C с нуля: часть 2 - printf и scanf. типы данных в C - это формат хранения данных, в которых переменная может хранить данные для выполнения с ними дальнейших действий; тип данных используется для объявления переменной перед ее использованием в программе; размер переменной, константы или массива определяется ее типом данных. С - [Курс C с нуля: часть 2 - printf и scanf](https://rtfm.co.ua/ru/books-translations/kurs-c-s-nulya/kurs-c-s-nulya-chast-2-printf-i-scanf/) - Предыдущая часть - Курс C с нуля: часть 1 - базовый синтаксис. функции printf() и scanf() включены в стандартную библиотеку C. Эти функции и связанные с ними макросы описываются в заголовочном файле stdio.h; нам потребуется подключить файл stdio.h, что бы получить доступ к этим функциям. Функция printf() функция printf() используется для печати символов, строк и чисел на экран; - [Курс C с нуля: часть 1 - базовый синтаксис](https://rtfm.co.ua/ru/books-translations/kurs-c-s-nulya/kurs-c-s-nulya-chast-1-bazovyj-sintaksis/) - Начнем с рассмотрения базового синтаксиса программы на C, например: #include int main() { /* HelloWorld program in C */ printf("Hello, World!n"); char str[4] = "abc"; return 0; } Наша первая программа на C состоит из нескольких частей: Команда Описание #include является командой препроцессора (рассмотрим позже), которая включает стандартный заголовочный файл stdio.h из библиотеки C - [Программирование на C шаг за шагом: шаг 1 - Hello, World!](https://rtfm.co.ua/ru/books-translations/programmirovanie-na-c-shag-za-shagom/programmirovanie-na-c-shag-za-shagom-shag-1-hello-world/) - Наша первая программа Каждая программа на C использует библиотеки, которые предоставляют возможность выполнять различные функции. Например, самая простая функция pritnf, которая выводит текст на экран, описывается в заголовочном файле stdio.h. Что бы добавить возможность использования этой функции в нашей программе, вы должны добавить следующую строку в начале кода: #include Вторая часть наше программы - - [Курс Ruby с нуля](https://rtfm.co.ua/ru/books-translations/kus-ruby-s-nulya/) - Перевод. Оригинал тут>>>. часть 1: синтаксис часть 2: классы и объекты часть 3: переменные, константы и литералы часть 4: операторы часть 5: комментарии часть 6: условные операторы if…else, case, unless часть 7: циклы while, for, until, break, redo и retry часть 8: методы часть 9: блоки [ to be continued ] - [Ruby: с нуля – часть 8: методы](https://rtfm.co.ua/ru/books-translations/kus-ruby-s-nulya/ruby-s-nulya-chast-8-metody/) - Предыдущая часть - часть 7: циклы while, for, until, break, redo и retry. Методы в Ruby очень схожи с функциями в других яхзыках программирования. Методы используются для того, что бы собрать в одном месте несколько операторов. Имена методов в Ruby должны начинаться со строчной буквы. Методы должны быть описаны до того, как их можно будет использовать. - [Ruby: с нуля – часть 9: блоки](https://rtfm.co.ua/ru/books-translations/kus-ruby-s-nulya/ruby-s-nulya-chast-9-bloki/) - Предыдущая часть - часть 8: методы. Кроме методов, котоыре позволяют группировать несколько выражений - Ruby поддерживает концепцию "блоков": блок содержит часть кода; блоку присваивается имя; код в блоке всегда заключается между парой фигурных скобок {}; блок всегда вызывается из функции с тем же именем; вызов блока выполняется с помощью оператора yeild. Ситаксис: block_name { statement1 statement2 .......... - [Ruby: с нуля – часть 7: циклы while, for, until, break, redo и retry](https://rtfm.co.ua/ru/books-translations/kus-ruby-s-nulya/ruby-s-nulya-chast-7-cikly-while-for-until-break-redo-i-retry/) - Предыдущая часть - часть 6: условные операторы if…else, case, unless. Оператор while Выполняет код, пока условие истинно. Оператор while отделяется от кода с помощью ключевого слова do, новой строки, обратного слеша или точкой с запятой. Синтаксис: while условие [do] код end Пример: #!/usr/bin/ruby $i = 0 $num = 5 while $i < $num do puts("Inside the - [Ruby: с нуля – часть 6: условные операторы if...else, case, unless](https://rtfm.co.ua/ru/books-translations/kus-ruby-s-nulya/ruby-s-nulya-chast-6-uslovnye-operatory-if-else-case-unless/) - Предыдущая часть - часть 5: комментарии. Оператор if...else Синтаксис: if условие [then] code... [elsif условие [then] код...]... [else код...] end Выражение if используется для проверки истинности условия. Значения условия false и nil являются ложными (false), тогда как все прочие - будут True. Условие в if может закрываться зарезирвированным словом then, точкой с запятой или новой строкой. Пример: - [Ruby: с нуля – часть 5: комментарии](https://rtfm.co.ua/ru/books-translations/kus-ruby-s-nulya/ruby-s-nulya-chast-5-kommentarii/) - Предыдущая часть - часть 4: операторы. В Ruby имеется несколько видов комментариев. Однострочные комментарии Начинаются с символа # и включают в себя текст до конца строки, напрмиер: #!/usr/bin/ruby -w # This is a single line comment. puts "Hello, Ruby!" После выполнения - будет выведен текст "Hello, Ruby!", а строка "This is a single line comment" будет - [Ruby: с нуля – часть 4: операторы](https://rtfm.co.ua/ru/books-translations/kus-ruby-s-nulya/ruby-s-nulya-chast-4-operatory/) - Предыдущая часть - часть 3: переменные, константы и литералы. Арифметрические операторы Ruby Предположим, что переменная a == 10, а переменная b == 20. Оператор Описание Пример + сложение a + b вернет 30 - вычитание a - b вернет -10 * умножение a * b вернет 200 / деление b / a вернет 2 % деление по - [Ruby: с нуля – часть 3: переменные, константы и литералы](https://rtfm.co.ua/ru/books-translations/kus-ruby-s-nulya/ruby-s-nulya-chast-3-peremennye-konstanty-i-literaly/) - Предыдущая часть - часть 2: классы и объекты. В Ruby есть пять типов переменных, часть из которых мы кратко рассмотрели в предыдущей части. Глобальные перменные Ruby Глобальные переменные начинаются с символа $. Непроинициализированные глобальные переменные имеют значение nil (null, void) и вызывают предупрежение при использовании опции -w. Примечание: интересное обсуждение nil vs null в английском языке можно - [Курс программирования на С с нуля](https://rtfm.co.ua/ru/books-translations/kurs-c-s-nulya/) - Перевод. Оригинал доступен тут>>>. часть 1 – базовый синтаксис часть 2 – printf и scanf часть 3 – типы данных часть 4 – токены и ключевые слова часть 5 – константы часть 6 – переменные - [Программирование на C шаг за шагом: шаг 2 - переменные и типы данных](https://rtfm.co.ua/ru/books-translations/programmirovanie-na-c-shag-za-shagom/programmirovanie-na-c-shag-za-shagom-shag-2-peremennye-i-tipy-dannyx/) - Типы данных В языке C есть несколько типов переменных, которые делятся на несколько базовых типов: integers - целые числа, могут быть положительными и отрицательными, они определяются с помощью ключевых слов char, int, short, long и long long; unsigned integers - целые числа, которые могут быть только положительными, они определяются как unsigned char, unsigned int, unsigned short, unsigned long и unsigned - [Программирование на C шаг за шагом: шаг 3 - массивы](https://rtfm.co.ua/ru/books-translations/programmirovanie-na-c-shag-za-shagom/programmirovanie-na-c-shag-za-shagom-shag-3-massivy/) - Массивы - это особые переменные, которые могут хранить более одного значения, используя индексы. Синтаксис определения массива очень простой: /* определение массива из 10 чисел */ int numbers[10]; Доступ к элементам массива осуществляется по их индексам. Учтите, что индексы массивов в C всегда начинаются с нуля, а не единицы. Т.е., если мы определяем массив из 10 элементов - [Программирование на C шаг за шагом: шаг 5 - цикл FOR](https://rtfm.co.ua/ru/books-translations/programmirovanie-na-c-shag-za-shagom/programmirovanie-na-c-shag-za-shagom-shag-5-cikl-for/) - Цикл for в C очень прост. Цикл - это блок кода, который выполняется несколько раз. Для цикла необходима переменная-итератор, обычно её обозначают как i. Циклы for имеют такую функциональность: инициализация переменной-итератора, используя начальное значение; проверка - достигла ли переменная финального значения; увеличение итератора. Например, если мы хотим выполнить один блок кода 10 раз - вы можем использовать - [Программирование на C шаг за шагом: шаг 4 - строки](https://rtfm.co.ua/ru/books-translations/programmirovanie-na-c-shag-za-shagom/programmirovanie-na-c-shag-za-shagom-shag-4-stroki/) - Определение строк Строки в C фактически являются массивами строк. Хотя указатели (pointer) мы будем рассматривать позже, мы используем тут указатель на массив символов, что бы определить простую строку, например: char * name = "John Smith"; Таким образом можно создать строку, которая будет доступна только для чтения. Если мы хотим создать строку, с которой можно выполнять - [Программирование на C шаг за шагом: шаг 6 - цикл WHILE](https://rtfm.co.ua/ru/books-translations/programmirovanie-na-c-shag-za-shagom/programmirovanie-na-c-shag-za-shagom-shag-6-cikl-while/) - Цикл while схож с циклом for, но у него меньше функциональности. Цикл while будет выполняться до тех пор, пока заданное в нём условие будет истино. Например, следующий код будет выполнен 10 раз: int n = 0; while (n < 10) { n++; } Цикл while быть бесконечным, если условие всегда возвращает истину: while (1) { - [Программирование на C шаг за шагом: шаг 7 - функции](https://rtfm.co.ua/ru/books-translations/programmirovanie-na-c-shag-za-shagom/programmirovanie-na-c-shag-za-shagom-shag-7-funkcii/) - Функции в C очень просты, однако из-за некоторых особенностей реализации - они немного ограничены. функции могут иметь ограниченное или любое количество аргументов; функции могут возвращать либо только одно значение, либо не возвращать ничего вообще. В C аргументы передаются в функцию по значению, т.е. - мы не можем изменить значение аргумента вне функции. Для того, что - [Python с нуля - часть 4: управляющие конструкции - операторы IF...ELIF...ELSE](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-4-upravlyayushhie-konstrukcii-operatory-if-elif-else/) - Структура управляющей конструкции ( или "принятия решения") требует, что бы программист задал одно или более условий, которые будут выполнены и проверены программой и одного или нескольких действий, которые будут выполнены если условие будет определено как истина (true) и, опционально, другие выражения, которые будут выполнены если условие будет определено как ложь (false). Ниже приведёна форма типичной - [Python с нуля - часть 3: базовые операторы](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-3-bazovye-operatory/) - Что такое "оператор"? Простой ответ может быть дан с помощью выражения "4 + 5 равно 9". Тут 4 и 5 - это операнды (operands), а символ плюс ("+") называется оператором (operator). В языке Python поддерживает такие типы операторов: арифметические операторы (arithmetic operators); операторы сравнения (comparison или relational operators); операторы присваивания (assignment operators); логические операторы (logical - [Python с нуля - часть 2: типы переменных](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-2-tipy-peremennyx/) - В первой части мы рассмотрели общий синтаксис языка Python. В этой - рассмотрим основные типы переменных: (variables), строки (strings), списки (lists), кортежи (tuples) и словари (dictionaries). Переменные - не что иное, как просто зарезервированное в памяти место для хранения каких-то данных. Это значит, что когда вы создаёте переменную - вы резервируете какое-то место в памяти. - [Ruby: с нуля - часть 1: синтаксис](https://rtfm.co.ua/ru/books-translations/kus-ruby-s-nulya/ruby-s-nulya-chast-1-sintaksis/) - Ruby Hello, World Исполняемые файлы Ruby имеют расширение .rb. Создаем файл, например - hello.rb: $ vim hello.rb С таким содержимым: $ cat hello.rb #!/usr/bin/env ruby puts "Hello, Ruby!"; Запускаем его: $ chmod +x hello.rb $ ./hello.rb Hello, Ruby! В Ruby точка с запятой и символ новой строки считается завершением оператора. Т.е. - пример выше можно записать - [Ruby: с нуля – часть 2: классы и объекты](https://rtfm.co.ua/ru/books-translations/kus-ruby-s-nulya/ruby-s-nulya-chast-2-klassy-i-obekty/) - Предыдущая часть - часть 1: синтаксис. Создание класса Классы в Ruby описываются при помощи ключевого слова class, например: $ irb irb(main):001:0> class RubyClass irb(main):002:1> puts "This is class" irb(main):003:1> end This is class => nil Класс всегда завершается оператором end. Переменные в классах Ruby Локальные переменные: это переменные, описанные в методе класса и недоступны вне этого метода. Локальные - [Python с нуля - часть 10: словари](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-10-slovari/) - Словарь (dictionary) в языке Python является изменяемым (mutable) типом данных, который может содержать в себе любое количество объектов, включая другие типы, такие как словари. Словари состоят из пар ключ:значение . Так же, их называют "ассоциативными массивами" (associative arrays) или "хеш-таблицами" (hash tables). Строго говоря - словари не являются последовательностями, т.к. доступ к элементам словаря осуществляется - [Python с нуля - часть 9: кортежи](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-9-kortezhi/) - Кортеж (tuple) в Python - это последовательность неизменяемых объектов. Кортежи очень схожи со списками, с той разницей - что элементы кортежа не могут быть изменены и используют обычные скобки, вместо квадратных, как в списках. Кортеж создаётся простым присваиванием элементов, разделённых запятыми. Так же - их можно указывать в скобках. Например: >>> tup1 =('physics','chemistry',1997,2000); >>> tup2 - [Python с нуля — часть 8: списки](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-8-spiski/) - Основной структурой данных в Python являются последовательности (sequence ). Каждому элементу в последовательности присвоен номер - его позиция в последовательности, или индекс (index). Первым всегда является ноль. В Python имеется шесть встроенных типов последовательностей, наиболее используемыми являются списки (list) и кортежи (tuple), которые мы рассмотрим далее. Имеется несколько типов операций, которые могут выполняться с последовательностями. Это - [Python с нуля — часть 7: строки](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-7-stroki/) - Строки (string) один из наиболее часто используемых типов данных в Python. Создать строку можно просто заключив символы в кавычки, при этом для Python одинарные кавычки (' ') имеют такое же значение, как и двойные (" "). Создаётся строка простым присваивание значения переменной. Например: var1 ='Hello World!' var2 ="Python Programming" Получение значений из строк Для доступа - [Python с нуля — часть 6: числа](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-6-chisla/) - Числовые типы данных содержат числовые значения. Они являются неизменяемыми типами данных, т.е. - при переопределении такого объекта он будет создан заново. Примечание: проще всего продемонстрировать это с помощью функции id(), которая выводит информацию о id заданного объекта (точнее - его адрес в памяти): $ cat test.py #!/usr/bin/env python # define value for variable 'a' a - [Python с нуля — часть 5: циклы - оператор continue](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-5-cikly/python-s-nulya-chast-5-cikly-operator-continue/) - Оператор continue в Python возвращает выполнение кода к началу цикла при срабатывании заданного условия как истина (true). Он может быть использован как в цикле while, так и цикле for. Синтаксис continue Пример for letter in 'Python': # First Example if letter == 'h': continue print 'Current Letter :', letter var = 10 # Second - [Python с нуля — часть 5: циклы - оператор pass](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-5-cikly/python-s-nulya-chast-5-cikly-operator-pass/) - Оператор pass используется в Python, когда синтаксически требуется наличие какого-то оператора или выражения, но вам не нужно выполнение любых действий. Оператор pass является Null-операций - т.е. он возвращает Null, когда выполняется. Так же, он может быть полезен в тех случаях, когда вы планируете дописать код в этой части позже. Синтаксис pass Пример for letter in - [Python с нуля — часть 5: циклы - цикл while](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-5-cikly/python-s-nulya-chast-5-cikly-cikl-while/) - Python - цикл while Цикл while в Python будет выполнять заданное выражение или блок кода до тех пор, пока заданное условие будет считаться истиной (true). Синтаксис Синтаксис цикла while в Python такой: while условие: действие(я) Тут действие(я) могут быть либо одним выражением, или набором выражений - блоком кода. Условие можно быть любым выражением, а условие - [Python с нуля — часть 5: циклы - цикл for](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-5-cikly/python-s-nulya-chast-5-cikl-for/) - Python - цикл for Цикл for в Python перебирает объекты в переданных ему последовательностях, например - списки (lists) и строки (strings). Синтаксис Синтаксис цикла for в Python такой: for переменная in последовательность: действие(я) Если последовательность содержит список выражений (операций) - сначала будут обработаны они. Далее, значение первого элемента в последовательности будет присвоено переменной (iterating_var на - [Python с нуля — часть 5: циклы - вложенные циклы](https://rtfm.co.ua/ru/books-translations/python_s_nulya/python-s-nulya-chast-5-cikly/python-s-nulya-chast-5-vlozhennye-cikly/) - В языке Python допустимо использование одного цикла, заключённого (вложенного) в другой. Синтаксис Ситаксис вложенных циклов в Python такой: for переменная in последовательность: for переменная in последовательность: действие(я) действие(я) Ещё одна особенность вложенных циклов - вы можете использовать любой тип цикла в другом типе цикла. например - можно цикл for вложить в цикл while и наоборот. - [Карта сайта](https://rtfm.co.ua/ru/karta-sajta/) ## FAQs - [Kubernetes: найти Pod, на котором выполнялась Job](https://rtfm.co.ua/sp_faq/kubernetes-najti-pod-na-kotorom-vypolnyalas-job/) - По умолчанию, у всех подов, которые запускались из job есть тег job-name, который можно использовать в --selector: [simterm] $ kubectl get pods --selector=job-name=your-job-name-27751740 NAME READY STATUS RESTARTS AGE your-pod-27751740-5h44n 0/1 Error 0 4h20m your-pod-27751740-bsk4n 0/1 Error 0 4h15m ... [/simterm] - [Kubernetes: запустить под с bash для тестов](https://rtfm.co.ua/sp_faq/kubernetes-zapustit-pod-s-bash-dlya-testov/) - Что бы запустить тестовый под для каких-либо проверок, например с Ubuntu - выполняем: [simterm] $ kubectl -n namespace-name run pod --rm -i --tty --image ubuntu -- bash [/simterm] - [MySQL: добавить пользователя и разрешить полный или read only доступ к базам](https://rtfm.co.ua/sp_faq/mysql-dobavit-polzovatelya-i-razreshit-polnyj-ili-read-only-dostup-k-bazam/) - Добавить пользователя newuser, которому разрешён доступ только с localhost (самого сервера баз данных), и задать ему пароль password: [simterm] MySQL [(none)]> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; [/simterm] Разрешить ему доступ ко всем базам данных: [simterm] MySQL [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost'; [/simterm] Или разрешить Read Only доступ ко всем базам: [simterm] - [MySQL: список пользователей](https://rtfm.co.ua/sp_faq/mysql-spisok-polzovatelej/) - Получить всех пользователей со всеми полями: [simterm] MySQL [(none)]> select * from mysql.user; [/simterm] Или определённые поля - получаем список полей: [simterm] MySQL [(none)]> desc mysql.user; +--------------+----------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+----------------+------+-----+---------+-------+ | Host | char(60) | NO | PRI | | | | User | - [SSH: get public key from a private key](https://rtfm.co.ua/sp_faq/ssh-get-public-key-from-a-private-key/) - Что бы извлечь публичную часть ключа - выполняем: [simterm] $ ssh-keygen -y -f ~/.ssh/id_rsa.pem > ~/.ssh/id_rsa.pub [/simterm] - [SSH: get RSA key fingerprint](https://rtfm.co.ua/sp_faq/ssh-get-rsa-key-fingerprint/) - Что бы получить отпечаток публичной части ключа в SHA256 - выполняем: [simterm] $ ssh-keygen -lf ~/.ssh/id_rsa.pub 4096 SHA256:OYe3ZCb+qzY1hR6gLGE9/Lm28Qbp1lzfMp8bpy2g5J8 user@host.local (RSA) [/simterm] - [MySQL: проверить права доступа](https://rtfm.co.ua/sp_faq/mysql-proverit-prava-dostupa/) - Используем SHOW GRANTS. Проверить права текущего пользователя: [simterm] MariaDB [(none)]> SHOW GRANTS; +-------------------------------------------------------------------------------+ | Grants for replicator@% | +-------------------------------------------------------------------------------+ | GRANT REPLICATION SLAVE ON *.* TO `replicator`@`%` IDENTIFIED BY PASSWORD '*' | +-------------------------------------------------------------------------------+ [/simterm] Другого юзера: [simterm] MariaDB [(none)]> SHOW GRANTS FOR 'username'@'%'; [/simterm] - [Kubernetes: получить список всех подов на всех WorkerNodes](https://rtfm.co.ua/sp_faq/kubernetes-poluchit-spisok-vsex-podov-na-vsex-workernodes/) - Вариант 1 - сортировка по имени рабочих нод [simterm] $ kubectl get pod -o=custom-columns=NODE:.spec.nodeName,NAME:.metadata.name --all-namespaces | sort ip-10-3-42-245.us-east-2.compute.internal aws-node-668rk ip-10-3-42-245.us-east-2.compute.internal coredns-5fb4bd6df8-znbzr ip-10-3-42-245.us-east-2.compute.internal gorush-5c6775748b-s6jkp ... [/simterm] Вариант 2 - сортировка по имени подов [simterm] $ kubectl get pod -o=custom-columns=NAME:.metadata.name,STATUS:.status.phase,NODE:.spec.nodeName --all-namespaces prometheus-prometheus-node-exporter-99z6w Running ip-10-3-43-168.us-east-2.compute.internal prometheus-prometheus-node-exporter-b47k9 Running ip-10-3-49-200.us-east-2.compute.internal prometheus-prometheus-node-exporter-brfvk Running ip-10-3-58-193.us-east-2.compute.internal ... [/simterm] Вариант 3 - только IP - [Kubernetes: получить логи всех подов](https://rtfm.co.ua/sp_faq/kubernetes-poluchit-logi-vsex-podov/) - Находим деплоймент: [simterm] $ kubectl -n eks-dev-1-eat-backend-ns get deploy NAME READY UP-TO-DATE AVAILABLE AGE eat-backend 2/2 2 2 11d [/simterm] Читаем логи всех контейнеров в этом деплойменте: [simterm] $ kubectl -n eks-dev-1-eat-backend-ns logs -f deployment/eat-backend --all-containers=true --since=10m Found 2 pods, using pod/eat-backend-d4f9fb9f8-vs8fr [/simterm] - [Linux: узнать публичный IP сервера из консоли](https://rtfm.co.ua/sp_faq/linux-uznat-publichnyj-ip-servera-iz-konsoli/) - dig [simterm] $ dig +short myip.opendns.com @resolver1.opendns.com 194.***.***.26 [/simterm] curl [simterm] $ curl ifconfig.co $ curl ifconfig.me $ curl icanhazip.com [/simterm] - [Linux: консоль - удалить историю](https://rtfm.co.ua/sp_faq/linux-konsol-udalit-istoriyu/) - С помощью history: [simterm] $ history -cw [/simterm] См. --help: [simterm] $ history --help history: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...] Display or manipulate the history list. Display the history list with line numbers, prefixing each modified entry with a `*'. An argument of N lists only - [Linux: проверить подключение к порту](https://rtfm.co.ua/sp_faq/test/) - Telnet Самый широкоизвестный и просто способ - с поомщью telnet: [simterm] $ telnet example.com 80 Trying 93.184.216.34... Connected to example.com. Escape character is '^]'. [/simterm] NetCat Другой вариант - NetCat (nc), больше возможностей: [simterm] $ nc -zv example.com 80 Warning: Inverse name lookup failed for `93.184.216.34' example.com [93.184.216.34] 80 (http) open [/simterm] - [Windows: найти файл или папку из командной строки](https://rtfm.co.ua/sp_faq/win-test/) - Поиск можно выполнить с помощью dir и опции /s: /S Отображение файлов из указанного каталога и всех его подкаталогов. Пример: [simterm] $ dir docker /S Том в устройстве C не имеет метки. Серийный номер тома: 1CA2-DA5A Содержимое папки C:\Users\setevoy\Work\***\Projects\LON.***\***-server-api\authserver\src\main 29.09.2016 14:38 docker 0 файлов 0 байт [/simterm] ## Категорії - [Uncategorized](https://rtfm.co.ua/ru/category/uncategorized/) - [BASH scripts](https://rtfm.co.ua/ru/category/bash_scripts-ru/) - Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. - [Build tools](https://rtfm.co.ua/ru/category/build_tools_ru/) - Инструменты для сборки и компиляции проектов на различных языках программирования - [C/C++](https://rtfm.co.ua/ru/category/scripting_and_coding-ru/cc-ru/) - C is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations. - [CentOS](https://rtfm.co.ua/ru/category/linux-ru/centos-ru/) - CentOS is a Linux distribution that provides a free, enterprise-class, community-supported computing platform functionally compatible with its upstream source, Red Hat Enterprise Linux. - [Configuration/Orchestration](https://rtfm.co.ua/ru/category/configuration-orchestration-ru/) - Вопросы, касающиеся установки, настройки и работы CMS (Configuration Manament System – система управления конфигурациями) Puppet, Ansible и Chef - [Content Management Systems](https://rtfm.co.ua/ru/category/cmsweb-frameworks-ru/) - A content management system manages the creation and modification of digital content. It typically supports multiple users in a collaborative environment. CMS features vary widely. Most CMSs include Web-based publishing, format management, history editing and version control, indexing, search, and retrieval. - [CI/CD](https://rtfm.co.ua/ru/category/ci-cd-ru/) - Continuous integration in software engineering is the practice of merging all developer working copies to a shared mainline several times a day. Continuous delivery is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, when releasing the software, doing so manually. It aims at building, testing, and releasing software with greater speed and frequency. - [Django](https://rtfm.co.ua/ru/category/cmsweb-frameworks-ru/django-ru/) - Django is a Python-based free and open-source web framework, which follows the model-view-template architectural pattern. It is maintained by the Django Software Foundation, an independent organization established as a 501 non-profit. - [UNIX/Linux](https://rtfm.co.ua/ru/category/linux-ru/) - Вопросы, касающиеся работы операционных систем GNU/Linux - [GNU/Linux utils](https://rtfm.co.ua/ru/category/utilities-ru/) - Вопросы, касающиеся использования различных системных утилит и прочего программного обеспечения – описания, их использование. - [GoCD](https://rtfm.co.ua/ru/category/configuration-orchestration-ru/go_cd-ru/) - GoCD is an open-source tool which is used in software development to help teams and organizations automate the continuous delivery of software. - [Hardware](https://rtfm.co.ua/ru/category/hardware-ru/) - Вопросы, касающиеся аппаратного обеспечения серверов и рабочих станций - [HOWTO's](https://rtfm.co.ua/ru/category/howtos-ru/) - Вопросы, касаюшиеся установки и настройки различных приложений. - [Web servers](https://rtfm.co.ua/ru/category/http_servers-ru/) - Веб-сервер — сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, как правило, вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными. - [Java](https://rtfm.co.ua/ru/category/scripting_and_coding-ru/java-ru/) - Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. - [Jenkins](https://rtfm.co.ua/ru/category/ci-cd-ru/jenkins-ru/) - Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of the software development process, with continuous integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat. - [JIRA](https://rtfm.co.ua/ru/category/jira-ru/) - [LDAP/OpenLDAP](https://rtfm.co.ua/ru/category/rdbms_nosql-ru/ldap-ru/) - The Lightweight Directory Access Protocol is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol network. - [Monitoring](https://rtfm.co.ua/ru/category/monitoring-ru/) - Мониторинг серверов, сетей и оборудования - [MSBuild](https://rtfm.co.ua/ru/category/build_tools_ru/msbuild-ru/) - Microsoft Build Engine, better known as MSBuild, is a free and open-source build tool set for managed code as well as native C++ code and was part of .NET Framework. - [Nagios](https://rtfm.co.ua/ru/category/monitoring-ru/nagios-ru/) - Вопросы, касающиеся настройки и работы системы мониторинга Nagios - [Networking](https://rtfm.co.ua/ru/category/networking-ru/) - Вопросы, касающиеся работы сетей, сетевых протоколов и оборудования. - [NGINX](https://rtfm.co.ua/ru/category/http_servers-ru/nginx-3-ru/) - Вопросы, касающиеся работы web-сервера NGINX - [OpenVPN](https://rtfm.co.ua/ru/category/networking-ru/openvpn-ru/) - Вопросы, касающиеся установки, настройки и работы VPN-сервера OpenVPN - [macOS](https://rtfm.co.ua/ru/category/linux-ru/macos-ru/) - macOS is a series of graphical operating systems developed and marketed by Apple Inc. since 2001. - [PHP](https://rtfm.co.ua/ru/category/scripting_and_coding-ru/php-ru/) - PHP: Hypertext Preprocessor is a server-side scripting language designed for web development. - [Mail](https://rtfm.co.ua/ru/category/mail-ru/) - Вопросы, касающиеся работы почтовых серверов Dovecot, Postfix, Exim, Sendmail etc - [Postfix](https://rtfm.co.ua/ru/category/mail-ru/postfix-ru/) - Postfix is a free and open-source mail transfer agent that routes and delivers electronic mail. - [Puppet](https://rtfm.co.ua/ru/category/configuration-orchestration-ru/puppet-ru/) - In computing, Puppet is an open-core software configuration management tool. It runs on many Unix-like systems as well as on Microsoft Windows, and includes its own declarative language to describe system configuration. - [Python](https://rtfm.co.ua/ru/category/scripting_and_coding-ru/python-ru/) - Python is an interpreted, high-level, general-purpose programming language. - [Databases](https://rtfm.co.ua/ru/category/rdbms_nosql-ru/) - A NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. A relational database management system is a database management system based on the relational model of data. - [Ruby](https://rtfm.co.ua/ru/category/scripting_and_coding-ru/ruby-ru/) - Ruby is a dynamic, interpreted, reflective, object-oriented, general-purpose programming language for hipsters. - [Security](https://rtfm.co.ua/ru/category/security-ru/) - Безопасность операционных систем и сетей. - [Sendmail](https://rtfm.co.ua/ru/category/mail-ru/sendmail-ru/) - Sendmail is a general purpose internetwork email routing facility that supports many kinds of mail-transfer and delivery methods, including the Simple Mail Transfer Protocol used for email transport over the Internet. - [SSH/SSL/TLS](https://rtfm.co.ua/ru/category/security-ru/sshssltls-ru/) - Transport Layer Security, and its now-deprecated predecessor, Secure Sockets Layer, are cryptographic protocols designed to provide communications security over a computer network. Secure Shell (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. - [TeamCity](https://rtfm.co.ua/ru/category/ci-cd-ru/teamcity-ru/) - TeamCity is a Java-based build management and continuous integration server from JetBrains. - [Terraform](https://rtfm.co.ua/ru/category/configuration-orchestration-ru/terraform-ru/) - Terraform is an open-source infrastructure as code software tool created by HashiCorp. It enables users to define and provision a datacenter infrastructure using a high-level configuration language known as Hashicorp Configuration Language, or optionally JSON. - [Ubuntu](https://rtfm.co.ua/ru/category/linux-ru/ubuntu-ru/) - Ubuntu is a free and open-source Linux distribution based on Debian. - [Version Control System](https://rtfm.co.ua/ru/category/vcs-svn-git-ru/) - A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information. - [Virtualization](https://rtfm.co.ua/ru/category/virtualization-ru/) - In computing, virtualization refers to the act of creating a virtual version of something, including virtual computer hardware platforms, storage devices, and computer network resources. - [VMware vCloud/vSphere](https://rtfm.co.ua/ru/category/virtualization-ru/vmware_vcloud_vsphere-ru/) - VMware, Inc. is a subsidiary of Dell Technologies that provides cloud computing and platform virtualization software and services. - [Web-services](https://rtfm.co.ua/ru/category/web-services-ru/) - Вопросы, касаюшиеся работы различных сетевых утилит – FTP, SSH, Telnet и прочего - [Windows](https://rtfm.co.ua/ru/category/operating-systems-ru/windows-ru/) - Microsoft Windows is a group of several graphical operating system families, all of which are developed, marketed, and sold by Microsoft. Just the worst system ever. - [WordPress](https://rtfm.co.ua/ru/category/cmsweb-frameworks-ru/wordpress-ru/) - WordPress is a free and open-source content management system based on PHP & MySQL. Features include a plugin architecture and a template system. - [Zabbix](https://rtfm.co.ua/ru/category/monitoring-ru/zabbix-ru/) - Вопросы, касающиеся настройки и работы системы мониторинга Zabbix - [Проблемы и решения](https://rtfm.co.ua/ru/category/troubleshooting-ru/) - Описания различных проблем и способы их решения - [Разное](https://rtfm.co.ua/ru/category/other-ru/) - Everything others do not fit in other categories. - [AEM](https://rtfm.co.ua/ru/category/cmsweb-frameworks-ru/aem-ru/) - Adobe Experience Manager brings your content management system (CMS) and digital asset management (DAM) together — in one place. - [Amazon web services](https://rtfm.co.ua/ru/category/virtualization-ru/amazon-web-services-ru/) - Amazon Web Services is a subsidiary of Amazon that provides on-demand cloud computing platforms to individuals, companies and governments, on a paid subscription basis. - [Ansible](https://rtfm.co.ua/ru/category/configuration-orchestration-ru/ansible-ru/) - In computing, Ansible is an open-source software provisioning, configuration management, and application deployment tool. It runs on many Unix-like systems, and can configure both Unix-like systems as well as Microsoft Windows. - [Antispam](https://rtfm.co.ua/ru/category/mail-ru/antispam-ru/) - Сервисы Antispam - [Apache Cassandra](https://rtfm.co.ua/ru/category/rdbms_nosql-ru/apache_cassandra-ru/) - Apache Cassandra is a free and open-source, distributed, wide column store, NoSQL database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure. - [Apache HTTP Server](https://rtfm.co.ua/ru/category/http_servers-ru/apache-http-server-ru/) - The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows. - [Apache Maven](https://rtfm.co.ua/ru/category/build_tools_ru/apache-maven-ru/) - Maven is a build automation tool used primarily for Java projects. Maven addresses two aspects of building software: first, it describes how software is built, and second, it describes its dependencies. - [Apache Tomcat](https://rtfm.co.ua/ru/category/http_servers-ru/apache-tomcat-ru/) - The Apache Tomcat® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies. The Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket specifications are developed under the Java Community Process. - [Azure](https://rtfm.co.ua/ru/category/virtualization-ru/azure-ru/) - Microsoft Azure is a cloud computing service created by Microsoft for building, testing, deploying, and managing applications and services through Microsoft-managed data centers. DO NOT USE IT EVER. - [Bamboo](https://rtfm.co.ua/ru/category/ci-cd-ru/bamboo-ru/) - Bamboo is a continuous integration and continuous deployment server developed by Atlassian. - [Chef](https://rtfm.co.ua/ru/category/configuration-orchestration-ru/chef-ru/) - Chef is a company and the name of a configuration management tool written in Ruby and Erlang. - [Debian](https://rtfm.co.ua/ru/category/linux-ru/debian-ru/) - Debian is a Unix-like operating system consisting entirely of free software. - [Docker](https://rtfm.co.ua/ru/category/virtualization-ru/docker-ru/) - Docker is a computer program that performs operating-system-level virtualization, also known as “containerization”. - [Dovecot](https://rtfm.co.ua/ru/category/mail-ru/dovecot-ru/) - Dovecot is an open-source IMAP and POP3 server for Linux/UNIX-like systems, written primarily with security in mind. - [Exim](https://rtfm.co.ua/ru/category/mail-ru/exim-ru/) - Exim is a mail transfer agent used on Unix-like operating systems. - [FreeBSD](https://rtfm.co.ua/ru/category/linux-ru/freebsd-ru/) - FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution, which was based on Research Unix. OpenBSD is a free and open-source security-focused operating system based on the Berkeley Software Distribution. - [Git](https://rtfm.co.ua/ru/category/vcs-svn-git-ru/git-ru/) - Git is a distributed version-control system for tracking changes in source code during software development. - [MySQL/MariaDB](https://rtfm.co.ua/ru/category/rdbms_nosql-ru/mysql-mariadb-ru/) - MySQL и MariaDB – are an open source relational database management systems. - [SVN](https://rtfm.co.ua/ru/category/vcs-svn-git-ru/svn-ru/) - Apache Subversion is a software versioning and revision control system distributed as open source under the Apache License. - [Vagrant](https://rtfm.co.ua/ru/category/virtualization-ru/vagrant-ru/) - Vagrant is an open-source software product for building and maintaining portable virtual software development environments, e.g. for VirtualBox, Hyper-V, Docker containers, VMware, and AWS. - [VirtualBox](https://rtfm.co.ua/ru/category/virtualization-ru/virtualbox-ru/) - Oracle VM VirtualBox is a free and open-source hosted hypervisor for x86 computers currently being developed by Oracle Corporation. - [Scripting/coding](https://rtfm.co.ua/ru/category/scripting_and_coding-ru/) - HowTo и примеры использования bash, C, Python, Ruby и т.д. - [Operating systems](https://rtfm.co.ua/ru/category/operating-systems-ru/) - HowTo по установке и настройке различных операционных систем и служб. - [BIND](https://rtfm.co.ua/ru/category/networking-ru/bind-ru/) - Domain Name Server BIND – описание, настройка, примеры - [What is?](https://rtfm.co.ua/ru/category/what-is-ru/) - Attempts to understand in some terms and concepts. - [Travis](https://rtfm.co.ua/ru/category/ci-cd-ru/travis-ru/) - Travis CI is a hosted, distributed continuous integration service used to build and test software projects hosted at GitHub. - [Arch Linux](https://rtfm.co.ua/ru/category/linux-ru/arch_linux-ru/) - Arch Linux is a Linux distribution for computers based on x86-64 architectures. Just the best OS for desktop. - [Setups](https://rtfm.co.ua/ru/category/setups-ru/) - Примеры систем билдов-деплоев приложений и провижена рабочих окружений – Chef, bash, CI/CD сервера - [SUSE](https://rtfm.co.ua/ru/category/linux-ru/suse-ru/) - SUSE Linux Enterprise Server is a Linux-based operating system developed by SUSE. - [MSSQL](https://rtfm.co.ua/ru/category/rdbms_nosql-ru/mssql-ru/) - Microsoft SQL Server is a relational database management system developed by Microsoft. - [Packer](https://rtfm.co.ua/ru/category/build_tools_ru/packer-ru/) - HashiCorp Packer is easy to use and automates the creation of any type of machine image. It embraces modern configuration management by encouraging you to use automated scripts to install and configure the software within your Packer-made images. - [Prometheus](https://rtfm.co.ua/ru/category/monitoring-ru/prometheus-ru/) - Prometheus, a Cloud Native Computing Foundation project, is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some condition is observed to be true. - [Groovy](https://rtfm.co.ua/ru/category/scripting_and_coding-ru/groovy-ru/) - Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform. - [GPG](https://rtfm.co.ua/ru/category/security-ru/gpg-ru/) - GNU Privacy Guard, a free-software replacement for Symantec’s PGP cryptographic software suite, complies with RFC 4880, the IETF standards-track specification of OpenPGP. - [PostgreSQL](https://rtfm.co.ua/ru/category/rdbms_nosql-ru/postgresql-ru/) - PostgreSQL, often simply Postgres, is an open source object-relational database management system with an emphasis on extensibility and standards compliance. - [PowerShell](https://rtfm.co.ua/ru/category/scripting_and_coding-ru/powershell-ru/) - PowerShell is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and associated scripting language. - [CloudWatch](https://rtfm.co.ua/ru/category/monitoring-ru/cloudwatch-ru/) - [Grafana](https://rtfm.co.ua/ru/category/monitoring-ru/grafana-ru/) - The open platform for beautiful analytics and monitoring - [DigitalOcean](https://rtfm.co.ua/ru/category/virtualization-ru/digitalocean-ru/) - DigitalOcean, Inc. is an American cloud infrastructure provider headquartered in New York City with data centers worldwide. - [Go](https://rtfm.co.ua/ru/category/scripting_and_coding-ru/go-ru/) - Go is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. Go is syntactically similar to C, but with the added benefits of memory safety, garbage collection, structural typing, and CSP-style concurrency. - [Loki](https://rtfm.co.ua/ru/category/monitoring-ru/loki-ru/) - Loki – Prometheus-inspired logging for cloud natives - [Uncategorized](https://rtfm.co.ua/en/category/uncategorized-en/) - [Troubleshooting](https://rtfm.co.ua/en/category/troubleshooting-en/) - Various problems solutions - [Random](https://rtfm.co.ua/en/category/random-en/) - Everything others do not fit in other categories. - [Monitoring](https://rtfm.co.ua/en/category/monitoring-en/) - Hardware, services and network monitoring systems - [Grafana](https://rtfm.co.ua/en/category/monitoring-en/grafana-en/) - The open platform for beautiful analytics and monitoring - [RTFM](https://rtfm.co.ua/ru/category/other-ru/rtfm/) - [UNIX/Linux](https://rtfm.co.ua/en/category/linux-en/) - [Arch Linux](https://rtfm.co.ua/en/category/linux-en/arch-linux-en/) - Arch Linux is a Linux distribution for computers based on x86-64 architectures. Arch Linux is composed predominantly of free and open-source software, and supports community involvement. - [HOWTO’s](https://rtfm.co.ua/en/category/howtos-en/) - [Networking](https://rtfm.co.ua/en/category/networking-en/) - [OpenVPN](https://rtfm.co.ua/en/category/networking-en/openvpn-en/) - [Operating systems](https://rtfm.co.ua/en/category/operating-systems-en/) - [Security](https://rtfm.co.ua/en/category/security-en/) - [Setups](https://rtfm.co.ua/en/category/setups-en/) - [Virtualization](https://rtfm.co.ua/en/category/virtualization-en/) - In computing, virtualization refers to the act of creating a virtual version of something, including virtual computer hardware platforms, storage devices, and computer network resources. - [Amazon Web Services](https://rtfm.co.ua/en/category/virtualization-en/amazon-web-services-en/) - Amazon Web Services is a subsidiary of Amazon that provides on-demand cloud computing platforms to individuals, companies and governments, on a paid subscription basis. - [Web-services](https://rtfm.co.ua/en/category/web-services-en/) - [Prometheus](https://rtfm.co.ua/en/category/monitoring-en/prometheus-en/) - Prometheus, a Cloud Native Computing Foundation project, is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some condition is observed to be true. - [GNU/Linux utils](https://rtfm.co.ua/en/category/gnu-linux-utils-en/) - Various GNU/Linux utilities and their usage examples - [Windows](https://rtfm.co.ua/en/category/operating-systems-en/windows-en/) - Microsoft Windows is a group of several graphical operating system families, all of which are developed, marketed, and sold by Microsoft. Just the worst system ever. - [Hardware](https://rtfm.co.ua/en/category/hardware-en/) - [SSH/SSL/TLS](https://rtfm.co.ua/en/category/security-en/sshssltls-en/) - Transport Layer Security, and its now-deprecated predecessor, Secure Sockets Layer, are cryptographic protocols designed to provide communications security over a computer network. Secure Shell (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. - [Mail](https://rtfm.co.ua/en/category/mail-en/) - [Exim](https://rtfm.co.ua/en/category/mail-en/exim-en/) - Exim is a mail transfer agent used on Unix-like operating systems. - [Databases](https://rtfm.co.ua/en/category/rdbms-nosql-en/) - A NoSQL database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. A relational database management system is a database management system based on the relational model of data. - [MySQL/MariaDB](https://rtfm.co.ua/en/category/rdbms-nosql-en/mysql-mariadb-en/) - MySQL и MariaDB – are an open source relational database management systems. - [Scripting/coding](https://rtfm.co.ua/en/category/scripting-and-coding-en/) - [Python](https://rtfm.co.ua/en/category/scripting-and-coding-en/python-en/) - Python is an interpreted, high-level, general-purpose programming language. - [What is?](https://rtfm.co.ua/en/category/waht-is-en/) - Attempts to understand in some terms and concepts. - [VirtualBox](https://rtfm.co.ua/en/category/virtualization-en/virtualbox-en/) - Oracle VM VirtualBox is a free and open-source hosted hypervisor for x86 computers currently being developed by Oracle Corporation. - [Configuration/Orchestration](https://rtfm.co.ua/en/category/configuration-orchestration-en/) - [AWS CloudFormation](https://rtfm.co.ua/ru/category/configuration-orchestration-ru/aws-cloudformation-ru/) - AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment. CloudFormation allows you to use a simple text file to model and provision, in an automated and secure manner, all the resources needed for your applications across all regions and accounts. This file serves as the single source of truth for your cloud environment. - [AWS CloudFormation](https://rtfm.co.ua/en/category/configuration-orchestration-en/aws-cloudformation-en/) - AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment. CloudFormation allows you to use a simple text file to model and provision, in an automated and secure manner, all the resources needed for your applications across all regions and accounts. This file serves as the single source of truth for your cloud environment. - [RTFM](https://rtfm.co.ua/en/category/random-en/rtfm-en/) - All about the RTFM blog - [DigitalOcean](https://rtfm.co.ua/en/category/virtualization-en/digitalocean-en/) - DigitalOcean, Inc. is an American cloud infrastructure provider headquartered in New York City with data centers worldwide. - [Docker](https://rtfm.co.ua/en/category/virtualization-en/docker-en/) - Docker is a computer program that performs operating-system-level virtualization, also known as “containerization”. - [Ansible](https://rtfm.co.ua/en/category/configuration-orchestration-en/ansible-en/) - In computing, Ansible is an open-source software provisioning, configuration management, and application deployment tool. It runs on many Unix-like systems, and can configure both Unix-like systems as well as Microsoft Windows. - [Web servers](https://rtfm.co.ua/en/category/http-servers-en/) - A web server (or Web server) is server software, or hardware dedicated to running said software, that can satisfy World Wide Web client requests. A web server can, in general, contain one or more websites. A web server processes incoming network requests over HTTP and several other related protocols. - [NGINX](https://rtfm.co.ua/en/category/http-servers-en/nginx-en/) - [Loki](https://rtfm.co.ua/en/category/monitoring-en/loki-en/) - Loki – Prometheus-inspired logging for cloud natives - [Jenkins](https://rtfm.co.ua/en/category/ci-cd-en/jenkins-en/) - Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of the software development process, with continuous integration and facilitating technical aspects of continuous delivery. It is a server-based system that runs in servlet containers such as Apache Tomcat. - [CI/CD](https://rtfm.co.ua/en/category/ci-cd-en/) - Continuous integration in software engineering is the practice of merging all developer working copies to a shared mainline several times a day. Continuous delivery is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, when releasing the software, doing so manually. It aims at building, testing, and releasing software with greater speed and frequency. - [Terraform](https://rtfm.co.ua/en/category/configuration-orchestration-en/terraform-en/) - Terraform is an open-source infrastructure as code software tool created by HashiCorp. It enables users to define and provision a datacenter infrastructure using a high-level configuration language known as Hashicorp Configuration Language, or optionally JSON. - [Groovy](https://rtfm.co.ua/en/category/scripting-and-coding-en/groovy-en/) - Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform. - [C/C++](https://rtfm.co.ua/en/category/scripting-and-coding-en/cc-en/) - C is a general-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations. - [English](https://rtfm.co.ua/ru/category/english-ru/) - English grammar rules - [Kubernetes](https://rtfm.co.ua/ru/category/virtualization-ru/kubernetes-ru/) - Kubernetes is an open-source container orchestration system for automating application deployment, scaling, and management. - [Kubernetes](https://rtfm.co.ua/en/category/virtualization-en/kubernetes-en/) - Kubernetes is an open-source container orchestration system for automating application deployment, scaling, and management. - [Redis](https://rtfm.co.ua/ru/category/rdbms_nosql-ru/redis-ru/) - Redis is an open source in-memory data structure project implementing a distributed, in-memory key-value database with optional durability. - [Redis](https://rtfm.co.ua/en/category/rdbms-nosql-en/redis-en/) - Redis is an open source in-memory data structure project implementing a distributed, in-memory key-value database with optional durability. - [CodeProject](https://rtfm.co.ua/en/category/codeproject/) - https://www.codeproject.com/script/Articles/BlogFeed.aspx - [Go](https://rtfm.co.ua/en/category/scripting-and-coding-en/go-en/) - Go is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. Go is syntactically similar to C, but with the added benefits of memory safety, garbage collection, structural typing, and CSP-style concurrency. - [GPG](https://rtfm.co.ua/en/category/security-en/gpg-en/) - GNU Privacy Guard, a free-software replacement for Symantec’s PGP cryptographic software suite, complies with RFC 4880, the IETF standards-track specification of OpenPGP. - [Version Control System](https://rtfm.co.ua/en/category/vcs-en/) - A component of software configuration management, version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information. - [Git](https://rtfm.co.ua/en/category/vcs-en/git-en/) - Git is a distributed version-control system for tracking changes in source code during software development. - [Azure](https://rtfm.co.ua/en/category/virtualization-en/azure-en/) - Microsoft Azure is a cloud computing service created by Microsoft for building, testing, deploying, and managing applications and services through Microsoft-managed data centers. DO NOT USE IT EVER. - [Debian](https://rtfm.co.ua/en/category/linux-en/debian-en/) - Debian is a Unix-like operating system consisting entirely of free software. - [PHP](https://rtfm.co.ua/en/category/scripting-and-coding-en/php-en/) - PHP: Hypertext Preprocessor is a server-side scripting language designed for web development. - [Build tools](https://rtfm.co.ua/en/category/build-tools-en/) - [BASH scripts](https://rtfm.co.ua/en/category/bash-scripts-en/) - Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. - [SSO](https://rtfm.co.ua/ru/category/security-ru/sso/) - Single sign-on (SSO) is a property of access control of multiple related, yet independent, software systems. With this property, a user logs in with a single ID and password to gain access to any of several related systems. - [SSO](https://rtfm.co.ua/en/category/security-en/sso-en/) - Single sign-on (SSO) is a property of access control of multiple related, yet independent, software systems. With this property, a user logs in with a single ID and password to gain access to any of several related systems. - [Atlassian Jira](https://rtfm.co.ua/en/category/atlassian-jira-en/) - Jira is a proprietary issue tracking product developed by Atlassian that allows bug tracking and agile project management. - [ArgoCD](https://rtfm.co.ua/ru/category/ci-cd-ru/argocd/) - [GitOps](https://rtfm.co.ua/ru/category/gitops/) - [ArgoCD](https://rtfm.co.ua/en/category/ci-cd-en/argocd-en/) - Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. - [Istio](https://rtfm.co.ua/ru/category/networking-ru/istio/) - [Istio](https://rtfm.co.ua/en/category/networking-en/istio-en/) - Istio is a completely open-source service mesh that layers transparently onto existing distributed applications. - [Opsgenie](https://rtfm.co.ua/ru/category/monitoring-ru/opsgenie/) - [Elasticsearch](https://rtfm.co.ua/ru/category/rdbms_nosql-ru/elasticsearch/) - [Uncategorized](https://rtfm.co.ua/category/uncategorized-uk/) - [HOWTO's](https://rtfm.co.ua/category/howtos-ua/) - Вопросы, касаюшиеся установки и настройки различных приложений. - [Monitoring](https://rtfm.co.ua/category/monitoring-ua/) - Моніторинг серверів, мереж та обладнання - [CloudWatch](https://rtfm.co.ua/category/monitoring-ua/cloudwatch-en/) - [Networking](https://rtfm.co.ua/category/networking-ua/) - Питання, що стосуються роботи мереж, мережевих протоколів та обладнання. - [Security](https://rtfm.co.ua/category/security-ua/) - Безпека операційних систем та мереж - [Virtualization](https://rtfm.co.ua/category/virtualization-ua/) - In computing, virtualization refers to the act of creating a virtual version of something, including virtual computer hardware platforms, storage devices, and computer network resources. - [Amazon Web Services](https://rtfm.co.ua/category/virtualization-ua/amazon-web-services-ua/) - Amazon Web Services забезпечує on-demand cloud computing platforms - [Різне](https://rtfm.co.ua/category/rizne-ua/) - [ФОП та податки](https://rtfm.co.ua/category/rizne-ua/fop-ta-podatki/) - [Databases](https://rtfm.co.ua/category/databases-ua/) - [PostgreSQL](https://rtfm.co.ua/category/databases-ua/postgresql-ua/) - [Prometheus](https://rtfm.co.ua/category/monitoring-ua/prometheus-ua/) - [Kubernetes](https://rtfm.co.ua/category/virtualization-ua/kubernetes-ua/) - Kubernetes – це платформа з відкритим вихідним кодом для управління контейнеризованими робочими навантаженнями та супутніми службами. Її основні характеристики – кросплатформенність, розширюваність, успішне використання декларативної конфігурації та автоматизації. Вона має гігантську, швидкопрогресуючу екосистему. - [Apache Druid](https://rtfm.co.ua/category/databases-ua/apache-druid/) - [Проблеми та рішення](https://rtfm.co.ua/category/problems-and-solutions-ua/) - [Apache Druid](https://rtfm.co.ua/ru/category/rdbms_nosql-ru/apache-druid-ru/) - [Apache Druid](https://rtfm.co.ua/en/category/rdbms-nosql-en/apache-druid-en/) - [PostgreSQL](https://rtfm.co.ua/en/category/rdbms-nosql-en/postgresql-en/) - [OpenVPN](https://rtfm.co.ua/category/networking-ua/openvpn-ua/) - [VirtualBox](https://rtfm.co.ua/category/virtualization-ua/virtualbox-ua/) - [GNU/Linux utils](https://rtfm.co.ua/category/gnu-linux-utils-ua/) - [UNIX/Linux](https://rtfm.co.ua/category/unix-linux-ua/) - [Hardware](https://rtfm.co.ua/category/hardware-ua/) - [Configuration/Orchestration](https://rtfm.co.ua/category/configuration-orchestration-ua/) - [Terraform](https://rtfm.co.ua/category/configuration-orchestration-ua/terraform-ua/) - [Grafana](https://rtfm.co.ua/category/monitoring-ua/grafana-ua/) - [Loki](https://rtfm.co.ua/category/monitoring-ua/loki-ua/) - [BASH scripts](https://rtfm.co.ua/category/bash0scripts-ua/) - Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. - [GitLab](https://rtfm.co.ua/ru/category/vcs-svn-git-ru/gitlab/) - [Version Control System](https://rtfm.co.ua/category/version-control-system-ua/) - [GitLab](https://rtfm.co.ua/category/version-control-system-ua/gitlab-ua/) - [GitLab](https://rtfm.co.ua/en/category/vcs-en/gitlab-en/) - [Git](https://rtfm.co.ua/category/version-control-system-ua/git-ua/) - [VictoriaMetrics](https://rtfm.co.ua/category/monitoring-ua/victoriametrics/) - [VictoriaMetrics](https://rtfm.co.ua/en/category/monitoring-en/victoriametrics-en/) - [Arch Linux](https://rtfm.co.ua/category/unix-linux-ua/arch-linux-ua/) - [RTFM](https://rtfm.co.ua/category/rizne-ua/rtfm-ua/) - All about the RTFM blog - [CI/CD](https://rtfm.co.ua/category/ci-cd-ua/) - [Arduino](https://rtfm.co.ua/category/rizne-ua/arduino/) - [AI](https://rtfm.co.ua/category/ai-ua/) - [AI](https://rtfm.co.ua/en/category/ai-en/) - [What is?](https://rtfm.co.ua/category/waht-is-ua/) - [GitHub](https://rtfm.co.ua/category/version-control-system-ua/github-ua/) - [GitHub](https://rtfm.co.ua/en/category/vcs-en/github-en/) - [Електрика](https://rtfm.co.ua/category/rizne-ua/elektrika/) - [Scripting/coding](https://rtfm.co.ua/category/scripting-coding-ua/) - [Python](https://rtfm.co.ua/category/scripting-coding-ua/python-ua/) - [Go](https://rtfm.co.ua/category/scripting-coding-ua/go-ua/) - [InfluxDB](https://rtfm.co.ua/category/monitoring-ua/influxdb-uk/) - [Docker](https://rtfm.co.ua/category/virtualization-ua/docker-ua/) - [Debian](https://rtfm.co.ua/category/unix-linux-ua/debian-ua/) - [FreeBSD](https://rtfm.co.ua/category/unix-linux-ua/freebsd-ua/) - [WireGuard](https://rtfm.co.ua/category/networking-ua/wireguard/) - [Domain Name System](https://rtfm.co.ua/category/networking-ua/dns-ua/) - [Domain Name System](https://rtfm.co.ua/en/category/networking-en/dns-en/) - [FreeBSD](https://rtfm.co.ua/en/category/linux-en/freebsd-en/) - [MikroTik](https://rtfm.co.ua/category/networking-ua/mikrotik/) - [MikroTik](https://rtfm.co.ua/en/category/networking-en/mikrotik-en/) - [Mail](https://rtfm.co.ua/category/mail-ua/) - [Raspberry Pi](https://rtfm.co.ua/category/raspberry-pi/) - [MySQL/MariaDB](https://rtfm.co.ua/category/databases-ua/mysql-mariadb-ua/) - [NGINX](https://rtfm.co.ua/category/nginx-ua/) - [PHP](https://rtfm.co.ua/category/scripting-coding-ua/php-ua/) - [Postfix](https://rtfm.co.ua/category/mail-ua/postfix-ua/) - [Postfix](https://rtfm.co.ua/en/category/mail-en/postfix-en/) - [Amazon Linux](https://rtfm.co.ua/category/unix-linux-ua/amazon-linux/) - [Amazon Linux](https://rtfm.co.ua/en/category/linux-en/amazon-linux-en/) - [SSO](https://rtfm.co.ua/category/security-ua/sso-ua/) ## Позначки - [.htaccess](https://rtfm.co.ua/ru/tag/htaccess/) - [Adobe](https://rtfm.co.ua/ru/tag/adobe/) - [AEM](https://rtfm.co.ua/ru/tag/aem/) - [AES](https://rtfm.co.ua/ru/tag/aes/) - [Amazon](https://rtfm.co.ua/ru/tag/amazon/) - [AMI](https://rtfm.co.ua/ru/tag/ami/) - [Android](https://rtfm.co.ua/ru/tag/android/) - [Ansible](https://rtfm.co.ua/ru/tag/ansible/) - [Apache Cassandra](https://rtfm.co.ua/ru/tag/apache-cassandra/) - [Apache HTTP Server](https://rtfm.co.ua/ru/tag/apache-http-server/) - [Apache Maven](https://rtfm.co.ua/ru/tag/apache-maven/) - [Apache Tomcat](https://rtfm.co.ua/ru/tag/apache-tomcat/) - [API](https://rtfm.co.ua/ru/tag/api/) - [apt](https://rtfm.co.ua/ru/tag/apt/) - [aptitude](https://rtfm.co.ua/ru/tag/aptitude/) - [array](https://rtfm.co.ua/ru/tag/array/) - [Artifactory](https://rtfm.co.ua/ru/tag/artifactory/) - [Asure](https://rtfm.co.ua/ru/tag/asure/) - [Atlassian](https://rtfm.co.ua/ru/tag/atlassian/) - [AWS](https://rtfm.co.ua/ru/tag/aws/) - [Azure](https://rtfm.co.ua/ru/tag/azure/) - [Backup](https://rtfm.co.ua/ru/tag/backup/) - [Bamboo](https://rtfm.co.ua/ru/tag/bamboo/) - [bash](https://rtfm.co.ua/ru/tag/bash/) - [BIND](https://rtfm.co.ua/ru/tag/bind/) - [Bitb](https://rtfm.co.ua/ru/tag/bitb/) - [Bitbucket](https://rtfm.co.ua/ru/tag/bitbucket/) - [brutforce](https://rtfm.co.ua/ru/tag/brutforce/) - [BSDA](https://rtfm.co.ua/ru/tag/bsda/) - [Build](https://rtfm.co.ua/ru/tag/build/) - [C++](https://rtfm.co.ua/ru/tag/c/) - [Cacti](https://rtfm.co.ua/ru/tag/cacti/) - [Capistrano](https://rtfm.co.ua/ru/tag/capistrano/) - [Catalina](https://rtfm.co.ua/ru/tag/catalina/) - [CentOS](https://rtfm.co.ua/ru/tag/centos/) - [CGI](https://rtfm.co.ua/ru/tag/cgi/) - [Chef](https://rtfm.co.ua/ru/tag/chef/) - [Chrome](https://rtfm.co.ua/ru/tag/chrome/) - [CI/CD](https://rtfm.co.ua/ru/tag/ci-cd/) - [class](https://rtfm.co.ua/ru/tag/class/) - [CMD](https://rtfm.co.ua/ru/tag/cmd/) - [cn=config](https://rtfm.co.ua/ru/tag/cnconfig/) - [code](https://rtfm.co.ua/ru/tag/code/) - [console](https://rtfm.co.ua/ru/tag/console/) - [Consul](https://rtfm.co.ua/ru/tag/consul/) - [CPU](https://rtfm.co.ua/ru/tag/cpu/) - [cron](https://rtfm.co.ua/ru/tag/cron/) - [crontab](https://rtfm.co.ua/ru/tag/crontab/) - [cryptography](https://rtfm.co.ua/ru/tag/cryptography/) - [CSS](https://rtfm.co.ua/ru/tag/css/) - [cvsup](https://rtfm.co.ua/ru/tag/cvsup/) - [cygwin](https://rtfm.co.ua/ru/tag/cygwin/) - [Debian](https://rtfm.co.ua/ru/tag/debian/) - [debug](https://rtfm.co.ua/ru/tag/debug/) - [DHCP](https://rtfm.co.ua/ru/tag/dhcp/) - [Django](https://rtfm.co.ua/ru/tag/django/) - [DNS](https://rtfm.co.ua/ru/tag/dns/) - [Docker](https://rtfm.co.ua/ru/tag/docker/) - [Dovecot](https://rtfm.co.ua/ru/tag/dovecot/) - [drivers](https://rtfm.co.ua/ru/tag/drivers-ru/) - [Elasticsearch](https://rtfm.co.ua/ru/tag/elasticsearch/) - [ELK](https://rtfm.co.ua/ru/tag/elk/) - [ESXi](https://rtfm.co.ua/ru/tag/esxi/) - [event](https://rtfm.co.ua/ru/tag/event/) - [EX.UA](https://rtfm.co.ua/ru/tag/ex-ua/) - [Exim](https://rtfm.co.ua/ru/tag/exim/) - [Ext](https://rtfm.co.ua/ru/tag/ext/) - [Fail2B](https://rtfm.co.ua/ru/tag/fail2b/) - [fail2ban](https://rtfm.co.ua/ru/tag/fail2ban/) - [FastCGI](https://rtfm.co.ua/ru/tag/fastcgi/) - [fdisk](https://rtfm.co.ua/ru/tag/fdisk/) - [file](https://rtfm.co.ua/ru/tag/file/) - [File System](https://rtfm.co.ua/ru/tag/file-system/) - [filesystem](https://rtfm.co.ua/ru/tag/filesystem/) - [Firefox](https://rtfm.co.ua/ru/tag/firefox/) - [firewall](https://rtfm.co.ua/ru/tag/firewall/) - [Flash](https://rtfm.co.ua/ru/tag/flash/) - [Framework](https://rtfm.co.ua/ru/tag/framework/) - [FreeBSD](https://rtfm.co.ua/ru/tag/freebsd/) - [freebsd-update](https://rtfm.co.ua/ru/tag/freebsd-update/) - [fstab](https://rtfm.co.ua/ru/tag/fstab/) - [FTP](https://rtfm.co.ua/ru/tag/ftp/) - [FTP4ALL](https://rtfm.co.ua/ru/tag/ftp4all/) - [functions](https://rtfm.co.ua/ru/tag/functions/) - [gcc](https://rtfm.co.ua/ru/tag/gcc/) - [gdb](https://rtfm.co.ua/ru/tag/gdb/) - [GENERIC](https://rtfm.co.ua/ru/tag/generic/) - [GeoIP](https://rtfm.co.ua/ru/tag/geoip/) - [getopts](https://rtfm.co.ua/ru/tag/getopts/) - [Git](https://rtfm.co.ua/ru/tag/git/) - [GNOME](https://rtfm.co.ua/ru/tag/gnome/) - [Go CD](https://rtfm.co.ua/ru/tag/go-cd/) - [Golang](https://rtfm.co.ua/ru/tag/golang/) - [Google](https://rtfm.co.ua/ru/tag/google/) - [GPG](https://rtfm.co.ua/ru/tag/gpg/) - [Gradle](https://rtfm.co.ua/ru/tag/gradle/) - [GRUB](https://rtfm.co.ua/ru/tag/grub/) - [GVFS](https://rtfm.co.ua/ru/tag/gvfs/) - [hardware](https://rtfm.co.ua/ru/tag/hardware/) - [Hashicorp](https://rtfm.co.ua/ru/tag/hashicorp/) - [HDD](https://rtfm.co.ua/ru/tag/hdd/) - [hostname](https://rtfm.co.ua/ru/tag/hostname/) - [HTML](https://rtfm.co.ua/ru/tag/html/) - [htop](https://rtfm.co.ua/ru/tag/htop/) - [HTTP](https://rtfm.co.ua/ru/tag/http/) - [HTTPS](https://rtfm.co.ua/ru/tag/https/) - [IBM](https://rtfm.co.ua/ru/tag/ibm/) - [ICMP](https://rtfm.co.ua/ru/tag/icmp/) - [IMAP](https://rtfm.co.ua/ru/tag/imap/) - [init](https://rtfm.co.ua/ru/tag/init/) - [InnoDB](https://rtfm.co.ua/ru/tag/innodb/) - [inode](https://rtfm.co.ua/ru/tag/inode/) - [IP](https://rtfm.co.ua/ru/tag/ip/) - [IPFW](https://rtfm.co.ua/ru/tag/ipfw/) - [IPTABLES](https://rtfm.co.ua/ru/tag/iptables/) - [IPython](https://rtfm.co.ua/ru/tag/ipython/) - [ISO](https://rtfm.co.ua/ru/tag/iso/) - [Jabber](https://rtfm.co.ua/ru/tag/jabber/) - [Java](https://rtfm.co.ua/ru/tag/java/) - [JBoss](https://rtfm.co.ua/ru/tag/jboss/) - [Jenkins](https://rtfm.co.ua/ru/tag/jenkins/) - [Jetty](https://rtfm.co.ua/ru/tag/jetty/) - [JFrog](https://rtfm.co.ua/ru/tag/jfrog/) - [JIRA](https://rtfm.co.ua/ru/tag/jira/) - [JMX](https://rtfm.co.ua/ru/tag/jmx/) - [JVM](https://rtfm.co.ua/ru/tag/jvm/) - [Kali Linux](https://rtfm.co.ua/ru/tag/kali-linux/) - [KDE](https://rtfm.co.ua/ru/tag/kde/) - [kernel](https://rtfm.co.ua/ru/tag/kernel/) - [Kibana](https://rtfm.co.ua/ru/tag/kibana/) - [Knife](https://rtfm.co.ua/ru/tag/knife/) - [KyivBSD](https://rtfm.co.ua/ru/tag/kyivbsd/) - [LAMP](https://rtfm.co.ua/ru/tag/lamp/) - [LDAP](https://rtfm.co.ua/ru/tag/ldap/) - [linprocfs](https://rtfm.co.ua/ru/tag/linprocfs/) - [Linux](https://rtfm.co.ua/ru/tag/linux/) - [load average](https://rtfm.co.ua/ru/tag/load-average/) - [log4j](https://rtfm.co.ua/ru/tag/log4j/) - [LogAnalyzer](https://rtfm.co.ua/ru/tag/loganalyzer/) - [Logstash](https://rtfm.co.ua/ru/tag/logstash/) - [LogWatch](https://rtfm.co.ua/ru/tag/logwatch/) - [loop](https://rtfm.co.ua/ru/tag/loop/) - [LVM](https://rtfm.co.ua/ru/tag/lvm/) - [Email](https://rtfm.co.ua/ru/tag/email-ru/) - [make](https://rtfm.co.ua/ru/tag/make/) - [Makefile](https://rtfm.co.ua/ru/tag/makefile/) - [manual](https://rtfm.co.ua/ru/tag/manual/) - [MariaDB](https://rtfm.co.ua/ru/tag/mariadb/) - [Maven](https://rtfm.co.ua/ru/tag/maven/) - [MBR](https://rtfm.co.ua/ru/tag/mbr/) - [MDA](https://rtfm.co.ua/ru/tag/mda/) - [memory](https://rtfm.co.ua/ru/tag/memory/) - [Metasploit](https://rtfm.co.ua/ru/tag/metasploit/) - [Microsoft](https://rtfm.co.ua/ru/tag/microsoft/) - [mod_fcgid](https://rtfm.co.ua/ru/tag/mod_fcgid/) - [MongoDB](https://rtfm.co.ua/ru/tag/mongodb/) - [monitoring](https://rtfm.co.ua/ru/tag/monitoring/) - [mount](https://rtfm.co.ua/ru/tag/mount/) - [MPM](https://rtfm.co.ua/ru/tag/mpm/) - [mpm-itk](https://rtfm.co.ua/ru/tag/mpm-itk/) - [mpm_worker](https://rtfm.co.ua/ru/tag/mpm_worker/) - [MSBuild](https://rtfm.co.ua/ru/tag/msbuild/) - [MTA](https://rtfm.co.ua/ru/tag/mta/) - [MUA](https://rtfm.co.ua/ru/tag/mua/) - [Munin](https://rtfm.co.ua/ru/tag/munin/) - [MVC](https://rtfm.co.ua/ru/tag/mvc/) - [MyISAM](https://rtfm.co.ua/ru/tag/myisam/) - [MySQL/MariaDB](https://rtfm.co.ua/ru/tag/mysql-mariadb/) - [Nagios](https://rtfm.co.ua/ru/tag/nagios/) - [named](https://rtfm.co.ua/ru/tag/named/) - [netfilter](https://rtfm.co.ua/ru/tag/netfilter/) - [Networking](https://rtfm.co.ua/ru/tag/networks-ru/) - [NFS](https://rtfm.co.ua/ru/tag/nfs/) - [NGINX](https://rtfm.co.ua/ru/tag/nginx/) - [Node.js](https://rtfm.co.ua/ru/tag/node-js/) - [NoSQL](https://rtfm.co.ua/ru/tag/nosql/) - [NTFS](https://rtfm.co.ua/ru/tag/ntfs/) - [ntfs-3g](https://rtfm.co.ua/ru/tag/ntfs-3g/) - [NTP](https://rtfm.co.ua/ru/tag/ntp/) - [NVIDIA](https://rtfm.co.ua/ru/tag/nvidia/) - [OLC](https://rtfm.co.ua/ru/tag/olc/) - [ommysql](https://rtfm.co.ua/ru/tag/ommysql/) - [OpenBSD](https://rtfm.co.ua/ru/tag/openbsd/) - [OpenLDAP](https://rtfm.co.ua/ru/tag/openldap/) - [openssl](https://rtfm.co.ua/ru/tag/openssl/) - [OpenVPN](https://rtfm.co.ua/ru/tag/openvpn/) - [Oracle](https://rtfm.co.ua/ru/tag/oracle/) - [OS X](https://rtfm.co.ua/ru/tag/os-x/) - [pdf](https://rtfm.co.ua/ru/tag/pdf/) - [Perl](https://rtfm.co.ua/ru/tag/perl/) - [PHP](https://rtfm.co.ua/ru/tag/php/) - [php-fpm](https://rtfm.co.ua/ru/tag/php-fpm/) - [phpMyAdmin](https://rtfm.co.ua/ru/tag/phpmyadmin/) - [PID](https://rtfm.co.ua/ru/tag/pid/) - [pip](https://rtfm.co.ua/ru/tag/pip/) - [pkgng](https://rtfm.co.ua/ru/tag/pkgng/) - [POP3](https://rtfm.co.ua/ru/tag/pop3/) - [ports](https://rtfm.co.ua/ru/tag/ports/) - [portsnap](https://rtfm.co.ua/ru/tag/portsnap/) - [Postfix](https://rtfm.co.ua/ru/tag/postfix/) - [Postfix Admin](https://rtfm.co.ua/ru/tag/postfix-admin/) - [PPID](https://rtfm.co.ua/ru/tag/ppid/) - [PreFork](https://rtfm.co.ua/ru/tag/prefork/) - [proc](https://rtfm.co.ua/ru/tag/proc/) - [process](https://rtfm.co.ua/ru/tag/process/) - [processor](https://rtfm.co.ua/ru/tag/processor/) - [proxy](https://rtfm.co.ua/ru/tag/proxy/) - [Puppet](https://rtfm.co.ua/ru/tag/puppet/) - [putty](https://rtfm.co.ua/ru/tag/putty/) - [PyCharm](https://rtfm.co.ua/ru/tag/pycharm/) - [Pylint](https://rtfm.co.ua/ru/tag/pylint/) - [pypi](https://rtfm.co.ua/ru/tag/pypi/) - [Python](https://rtfm.co.ua/ru/tag/python/) - [regex](https://rtfm.co.ua/ru/tag/regex/) - [replication](https://rtfm.co.ua/ru/tag/replication/) - [repository](https://rtfm.co.ua/ru/tag/repository/) - [RHEL](https://rtfm.co.ua/ru/tag/rhel/) - [rndc](https://rtfm.co.ua/ru/tag/rndc/) - [root](https://rtfm.co.ua/ru/tag/root/) - [RoundCube](https://rtfm.co.ua/ru/tag/roundcube/) - [routing](https://rtfm.co.ua/ru/tag/routing/) - [rpm](https://rtfm.co.ua/ru/tag/rpm/) - [RSA](https://rtfm.co.ua/ru/tag/rsa/) - [rsync](https://rtfm.co.ua/ru/tag/rsync/) - [rsyslog](https://rtfm.co.ua/ru/tag/rsyslog/) - [RTFM](https://rtfm.co.ua/ru/tag/rtfm/) - [Ruby](https://rtfm.co.ua/ru/tag/ruby/) - [runlevel](https://rtfm.co.ua/ru/tag/runlevel/) - [Samba](https://rtfm.co.ua/ru/tag/samba/) - [screenshot](https://rtfm.co.ua/ru/tag/screenshot/) - [security](https://rtfm.co.ua/ru/tag/security/) - [sed](https://rtfm.co.ua/ru/tag/sed/) - [SELinux](https://rtfm.co.ua/ru/tag/selinux/) - [Sendmail](https://rtfm.co.ua/ru/tag/sendmail/) - [server.xml](https://rtfm.co.ua/ru/tag/server-xml/) - [sftp](https://rtfm.co.ua/ru/tag/sftp/) - [shell](https://rtfm.co.ua/ru/tag/shell/) - [Skype](https://rtfm.co.ua/ru/tag/skype/) - [slapd](https://rtfm.co.ua/ru/tag/slapd/) - [SLES](https://rtfm.co.ua/ru/tag/sles/) - [SMART](https://rtfm.co.ua/ru/tag/smart/) - [smartctl](https://rtfm.co.ua/ru/tag/smartctl/) - [SMTP](https://rtfm.co.ua/ru/tag/smtp/) - [source](https://rtfm.co.ua/ru/tag/source/) - [SpamAssassin](https://rtfm.co.ua/ru/tag/spamassassin/) - [SQL](https://rtfm.co.ua/ru/tag/sql/) - [ssh](https://rtfm.co.ua/ru/tag/ssh/) - [sshd](https://rtfm.co.ua/ru/tag/sshd/) - [SSL](https://rtfm.co.ua/ru/tag/ssl/) - [statement](https://rtfm.co.ua/ru/tag/statement/) - [suexec](https://rtfm.co.ua/ru/tag/suexec/) - [SuSE](https://rtfm.co.ua/ru/tag/suse/) - [SVN](https://rtfm.co.ua/ru/tag/svn/) - [swap](https://rtfm.co.ua/ru/tag/swap/) - [syslogd](https://rtfm.co.ua/ru/tag/syslogd/) - [tar](https://rtfm.co.ua/ru/tag/tar/) - [TCP](https://rtfm.co.ua/ru/tag/tcp/) - [TCP/IP](https://rtfm.co.ua/ru/tag/tcpip/) - [TeamCity](https://rtfm.co.ua/ru/tag/teamcity/) - [terminal](https://rtfm.co.ua/ru/tag/terminal/) - [Terraform](https://rtfm.co.ua/ru/tag/terraform/) - [test](https://rtfm.co.ua/ru/tag/test/) - [SSL/TLS](https://rtfm.co.ua/ru/tag/tls/) - [TTL](https://rtfm.co.ua/ru/tag/ttl/) - [tunnel](https://rtfm.co.ua/ru/tag/tunnel/) - [Ubuntu](https://rtfm.co.ua/ru/tag/ubuntu/) - [UDP](https://rtfm.co.ua/ru/tag/udp/) - [unix](https://rtfm.co.ua/ru/tag/unix/) - [user](https://rtfm.co.ua/ru/tag/user/) - [uWSGI](https://rtfm.co.ua/ru/tag/uwsgi/) - [Vagrant](https://rtfm.co.ua/ru/tag/vagrant/) - [variable](https://rtfm.co.ua/ru/tag/variable/) - [Vault](https://rtfm.co.ua/ru/tag/vault/) - [vim](https://rtfm.co.ua/ru/tag/vim/) - [VirtualBox](https://rtfm.co.ua/ru/tag/virtualbox/) - [VirtualHost](https://rtfm.co.ua/ru/tag/virtualhost/) - [VMware](https://rtfm.co.ua/ru/tag/vmware/) - [VNC](https://rtfm.co.ua/ru/tag/vnc/) - [VPS](https://rtfm.co.ua/ru/tag/vps/) - [vSphere](https://rtfm.co.ua/ru/tag/vsphere/) - [web2py](https://rtfm.co.ua/ru/tag/web2py/) - [WiFi](https://rtfm.co.ua/ru/tag/wifi/) - [Windows](https://rtfm.co.ua/ru/tag/windows/) - [Wine](https://rtfm.co.ua/ru/tag/wine/) - [WordPress](https://rtfm.co.ua/ru/tag/wordpress/) - [worker](https://rtfm.co.ua/ru/tag/worker/) - [world](https://rtfm.co.ua/ru/tag/world/) - [WoT](https://rtfm.co.ua/ru/tag/wot/) - [XML](https://rtfm.co.ua/ru/tag/xml/) - [Xorg](https://rtfm.co.ua/ru/tag/xorg/) - [XSD](https://rtfm.co.ua/ru/tag/xsd/) - [YaST2](https://rtfm.co.ua/ru/tag/yast2/) - [yum](https://rtfm.co.ua/ru/tag/yum/) - [Zabbix](https://rtfm.co.ua/ru/tag/zabbix/) - [МВД](https://rtfm.co.ua/ru/tag/mvd/) - [ООП](https://rtfm.co.ua/ru/tag/oop/) - [Test Kitchen](https://rtfm.co.ua/ru/tag/test-kitchen/) - [Route 53](https://rtfm.co.ua/ru/tag/route-53/) - [LKM](https://rtfm.co.ua/ru/tag/lkm/) - [GTK](https://rtfm.co.ua/ru/tag/gtk/) - [Qt](https://rtfm.co.ua/ru/tag/qt/) - [Slackware](https://rtfm.co.ua/ru/tag/slackware/) - [AWS CloudFormation](https://rtfm.co.ua/ru/tag/aws-cloudformation-ru/) - [AWS RDS](https://rtfm.co.ua/ru/tag/aws-rds/) - [AWS EC2](https://rtfm.co.ua/ru/tag/aws-ec2/) - [Slack](https://rtfm.co.ua/ru/tag/slack/) - [systemd](https://rtfm.co.ua/ru/tag/systemd/) - [CDN](https://rtfm.co.ua/ru/tag/cdn/) - [GoCD](https://rtfm.co.ua/ru/tag/gocd/) - [SysV init](https://rtfm.co.ua/ru/tag/sysv-init/) - [Upstart](https://rtfm.co.ua/ru/tag/upstart/) - [S3](https://rtfm.co.ua/ru/tag/s3/) - [AWS CloudFront](https://rtfm.co.ua/ru/tag/aws-cloudfront/) - [DMI](https://rtfm.co.ua/ru/tag/dmi/) - [AWS VPC](https://rtfm.co.ua/ru/tag/aws-vpc-ru/) - [NAT](https://rtfm.co.ua/ru/tag/nat/) - [Travis](https://rtfm.co.ua/ru/tag/travis/) - [Github](https://rtfm.co.ua/ru/tag/github/) - [Arch](https://rtfm.co.ua/ru/tag/arch/) - [CORS](https://rtfm.co.ua/ru/tag/cors/) - [MSSQL](https://rtfm.co.ua/ru/tag/mssql/) - [.NET](https://rtfm.co.ua/ru/tag/net/) - [Dock Swarm](https://rtfm.co.ua/ru/tag/dock-swarm/) - [Docker Compose](https://rtfm.co.ua/ru/tag/docker-compose/) - [CoreOS](https://rtfm.co.ua/ru/tag/coreos/) - [ARM](https://rtfm.co.ua/ru/tag/arm/) - [Umbraco CMS](https://rtfm.co.ua/ru/tag/umbraco-cms/) - [T-SQL](https://rtfm.co.ua/ru/tag/t-sql/) - [AWS S3](https://rtfm.co.ua/ru/tag/aws-s3/) - [AWS Route53](https://rtfm.co.ua/ru/tag/aws-route53/) - [MSDeploy](https://rtfm.co.ua/ru/tag/msdeploy/) - [batch](https://rtfm.co.ua/ru/tag/batch/) - [Grunt](https://rtfm.co.ua/ru/tag/grunt/) - [Packer](https://rtfm.co.ua/ru/tag/packer/) - [AWS ELB](https://rtfm.co.ua/ru/tag/aws-elb/) - [AUR](https://rtfm.co.ua/ru/tag/aur/) - [Openbox](https://rtfm.co.ua/ru/tag/openbox/) - [Arch Linux](https://rtfm.co.ua/ru/tag/arch-linux/) - [AWS ECS](https://rtfm.co.ua/ru/tag/aws-ecs/) - [RDP](https://rtfm.co.ua/ru/tag/rdp/) - [macOS](https://rtfm.co.ua/ru/tag/macos/) - [AWS EFS](https://rtfm.co.ua/ru/tag/aws-efs/) - [Pidgin](https://rtfm.co.ua/ru/tag/pidgin/) - [AWS EBS](https://rtfm.co.ua/ru/tag/aws-ebs/) - [IaC](https://rtfm.co.ua/ru/tag/iac/) - [DevOps](https://rtfm.co.ua/ru/tag/devops/) - [intel](https://rtfm.co.ua/ru/tag/intel/) - [Groovy](https://rtfm.co.ua/ru/tag/groovy/) - [AWS China](https://rtfm.co.ua/ru/tag/aws-china/) - [pacman](https://rtfm.co.ua/ru/tag/pacman/) - [Diablo II](https://rtfm.co.ua/ru/tag/diablo-ii/) - [PowerShell](https://rtfm.co.ua/ru/tag/powershell/) - [journalctl](https://rtfm.co.ua/ru/tag/journalctl/) - [socket](https://rtfm.co.ua/ru/tag/socket/) - [Kubernetes](https://rtfm.co.ua/ru/tag/kubernetes/) - [Viber](https://rtfm.co.ua/ru/tag/viber/) - [SQLite](https://rtfm.co.ua/ru/tag/sqlite/) - [Docker registry](https://rtfm.co.ua/ru/tag/docker-registry/) - [PulseAudio](https://rtfm.co.ua/ru/tag/pulseaudio/) - [Prometheus](https://rtfm.co.ua/ru/tag/prometheus/) - [Grafana](https://rtfm.co.ua/ru/tag/grafana/) - [Lets Encrypt](https://rtfm.co.ua/ru/tag/lets-encrypt/) - [OSI](https://rtfm.co.ua/ru/tag/osi/) - [yaourt](https://rtfm.co.ua/ru/tag/yaourt/) - [ransomware](https://rtfm.co.ua/ru/tag/ransomware/) - [PostgreSQL](https://rtfm.co.ua/ru/tag/postgresql/) - [Pentaho](https://rtfm.co.ua/ru/tag/pentaho/) - [D-Bus](https://rtfm.co.ua/ru/tag/dbus/) - [i2p](https://rtfm.co.ua/ru/tag/i2p/) - [Tableau](https://rtfm.co.ua/ru/tag/tableau/) - [Docker Swarm](https://rtfm.co.ua/ru/tag/docker-swarm/) - [boto3](https://rtfm.co.ua/ru/tag/boto3/) - [mp3](https://rtfm.co.ua/ru/tag/mp3/) - [AWS Athena](https://rtfm.co.ua/ru/tag/aws-athena/) - [AWS IAM](https://rtfm.co.ua/ru/tag/aws-iam/) - [Glacier](https://rtfm.co.ua/ru/tag/glacier/) - [USB](https://rtfm.co.ua/ru/tag/usb/) - [LUKS](https://rtfm.co.ua/ru/tag/luks/) - [LEMP](https://rtfm.co.ua/ru/tag/lemp/) - [GDPR](https://rtfm.co.ua/ru/tag/gdpr/) - [Redis](https://rtfm.co.ua/ru/tag/redis/) - [memcached](https://rtfm.co.ua/ru/tag/memcached/) - [CircleCI](https://rtfm.co.ua/ru/tag/circleci/) - [RabbitMQ](https://rtfm.co.ua/ru/tag/rabbitmq/) - [AWS CloudWatch](https://rtfm.co.ua/ru/tag/aws-cloudwatch/) - [kernel panic](https://rtfm.co.ua/ru/tag/kernel-panic/) - [IRC](https://rtfm.co.ua/ru/tag/irc/) - [AWS Load Balancer](https://rtfm.co.ua/ru/tag/aws-load-balancer/) - [MTP](https://rtfm.co.ua/ru/tag/mtp/) - [gzip](https://rtfm.co.ua/ru/tag/gzip/) - [Nexus](https://rtfm.co.ua/ru/tag/nexus/) - [ext4](https://rtfm.co.ua/ru/tag/ext4/) - [supervisor](https://rtfm.co.ua/ru/tag/supervisor/) - [logrotate](https://rtfm.co.ua/ru/tag/logrotate/) - [DigitalOcean](https://rtfm.co.ua/ru/tag/digitalocean/) - [OpenVAS](https://rtfm.co.ua/ru/tag/openvas/) - [Appium](https://rtfm.co.ua/ru/tag/appium/) - [tmpfs](https://rtfm.co.ua/ru/tag/tmpfs/) - [Telegram](https://rtfm.co.ua/ru/tag/telegram/) - [Loki](https://rtfm.co.ua/ru/tag/loki/) - [Chromium](https://rtfm.co.ua/ru/tag/chromium/) - [Youtube](https://rtfm.co.ua/ru/tag/youtube/) - [Cromium](https://rtfm.co.ua/en/tag/cromium/) - [Chrome](https://rtfm.co.ua/en/tag/chrome-en/) - [Youtube](https://rtfm.co.ua/en/tag/youtube-en/) - [monitoring](https://rtfm.co.ua/en/tag/monitoring-en/) - [Grafana](https://rtfm.co.ua/en/tag/grafana-en/) - [Loki](https://rtfm.co.ua/en/tag/loki-en/) - [English](https://rtfm.co.ua/ru/tag/english/) - [Qt](https://rtfm.co.ua/en/tag/qt-en/) - [Arch Linux](https://rtfm.co.ua/en/tag/arch-linux-en/) - [Linux](https://rtfm.co.ua/en/tag/linux-en/) - [Viber](https://rtfm.co.ua/en/tag/viber-en/) - [DNS](https://rtfm.co.ua/en/tag/dns-en/) - [Networking](https://rtfm.co.ua/en/tag/networking-en/) - [OpenVPN](https://rtfm.co.ua/en/tag/openvpn-en/) - [security](https://rtfm.co.ua/en/tag/security-en/) - [AWS VPC](https://rtfm.co.ua/en/tag/aws-vpc-en/) - [Prometheus](https://rtfm.co.ua/en/tag/prometheus-en/) - [DynamoDB](https://rtfm.co.ua/en/tag/dynamodb-en/) - Amazon DynamoDB is a fully managed proprietary NoSQL database service that supports key-value and document data structures and is offered by Amazon.com as part of the Amazon Web Services portfolio. - [LVM](https://rtfm.co.ua/en/tag/lvm-en/) - [GRUB](https://rtfm.co.ua/en/tag/grub-en/) - [USB](https://rtfm.co.ua/en/tag/usb-en/) - [Windows](https://rtfm.co.ua/en/tag/windows-en/) - [fdisk](https://rtfm.co.ua/en/tag/fdisk-en/) - [Wine](https://rtfm.co.ua/en/tag/wine-en/) - [WoT](https://rtfm.co.ua/en/tag/wot-en/) - [Lets Encrypt](https://rtfm.co.ua/en/tag/lets-encrypt-en/) - [SSL](https://rtfm.co.ua/en/tag/ssl-en/) - [ALSA](https://rtfm.co.ua/ru/tag/alsa/) - [ALSA](https://rtfm.co.ua/en/tag/alsa-en/) - [openssl](https://rtfm.co.ua/en/tag/openssl-en/) - [PulseAudio](https://rtfm.co.ua/en/tag/pulseaudio-en/) - [hardware](https://rtfm.co.ua/en/tag/hardware-en/) - [Exim](https://rtfm.co.ua/en/tag/exim-en/) - [RabbitMQ](https://rtfm.co.ua/en/tag/rabbitmq-en/) - [systemd](https://rtfm.co.ua/en/tag/systemd-en/) - [Telegram](https://rtfm.co.ua/en/tag/telegram-en/) - [Steam](https://rtfm.co.ua/ru/tag/steam/) - [Steam](https://rtfm.co.ua/en/tag/steam-en/) - [MySQL/MariaDB](https://rtfm.co.ua/en/tag/mysql-mariadb-en/) - [Python](https://rtfm.co.ua/en/tag/python-en/) - [filesystem](https://rtfm.co.ua/en/tag/filesystem-en/) - [inode](https://rtfm.co.ua/en/tag/inode-en/) - [Android](https://rtfm.co.ua/en/tag/android-en/) - [Appium](https://rtfm.co.ua/en/tag/appium-en/) - [Linux games](https://rtfm.co.ua/ru/tag/linux-games/) - [Linux games](https://rtfm.co.ua/en/tag/linux-games-en/) - [VirtualBox](https://rtfm.co.ua/en/tag/virtualbox-en/) - [kernel](https://rtfm.co.ua/en/tag/kernel-en/) - [IPv6](https://rtfm.co.ua/ru/tag/ipv6/) - [IP](https://rtfm.co.ua/en/tag/ip-en/) - [TCP/IP](https://rtfm.co.ua/en/tag/tcp-ip-en/) - [IPv6](https://rtfm.co.ua/en/tag/ipv6-en/) - [AWS RDS](https://rtfm.co.ua/en/tag/aws-rds-en/) - [AWS CloudFormation](https://rtfm.co.ua/en/tag/aws-cloudformation-en/) - [AWS CloudWatch](https://rtfm.co.ua/en/tag/aws-cloudwatch-en/) - [Ansible](https://rtfm.co.ua/en/tag/ansible-en/) - [Docker](https://rtfm.co.ua/en/tag/docker-en/) - [Docker Compose](https://rtfm.co.ua/en/tag/docker-compose-en/) - [RTFM](https://rtfm.co.ua/en/tag/rtfm-en/) - [YAML](https://rtfm.co.ua/ru/tag/yaml/) - [web-hosting](https://rtfm.co.ua/ru/tag/web-hosting/) - [Jenkins](https://rtfm.co.ua/en/tag/jenkins-en/) - [JSON](https://rtfm.co.ua/ru/tag/json/) - [YAML](https://rtfm.co.ua/en/tag/yaml-en/) - [JSON](https://rtfm.co.ua/en/tag/json-en/) - [NGINX](https://rtfm.co.ua/en/tag/nginx-en/) - [Monit](https://rtfm.co.ua/ru/tag/monit/) - [Monit](https://rtfm.co.ua/en/tag/monit-en/) - [NextCloud](https://rtfm.co.ua/ru/tag/nextcloud/) - [NextCloud](https://rtfm.co.ua/en/tag/nextcloud-en/) - [DigitalOcean](https://rtfm.co.ua/en/tag/digitalocean-en/) - [AWS](https://rtfm.co.ua/en/tag/aws-en/) - [Terraform](https://rtfm.co.ua/en/tag/terraform-en/) - [QA](https://rtfm.co.ua/ru/tag/qa/) - [QA](https://rtfm.co.ua/en/tag/qa-en/) - [php-fpm](https://rtfm.co.ua/en/tag/php-fpm-en/) - [PHP](https://rtfm.co.ua/en/tag/php-en/) - [системные вызовы](https://rtfm.co.ua/ru/tag/sistemnye-vyzovy/) - [system calls](https://rtfm.co.ua/en/tag/system-calls-en/) - [NVIDIA](https://rtfm.co.ua/en/tag/nvidia-en/) - [drivers](https://rtfm.co.ua/en/tag/drivers-en/) - [Alertmanager](https://rtfm.co.ua/ru/tag/alertmanager-ru/) - [Alertmanager](https://rtfm.co.ua/en/tag/alertmanager-en/) - [Kubernetes](https://rtfm.co.ua/en/tag/kubernetes-en/) - [Redis](https://rtfm.co.ua/en/tag/redis-en/) - [virtualization](https://rtfm.co.ua/ru/tag/virtualization/) - [containers](https://rtfm.co.ua/ru/tag/containers/) - [virtualization](https://rtfm.co.ua/en/tag/virtualization-en/) - [containers](https://rtfm.co.ua/en/tag/containers-en/) - [clustering](https://rtfm.co.ua/ru/tag/clustering/) - [replication](https://rtfm.co.ua/en/tag/replication-en/) - [clustering](https://rtfm.co.ua/en/tag/clustering-en/) - [databases](https://rtfm.co.ua/ru/tag/databases-ru/) - [databases](https://rtfm.co.ua/en/tag/databases-en/) - [programming](https://rtfm.co.ua/ru/tag/programming/) - [programming](https://rtfm.co.ua/en/tag/programming-en/) - [JetBrains Upsource](https://rtfm.co.ua/ru/tag/jetbrains-upsource/) - [JetBrains Upsource](https://rtfm.co.ua/en/tag/jetbrains-upsource-en/) - [Atom](https://rtfm.co.ua/ru/tag/atom/) - [Atom](https://rtfm.co.ua/en/tag/atom-en/) - [Golang](https://rtfm.co.ua/en/tag/golang-en/) - [Slack](https://rtfm.co.ua/en/tag/slack-en/) - [DevOps](https://rtfm.co.ua/en/tag/devops-en/) - [Github](https://rtfm.co.ua/en/tag/github-en/) - [MFA](https://rtfm.co.ua/ru/tag/mfa/) - [MFA](https://rtfm.co.ua/en/tag/fma-en/) - [pointer](https://rtfm.co.ua/ru/tag/pointer/) - [pointer](https://rtfm.co.ua/en/tag/pointer-en/) - [functions](https://rtfm.co.ua/en/tag/functions-en/) - [passwords](https://rtfm.co.ua/ru/tag/passwords/) - [Git](https://rtfm.co.ua/en/tag/git-en/) - [GPG](https://rtfm.co.ua/en/tag/gpg-en/) - [passwords](https://rtfm.co.ua/en/tag/passwords-en/) - [AWS EC2](https://rtfm.co.ua/en/tag/aws-ec2-en/) - [Azure](https://rtfm.co.ua/en/tag/azure-en/) - [Sentry](https://rtfm.co.ua/ru/tag/sentry/) - [Sentry](https://rtfm.co.ua/en/tag/sentry-en/) - [AWS SES](https://rtfm.co.ua/ru/tag/aws-ses/) - [Debian](https://rtfm.co.ua/en/tag/debian-en/) - [SMTP](https://rtfm.co.ua/en/tag/smtp-en/) - [AWS SES](https://rtfm.co.ua/en/tag/aws-ses-en/) - [AWS IAM](https://rtfm.co.ua/en/tag/aws-iam-en/) - [Allure](https://rtfm.co.ua/ru/tag/allure/) - [Allure](https://rtfm.co.ua/en/tag/allure-en/) - [test](https://rtfm.co.ua/en/tag/test-en/) - [SonarQube](https://rtfm.co.ua/ru/tag/sonarqube/) - [SonarQube](https://rtfm.co.ua/en/tag/sonarqube-en/) - [HTTP headers](https://rtfm.co.ua/ru/tag/http-headers/) - [deploy](https://rtfm.co.ua/ru/tag/deploy/) - [deploy](https://rtfm.co.ua/en/tag/deploy-en/) - [HTTP](https://rtfm.co.ua/en/tag/http-en/) - [HTTP headers](https://rtfm.co.ua/en/tag/http-headers-en/) - [AWS S3](https://rtfm.co.ua/en/tag/aws-s3-en/) - [AWS Load Balancer](https://rtfm.co.ua/en/tag/aws-load-balancer-en/) - [syscall](https://rtfm.co.ua/ru/tag/syscall/) - [memory](https://rtfm.co.ua/en/tag/memory-en/) - [syscall](https://rtfm.co.ua/en/tag/syscall-en/) - [Elasticsearch](https://rtfm.co.ua/en/tag/elasticsearch-en/) - [AWS EKS](https://rtfm.co.ua/ru/tag/aws-eks/) - [Bali](https://rtfm.co.ua/ru/tag/bali/) - [Cloudflare](https://rtfm.co.ua/ru/tag/cloudflare/) - [Cloudflare](https://rtfm.co.ua/en/tag/cloudflare-en/) - [CDN](https://rtfm.co.ua/en/tag/cdn-en/) - [Docker registry](https://rtfm.co.ua/en/tag/docker-registry-en/) - [AWS CloudFront](https://rtfm.co.ua/en/tag/aws-cloudfront-en/) - [Okta](https://rtfm.co.ua/ru/tag/okta/) - [SSO](https://rtfm.co.ua/ru/tag/sso/) - [Okta](https://rtfm.co.ua/en/tag/okta-en/) - [SSO](https://rtfm.co.ua/en/tag/sso-en/) - [AWS Route53](https://rtfm.co.ua/en/tag/aws-route53-en/) - [logrotate](https://rtfm.co.ua/en/tag/logrotate-en/) - [Vertica](https://rtfm.co.ua/ru/tag/vertica/) - [Vertica](https://rtfm.co.ua/en/tag/vertica-en/) - [routing](https://rtfm.co.ua/en/tag/routing-en/) - [AWS Redshift](https://rtfm.co.ua/ru/tag/aws-redshift/) - [AWS Redshift](https://rtfm.co.ua/en/tag/aws-redshift-en/) - [SQL](https://rtfm.co.ua/en/tag/sql-en/) - [SAML](https://rtfm.co.ua/ru/tag/saml/) - [authentication](https://rtfm.co.ua/ru/tag/authentication/) - [authentication](https://rtfm.co.ua/en/tag/authentication-en/) - [SAML](https://rtfm.co.ua/en/tag/saml-en/) - [Google](https://rtfm.co.ua/en/tag/google-en/) - [dnsmasq](https://rtfm.co.ua/ru/tag/dnsmasq/) - [pacman](https://rtfm.co.ua/en/tag/pacman-en/) - [dnsmasq](https://rtfm.co.ua/en/tag/dnsmasq-en/) - [Bitcoin](https://rtfm.co.ua/ru/tag/bitcoin/) - [video](https://rtfm.co.ua/ru/tag/video/) - [HTTPS](https://rtfm.co.ua/en/tag/https-en/) - [ssh](https://rtfm.co.ua/en/tag/ssh-en/) - [sshd](https://rtfm.co.ua/en/tag/sshd-en/) - [KDE](https://rtfm.co.ua/en/tag/kde-en/) - [Chromium](https://rtfm.co.ua/en/tag/chromium-en/) - [books](https://rtfm.co.ua/ru/tag/books/) - [AWS EKS](https://rtfm.co.ua/en/tag/aws-eks-en/) - [RBAC](https://rtfm.co.ua/ru/tag/rbac/) - [eksctl](https://rtfm.co.ua/ru/tag/eksctl/) - [automation](https://rtfm.co.ua/ru/tag/automation/) - [Helm](https://rtfm.co.ua/ru/tag/helm/) - [Helm](https://rtfm.co.ua/en/tag/helm-en/) - [Java](https://rtfm.co.ua/en/tag/java-en/) - [Atlassian](https://rtfm.co.ua/en/tag/atlassian-en/) - [Jira](https://rtfm.co.ua/en/tag/jira-en/) - [Neo4j](https://rtfm.co.ua/ru/tag/neo4j/) - [Neo4j](https://rtfm.co.ua/en/tag/neo4j-en/) - [Apache JMeter](https://rtfm.co.ua/ru/tag/apache-jmeter/) - [MySQL](https://rtfm.co.ua/ru/tag/mysql/) - [AWS Glue](https://rtfm.co.ua/ru/tag/aws-glue/) - [netfiler](https://rtfm.co.ua/ru/tag/netfiler/) - [Logz.io](https://rtfm.co.ua/ru/tag/logz-io/) - [GitOps](https://rtfm.co.ua/ru/tag/gitops/) - [ArgoCD](https://rtfm.co.ua/ru/tag/argocd/) - [ArgoCD](https://rtfm.co.ua/en/tag/argocd-en/) - [GitOps](https://rtfm.co.ua/en/tag/gitops-en/) - [bluetooth](https://rtfm.co.ua/ru/tag/bluetooth/) - [bluetooth](https://rtfm.co.ua/en/tag/bluetooth-en/) - [load testing](https://rtfm.co.ua/ru/tag/load-testing/) - [load testing](https://rtfm.co.ua/en/tag/load-testing-en/) - [OpsGenie](https://rtfm.co.ua/ru/tag/opsgenie/) - [Hyper-V](https://rtfm.co.ua/ru/tag/hyper-v/) - [OpsGenie](https://rtfm.co.ua/en/tag/opsgenie-en/) - [Istio](https://rtfm.co.ua/ru/tag/istio/) - [service mesh](https://rtfm.co.ua/ru/tag/service-mesh/) - [Istio](https://rtfm.co.ua/en/tag/istio-en/) - [kubelet](https://rtfm.co.ua/ru/tag/kubelet/) - [Github Actions](https://rtfm.co.ua/ru/tag/github-actions/) - [Github Actions](https://rtfm.co.ua/en/tag/github-actions-en/) - [CI/CD](https://rtfm.co.ua/en/tag/ci-cd-en/) - [AWS SNS](https://rtfm.co.ua/ru/tag/aws-sns/) - [AWS CloudTrail](https://rtfm.co.ua/ru/tag/aws-cloudtrail/) - [AWS CloudTrail](https://rtfm.co.ua/en/tag/aws-cloud-trail-en/) - [AWS Web Application Firewall](https://rtfm.co.ua/ru/tag/aws-web-application-firewall/) - [AWS Web Application Firewall](https://rtfm.co.ua/en/tag/aws-waf-en/) - [Tableau](https://rtfm.co.ua/en/tag/tableau-en/) - [AWS Lambda](https://rtfm.co.ua/ru/tag/aws-lambda/) - [AWS API Gateway](https://rtfm.co.ua/ru/tag/aws-api-gateway/) - [API](https://rtfm.co.ua/en/tag/api-en/) - [AWS Lambda](https://rtfm.co.ua/en/tag/aws-lambda-en/) - [AWS API Gateway](https://rtfm.co.ua/en/tag/aws-api-gateway-en/) - [путешествия](https://rtfm.co.ua/ru/tag/puteshestviya/) - [AWS Cost Optimization](https://rtfm.co.ua/ru/tag/aws-cost-optimization/) - [meetup](https://rtfm.co.ua/ru/tag/meetup/) - [conference](https://rtfm.co.ua/ru/tag/conference/) - [AWS Cost Optimization](https://rtfm.co.ua/en/tag/aws-cost-optimization-en/) - [SSL/TLS](https://rtfm.co.ua/en/tag/tls-en/) - [boto3](https://rtfm.co.ua/en/tag/boto3-en/) - [AWS Trusted Advisor](https://rtfm.co.ua/ru/tag/aws-trusted-advisor/) - [AWS RDS Aurora](https://rtfm.co.ua/ru/tag/aws-rds-aurora/) - [Elastic Stack](https://rtfm.co.ua/ru/tag/elastic-stack/) - [Filebeat](https://rtfm.co.ua/ru/tag/filebeat/) - [Elastic Stack](https://rtfm.co.ua/en/tag/elastic-stack-en/) - [AWS](https://rtfm.co.ua/tag/aws-ua/) - [AWS VPC](https://rtfm.co.ua/tag/aws-vpc-ua/) - [monitoring](https://rtfm.co.ua/tag/monitoring-ua/) - [Security](https://rtfm.co.ua/tag/security-ua/) - [Apache Druid](https://rtfm.co.ua/ru/tag/apache-druid/) - [Apache Druid](https://rtfm.co.ua/en/tag/apache-druid-en/) - [Apache Druid](https://rtfm.co.ua/tag/apache-druid-ua/) - [databases](https://rtfm.co.ua/tag/databases-ua/) - [Kubernetes](https://rtfm.co.ua/tag/kubernetes-ua/) - [Prometheus](https://rtfm.co.ua/tag/prometheus-ua/) - [податки](https://rtfm.co.ua/tag/podatki/) - [ДПС України](https://rtfm.co.ua/tag/dps-ukraїni/) - [PostgreSQL](https://rtfm.co.ua/tag/postgresql-ua/) - [PostgreSQL](https://rtfm.co.ua/en/tag/postgresql-en/) - [ФОП](https://rtfm.co.ua/tag/fop/) - [minikube](https://rtfm.co.ua/tag/minikube/) - [minikube](https://rtfm.co.ua/ru/tag/minikube-ru/) - [minikube](https://rtfm.co.ua/en/tag/minikube-en/) - [VPN](https://rtfm.co.ua/ru/tag/vpn/) - [Networking](https://rtfm.co.ua/tag/networks-ua/) - [OpenVPN](https://rtfm.co.ua/tag/openvpn-ua/) - [VPN](https://rtfm.co.ua/tag/vpn-ua/) - [VPN](https://rtfm.co.ua/en/tag/vpn-en/) - [Google](https://rtfm.co.ua/tag/google-ua/) - [WiFi](https://rtfm.co.ua/tag/wifi-uk/) - [inux](https://rtfm.co.ua/tag/inux/) - [Linux](https://rtfm.co.ua/tag/linux-ua/) - [hardware](https://rtfm.co.ua/tag/hardware-ua/) - [Terraform](https://rtfm.co.ua/tag/terraform-ua/) - [Helm](https://rtfm.co.ua/tag/helm-ua/) - [Grafana](https://rtfm.co.ua/tag/grafana-ua/) - [Loki](https://rtfm.co.ua/tag/loki-ua/) - [bash](https://rtfm.co.ua/en/tag/bash-en/) - Bash is the GNU Project’s shell – the Bourne Again SHell. This is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and the C shell (csh). It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification. - [bash](https://rtfm.co.ua/tag/bash-ua/) - Bash is the GNU Project’s shell – the Bourne Again SHell. This is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and the C shell (csh). It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification. - [programming](https://rtfm.co.ua/tag/programming-ua/) - [GitLab](https://rtfm.co.ua/ru/tag/gitlab/) - [GitLab](https://rtfm.co.ua/tag/gitlab-ua/) - [Git](https://rtfm.co.ua/tag/git-ua/) - [GitLab](https://rtfm.co.ua/en/tag/gitlab-en/) - [Serverless](https://rtfm.co.ua/tag/serverless/) - [Knative](https://rtfm.co.ua/tag/knative/) - [Serverless](https://rtfm.co.ua/en/tag/serverless-en/) - [Knative](https://rtfm.co.ua/en/tag/knative-en/) - [Docker](https://rtfm.co.ua/tag/docker-ua/) - [AWS CDK](https://rtfm.co.ua/tag/aws-cdk/) - [AWS CDK](https://rtfm.co.ua/en/tag/aws-cdk-en/) - [Github](https://rtfm.co.ua/tag/github-ua/) - [VictoriaMetrics](https://rtfm.co.ua/tag/victoriametrics/) - [VictoriaMetrics](https://rtfm.co.ua/en/tag/victoriametrics-en/) - [AWS EKS](https://rtfm.co.ua/tag/aws-eks-ua/) - [IaC](https://rtfm.co.ua/tag/iac-uk/) - [Arch Linux](https://rtfm.co.ua/tag/arch-linux-ua/) - [RTFM](https://rtfm.co.ua/tag/rtfm-ua/) - All about the RTFM blog - [AWS IAM](https://rtfm.co.ua/tag/aws-iam-ua/) - [working](https://rtfm.co.ua/tag/working/) - [AWS Lambda](https://rtfm.co.ua/tag/aws-lambda-ua/) - [atomic](https://rtfm.co.ua/en/tag/atomic-en/) - [karpenter](https://rtfm.co.ua/tag/karpenter/) - [karpenter](https://rtfm.co.ua/en/tag/karpenter-en/) - [AI](https://rtfm.co.ua/tag/ai/) - [AI](https://rtfm.co.ua/en/tag/ai-eng/) - [chatgpt](https://rtfm.co.ua/en/tag/chatgpt/) - [AWS CloudWatch](https://rtfm.co.ua/tag/aws-cloudwatch-uk/) - [arduino](https://rtfm.co.ua/tag/arduino/) - [bucket](https://rtfm.co.ua/tag/bucket/) - [source](https://rtfm.co.ua/tag/source-uk/) - [bucket](https://rtfm.co.ua/en/tag/bucket-en/) - [source](https://rtfm.co.ua/en/tag/source-en/) - [IaC](https://rtfm.co.ua/en/tag/iac-en/) - [Python](https://rtfm.co.ua/tag/python-ua/) - [CI/CD](https://rtfm.co.ua/tag/ci-cd-en-uk/) - [Github Actions](https://rtfm.co.ua/tag/github-actions-uk/) - [pacman](https://rtfm.co.ua/tag/pacman-ua/) - [AI](https://rtfm.co.ua/tag/ai-ua/) - [AI](https://rtfm.co.ua/en/tag/ai-en/) - [000080](https://rtfm.co.ua/tag/000080/) - [flow_log_cloudwatch_log_group_class](https://rtfm.co.ua/tag/flow_log_cloudwatch_log_group_class/) - [AWS Cost Optimization](https://rtfm.co.ua/tag/aws-cost-optimization-ua/) - [flow_log_cloudwatch_log_group_class](https://rtfm.co.ua/en/tag/flow_log_cloudwatch_log_group_class-en/) - [Renovate](https://rtfm.co.ua/tag/renovate/) - [Dependabot](https://rtfm.co.ua/tag/dependabot/) - [Renovate](https://rtfm.co.ua/en/tag/renovate-en/) - [Pritunl](https://rtfm.co.ua/tag/pritunl/) - [Pritunl](https://rtfm.co.ua/en/tag/pritunl-en/) - [SSH](https://rtfm.co.ua/tag/ssh-ua/) - [AWS RDS](https://rtfm.co.ua/tag/aws-rds-ua/) - [електрика](https://rtfm.co.ua/tag/elektrika/) - [EcoFlow](https://rtfm.co.ua/tag/ecoflow/) - [Telegram](https://rtfm.co.ua/tag/telegram-en-uk/) - [EcoFlow](https://rtfm.co.ua/en/tag/ecoflow-en/) - [version](https://rtfm.co.ua/tag/version/) - [manage_aws_auth_configmap](https://rtfm.co.ua/tag/manage_aws_auth_configmap/) - [aws_auth_users](https://rtfm.co.ua/tag/aws_auth_users/) - [aws_auth_roles](https://rtfm.co.ua/tag/aws_auth_roles/) - [iam_role_arn](https://rtfm.co.ua/tag/iam_role_arn/) - [irsa_use_name_prefix](https://rtfm.co.ua/tag/irsa_use_name_prefix/) - [iam_role_name_prefix](https://rtfm.co.ua/tag/iam_role_name_prefix/) - [node_iam_role_name_prefix](https://rtfm.co.ua/tag/node_iam_role_name_prefix/) - [enable_karpenter_instance_profile_creation](https://rtfm.co.ua/tag/enable_karpenter_instance_profile_creation/) - [create_iam_role](https://rtfm.co.ua/tag/create_iam_role/) - [333399](https://rtfm.co.ua/tag/333399/) - [333399](https://rtfm.co.ua/en/tag/333399-en/) - [aws_auth_roles](https://rtfm.co.ua/en/tag/aws_auth_roles-en/) - [aws_auth_users](https://rtfm.co.ua/en/tag/aws_auth_users-en/) - [create_iam_role](https://rtfm.co.ua/en/tag/create_iam_role-en/) - [enable_karpenter_instance_profile_creation](https://rtfm.co.ua/en/tag/enable_karpenter_instance_profile_creation-en/) - [iam_role_arn](https://rtfm.co.ua/en/tag/iam_role_arn-en/) - [iam_role_name_prefix](https://rtfm.co.ua/en/tag/iam_role_name_prefix-en/) - [irsa_use_name_prefix](https://rtfm.co.ua/en/tag/irsa_use_name_prefix-en/) - [manage_aws_auth_configmap](https://rtfm.co.ua/en/tag/manage_aws_auth_configmap-en/) - [node_iam_role_name_prefix](https://rtfm.co.ua/en/tag/node_iam_role_name_prefix-en/) - [version](https://rtfm.co.ua/en/tag/version-en/) - [VictoriaLogs](https://rtfm.co.ua/tag/victorialogs/) - [run](https://rtfm.co.ua/tag/run/) - [Nexus](https://rtfm.co.ua/tag/nexus-uk/) - [Vector.dev](https://rtfm.co.ua/tag/vector-dev/) - [Vector.dev](https://rtfm.co.ua/en/tag/vector-dev-en/) - [Nexus](https://rtfm.co.ua/en/tag/nexus-uk-en/) - [VictoriaLogs](https://rtfm.co.ua/en/tag/victorialogs-en/) - [LVM](https://rtfm.co.ua/tag/lvm-ua/) - [ContainerD](https://rtfm.co.ua/tag/containerd/) - [MCP](https://rtfm.co.ua/tag/mcp/) - [MCP](https://rtfm.co.ua/en/tag/mcp-en/) - [Ollama](https://rtfm.co.ua/tag/ollama/) - [LLM](https://rtfm.co.ua/tag/llm/) - [LLM](https://rtfm.co.ua/en/tag/llm-en/) - [TCP/IP](https://rtfm.co.ua/tag/tcpip-uk/) - [CRD](https://rtfm.co.ua/tag/crd/) - [API](https://rtfm.co.ua/tag/api-en-uk/) - [etcd](https://rtfm.co.ua/tag/etcd/) - [PersistentVolume](https://rtfm.co.ua/tag/persistentvolume/) - [go](https://rtfm.co.ua/tag/go/) - [Golang](https://rtfm.co.ua/tag/golang-ua/) - [KDE](https://rtfm.co.ua/tag/kde-en-uk/) - [AWS OpenSearch](https://rtfm.co.ua/tag/aws-opensearch/) - [Elasticsearch](https://rtfm.co.ua/tag/elasticsearch-ua/) - [InfluxDB](https://rtfm.co.ua/tag/influxdb/) - [NGINX](https://rtfm.co.ua/tag/nginx-ua/) - [Debian](https://rtfm.co.ua/tag/debian-ua/) - [TSDB](https://rtfm.co.ua/tag/tsdb/) - [OpenSearch](https://rtfm.co.ua/en/tag/opensearch/) - [AWS OpenSearch](https://rtfm.co.ua/en/tag/aws-opensearch-en/) - [TSDB](https://rtfm.co.ua/en/tag/tsdb-en/) - [FreeBSD](https://rtfm.co.ua/tag/freebsd-ua/) - [ThinkPad](https://rtfm.co.ua/tag/thinkpad/) - [NAS](https://rtfm.co.ua/tag/nas/) - [firewall](https://rtfm.co.ua/tag/firewall-ua/) - [WireGuard](https://rtfm.co.ua/tag/wireguard/) - [DNS](https://rtfm.co.ua/tag/dns-ua/) - [ThinkPad](https://rtfm.co.ua/en/tag/thinkpad-en/) - [FreeBSD](https://rtfm.co.ua/en/tag/freebsd-en/) - [NAS](https://rtfm.co.ua/en/tag/nas-en/) - [ZFS](https://rtfm.co.ua/en/tag/zfs/) - [Android](https://rtfm.co.ua/tag/android-ua/) - [Samba](https://rtfm.co.ua/tag/samba-ua/) - [Samba](https://rtfm.co.ua/en/tag/samba-en/) - [1Password](https://rtfm.co.ua/tag/1password/) - [D-Bus](https://rtfm.co.ua/tag/d-bus-ua/) - [1Password](https://rtfm.co.ua/en/tag/1password-en/) - [rclone](https://rtfm.co.ua/tag/rclone/) - [Backup](https://rtfm.co.ua/tag/backup-ua/) - [Backup](https://rtfm.co.ua/en/tag/backup-en/) - [rclone](https://rtfm.co.ua/en/tag/rclone-en/) - [MikroTik](https://rtfm.co.ua/tag/mikrotik/) - [RouterOS](https://rtfm.co.ua/tag/routeros/) - [MikroTik](https://rtfm.co.ua/en/tag/mikrotik-en/) - [Email](https://rtfm.co.ua/tag/email-ua/) - [Email](https://rtfm.co.ua/en/tag/email-en/) - [Raspberry Pi](https://rtfm.co.ua/tag/raspberry-pi/) - [Backblaze](https://rtfm.co.ua/tag/backblaze/) - [AWS S3](https://rtfm.co.ua/tag/aws-s3-ua/) - [ilert](https://rtfm.co.ua/tag/ilert/) - [OpsGenie](https://rtfm.co.ua/tag/opsgenie-ua/) - [ilert](https://rtfm.co.ua/en/tag/ilert-en/) - [rsync](https://rtfm.co.ua/tag/rsync-ua/) - [restic](https://rtfm.co.ua/tag/restic/) - [WordPress](https://rtfm.co.ua/tag/wordpress-ua/) - [PHP](https://rtfm.co.ua/tag/php-ua/) - [php-fpm](https://rtfm.co.ua/tag/php-fpm-ua/) - [Amazon Linux](https://rtfm.co.ua/tag/amazon-linux/) - [Maria](https://rtfm.co.ua/tag/maria/) - [MySQL/MariaDB](https://rtfm.co.ua/tag/mysql-mariadb-ua/) - [NAT](https://rtfm.co.ua/tag/nat-ua/) - [iptables](https://rtfm.co.ua/tag/iptables-ua/) - [Raspberry Pi](https://rtfm.co.ua/en/tag/raspberry-pi-en/) - [SSL/TLS](https://rtfm.co.ua/tag/ssl-tils-ua/) - [Cloudflare](https://rtfm.co.ua/tag/cloudflare-ua/) - [Postfix](https://rtfm.co.ua/tag/postfix-ua/) - [Postfix](https://rtfm.co.ua/en/tag/postfix-en/) - [SMTP](https://rtfm.co.ua/tag/smtp-ua/) - [Amazon Linux](https://rtfm.co.ua/en/tag/amazon-linux-en/) - [alerts](https://rtfm.co.ua/en/tag/alerts/) - [vmalert](https://rtfm.co.ua/tag/vmalert/) - [vmalert](https://rtfm.co.ua/en/tag/vmalert-en/) - [Okta](https://rtfm.co.ua/tag/okta-ua/) - [SSO](https://rtfm.co.ua/tag/sso-ua/) - [OIDC](https://rtfm.co.ua/tag/oidc/) - [OIDC](https://rtfm.co.ua/en/tag/oidc-en/) - [FEMP](https://rtfm.co.ua/tag/femp/) - [MariaDB](https://rtfm.co.ua/tag/mariadb-ua/) - [MariaDB](https://rtfm.co.ua/en/tag/mariadb-en/) - [FEMP](https://rtfm.co.ua/en/tag/femp-en/) - [WordPress](https://rtfm.co.ua/en/tag/wordpress-en/) - [Claude Code](https://rtfm.co.ua/tag/claude-code/) - [Hermes Agent](https://rtfm.co.ua/tag/hermes-agent/) - [FreeBSD Jails](https://rtfm.co.ua/tag/freebsd-jails/) - [Hermes Agent](https://rtfm.co.ua/en/tag/hermes-agent-en/) - [FreeBSD Jails](https://rtfm.co.ua/en/tag/freebsd-jails-en/) - [OpenTelemetry](https://rtfm.co.ua/tag/opentelemetry/) - [observability](https://rtfm.co.ua/tag/observability/) - [OpenTelemetry](https://rtfm.co.ua/en/tag/opentelemetry-en/) - [observability](https://rtfm.co.ua/en/tag/observability-en/) - [VictoriaTraces](https://rtfm.co.ua/tag/victoriatraces/) - [VictoriaTraces](https://rtfm.co.ua/en/tag/victoriatraces-en/) - [Unbound](https://rtfm.co.ua/tag/unbound/) - [Unbound](https://rtfm.co.ua/en/tag/unbound-en/) - [LiteLLM](https://rtfm.co.ua/tag/litellm/) - [LiteLLM](https://rtfm.co.ua/en/tag/litellm-en/) - [Claude Code](https://rtfm.co.ua/en/tag/claude-code-en/) - [Valkey](https://rtfm.co.ua/tag/valkey/) - [Redis](https://rtfm.co.ua/tag/redis-ua/) - [Valkey](https://rtfm.co.ua/en/tag/valkey-en/) - [MongoDB](https://rtfm.co.ua/en/tag/mongodb-en/) - [MongoDB](https://rtfm.co.ua/tag/mongodb-ua/) - [NixOS](https://rtfm.co.ua/tag/nixos/) - [NixOS](https://rtfm.co.ua/en/tag/nixos-en/) ## Tags - [Русский](https://rtfm.co.ua/ru/) - [English](https://rtfm.co.ua/en/) - [Українська](https://rtfm.co.ua/) ## Link Library Categories - [Online utilities](https://rtfm.co.ua/?link_library_category=online-utilities) - [Virtualization](https://rtfm.co.ua/?link_library_category=virtualization) - (Amazon Web Services, Microsoft Azure, etc) - [Networking](https://rtfm.co.ua/?link_library_category=networking) - [GNU/Linux](https://rtfm.co.ua/?link_library_category=gnu-linux-os) - Linux utilities, documentation, tutorilas - [Programming](https://rtfm.co.ua/?link_library_category=programming) - [Security](https://rtfm.co.ua/?link_library_category=security) - [Web-servers](https://rtfm.co.ua/?link_library_category=web-servers) - NGINX, Apache etc - [RTFM: избранное](https://rtfm.co.ua/?link_library_category=rtfm-izbrannoe) - Любимые посты) - [Git/SVN](https://rtfm.co.ua/?link_library_category=git-svn) - [Online courses](https://rtfm.co.ua/?link_library_category=online-courses) - [Containers](https://rtfm.co.ua/?link_library_category=containers) - (Kubrenetes, Docker, containers, orchestration) - [Misc](https://rtfm.co.ua/?link_library_category=misc) - Everything didn’t match for other categories - [English](https://rtfm.co.ua/?link_library_category=english) - (Изучение английского) - [Medicine](https://rtfm.co.ua/?link_library_category=medicine) - [Monitoring](https://rtfm.co.ua/?link_library_category=monitoring) - [AWS](https://rtfm.co.ua/?link_library_category=aws) ## Tags - [NGINX](https://rtfm.co.ua/?link_library_tags=nginx) - [Azure](https://rtfm.co.ua/?link_library_tags=azure) - [RTFM](https://rtfm.co.ua/?link_library_tags=rtfm) - [BIND](https://rtfm.co.ua/?link_library_tags=bind) - [security](https://rtfm.co.ua/?link_library_tags=security) - [Python](https://rtfm.co.ua/?link_library_tags=python) - [Docker](https://rtfm.co.ua/?link_library_tags=docker) - [Terraform](https://rtfm.co.ua/?link_library_tags=terraform) - [Git](https://rtfm.co.ua/?link_library_tags=git) - [Linux](https://rtfm.co.ua/?link_library_tags=linux) - [regex](https://rtfm.co.ua/?link_library_tags=regex) - [Slack](https://rtfm.co.ua/?link_library_tags=slack) - [cron](https://rtfm.co.ua/?link_library_tags=cron) - [Kubernetes](https://rtfm.co.ua/?link_library_tags=kubernetes) - [English](https://rtfm.co.ua/?link_library_tags=english) - [Психология](https://rtfm.co.ua/?link_library_tags=psixologiya) - [JSON](https://rtfm.co.ua/?link_library_tags=json) - [AWS](https://rtfm.co.ua/?link_library_tags=aws) - [Prometheus](https://rtfm.co.ua/?link_library_tags=prometheus) - [SSL](https://rtfm.co.ua/?link_library_tags=ssl) - [DDoS](https://rtfm.co.ua/?link_library_tags=ddos) - [networking](https://rtfm.co.ua/?link_library_tags=networking) - [Grafana](https://rtfm.co.ua/?link_library_tags=grafana) ## Category - [Linux](https://rtfm.co.ua/faq_cat/linux/) - [WIndows](https://rtfm.co.ua/faq_cat/windows/) - [Kubernetes](https://rtfm.co.ua/faq_cat/kubernetes/) - [Databases](https://rtfm.co.ua/faq_cat/databases/) - [Security](https://rtfm.co.ua/faq_cat/security/)