Rozbudowa API v4 w kierunku automatyzacji

Do sprawdzenia
kazi
kazi

Chciałbym zaproponować rozbudowę API v4.

Czego brakuje według mnie?

  • możliwość zamówienia serwera z poziomu API
  • możliwość reinstalacji serwera z poziomu API
  • możliwość pobrania credentiali do SSH z poziomu API

Argumentacja wprowadzenia takich endpointów

Dzięki wprowadzeniu takich zmian, będzie można łatwo zautomatyzować proces tworzenia VPS'ów i instalacji niezbędnego oprogramowania za pomocą Pythona (np. z użyciem mojej biblioteki) i Ansible.

Post Scriptum

No i tak dodatkowo, bo jest to również powiązane z automatyzacją, lecz nie tylko. Dajdzie człowiekowi możliwość wrzucenia własnego klucza SSH do panelu. Cloud-init to łyka, a praca z Ansible będzie jeszcze łatwiejsza ;)

Jeżeli zamierzacie wprowadzić takie zmiany, spodziewajcie się ode mnie posta z przykładowym użyciem opierającym się na mojej blibiotece oraz Ansible.

Podoba się pomysł? Plusujcie dedykowanym do tego serduszkiem pod postem, dzięki ❤️

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

kazi:

możliwość zamówienia serwera z poziomu API

VPS zamawia się już w nowym panelu, co oznacza, że taka opcja powinna już być bez problemu dostępna, bo panel korzysta z tego właśnie API. :thinking:

kazi:

możliwość reinstalacji serwera z poziomu API

Jest to funkcja, która zostanie przeniesiona z czasem do nowego panelu i wtedy będzie dostępna z API. W końcu to jedna z podstawowych, które zawsze były dostępne - tak jak włączanie/wyłączanie.

kazi:

możliwość pobrania credentiali do SSH z poziomu API

Przechowywanie takich rzeczy przez hosting nie powinno mieć miejsca, nawet w przypadku instalacji z hasłem. Po wysłaniu e-mail takich danych nie powinno być w systemie.

kazi:

Dajdzie człowiekowi możliwość wrzucenia własnego klucza SSH do panelu.

https://lvlup.rok.ovh/t/klucz-publiczny-ssh-dodawany-przy-instalacji/15510

Mespi
Mespi

kazi:

możliwość pobrania credentiali do SSH z poziomu API

Takie informacje jak nowe dane do VPS'a zostają wysyłanie tylko na maila i raczej to się nie zmieni, gdyż na mailu dostajesz potwierdzenie reinstalacji/zakupu.

kazi
kazi

Dzięki za szybką i profesjonalną odpowiedź!

Aczkolwiek, mam dwie uwagi:

Nieznajomy11:

VPS zamawia się już w nowym panelu, co oznacza, że taka opcja powinna już być bez problemu dostępna, bo panel korzysta z tego właśnie API.

Jeżeli jest taki endpoint w API, to nie jest udokumentowany w Swaggerze.

Nieznajomy11:

Przechowywanie takich rzeczy przez hosting nie powinno mieć miejsca, nawet w przypadku instalacji z hasłem. Po wysłaniu e-mail takich danych nie powinno być w systemie.

I tak są przechowywane cały czas w cloud-inicie. Dajcie możliwość ich resetu/zmiany w takim wypadku.

Edit: Albo zwracajcie je w odpowiedzi do stworzenia zamówienia na VPS przez API, bo hasło i tak musi zostać wygenerowane wcześniej, aby móc przygotować cloud-inita (choć nie wiem na jakim etapie jest to wykonywane). Choć dodanie kluczy SSH już rozwiązuje problem, więc to tylko kolejna sugestia.

Nieznajomy11
Nieznajomy11 Moderator forum.lvlup.pro

kazi:

I tak są przechowywane cały czas w cloud-inicie.

Nie, hasła nie są przechowywane w żadnym cloud-inicie. Tak jak /etc/shadow na dysku wirtualnym VPS nie zawiera haseł, tak samo nie zawiera ich konfiguracja cloud-init.

Proponuję zapoznać się z tematem:

https://cloudinit.readthedocs.io/en/latest/topics/modules.html?highlight=passwd#users-and-groups

kazi
kazi

Nieznajomy11:

Nie, hasła nie są przechowywane w żadnym cloud-inicie. Tak jak /etc/shadow na dysku wirtualnym VPS nie zawiera haseł, tak samo nie zawiera ich konfiguracja cloud-init.

Racja, byłem przekonany że są one trzymane w jawnym tekście, w takim razie przepraszam i zgłaszam postanowienie poprawy 😿

SystemZ
SystemZ Admin lvlup.pro

Reinstalacja pojawi się w APIv4, obecnym blokerem jest brak scope'ów przy kluczach API.

Będzie można ustawić autoryzowany klucz publiczny SSH przy reinstalacji przez API.

Automatyzacja zamówień została poruszona już wcześniej: https://lvlup.rok.ovh/t/kilka-sugestii-dotyczacych-uslug-lvl-up/14885?u=systemz