Rozbudowa API v4 w kierunku automatyzacji

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 :wink:

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 :heart:

1 polubienie

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:

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.

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.

1 polubienie

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.

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

Aczkolwiek, mam dwie uwagi:

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

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.

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

1 polubienie

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

2 polubienia

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:

1 polubienie