[vpsFree.cz: community-list] Terraform provider pro vpsAdmin / Terraform provider for vpsAdmin

Jakub Skokan jakub.skokan at vpsfree.cz
Tue Apr 30 08:40:57 CEST 2019


Ahoj,

(English version below)

Terraform [1] je nástroj pro správu infrastruktury pomocí konfiguračních 
souborů. Podporuje spoustu různých poskytovatelů hostingu, cloudů a 
podobných služeb. Nyní je možné pomocí něj konfigurovat i naše VPS. Náš 
plugin pro Terraform aktuálně umí vytvářet a upravovat VPS, nahrávat 
veřejné SSH klíče a spouštět příkazy přes SSH.

Plugin, pokyny k instalaci a ukázku použití najdete zde:

   https://github.com/vpsfreecz/terraform-provider-vpsadmin

Případné chyby prosím hlaste u repozitáře na githubu. Samozřejmě se 
můžete také zapojit do vývoje, chtělo by to ještě dodělat podporu pro 
správu datasetů, mountů a určitě se toho najde více.

Terraform pluginy se nejsnadněji píšou v Golangu, takže jsme v Golangu 
potřebovali taky klienta k našemu API. Díky tomu, že se naše API umí 
samo pěkne zdokumentovat [2], klient pro Golang je kompletně automaticky 
vygenerovaný. Výsledkem je tedy generátor klientských Golang knihoven 
pro HaveAPI [3] a samotný klient k našemu API [4], který je možné použít 
nezávisle na Terraformu.

ENGLISH:

Terraform [1] is a tool for infrastructure administration using 
configuration files. It supports many cloud and hosting providers and 
now it is possible to use it to manage VPS at vpsFree.cz as well. Our 
provider plugin for Terraform allows you to create and manage VPS, 
deploy SSH keys and use SSH provisioner.

The provider, install instructions and examples can be found at:

   https://github.com/vpsfreecz/terraform-provider-vpsadmin

Please report bugs and issues at our github repository. You're also 
welcome to join the development. The provider is still missing dataset 
and mount management.

Since Terraform plugins are best written in Golang, we needed a client 
to our API in Golang as well. Because our API is self-descriptive, the 
Golang client library can be autogenerated. The result is a Golang 
client generator [3] and the generated client [4] for our API. The 
Golang client library can be used independently from Terraform.

[1] https://www.terraform.io

[2] https://github.com/vpsfreecz/haveapi

[3] https://github.com/vpsfreecz/haveapi/tree/master/clients/go

[4] https://github.com/vpsfreecz/vpsadmin-go-client

Jakub


More information about the Community-list mailing list