mantil-io / mantil

Build your AWS Lambda-based Go backends quicker than ever
https://www.mantil.com
MIT License
109 stars 3 forks source link

Add `aws upgrade` command #36

Closed patko closed 2 years ago

patko commented 3 years ago

aws upgrade checks the current installed version and perform any necessary upgrades.

ianic commented 2 years ago

Zapisi kojom verzijom je kreiran node u workspace file. Za project takodjer zapisi kojom verzijom je kreiran project/stage. Prikazi te informacije na aws nodes odnosno na stage ls.

Iz toga onda mozemo odluciti hocemo li na svaku mantil komandu predloziti upgrade, upozoriti da je nesto na staroj verziji.

ianic commented 2 years ago

Kao princip sve infrastructure upgrade bi radio tako da kreiram novi, neko vrijeme imam stari i novi, stari obrisem. Ako je moguce ne bi radio update, sveo bi se na insert i delete.

Kao prednosti (ne kazem da svi imaju smisla za ovaj konkretan slucaj):

U ovom cloud svijetu taj immutable infrastructure ima smisla. Resursa ima beskonacno, nije da imam jedan server koji sam kupio i donio u firmu i sada zivim s njim pa radim update. U cloudu ih ima beskonacno, uzmem novi, a ovaj stari kada mi vise ne treba ugasim.

Za ovaj konkretan slucaj instaliro bi novi node i ako je sve ok prebacio se na njega. Kako nazvati sve novokreirane resurse? Sto sa starima?

Imas li jos pitanja?

E da, i na re:inventu sam gledao nesto nekidan na tu temu.

patko commented 2 years ago

Ako je moguce ne bi radio update, sveo bi se na insert i delete.

Meni je, kao korisniku, svejedno kako će to Mantil izvesti. Cilj koji želim postići je da novu verziju Mantila pokrenem u svom sustavu tako da preuzme sve konfiguracije, pluginove i aplikacije koje su radile na staroj.

Da dočaram primjerom. Prepostavimo da sam solo Go pogramer koji je napisao desetak Mantil apps. Sve aplikacije imam na dva Mantil nodea: development za razvoj i testiranje i production za ono što sam odlučio objaviti.

Izašla je nova verzija Mantila koja uključuje security fixes, bug fixes and couple of new features. Jedna od novosti je feature kojeg sam dugo čekao pa želim čim prije instalirati novi Mantil na oba nodea. Plan mi je da prvo instaliram Mantil na development node, napravim brzi sanity check, a onda sve instaliram na production node pa pratim što se događa.

Pitanja:

  1. Mogu li instalirati novu verziju u jednom koraku (po svakom nodeu) ili trebam pratiti korake iz upgrade cookbooka?
  2. Moram li ponovo konfigurirati ili kopirati konfiguracije sa stare na novu verziju?
  3. Moram li mijenjati i podešavati sve projekte da rade s novom verzijom?
  4. Trebaju li se nodeovi za novu verziju zvati nekako drugačije nego stari?
  5. Moram li paralelno imati više verzija Mantil CLI-a (osobito ako sam se ulijenio pa dugo nisam instalirao novu verziju Mantila)?
ianic commented 2 years ago

Odlicna pitanja!

Moj komentar je bio upucen Ivanu koji je issue napravio, zatvorio. Nisam tebe mislio trzati. Al super da dobijemo i pogled izvana.

patko commented 2 years ago

Drago mi je da mogu biti od pomoći. Malo mi je GH "skriven", izvan mojih uhodanih tokova informacija, pa rijetko na vrijeme uočim ono u čemu bih mogao doprinijeti.

Imam dobro sliku (barem mislim da imam) onoga što od Mantila očekujem da napravi za mene korisnika. Prilično sam uvjeren i da je to izvedivo. Nije lako, ali je izvedivo. Ta mentalna slika je najvrijednije čime mogu doprinijeti, ali mi morate pomoći da ju vizualiziram na način da vam bude jasna.