LINUX.ORG.RU

деплой


0

0

Дано:
N серверов с PermitRootLogin No
Некая гуйная консоль управления, из которой осуществляется развёртывание, требующее рутовых прав.
Вопрос: как это можно сделать наименее криво, и не пугая кастомера коммандной строкой?
Желательно отсутствие крайнего идиотизма в ответах.


авторизация ssh по ключам. ssh клиент емнип позволяет работать чрез пайп (но вводить пароль чрез пайп не позволяет), что еще нужно для автоматизации?

wfrr ★★☆
()
Ответ на: комментарий от wfrr

root'овые права, наверное...

Так что ещё sudo. Заодно можно и expat, чтобы не объяснять, как авторизацию по ключам настраивать.

kemm
()
Ответ на: комментарий от wfrr

1. Ключи придётся добавлять через коммандлайн.
2. Консоль управления может быть запущена с любой машины.

gpg
() автор топика
Ответ на: комментарий от kemm

Для судо нужно предварительно потрогать судоерс. Как это сделать, не нарушая условий задачи?
expat, expat... это часом не xml-парсер? Как он может здесь помочь?

И да, существуют решения разных фирм, но у них есть один существенный недостаток - их самих надо сначала установить на целевой хост.

gpg
() автор топика
Ответ на: комментарий от gpg

> Для судо нужно предварительно потрогать судоерс. Как это сделать, не нарушая условий задачи?

Тогда su + следующий пункт

> expat, expat... это часом не xml-парсер? Как он может здесь помочь?

Ы-ы-ы-ы... Это я призадумался о чём-то не том. expect, конечно же.

kemm
()

Никак. Если только эта консоль не образ линукса, который грузится по PXE и dd готовый образ

xpahos ★★★★★
()
Ответ на: комментарий от kemm

Ты дьявол. Почти бинго. Функционал, по крайней мере тот самый.
Есть пара замечаний.
1. говнецо должно быть си-компатибл (линковка целого интерпретатора ради двух строчек кода - это не престижно)
2. решение не выглядит красивым: собственно крик отчаяния возник, когда я начал реализовывать эту идею сам. Очень ненадёжная конструкция. Что, например, делать с локализованным судо?
Но в любом случае, огромнейшее спасибо, сам бы я никогда не вспомнил. Если ничего более изящного не найдётся, попробую почитать сорцов.

gpg
() автор топика
Ответ на: комментарий от xpahos

Теперь я и сам склоняюсь к этой мысли. Если бы было готовое решение, никому бы и в голову не пришло писать expect. Увы мне.

gpg
() автор топика
Ответ на: комментарий от gpg

> 1. говнецо должно быть си-компатибл (линковка целого интерпретатора ради двух строчек кода - это не престижно)

Я всегда говорил, что С -- не самый лучший выбор в большинстве случаев. 8))

http://docs.activestate.com/activetcl/8.4/expect/libexpect.3.html

> 2. решение не выглядит красивым: собственно крик отчаяния возник, когда я начал реализовывать эту идею сам. Очень ненадёжная конструкция. Что, например, делать с локализованным судо?

export LANG=C первой командой?

kemm
()
Ответ на: комментарий от gpg

> Если бы было готовое решение, никому бы и в голову не пришло писать expect.

Неочевидно... expect'у лет так сильно дофига. С другой стороны — да, вряд ли есть что-то готовое, все под свои нужды велосипедят, похоже...

kemm
()
Ответ на: комментарий от kemm

А поспать?

> Я всегда говорил, что С -- не самый лучший выбор в большинстве случаев. 8))
О большинстве речь не идёт.
А вот за ссылочку спасибочки.

>> Что, например, делать с локализованным судо?
> export LANG=C первой командой
Вопрос был скорее риторический. Не люблю закладывать костыли на этапе разработки.

gpg
() автор топика
Ответ на: комментарий от ananas

Да, смотрел.
Винда пролетает. А надо, чтоб на ней.
Цигвин в данном случае не камильфо.

gpg
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.