Kubernetes: ConfigMaps и Secrets на примере Gorush сервера

14 февраля 2020
 

 Имеется Gorush сервер, запущенный в посте Kubernetes: запуск push-сервера Gorush в EKS за AWS LoadBalancer, к которому теперь хочется добавить возможность добавления своего файла настроек — для Staging с одними данными, и для Production — с другими. Используем Kubernetes ConfigMap для хранения содержимого файлов настроек Gorush, которые потом покдлючим внутрь запускаемых подов и их контейнеров,… Читать далее »

PHP: PHP-FPM игнорирует переменные — решения

13 февраля 2020
 

 Имеется PHP приложение, которое для подключения к серверу баз данных использует дефолтные данные из файла /app/.env и переменные окружения. Проблема заключается в том, что приложение не видит переменную $TEST_VAR, хотя в шаблоне Kubernetes пода она задана: … containers: — name: application-dev-web image: bttrm-application:119 … — name: TEST_VAR valueFrom: secretKeyRef: name: bttrm-app-secret key: test_var … Значение… Читать далее »

Kubernetes: ConfigMap и Secrets — auto-reload данных в подах

11 февраля 2020
 

 Имеется ConfigMap для Gorush сервиса (см. Kubernetes: запуск push-сервера Gorush в EKS за AWS LoadBalancer). Проблема заключается в том, что при изменении данных в ConfigMap или Secrets — они не будут сразу отображены в подах и их контейнерах. Есть несколько костылей типа монтирования в виде volume, а потом ремаунтить разделы, или каждый раз создавать новый… Читать далее »

Kubernetes: запуск push-сервера Gorush в EKS за AWS LoadBalancer

6 февраля 2020
 

 Gorush — сервер, написанный на Go, для отправки пуш-уведомлений на мобильные. Запускать будем в AWS EKS, в отдельном namespace, при этом сервис должен быть доступен толкьо внутри VPC, поэтому используем AWS Internal Application Load Balancer. Запуск Gorush Namespace Клонируем репозиторий: [simterm] $ git clone https://github.com/appleboy/gorush $ cd gorush/k8s/ [/simterm] Создаём пространство имён gorush и confgiMap,… Читать далее »

AWS: IAM AssumeRole — описание, примеры

24 января 2020
 

 AssumeRole — механизм аутентификации в AWS IAM, позволяющий получить временные данные доступа для выполнения запросов к ресурсам, к которым у вас нет доступа. Эти временные данные доступа состоят из привычных ACCESS и SECRET ключей, плюс security token. Одним из примеров AssumeRole может быть Jenkins в EC2, джобы которого могут выполнять операции в AWS-аккаунте, используя EC2… Читать далее »

Debian: php7.3-curl : Depends: libcurl3 (>= 7.44.0) but it is not installable

23 января 2020
 

 Имеется джоба в Jenkins, которая запускает контейнер, и выполняет сборку PHP-приложения на Yii. Во время сборки PHP-приложения — билд падает с ошибкой: … Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been… Читать далее »

PHP: кеширование PHP-скриптов — настройка и тюнинг OpCache

25 декабря 2019
 

 OpCache увеличивает производительность PHP сохраняя уже скомпилированные скрипты PHP в общей памяти, таким образом уменьшая работу для PHP-FPM, которому приходится меньше выполнять загрузку, чтение и обработку PHP при поступлении новых запросов. Workflow обработки новых запросов выглядит так: Исходный код проекта — тут>>>. Enable OpCache Редактируем php.ini файл, в данном примере это будет /etc/php/7.3/fpm/php.ini. Добавляем в… Читать далее »

Calibre: домашняя онлайн-библиотека в браузере и Moon+ Reader

17 декабря 2019
 

 Calibre пользуюсь много лет, но всегда desktop-версией. На днях увидел Calibre Web — та же библиотека, работающая с той же базой, но доступна через браузер. Домашняя страница проекта в Github — тут>>>. Идея состоит в том, что бы по возможности уйти от хранения книг в Google Books, так как там нет нормальной возможности добавлять своё… Читать далее »

Linux: настройка KDE Connect и подключение к Android-телефону

15 декабря 2019
 

 Удобная интеграция мобильного и Linux. Кроме KDE Connect существует gnome-shell-extension-gsconnect. Настраивать будем на Arch Linux + HTC телефон на Android. На Android устанавливаем из Play Maket. На Linux устанавливаем из репозитория: [simterm] $ sudo pacman -S kdeconnect [/simterm] Для того, что бы была возможность передачи файлов — устанавливаем sshfs: [simterm] $ sudo pacman -S  sshfs… Читать далее »

KeePass: настройка MFA, хранение паролей браузера, паролей SSH ключей и интеграция Secret Service

11 декабря 2019
 

 Итак, наверно уже завершающая часть всего этого мерлезонского балета. Предыдущие части, с которых «всё начиналось»: Linux: Nextcloud клиент, qtkeychain и ошибка «The name org.freedesktop.secrets was not provided by any .service files» — увидел, что в keyring сервисе можно хранить пароли от SSH ключей — узнал, что Chromium хранит пароли «незашифрованными» Linux: KeePass, SSH и хранение… Читать далее »