Техлидошная | Golang Infra Dev | Project Leading – Telegram
Техлидошная | Golang Infra Dev | Project Leading
547 subscribers
25 photos
1 file
159 links
Про платформенную (инфраструктурную) разработку, golang, техлидерство проектов, профессиональному росту и всему остальному, что связано с IT.
Автор: Антон Губарев (https://antgubarev.tech/ru/) @antgubarev. Инеженер Авито PaaS, архитектор и техлид
Download Telegram
Open Policy Agent пока еще не обрел широкого распространения, но это точно случится. Для тех кто еще не знаком с этим инструментом из CNCF, то очень рекомендую ознакомиться. Поначалу кажется немного неудобным, особенно то что надо разбираться с еще одним языком. Однако по своему опыту могу сказать по результату оно того стоит. Написал статью, где привел пример реализации RBAC, который потом можно подсунуть в Kubernetes, Envoy и много куда еще https://dev.to/antgubarev/rbac-with-opa-3i4h
Не так часто смотрю занятое место на диске, однако все же бывает. https://github.com/muesli/duf Утилита, которая делает это занятие несколько приятнее
Долгое время пользовался p10k https://github.com/romkatv/powerlevel10k чтобы комфортно настроить себе promt в zsh и даже особо не задумывался, что можно без всяких плагинов все это настроить достаточно просто. Что обычно мне надо видеть:
- ветку git (если в директории есть реп)
- есть ли изменинея в git
- время выполнения последней команды (когда запускаешь и не следишь, уходишь делать что-то в другое окно)
- текущая дриктория на глубину 2.
Получилось все очень просто https://github.com/antgubarev/dotfiles/blob/master/.zsh/prompt.sh
Выкинул p10k, который неплохо так притормаживает оболочку. Вообще конечно такие тулзы часто перегружены возможностями показывать все что надо и не надо в промте.
Начал серию постов о написании контроллера для Envoy. Сейчас готовы первые две статьи.
- Архитектура контроллера и первая его составляющая Custom Resource Definition https://hackernoon.com/using-the-kubernetes-controller-for-envoy
- Пишем вотчер для Custom Resources на golang https://hackernoon.com/using-the-kubernetes-controller-for-envoy-part-2
В третей части планирую рассказать про xDS протокол, конечно же доработаю рабочий пример из первых двух частей и дополню его взаимодействием с Envoy.
Меня тут кстати недавно номинировали на Hackernoon contributor of the year - GitHub (неожиданно). Буду признателен за поддержку. https://www.noonies.tech/2022/programming/2022-hackernoon-contributor-of-the-year-github
Никогда такого не было и вот опять. Опять надо возвращаться к жизни и продолжать делать то, что делали. Это лучший способ сохранить трезвость ума и ясность мысли.
Завтра 12 октября в 20.00 по Москве проведу открытый вебинар в Отусе на тему “Расширение API Kubernetes с помощью CRD и контроллеров”. По сути я расскажу то, что было описано мной в статьях на hackernoon только чуть более подробно и смогу ответить на вропросы в прямом эфире.
Ссылка для регистрации https://otus.ru/lessons/linux-hl/
Завтра (18 октября) будет продолжение темы контроллеров. В этот раз разговор пойдет про xDS и динамическую конфигурацию Envoy на основе CRD. Параллельно готовил статью на эту тему (продолжение цикла статей, ссылки на которые есть выше в канале), но видимо она уже выдет на следующей неделе, с исходниками и рабочим примером на github.
https://otus.ru/lessons/linux-hl/#event-2303
Сегдня вечером проведу вебинар по башу. Инструмент вызывает сложности у многих из-за непонятного синтаксиса. Однако не все так страшно, если разобраться поглубже и использовать только там где это уместно. Вебинар называется “Bash повышенной сложности”. Однако “повышенной” весьма относительно и для кого-то это будет вполне себе ежедневная простая работа. В названии смысл скорее в том, что массивы и отладка используются немногими, кто работает с башем. В любом случае надеюсь каждый что-то сможет почерпнуть для себя нового. https://www.youtube.com/watch?v=StreIBan5m0
https://github.com/projectdiscovery/subfinder Неплохой сканер сабдоменов. Держите свои служебные домены за VPN ) А лучше отдельный левый домен для таких целей, но все равно за VPN
https://www.youtube.com/watch?v=R3ti2N5Llb0 Третье и заключительное видео про настройку NeoVim. В этот раз речь идет о способе добавления/удаления тегов у структур (в качестве демонстрационного примера, это для тех кто сразу пойдет писать что такое уже есть в любой IDE, в vim-go это тоже есть). Основной материал про работу с tree-sitter, с помощью которого можно делать с кодом много интересного.
“Этот ваш кубернетес” стал настолько сложным, что его уже не обновляют. Гораздо проще и дешевле поднять новый кластер и перенести туда все что есть в старом. История падения reddit https://www.reddit.com/r/RedditEng/comments/11xx5o0/you_broke_reddit_the_piday_outage/
Консольный браузер https://github.com/fathyb/carbonyl С одной стороны не очень понятно для чего, но с другой текст он отображает более чем читабельно. А это значит что можно гуглить не отрываясь от коноли. Медиа контент я бы предпочел все же смотреть как и всегда. Посмотрим как будет развиваться дальше.
https://github.com/bats-core/bats-core отличная утилита для небольшого количества e2e тестов с минимальным количеством приседаний. Написано на shell, а значит что для запуска ничего особенного не нужно. Нашел пример использования в одном из CNCF проектах https://github.com/open-policy-agent/conftest/blob/master/acceptance.bats
Очень удобно чтобы запустить бинарь и проверить код ответа или сделать http/grpc запрос и не возиться с либами на go/python/etc.
Интересное нововведение обсуждается для go 1.22 https://github.com/golang/go/wiki/LoopvarExperiment Исправление старой проблемы. Ну как проблемы. Особенности, которая на самом деле порождала частые ошибки. Даже в FAQ вынесли https://go.dev/doc/faq#closures_and_goroutines. Приходилось делать в циклах костыли вроде i:=i.
Пока что возможность доступна через переменную окружения, так как разработчики не уверены к каким последствиям это может привести. Но шанс появления этого в будущих версиях не нулевой.