Size: a a a

2019 June 26

ЕД

Егор Доронин in technicalwriters
Поскольку мы широко используем AWS, то естественно было и это сделать так же
источник

ЕД

Егор Доронин in technicalwriters
Насколько детально рассказывать?
источник

SR

Stas Rychkov in technicalwriters
Егор Доронин
Насколько детально рассказывать?
Поверхностно. Крупными мазками.

Интересная штука, но не представляю, о чём речь.

Slac API + Amazon API Gateway + Confluence REST. Такой стэк?

А есть примеры такого микросервиса?
источник

ЕД

Егор Доронин in technicalwriters
Есть, но живые я показать не могу, потому что NDA. Устроено это следующим образом: Slack имеет возможность создавать кастомные интеграции, при этом он отправляет Get/Post запрос на заданный эндпоинт. То есть пользователь пишет /crbac add user vasya to group_name for time_span. Дальше стек полностью Amazon: на входе апи гейтвей, в котором есть ресурс и метод, соответствующий вбитому в интеграцию. За ним лямбда на node.js, всегда возвращающая статус 200. Эта лямбда пишет в sns топик, передавая туда команду из слака, токен и остальной запрос. Следующая лямбда подписана на топик, читает оттуда посылку, парсит и ищет пользователя в списке тех, кто имеет право менять уровень доступа (выполняет запрос к апи атлассиана и смотрит состав специальной группы). Результат поиска пишет обратно в топик. Следующая лямбда читает и, если юзер не найден, пишет в слак "Please wait for approval" по URI, который получила из слэш-комманды. Второе сообщение уходит администратору, с подробностями запроса. Если же команду запустил администратор, то третья лямбда дёргает апи атлассиана, ищет пользователя и группу, и, если все ОК, добавляет пользователя в группу, после чего пишет результат обратно в слак, и создаёт в CloudWstch триггер на запуск оямбды, возвращающей права обратно через time_span
источник

ЕД

Егор Доронин in technicalwriters
SNS топик выступает в роли шины сообщений
источник

ЕД

Егор Доронин in technicalwriters
Заодно все действия с правами пишутся в csv, который лежит в бакете на S3
источник

НН

Нац Нац in technicalwriters
Круто очень
источник

ЕД

Егор Доронин in technicalwriters
Спасибо. Это звучит намного сложнее, чем есть
источник

ЕД

Егор Доронин in technicalwriters
И очень экономит время админа конфлюэнм
источник

SR

Stas Rychkov in technicalwriters
Егор Доронин
Есть, но живые я показать не могу, потому что NDA. Устроено это следующим образом: Slack имеет возможность создавать кастомные интеграции, при этом он отправляет Get/Post запрос на заданный эндпоинт. То есть пользователь пишет /crbac add user vasya to group_name for time_span. Дальше стек полностью Amazon: на входе апи гейтвей, в котором есть ресурс и метод, соответствующий вбитому в интеграцию. За ним лямбда на node.js, всегда возвращающая статус 200. Эта лямбда пишет в sns топик, передавая туда команду из слака, токен и остальной запрос. Следующая лямбда подписана на топик, читает оттуда посылку, парсит и ищет пользователя в списке тех, кто имеет право менять уровень доступа (выполняет запрос к апи атлассиана и смотрит состав специальной группы). Результат поиска пишет обратно в топик. Следующая лямбда читает и, если юзер не найден, пишет в слак "Please wait for approval" по URI, который получила из слэш-комманды. Второе сообщение уходит администратору, с подробностями запроса. Если же команду запустил администратор, то третья лямбда дёргает апи атлассиана, ищет пользователя и группу, и, если все ОК, добавляет пользователя в группу, после чего пишет результат обратно в слак, и создаёт в CloudWstch триггер на запуск оямбды, возвращающей права обратно через time_span
Класс! Уже ясней. Спасибо.

Но с закрытыми решениями не сработает, видимо, ибо AWS. Или нет?
источник

NV

Nick Volynkin in technicalwriters
Егор, ты сейчас задал новую планку роста многим из нас )
источник

NV

Nick Volynkin in technicalwriters
Мне так точно.
источник

ЕД

Егор Доронин in technicalwriters
@Nick_Volynkin Ну что ты.
@glu0n почему же? Если есть доступ из интернета к Confluence, то должно работать
источник

ЕД

Егор Доронин in technicalwriters
Вообще, многие вещи гораздо проще делать через АПИ. Например, деплоить автоматически страницу с навигацией головную, которая в виде json лежит из-за сложной верстки
источник

ЕД

Егор Доронин in technicalwriters
Руками через редактор пришлось бы неделями нанизывать div на макросы, а так поправил в человекочитаемом виде, и CodePipeline ее пересоздал из репозитория
источник

ЕД

Егор Доронин in technicalwriters
С тем же успехом можно пользоваться Google Compute или Azure, если не нравится AWS. Или просто иметь билд-машину, на которой гонять скрипты вручную
источник

ЕД

Егор Доронин in technicalwriters
Коллеги, извините за такое глубокое уклонение в технические подробности
источник

SR

Stas Rychkov in technicalwriters
Егор Доронин
@Nick_Volynkin Ну что ты.
@glu0n почему же? Если есть доступ из интернета к Confluence, то должно работать
Предполагается, что в компаниях обычно однонаправленные соединения, и входящие ВСЕ, кроме простых сервисов типа 80/443, запрещены. Хотя можно, наверное м туннель сделать.
источник

ЕД

Егор Доронин in technicalwriters
Если конфлюэнс в облаке, то он по дефолту снаружи периметра
источник

SR

Stas Rychkov in technicalwriters
Егор Доронин
Коллеги, извините за такое глубокое уклонение в технические подробности
Да что ж извинять, оч здорово. Я вот нифига не понял, но завидую )
источник