Имбирь - твой спиритический овощ. Войти !bnw Сегодня Клубы

Зачем миру нужны всякие декларативные монстры для конфигураций? Почему нет готового базового императивного фреймворка, просто всовывающегося в любой bash/python?

Вот взял сейчас написал чуть-чуть подобного, у меня теперь вот так выглядит функция развёртывания окружения:

@task
def ensure_environment_is_ready():
    """Initial dependencies and make sure needed directories exist"""
    rs = []
    sudo("apt-get update -qq")
    sudo("apt-get install -qq -y git python-setuptools dnsmasq resolvconf")
    ensure_exists("/home/deploy/proj")
    ensure_exists("/home/deploy/proj/AdServer")
    rs.append(ensure_line_present_at_beginning(
        "search mycompany.com",
        "/etc/resolvconf/resolv.conf.d/tail"))
    ensure_exists_sudo("/var/log/AdServer")
    ensure_file_present_sudo("/var/log/AdServer/AdServer.daemon.out")
    ensure_file_present_sudo("/var/log/AdServer/AdServer.daemon.out")
    ensure_file_present_sudo("/var/log/AdServer/daemon.err")
    rs.append(ensure_ini_value_set('resolv-file', '/etc/resolv.conf',
                                   '/etc/dnsmasq.conf'))
    rs.append(ensure_ini_value_set('listen-address', '127.0.0.1',
                                   '/etc/dnsmasq.conf'))
    rs.append(ensure_config_file(
        'configs/adserver/etc/monit/monitrc',
        '/etc/monit/monitrc'))

    if any(rs):
        print(u"ヽ(゜ロ゜;)ノ")
        print(u"Restarting services (running app will stop)")
        sudo("service resolvconf restart")
        sudo("service dnsmasq restart")
        sudo("service monit restart")

То есть идея в том, что вместо дохуя-декларативных конфигураций мы лучше напишем дохуя-умную функцию ’ensure_ini_value_set`, которая умеет парсить ini-подобные конфиги и в нужную секцию пихать нужное значение, если его нету.

Сойдёт/похуй/говно/охуенно?

#I0BJA8 / @kb / 3882 дня назад

Заметил пиздёжь в коде (`running app will stop` -- неправда, на самом деле, ничего не перестанет работать)
#I0BJA8/NDI / @kb / 3882 дня назад
JSON
#I0BJA8/MDN / @krkm / 3882 дня назад
ansible смотрел?
#I0BJA8/GF3 / @qnikst / 3882 дня назад
@qnikst Смотрел шеф, после него, собственно, пока и не хочется снова в это нырять. А что, он крут?
#I0BJA8/2L3 / @kb --> #I0BJA8/GF3 / 3882 дня назад
@kb Ой, точнее папет. Шефом у нас админы занимались.
#I0BJA8/XML / @kb --> #I0BJA8/2L3 / 3882 дня назад
#I0BJA8/8W0 / @kb --> #I0BJA8/MDN / 3882 дня назад
@kb для развертки и управления окружением весьма не плох. Но с папетами я сравнить не могу, к сожалению. У нас на ансибле скрипты для развёртки и управления тестовыми окружениями.
#I0BJA8/77G / @qnikst --> #I0BJA8/XML / 3882 дня назад
@kb прост выебнулся //`var option = config.option || 'default';`
#I0BJA8/EYS / @krkm --> #I0BJA8/8W0 / 3882 дня назад
@qnikst с языка снял !
#I0BJA8/JJS / @stiletto --> #I0BJA8/GF3 / 3882 дня назад
@kb ансибла императивна как яебал проста как подрочить удобна как сиськи воот
#I0BJA8/5UG / @stiletto --> #I0BJA8/2L3 / 3882 дня назад
@stiletto в общем ты тут примерно её переизобретаешь
#I0BJA8/FB7 / @stiletto --> #I0BJA8/5UG / 3882 дня назад
@anonymous как-то ниочем сравнение :/
#I0BJA8/HDL / @qnikst --> #I0BJA8/8N2 / 3882 дня назад
@stiletto вот я примерно по этому про ansible и вспомнил, нечего велосипед переизобретать. А декоративность любят т.к. над декларативный описанием проще проводить разные операции и анализ, насколько это полезно - вопрос хороший.
#I0BJA8/64S / @qnikst --> #I0BJA8/FB7 / 3882 дня назад
@qnikst можно всё-таки взять и переизобрести, сделать лайтвейт и флексибл под себя // через пару лет выкинуть и мигрировать всё-таки // ле, - сделать под себя // крче да
#I0BJA8/5WW / @mugiseyebrows --> #I0BJA8/64S / 3882 дня назад
у нас примерно такой велосипед на перле и юзается
#I0BJA8/7IF / @plhk / 3882 дня назад
@stiletto Ну всё, буду трогать тогда.
#I0BJA8/GQ1 / @kb --> #I0BJA8/5UG / 3882 дня назад
@anonymous Лол. "Сравнения на википедии" -- это вообще отдельная категория пиздеца.
#I0BJA8/MTG / @kb --> #I0BJA8/8N2 / 3882 дня назад
@kb опенсурсер критикует википедию // сделай, ёбта
#I0BJA8/O33 / @mugiseyebrows --> #I0BJA8/MTG / 3882 дня назад
@mugiseyebrows Короче стёрся длинный ответ, лень перенабьирать с телефона
#I0BJA8/GEA / @kb --> #I0BJA8/O33 / 3882 дня назад
@kb лан
#I0BJA8/V43 / @mugiseyebrows --> #I0BJA8/GEA / 3882 дня назад
@kb Спасибо за качественный анализ!
#I0BJA8/QFI / @anonymous --> #I0BJA8/GEA / 3881 день назад
@mugiseyebrows Кароч из-за того, что в википедии нельзя никого обижать и быть субъективным -- там в списках всегда много говна, отсортированы они по алфавиту и т.п.
#I0BJA8/N06 / @kb --> #I0BJA8/O33 / 3881 день назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.