Хостинг провайдеры
Genesis осуществляет поддержку ряда облачных хостингов для заказа виртуальный машин (далее "вм"), а также гибкое управление ими, в том числе создание/удаление.
Одним из главных параметров при работе с облачными хостингами является SIZE
.
SIZE
используется для определения параметров создаваемой вм и поддерживает следующие варианты:
C1M1
- 1 CPU, 1 RAMC2M2
- 2 CPU, 2 RAMC2M4
- 2 CPU, 4 RAMC4M8
- 4 CPU, 8 RAMC8M16
- 8 CPU, 16 RAMC16M32
- 16 CPU, 32 RAM
Схема взаимодействия с каждым из коннекторов к облачным хостингам (далее провайдеры) сделана максимально однотипно,
чтобы облегчить взаимодействие и максимально упростить миграцию между ними, но у некоторых есть отличия
(прим YandexCloud, требует доп параметр YANDEX_CLOUD_FOLDER_ID
).
DigitalOcean
Для начала работы с DigitalOcean требуется токен персонального доступа с правами "read" и "write" (https://cloud.digitalocean.com/account/api/tokens).
В результате для работы DigitalOcean, должен получиться перечень переменных:
variables:
HOSTING_PROVIDER: DO
HOSTING_TOKEN: some_string_with_token
YandexCloud
Для работы с YandexCloud необходимо сформировать YANDEX_TOKEN
доступа и YANDEX_CLOUD_FOLDER_ID
. Узнать об этом можно на странице Yandex token
В результате для работы YandexCloud, должен получиться перечень переменных:
HOSTING_TOKEN был приведен в человекочитаемый вид для наглядности.
variables:
HOSTING_PROVIDER: YA
HOSTING_TOKEN: {
"id": "oauth_key_id",
"service_account_id": "service_account_id_with_admin_permissions_for_folder",
"private_key": "-----BEGIN PRIVATE KEY-----\nsome_key\n-----END PRIVATE KEY-----"
}
YANDEX_CLOUD_FOLDER_ID: $YANDEX_CLOUD_FOLDER_ID
SSH
Ssh хостинг провайдер подразумевает полностью ручной режим управления.
Для использования SSH хостинг провайдера необходим доступ к root пользователю.
Существует 2 вида ручного управления:
С использованием k8s:
Минимальные системные требования к виртуальной машине:
C2M2 (2 CPU, 2 RAM)
- Создать переменные
genesis_SSH_PRIVATE_KEY
иgenesis_IP_ADDRESS
с соответствующим наполнением. - Установить
HOSTING_PROVIDER SSH
в секции variables файла .gitlab-ci.yml
variables:
HOSTING_PROVIDER: SSH
CONTAINER_MANAGER: k8s
С использованием docker-compose
Минимальные системные требования к виртуальной машине:
C1M1 (1 CPU, 1 RAM)
- Создать переменные
genesis_SSH_PRIVATE_KEY_branch_name
иgenesis_IP_ADDRESS_branch_name
с соответствующим наполнением. - Установить
HOSTING_PROVIDER SSH
в секции variables файла .gitlab-ci.yml
variables:
HOSTING_PROVIDER: SSH
CONTAINER_MANAGER: docker