openstack_ru | Unsorted

Telegram-канал openstack_ru - OpenStack — русскоговорящее сообщество

1796

Группа русскоговорящего сообщества OpenStack. Обсуждаем все про OpenStack, от использования до инсталляции, и от переводов до отправки патчей в апстрим. For English speakers we recommend: @openstack_en См. также: @kubernetes_ru, @ceph_ru, @devops_ru

Subscribe to a channel

OpenStack — русскоговорящее сообщество

Будет ли отвязано от ovn - маловероятно, это фактически дефолтный бекенд теперь для опенстака

Читать полностью…

OpenStack — русскоговорящее сообщество

Я обычно пиши е2е регрессию и тд стандартный sdlc, ансибля, тф да пофигу тесты всегда должны быть

Читать полностью…

OpenStack — русскоговорящее сообщество

Я обычно добавляю в начало дополнительный таск чтобы проверять эндпоинты и пароли. Таск завалился - значит криво что то указали. Поэтому после раскатки нет проблем «ой пароль не подходит» или «ой хостнейм кривой»

Читать полностью…

OpenStack — русскоговорящее сообщество

Вкладываться можно осмысленно, а можно по статьям с Пикабу Хабра.

А все проблемы которые ты живописал на самом деле решаются тривиальным написанием тестов перед раскатыаанием конфига. Это снимает 90% проблем с перепутанными секретами, кривыми эндпоинтами и прочим.

ПыСы - надеюсь эндпоинты вы не шифруете, ведь не шифруете?

Читать полностью…

OpenStack — русскоговорящее сообщество

Это не ответ на вопрос 😁 Обсужались +- тулинга и приседания вокруг него.

Посмотреть секреты может быть нужно много для чего. Например, протек секрет, нужно его ротировать, потом заменить значение во всех местах его использования. Или разработчик запилил новую фичу с интеграциями, секретов стало заметно больше, но интеграции не взлетают, может кто забыл указать порт или указал две точки в домене в параметрах подключения.

Читать полностью…

OpenStack — русскоговорящее сообщество

Нашел, называется filter в контексте gitattributes.

https://git-scm.com/docs/gitattributes

Читать полностью…

OpenStack — русскоговорящее сообщество

не совсем "штатно", насколько я знаю нельзя зашифровать только values одной командой, как это делает sops, нужно изгаляться, мягко говоря))

т.е. вызвать ansible-vaullt -зашифруй-строку, дать ему строку, получить в ответ шифрованную строку. её скопировать, сунуть в свой ямл... куча действий, не удобно...

тем временем файлы можно шифровать просто указав звездочку или имя файла... :)


Или я чего-то не знаю о ansible-vault?

Читать полностью…

OpenStack — русскоговорящее сообщество

с подходом из файлов прыгнуть в HC vault или подобное тож легко и бесшовно, там лукап плагин меняется просто)

Читать полностью…

OpenStack — русскоговорящее сообщество

Понял. Если работа с секретами идет активно и возникают мерж-конфликты, то это может быть вариантом решения, да.

Но, по мне, это уже индикатор того, что нужно перепрыгнуть на другой стандартный инструмент, сетевой типа HC Vault, и сидеть на стандартном ворк-флоу, не изобретая что-то свое, которое потом придется поддерживать для разных юзкейсов в разном тулинге. Хотя это обсуждаемо, да.

Читать полностью…

OpenStack — русскоговорящее сообщество

В sops боль в том, что нельзя взять строку из 1 версии фала и подкинуть её во 2 версию, внизу подпись всего файла целиком и оно просто забреет. Для мержания sops файлов нужно расшифровать оба, сделать слияние, зашифровать, получив на выходе 3 версию файла, вот её и коммитить... Т.е. git и подобным инструментом невозможно работать с таким файлом

Читать полностью…

OpenStack — русскоговорящее сообщество

А у ansible-vault есть режим шифрования отдельных переменных, а не всего файла - и зачем тогда нужен сопс? 🙂

Ну а так, если тебе надо просто пошифровать - ansible-vault спрявляется с этим прекрасно. Если как-то продвинуто, то тогда возможно имеет смысл смотреть в "более другое".

Читать полностью…

OpenStack — русскоговорящее сообщество

Речь о другом.

В Гите изменение любого единственного символа в файле от ansible-vault отобразится как полностью новое содержимое файла. И если коллега ошибся и тронул не ту переменную или ту, но дополнительно случайно испортил соседние, то во время ревью МР в GitHub, GitLab, etc. ты этого не заметишь, нужны дополнительные приседания.

Если в файле от sops коллега случайно изменит три переменные вместо одной, то это сразу будет видно в истории Гита, в ГитЛабе, ГитХабе, где угодно без дополнительных приседаний.

Читать полностью…

OpenStack — русскоговорящее сообщество

Угу.
В итоге взяли SOPS и в части инфраструктуры, где не критично удобство, ansible vault.

Читать полностью…

OpenStack — русскоговорящее сообщество

Потому и подумал что это какие-то фантомные боли по удаленным гиперам

Читать полностью…

OpenStack — русскоговорящее сообщество

Ну то есть можешь, никто не запрещает, но ничего не даст

Читать полностью…

OpenStack — русскоговорящее сообщество

https://github.com/ib-systems/traffic-tracker

Сбор метрик для опенстака в связке с ovn. Основной упор сначала был на расчет трафика, позже добавил и cpu/ram/disk.
Почему: ceilometer + gnocchi оверинжиниринг и вендорлок по сути

Читать полностью…

OpenStack — русскоговорящее сообщество

