Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Add new version API dns SELECTEL dns_selectel.sh (actual v2) #5128

Open
wants to merge 15 commits into
base: dev
Choose a base branch
from

Conversation

vlad-kms
Copy link

@vlad-kms vlad-kms commented Apr 30, 2024

This set of changes expands the existing Selectel DNS API script dns_selectel.sh to support the Selectel API version v2 (actual).
Now SELECTEL simultaneously works with two versions of the API: legacy DNS API and actual DNS API (new). The goal is to allow SELECTEL users to use the script for two versions.

https://developers.selectel.ru/docs/cloud-services/dns_api/dns_api_actual/

Issue: #5126

For existing installations where only the old version of the API (legacy) is used, nothing will have to be reconfigured and nothing needs to be done for older versions.

Variables that need to be controlled before starting:

export SL_Ver="v1" -- version API: 'v2' (actual) or 'v1' (legacy).
default: v1

If SL_Ver is equal "v1", then you need to define the variable

export SL_Key="API_KEY" -- token Selectel (API key)
You can view or create it in the control panel in the upper right corner, open the Profile and Settings menu -> API Keys.
https://my.selectel.ru/profile/apikeys

If SL_Ver is equal "v2", then you need to define the following variables

export SL_Expire=60 -- token lifetime in minutes (0-1440).
default: 1400 minutes
export SL_Login_ID=<account_id> -- account number in the control panel;
export SL_Project_Name=<project_name> -- name project.
export SL_Login_Name=<login_name> - service user name.
You can view the name in the control panel:
in the upper right corner, open the menu ? Profile and settings ? User management section ? Service users tab
export SL_Pswd=<> - The service user password can be viewed when creating a user or changed to a new one.
All these variables will be saved in ~/.acme.sh/account.conf and will be reused as needed.

Tests: https://github.com/vlad-kms/acme.sh/actions
For two versions:
test DNS for v1 (legacy) - for version API DNS legacy
test DNS for v2 (actual) - for version API DNS actual (new)

Copy link

Welcome
First thing: don't send PR to the master branch, please send to the dev branch instead.
Please make sure you've read our DNS API Dev Guide and DNS-API-Test.
Then reply on this message, otherwise, your code will not be reviewed or merged.
We look forward to reviewing your Pull request shortly ✨
注意: 必须通过了 DNS-API-Test 才会被 review. 无论是修改, 还是新加的 dns api, 都必须确保通过这个测试.

@vlad-kms vlad-kms changed the title Feature: Add new version API dns (actual) Feature: Add new version API dns SELECTEL (actual) Apr 30, 2024
@vlad-kms vlad-kms changed the title Feature: Add new version API dns SELECTEL (actual) Feature: Add new version API dns SELECTEL dns_selectel.sh (actual v2) Apr 30, 2024
@vlad-kms
Copy link
Author

Tests: https://github.com/vlad-kms/acme.sh/actions
For two versions:
test DNS for v1 (legacy) - for version API DNS legacy
test DNS for v2 (actual) - for version API DNS actual (new)

@vlad-kms
Copy link
Author

Welcome First thing: don't send PR to the master branch, please send to the dev branch instead. Please make sure you've read our DNS API Dev Guide and DNS-API-Test. Then reply on this message, otherwise, your code will not be reviewed or merged. We look forward to reviewing your Pull request shortly ✨ 注意: 必须通过了 DNS-API-Test 才会被 review. 无论是修改, 还是新加的 dns api, 都必须确保通过这个测试.

Tests: https://github.com/vlad-kms/acme.sh/actions
For two versions:
test DNS for v1 (legacy) - for version API DNS legacy
test DNS for v2 (actual) - for version API DNS actual (new)

@mrPsycho
Copy link

mrPsycho commented May 4, 2024

as i understand, comments should be on english, so others can understand it.

but anyway, this is good one!

@vlad-kms
Copy link
Author

vlad-kms commented May 4, 2024

as i understand, comments should be on english, so others can understand it.

but anyway, this is good one!

Translated comments into English. Sorry, I don’t know the language, Google translated it worked.

@rzolotuhin
Copy link

@vlad-kms You have a typo in the case of the character of the name of the variable SL_Login_name, which is used in the comments to the account.conf file. This will result in the exception "You did not specify the selectel.ru API service username." for anyone who will follow the instructions.

@vlad-kms
Copy link
Author

@vlad-kms You have a typo in the case of the character of the name of the variable SL_Login_name, which is used in the comments to the account.conf file. This will result in the exception "You did not specify the selectel.ru API service username." for anyone who will follow the instructions.

Sorry! Corrected in the comments

@vlad-kms
Copy link
Author

@vlad-kms You have a typo in the case of the character of the name of the variable SL_Login_name, which is used in the comments to the account.conf file. This will result in the exception "You did not specify the selectel.ru API service username." for anyone who will follow the instructions.

Please tell me, did you replace the variable name with SL_Login_Name, checked after that?

@rzolotuhin
Copy link

@vlad-kms You have a typo in the case of the character of the name of the variable SL_Login_name, which is used in the comments to the account.conf file. This will result in the exception "You did not specify the selectel.ru API service username." for anyone who will follow the instructions.

Please tell me, did you replace the variable name with SL_Login_Name, checked after that?

Yes, I fixed and checked it locally, everything works. Sorry for the long answer, I did not enter this request after that.

dnsapi/dns_selectel.sh Outdated Show resolved Hide resolved
@alekho
Copy link

alekho commented Jul 23, 2024

@vlad-kms @rzolotuhin Hello. Guys, if I understand correctly, everything works. And did you pass the tests? Продублирую на русском. Не очень понимаю, почему все остановилось, я так понимаю все тесты пройдены, перенес все на новый DNS-хостинг, и старый API уже не работает ((((

@mrPsycho
Copy link

@alekho final review by @Neilpang is needed.

@vlad-kms
Copy link
Author

@vlad-kms @rzolotuhin Hello. Guys, if I understand correctly, everything works. And did you pass the tests? Продублирую на русском. Не очень понимаю, почему все остановилось, я так понимаю все тесты пройдены, перенес все на новый DNS-хостинг, и старый API уже не работает ((((

@alekho
Есть два варианта:

  1. создать поддомен 3-го уровня в своем домене в legacy (API v1) и использовать его режиме alias mode https://github.com/acmesh-official/acme.sh/wiki/DNS-alias-mode;
  2. пройти на https://github.com/vlad-kms/acme_sh-dns_selectel_v2. там в README последний абзац "Инсталляция" прочитать.

@alekho
Copy link

alekho commented Jul 23, 2024

@vlad-kms @rzolotuhin Hello. Guys, if I understand correctly, everything works. And did you pass the tests? Продублирую на русском. Не очень понимаю, почему все остановилось, я так понимаю все тесты пройдены, перенес все на новый DNS-хостинг, и старый API уже не работает ((((

@alekho Есть два варианта:

1. создать поддомен 3-го уровня в своем домене в legacy (API v1) и использовать его режиме alias mode https://github.com/acmesh-official/acme.sh/wiki/DNS-alias-mode;

2. пройти на https://github.com/vlad-kms/acme_sh-dns_selectel_v2. там в README последний абзац "Инсталляция" прочитать.

Благодарю!

@Neilpang
Copy link
Member

Neilpang commented Nov 3, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants