--- title: "Yandex Cloud" date: 2019-03-03T16:39:46+01:00 draft: false slug: yandexcloud dnsprovider: since: "v4.9.0" code: "yandexcloud" url: "https://cloud.yandex.com" --- Configuration for [Yandex Cloud](https://cloud.yandex.com). - Code: `yandexcloud` - Since: v4.9.0 Here is an example bash command using the Yandex Cloud provider: ```bash YANDEX_CLOUD_IAM_TOKEN= \ YANDEX_CLOUD_FOLDER_ID= \ lego --email you@example.com --dns yandexcloud --domains "example.org" --domains "*.example.org" run # --- YANDEX_CLOUD_IAM_TOKEN=$(echo '{ \ "id": "", \ "service_account_id": "", \ "created_at": "", \ "key_algorithm": "RSA_2048", \ "public_key": "-----BEGIN PUBLIC KEY----------END PUBLIC KEY-----", \ "private_key": "-----BEGIN PRIVATE KEY----------END PRIVATE KEY-----" \ }' | base64) \ YANDEX_CLOUD_FOLDER_ID= \ lego --email you@example.com --dns yandexcloud --domains "example.org" --domains "*.example.org" run ``` ## Credentials | Environment Variable Name | Description | |-----------------------|-------------| | `YANDEX_CLOUD_FOLDER_ID` | The string id of folder (aka project) in Yandex Cloud | | `YANDEX_CLOUD_IAM_TOKEN` | The base64 encoded json which contains information about iam token of serivce account with `dns.admin` permissions | The environment variable names can be suffixed by `_FILE` to reference a file instead of a value. More information [here]({{< ref "dns#configuration-and-credentials" >}}). ## Additional Configuration | Environment Variable Name | Description | |--------------------------------|-------------| | `YANDEX_CLOUD_POLLING_INTERVAL` | Time between DNS propagation check | | `YANDEX_CLOUD_PROPAGATION_TIMEOUT` | Maximum waiting time for DNS propagation | | `YANDEX_CLOUD_TTL` | The TTL of the TXT record used for the DNS challenge | The environment variable names can be suffixed by `_FILE` to reference a file instead of a value. More information [here]({{< ref "dns#configuration-and-credentials" >}}). ## IAM Token The simplest way to retrieve IAM access token is usage of yc-cli, follow [docs](https://cloud.yandex.ru/docs/iam/operations/iam-token/create-for-sa) to get it ```bash yc iam key create --service-account-name my-robot --output key.json cat key.json | base64 ``` ## More information - [API documentation](https://cloud.yandex.com/en/docs/dns/quickstart)