Справедливости ради, я еще никогда не видел инфраструктурные тесты, проверяюшие корректность формата домена во всех конфигах, например, только если для конфига LB, например. Что еще раз напоминает о том, что место для развития есть всегда. Но эти улучшения невозможны без других, более элементарных, улучшений, т.е. нельзя перепрыгнуть дырявую инфраструктуру и построить на ней безопасные процессы разработки и эксплуатации.

Читать полностью…

OpenStack — русскоговорящее сообщество

Бинго, тестирование и есть значительная часть ИБ процесса, чтобы всякое г* не доехало до Прода.

И этот процесс должен быть удобным, чтобы тулинг не провоцировал ошибки, саботаж или бунт, типа "ваши проверки замедляют time-to-market, дайте мне сервер с рутом, я сам всё сделаю!1" или "план продаж заруинили эти товарищи, накрутив ограничений в самый сезон" 😁

Читать полностью…

OpenStack — русскоговорящее сообщество

Нигде такого не видел, кстати, наоборот, вижу как некоторые команды плотно вкладываются в devsecops и всегда недостоточно, каждый месяц новые вызовы.

Мы не говорим, естественно, о ситуациях пеперсека, типа "я вам всё запрещаю, вникать в ваш код не буду, пишите квартальные отчеты, чао, неудачники" 😁

Читать полностью…

OpenStack — русскоговорящее сообщество

Мне вот почему-то ощущается, что если речь заходит о таких хотелках, то это значит, что вся эта дев-сек-пси-опсья фигня у вас превратилась в карго-культ. Пароль в волте не предназначен чтобы вы или кто-то еще его "смотрели" - потому что "посмотреть" = "использовать" а использовать пароль имеет право только его владелец (то есть сервис).

Читать полностью…

OpenStack — русскоговорящее сообщество

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

Как выше написал, при активной работе с секретами HC Vault вариант лучше. Конкретно для описанного случая и что Гит его не поддерживает, то у меня есть сомнения: у Гит есть возможность подключения обработчиков кастомных файлов, чтобы при checkout, diff и пр. Гит мог с ними работать удобно для пользователя. Правда я с такой фичей никогда не работал и сейчас даже не могу вспонить ее названия, чтобы загуглить 😁

Читать полностью…

OpenStack — русскоговорящее сообщество

В sops я хочу посмотреть все plaintext значения и заменить только часть, делается это под-командой edit. Как это сделать в случае с a-v encrypted string?

Читать полностью…

OpenStack — русскоговорящее сообщество

Чиво блин??? Какой тулинг, там все штатно, просто по сути еще один способ записать значение переменной.

Читать полностью…

OpenStack — русскоговорящее сообщество

У sops это нативная фича, поддерживаемая всеми его подкомандами. У a-v - нет, поэтому придется написать небольшой тулинг вокруг этой фичи для удобства использования. Предложенный выше первый вариант с отдельными шифрованными файлами кажется более удобным, поскольку поддерживается всеми под-командами a-v.

Читать полностью…

OpenStack — русскоговорящее сообщество

О, это сравнительно новый функционал)

Читать полностью…

OpenStack — русскоговорящее сообщество

я как раз про это)
смотри

вот у тебя файлик группварсами
postgres.yml

---
postgres_user: postgres
postgres_password: P@ssw0rd


если волтить "как в доке", то получим весь файл в виде месива, так не пойдет, никто не видит ни ключи ни значения ни историю изменений. sops же делает не так, у него ключи видны, но при этом value не видны.

Но у sops есть проблема в том, что он подписывает ВЕСЬ файл целиком, т.е. в гите смержить невозможно будет без боли.

Я же предлагаю путь сильно проще - волтить только значения!

Вот наш тот же файлик postgres.yml

---
postgres_user: >-
{{
lookup('ansible.builtin.file',
'{inventory_dir}/credentials/postgres/postgres_user.vault'.format(**vars))
}}
postgres_password: >-
{{
lookup('ansible.builtin.file',
'{inventory_dir}/credentials/postgres/postgres_password.vault'.format(**vars))
}}


Получаем, что ключи мы читаем, как в sops, но при этом каждое значение зашифровано, но при этом можно свободно мержить код между бранчами, т.к. файл "не подписывается" целиком, как в sops.

В гит истории видно, кто и когда менял конкретный пароль, можно прям по истории файла прыгать и наблюдать кто и когда менял, само значение обычно не так интересно, важнее факт изменений и дата. На ревью тоже все прекрасно, как и при мержании.

Да, у sops есть вроде функционал шифровать отдельно файл, но тогда это ничем не отличается от ansible-vault...

Читать полностью…

OpenStack — русскоговорящее сообщество

А тут как сам организуешь, например можно хранить волченые значения и через lookup('file' подтягивать куда надо, при этом получаем сопоставимое с sops, типа ключи читаемые, а значения шифрованы.

Читать полностью…

OpenStack — русскоговорящее сообщество

Ну ты ещё определенный интерфейс вспомни. Где шаг в сторону - расстрел.
Не, гоша прикольное. Намного лучше Си плюсов, например. Но все эти попытки сделать ООП - омерзительны.

Читать полностью…

OpenStack — русскоговорящее сообщество

Вот я тоже так думал. Но один деятель херакнул бекап диска и он завис в статусе creating. При попытке срубить или поменять статус - internal error. Единственное что нашел - что кролик ловит тайм-аут пытаясь куда-то достучаться.

Читать полностью…

OpenStack — русскоговорящее сообщество

Оно же по топику роутится

Читать полностью…
Subscribe to a channel