Development and Administration Tools

Selectel Cloud platform supports a variety of management, administration, and development tools.

Python

A selvpcclient library is used to interact with our service. It is written in Python and covers the entire API, so the user can manage projects, quotas, and resources from program code or the console.

More information on installing and using the library can be found in our blog.

GO Lang

A go-selvpcclient library is used for interaction with our service. Installing the package is done with one command:

go get github.com/selectel/go-selvpcclient/selvpcclient

Ansible

Authentication is performed using API keys. Library documentation is available at godoc.org.

Ansible configuration management system is designed to automate routine tasks and make system administrator’s life easier. An ansible-selvpc-modules package has been developed for our customers. It includes several ansible modules designed specifically for our service.

The ansible-selvpc-modules package includes:

  • selvpc_projects — for managing projects;
  • selvpc_quotas — for managing project resources;
  • selvpc_limits — for retrieving information on available resources;
  • selvpc_users — for managing users;
  • selvpc_floatingips — for managing floating IP addresses;
  • selvpc_subnets — for managing subnets;
  • selvpc_roles — for managing project roles;
  • selvpc_tokens — for creating keys;
  • selvpc_licenses — for managing licenses.

A detailed description of working with the package is provided in the article Managing the VPC with ansible-selvpc-modules.

Terraform

We have launched our own official Terraform provider to implement resource management through the Infrastructure-as-code methodology. Currently, it is possible to manage the following resources:

  • projects and quotas;
  • users, their roles, and tokens;
  • public subnets, including interregional ones and VRRP;
  • software licenses.

The provider uses our public Go-library to work with the API.

Both the library and the provider itself are open-source software. They are being developed on Github:

Console Clients

In addition to these tools, the service can be managed using console clients such as python-openstackclient. Authorization is performed using an RC file. It can be obtained on the Access tab after authorization in the project. The installation process will depend on your operating system.

More information on installing the necessary software and managing the virtual infrastructure can be found in the article.