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

Add DNS provider for Beget.com #1879

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from
Draft

Conversation

cfif-31
Copy link

@cfif-31 cfif-31 commented Mar 29, 2023

Beget is an accredited domain name registrar. It is a large registrar of RU/РФ domains. I am a client of this registrar. Also, this registrar provides DNS for the domain.

The API allows you to work with DNS records, including TXT, required for verification.

This PR adds support for this registrar to such an extremely useful thing as Lego

@ldez
Copy link
Member

ldez commented Mar 29, 2023

Hello, in order for a PR adding a DNS provider to be accepted, you have to:

  • add a description to your PR
  • be able to maintain this provider
  • have a homogeneous design with the other providers
  • add tests (units)
make test
  • add tests ("live")
    func TestLivePresent(t *testing.T) {
    if !envTest.IsLiveTest() {
    t.Skip("skipping live test")
    }
    envTest.RestoreEnv()
    provider, err := NewDNSProvider()
    require.NoError(t, err)
    err = provider.Present(envTest.GetDomain(), "", "123d==")
    require.NoError(t, err)
    }
    func TestLiveCleanUp(t *testing.T) {
    if !envTest.IsLiveTest() {
    t.Skip("skipping live test")
    }
    envTest.RestoreEnv()
    provider, err := NewDNSProvider()
    require.NoError(t, err)
    time.Sleep(2 * time.Second)
    err = provider.CleanUp(envTest.GetDomain(), "", "123d==")
    require.NoError(t, err)
    }
make test
make generate-dns
  • be able to do: (and put the output of this command to a comment in your PR)
rm -rf .lego

./lego -m [email protected] --dns YOUR_PROVIDER_NAME -d *.example.com -d example.com -s https://acme-staging-v02.api.letsencrypt.org/directory run

Note the wildcard domain is important.

make checks
  • do go mod tidy

@ldez
Copy link
Member

ldez commented Mar 30, 2023

ping @cfif-31

1 similar comment
@ldez
Copy link
Member

ldez commented Apr 7, 2023

ping @cfif-31

@ldez
Copy link
Member

ldez commented Apr 13, 2023

@cfif-31 can you provide the missing information?
#1879 (comment)

@ldez
Copy link
Member

ldez commented Apr 22, 2023

@cfif-31 if you don't answer I will be forced to close your PR.

@ldez ldez force-pushed the add-begetDNS branch 2 times, most recently from f1035a4 to 254f21b Compare May 5, 2023 08:15
@ldez ldez changed the title Add Beget.com as DNS provider Add DNS provider for Beget.com May 5, 2023
@ldez
Copy link
Member

ldez commented May 15, 2023

ping @cfif-31

@ldez
Copy link
Member

ldez commented Jun 7, 2023

I'm still waiting for feedback @cfif-31 .


If there is a user that wants to test this PR, you are welcome.

How to test this PR?
  1. You need Go
  2. Checkout the PR:
    git clone https://github.com/cfif-31/lego.git
    cd lego
    git checkout add-begetDNS
  3. Compile lego:
    • if you have make: make build
    • if you don't make make: go build ./cmd/lego -o dist/lego
  4. Run the following command with your own information (email, domain, credentials):
    BEGET_USERNAME=xxxxxx \
    BEGET_PASSWORD=yyyyyy \
    ./dist/lego --email [email protected] --dns beget -d *.example.com -d example.com -s https://acme-staging-v02.api.letsencrypt.org/directory run
    The wildcard domain is important
  5. Before each run of the command, you should clean your local environment:
    rm -rf .lego

@ldez ldez added the state/need-user-tests Need users to test functionality label Jun 7, 2023
@ldez ldez force-pushed the add-begetDNS branch 2 times, most recently from 6487b79 to f1228b0 Compare February 11, 2024 13:52
@ldez ldez marked this pull request as draft October 26, 2024 11:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

2 participants