четверг, 23 ноября 2023 г.

docker, php, fpm - не работает healthcheck

 В случае фпм нельзя сделать курл на fastcgi порт, и особенно на сокет.

На помощь приходит https://github.com/renatomefi/php-fpm-healthcheck

Хинт для убунты: вместо apk install fcgi нужно apt install libfcgi-bin

суббота, 11 ноября 2023 г.

yarn

 Есть такая утилита yarn (хабр про версию 2), для nodejs

 Некая замена-надстройка над npm, дающая ряд плюшек

вторник, 31 октября 2023 г.

ansible + hashicorp vault

 Не всегда ansible vault удобен и достаточен, тогда вариант - hashicorp vault

https://itdraft.ru/2021/03/26/hranim-sekrety-ansible-v-hashicorp-vault/

Для чтения переменных используется lookup('hashi_vault')

https://docs.ansible.com/ansible/latest/collections/community/hashi_vault/index.html

PS переход с прошлой версии hashi_vault lookup

https://docs.ansible.com/ansible/latest/collections/community/hashi_vault/docsite/migration_hashi_vault_lookup.html#ansible-collections-community-hashi-vault-docsite-migration-hashi-vault-lookup

И, варианты чтения для kv2 - там есть ОЧЕНЬ большой нюанс с тем, что в путь нужно вписать /data/ в правильное место. И примеры разных вариантов

суббота, 28 октября 2023 г.

обновление debian 10->11 - ошибка

 заменяем sources.list 

The following packages have unmet dependencies:

 libc6-dev : Breaks: libgcc-8-dev (< 8.4.0-2~) 

but 8.3.0-6+rpi1 is to be installed

Нужно:

sudo apt update

sudo apt install libgcc-8-dev gcc-8-base

sudo apt full-upgrade


И возможно - надо не пропустить ещё блок
When it completes, edit /boot/config.txt.
Comment out any lines which contain "dtoverlay=vc4-fkms-v3d" by putting a # sign at the start of the line.
At the bottom of the file, in the [all] section, add the line "dtoverlay=vc4-kms-v3d" - note that is "kms", not "fkms".

среда, 11 октября 2023 г.

четверг, 5 октября 2023 г.

WSL 1 + ubuntu 22 + vim = replace mode при открытии файла

 Обнаружена крайне неприятная бага именно с убунтой 22.04 (проверено 18.04, 20.04 - там всё ок): открываем любой файл и он открывается сразу в режиме REPLACE. Нужно нажать esc сначала.

https://github.com/microsoft/terminal/issues/1637

Баг заведён в 2020, воз и ныне там.

Быстрофикс: в ~/.vimrc добавить

set t_u7=
# alternatively set ambw=double

среда, 27 сентября 2023 г.

pip в защищённых контурах

 Если есть локальный прокси

python3 -m pip install --index-url http://my.package.repo/simple/ SomeProject

Если полностью изолированный контур, шагов будет больше
1) python -m pip download --destination-directory DIR -r requirements.txt
есть нюанс, читаем линк ниже, тогда:
python -m pip wheel --wheel-dir DIR -r requirements.txt

2) Переносим проект и DIR на изолированную машину

3) python -m pip install --no-index --find-links=DIR -r requirements.txt

Есть вариант через venv, но там много нюансов, начиная с того что с машины с маком на машину с убунтой - из коробки не заработает, там в том числе разные пути в bin и конфиге.

вторник, 26 сентября 2023 г.

apt: не очищать кэш пакетов

 Штука древняя, но.
Иногда требуется принести набор пакетов в закрытый контур, делать это поштучно долго, можно поставить в подобную систему с инетом и просто взять скачанное.

Но по умолчанию дебиан удаляет пакеты (с 2016 года) после установки.

echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' \

      > /etc/apt/apt.conf.d/01keep-debs

потом забирать в /var/cache/apt/...

воскресенье, 24 сентября 2023 г.

Yandex Cloud + ipv6

 Пользовательские ВМ в Yandex Cloud не поддерживают протокол IPv6, это является причиной ошибки "101: Network is unreachable".

Чтобы принудительно воспользоваться только IPv4 для APT, можно использовать такой параметр: -o Acquire::ForceIPv4=true

https://itisgood.ru/2018/09/19/kak-zastavit-dispetchera-paketov-apt-ispolzovat-ipv4-v-ubuntu-16-04/


Вариант 2:

sysctl -w net.ipv6.conf.all.disable_ipv6=1


среда, 20 сентября 2023 г.

Замена терраформу (реальная)

 После того, как HashiCorp перелицензировали свои продукты под Business Source License и они перестали соответствовать определению Open Source Definition, группа вендоров объединилась и создала свой форк Terraform. Сначала он назывался OpenTF, а потом его переименовали в OpenTofu.

Сегодня стало известно, что OpenTofu стал проектом Linux Foundation, а значит, пользователи могут быть уверены, что новый проект останется Open Source и не будет зависеть от одного вендора.


https://e42.link/3PKjYif

https://github.com/opentofu/opentofu

Терраформ вполне себе рип. Надеюсь, как и остальные продукты HashiCorp со временем.

пятница, 1 сентября 2023 г.

Crossplane как замена terraform

https://docs.crossplane.io/

 IaC — управление всей инфраструктуры через код. Это удобно для изменений, автоматизации, автодокументирования

Аналог terraform

Главное отличие Crossplane в основной идее проекта: создание центра управления инфраструктурой на базе Kubernetes. Состояние описывается именно в виде Custom Resources в Kubernetes, и Crossplane постоянно поддерживает его актуальность. Terraform, напротив, синхронизирует состояние только во время выполнения вышеупомянутых CLI-команд.

Пример под яндекс:

https://github.com/yandex-cloud/provider-jet-yc/blob/main/examples/storage/bucket.yaml


Как управлять инфраструктурой в GitOps с помощью Crossplane