Како се користе одговорне променљиве и трезори

Како ЕкпрессВПН користи Ансибле


Како широко користимо Ансибле на ЕкпрессВПН-у

Наши развојни тимови раде независно, односно тим поседује свој производ током целог животног циклуса. Ово постављање значи да наше Ансибле разумијевање долази из прикупљања знања многих различитих тимова у компанији, а не из централизоване групе која управља Ансибле-ом.

Децентрализована радна снага пружа нашим тимовима пуно флексибилности и мобилности, али такође врши притисак на појединце да знају много о многим алатима.

Да бисмо олакшали дељење знања и правилно коришћење алата, одлучили смо да стандардизујемо како користимо Ансибле за управљање конфигурацијом и рад на серверима..

Овај блог покрива лекције које смо научили радећи по нашем обиму, размишљања о начину на који радимо и како управљамо Ансиблеом у таквом контексту.

Одговорна документација

Хајде да уђемо право у то! Документација за Ансибле оставља неке ствари које се желе, посебно када је у питању документација од почетка до краја (као, како доћи од тачке А до тачке З?).

Неколико питања са којима се редовно сусрећемо су: „Како функционише променљиви приоритет?“ И „Како се Ансвер Ваулт уклапа?“

Оба проблема су документована врло добро (овде и овде), а страница Ансибле Вариаблес има врло леп одељак о првенству изричито, али пресек њих двојице се само кратко спомиње. Проблем је што не постоје повезнице између документације о променљивим и трезорима, што ствара утисак да је онус на кориснику да схвати како се њих двоје пресијецају један са другим.

Дакле, данас ћемо покушати да покријемо пресек променљивих и трезора и најбољу праксу.

За шта можете користити датотеке Ансибле Ваулт

Укратко: Документација трезора каже да у основи можете да шифрирате било шта у мапи Ансибле у Ваулт датотеку, а Ансибле ће покушати да је „паметно“ дешифрује кад год игра укључује ове датотеке. Хух. Хладан!

У документацији о Вариаблес-у уопште се не говори о Ваулт датотекама, што је чудно јер је Ваулт дизајниран за Вариабле датотеке. Па како се они уклапају заједно? Важно је то приметити Сами датотеке трезора немају посебно значење за променљиву обраду или предност, тако да постоји велика флексибилност Али потенцијално вас то не оставља довољно информација о томе како га правилно користити.

Како не користити АнсиблеРадите погрешно.

Узмите овај пример једноставне мапе Ансибле:

.
├── гроуп_варс
│ ├── сви
│ ├── производња
│ └── инсценација
├── ансибле.цфг
├── инвентар
└── плаибоок.имл

На први поглед, ово подешавање изгледа добро; ово би била релативно уобичајена структура ако бисте прочитали документацију. Посматрач може потенцијално претпоставити да су фајлови за постављање и продукцију у гроуп_варс трезори, али то није нужно тачно, што је само по себи проблем.

Сада, датотека „алл“ не може бити Ваулт датотека јер сте (надамо се) шифрирали фајлове за постављање и производњу Ваулт са различитим лозинкама. Али то такође значи да датотека гроуп_варс за окружења треба да садржи мешавину тајни и не-тајних података јер сте ограничени на једну датотеку по окружењу.

Због тога – и ако сте мало екстраполирали након што сте прочитали увод у Трезори у документацији са одговорима – вероватно сте креирали продукцијске / инсценацијске трезоре тако што ћете прво копирати садржај „свих“, а затим их изменити..

То значи да би ваша „алл“ датотека могла изгледати овако:

база података:
корисничко име: дефаулт_усер
лозинка: фалсе

супер_импортант_вар_тхат_схоулд_бе_оне: 1

А ваш фајл за производњу може изгледати овако:

база података:
корисничко име: продусер
лозинка: суперсецретпассвордноонецансее

супер_импортант_вар_тхат_схоулд_бе_оне: 1

(Не брините, ово није наша стварна лозинка за производњу! Двоструко смо проверили.)

Горе је опасно из разлога који можда нису очигледни. На пример, можда ћете пропустити промену подразумеваног услова за производњу, и / или ваша „алл“ датотека може бити чак и погрешно именована и уопште није укључена! (То је основни узрок кварова који смо имали прошле недеље.)

Најбоља пракса: Како безбедно користити датотеке Ансвер Ваулт

Као што је наведено на страници најбољих пракси, прављење датотеке у датотеку са трезорима затамњује садржај датотеке, па долази до великог недостатка: Не можете тражити оне варијабле које се налазе у датотеци трезора без да их изричито дешифрујете. Овај систем значи да онај ко гледа вашу Ансибле конфигурацију нема појма шта се налази унутар ових датотека, а да притом не зна и лозинку за трезор (ужасно за прегледе кода!). Због тога препоручујемо да ставите што мање променљивих у људске датотеке унутар Ваулт датотека. (Другим речима, само тајне стављајте у датотеке Склада!)

Дакле, погледајмо структуру која би олакшала себи да не пуцаш у стопало:

.
├── гроуп_варс
│ ├── сви
│ │ └── варс.имл
│ ├── производња
│ │ ├── варс.имл
│ │ └── ваулт.имл
│ └── инсценација
│ └── ваулт.имл
├── ансибле.цфг
├── инвентар
└── плаибоок.имл

Документација најбољих пракси такође препоручује коришћење „слоја индиректности“, што значи да би требало да шаблонирате све променљиве у датотеци Ваулт у варијабле на које се односи у вашим књигама. Такође препоручује да префиксујете своје трезорске варијабле са „ваулт_“ што значи да би ваш алл / варс.имл могао изгледати овако:

база података:
корисничко име: дефаулт_усер
лозинка: “{{ваулт_датабасе_пассворд}}”

супер_импортант_вар_тхат_схоулд_бе_оне: 1

Ваша продукција / варс.имл изгледа овако:

база података:
корисничко име: продусер

А датотека за производњу / ваулт.имл треба да садржи само ово:

ваулт_датабасе_пассворд: суперсецретпассвордноонецансее

Ова ревидирана структура има неколико предности. Пре свега, ако радите прегледе кода (молим вас!), То значи да ће рецензенти моћи да виде шта сте променили, заједно са оним што сте додали и уклонили у (скоро целој) конфигурацији. Са овом структуром, рецензенти неће само видети потпуну промену датотека на трезору коју је потребно ручно дешифровати, сачувати на диск и разликовати са старијом верзијом.

И што је још важније, Ансибле неће успети да упути чак и ако недостаје ваулт_датабасе_пассворд Променљива унутар трезора, што ће вас решити барем малог проблема са којима бисте могли да наиђете ако не држите блиске картице на Ваулт датотекама.

Ако се придржавате овог обрасца, без обзира да ли је то група домаћина у окружењу, потпуно окружење за које постављате променљиве за чак и директоријум “алл”, ваши вршњаци се никада неће збунити око онога што јесте, а што није унутар трезор.

То је све за сада, надамо се да вам је то било од користи!

Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map