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 DirectAdmin #2225

Merged
merged 8 commits into from
Jul 21, 2024
Merged

Conversation

jwklijnsma
Copy link
Contributor

@jwklijnsma jwklijnsma commented Jul 13, 2024

Fixes #1101

@ldez
Copy link
Member

ldez commented Jul 13, 2024

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 your@email.com --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 ldez self-requested a review July 13, 2024 16:56
@ldez ldez changed the title add directadmin plugin add DirectAdmin provider Jul 13, 2024
@jwklijnsma
Copy link
Contributor Author

@ldez i will have check so only is need to give input for be able to do: (and put the output of this command to a comment in your PR) ?

@ldez
Copy link
Member

ldez commented Jul 13, 2024

yes at least

@ldez ldez changed the title add DirectAdmin provider Add DNS provider for DirectAdmin Jul 13, 2024
@ldez
Copy link
Member

ldez commented Jul 13, 2024

I feel like you are not comfortable with git and GitHub, ask me if you need help.

@jwklijnsma
Copy link
Contributor Author

jwklijnsma commented Jul 13, 2024

No i a'm comfortable with git and GitHub it is more go for me that is new.

@ldez
Copy link
Member

ldez commented Jul 13, 2024

No i a'm comfortable with git and GitHub it is more go for me that is new.

Can you provide the hash of the commit you used to run the command?

Why did you provide the output of make checks and go mod tidy?

@ldez
Copy link
Member

ldez commented Jul 14, 2024

Why do you push your local merge?

@jwklijnsma
Copy link
Contributor Author

jwklijnsma commented Jul 16, 2024

so this was with commit hash 6cd64ba

 ~/Desktop/github/lego   directadmin ●  make image                                                        SIGINT(2) ↵  10011  17:12:48
Version: eda27df981c104f04bff4d6ccdc0631861b085c1
docker build -t goacme/lego .
[+] Building 1.6s (17/17) FINISHED                                                                                                                     docker:desktop-linux
 => [internal] load .dockerignore                                                                                                                                      0.0s
 => => transferring context: 139B                                                                                                                                      0.0s
 => [internal] load build definition from Dockerfile                                                                                                                   0.0s
 => => transferring dockerfile: 488B                                                                                                                                   0.0s
 => [internal] load metadata for docker.io/library/alpine:3                                                                                                            1.5s
 => [internal] load metadata for docker.io/library/golang:1-alpine                                                                                                     1.4s
 => [builder 1/8] FROM docker.io/library/golang:1-alpine@sha256:8c9183f715b0b4eca05b8b3dbf59766aaedb41ec07477b132ee2891ac0110a07                                       0.0s
 => [stage-1 1/3] FROM docker.io/library/alpine:3@sha256:b89d9c93e9ed3597455c90a0b88a8bbb5cb7188438f70953fede212a0c4394e0                                              0.0s
 => [internal] load build context                                                                                                                                      0.1s
 => => transferring context: 156.33kB                                                                                                                                  0.1s
 => CACHED [stage-1 2/3] RUN apk update     && apk add --no-cache ca-certificates tzdata     && update-ca-certificates                                                 0.0s
 => CACHED [builder 2/8] RUN apk --no-cache --no-progress add make git                                                                                                 0.0s
 => CACHED [builder 3/8] WORKDIR /go/lego                                                                                                                              0.0s
 => CACHED [builder 4/8] COPY go.mod .                                                                                                                                 0.0s
 => CACHED [builder 5/8] COPY go.sum .                                                                                                                                 0.0s
 => CACHED [builder 6/8] RUN go mod download                                                                                                                           0.0s
 => CACHED [builder 7/8] COPY . .                                                                                                                                      0.0s
 => CACHED [builder 8/8] RUN make build                                                                                                                                0.0s
 => CACHED [stage-1 3/3] COPY --from=builder /go/lego/dist/lego /usr/bin/lego                                                                                          0.0s
 => exporting to image                                                                                                                                                 0.0s
 => => exporting layers                                                                                                                                                0.0s
 => => writing image sha256:a913a314d5a1031b26e94faed86304c7a1c2d042c57bd6f3aa4c25cabf1f8082                                                                           0.0s
 => => naming to docker.io/goacme/lego                                                                                                                                 0.0s

What's Next?
  View a summary of image vulnerabilities and recommendations → docker scout quickview
  directadmin ●  docker run --rm -it \                                                       ✔  10014  18:52:40
  -e DIRECTADMIN_API_URL="https://*************************:2222" \
  -e DIRECTADMIN_USERNAME="admin" \
  -e DIRECTADMIN_PASSWORD="*********************" \
  goacme/lego \
  -m janwiebe@janwiebe.eu \
  --dns.resolvers 1.1.1.1:53 \
  --dns-timeout 240 \
  --dns directadmin \
  -d "discloud.biz" \
  -d "*.discloud.biz" \
  run
2024/07/16 17:08:35 No key found for account janwiebe@janwiebe.eu. Generating a P256 key.
2024/07/16 17:08:35 Saved key to /.lego/accounts/acme-v02.api.letsencrypt.org/janwiebe@janwiebe.eu/keys/janwiebe@janwiebe.eu.key
2024/07/16 17:08:35 Please review the TOS at https://letsencrypt.org/documents/LE-SA-v1.4-April-3-2024.pdf
Do you accept the TOS? Y/n
y
2024/07/16 17:08:38 [INFO] acme: Registering account for janwiebe@janwiebe.eu
!!!! HEADS UP !!!!

Your account credentials have been saved in your Let's Encrypt
configuration directory at "/.lego/accounts".

You should make a secure backup of this folder now. This
configuration directory will also contain certificates and
private keys obtained from Let's Encrypt so making regular
backups of this folder is ideal.
2024/07/16 17:08:38 [INFO] [discloud.biz, *.discloud.biz] acme: Obtaining bundled SAN certificate
2024/07/16 17:08:39 [INFO] [*.discloud.biz] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/377843168997
2024/07/16 17:08:39 [INFO] [discloud.biz] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/377843169007
2024/07/16 17:08:39 [INFO] [*.discloud.biz] acme: use dns-01 solver
2024/07/16 17:08:39 [INFO] [discloud.biz] acme: Could not find solver for: tls-alpn-01
2024/07/16 17:08:39 [INFO] [discloud.biz] acme: Could not find solver for: http-01
2024/07/16 17:08:39 [INFO] [discloud.biz] acme: use dns-01 solver
2024/07/16 17:08:39 [INFO] [*.discloud.biz] acme: Preparing to solve DNS-01
2024/07/16 17:08:39 [INFO] Presented TXT record for domain discloud.biz
2024/07/16 17:08:39 [INFO] [discloud.biz] acme: Preparing to solve DNS-01
2024/07/16 17:08:40 [INFO] Presented TXT record for domain discloud.biz
2024/07/16 17:08:40 [INFO] [*.discloud.biz] acme: Trying to solve DNS-01
2024/07/16 17:08:40 [INFO] [*.discloud.biz] acme: Checking DNS record propagation. [nameservers=1.1.1.1:53]
2024/07/16 17:08:42 [INFO] Wait for propagation [timeout: 1m0s, interval: 2s]
2024/07/16 17:08:42 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:08:44 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:08:46 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:08:48 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:08:50 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:08:52 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:08:54 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:08:57 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:08:59 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:01 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:03 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:05 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:07 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:09 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:11 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:13 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:15 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:17 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:19 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:22 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:24 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:26 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:28 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:30 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/16 17:09:35 [INFO] [*.discloud.biz] The server validated our request
2024/07/16 17:09:35 [INFO] [discloud.biz] acme: Trying to solve DNS-01
2024/07/16 17:09:35 [INFO] [discloud.biz] acme: Checking DNS record propagation. [nameservers=1.1.1.1:53]
2024/07/16 17:09:37 [INFO] Wait for propagation [timeout: 1m0s, interval: 2s]
2024/07/16 17:09:40 [INFO] [discloud.biz] The server validated our request
2024/07/16 17:09:40 [INFO] [*.discloud.biz] acme: Cleaning DNS-01 challenge
2024/07/16 17:09:40 [INFO] Cleaned up TXT record for domain discloud.biz
2024/07/16 17:09:40 [INFO] [discloud.biz] acme: Cleaning DNS-01 challenge
2024/07/16 17:09:41 [INFO] Cleaned up TXT record for domain discloud.biz
2024/07/16 17:09:41 [INFO] [discloud.biz, *.discloud.biz] acme: Validations succeeded; requesting certificates
2024/07/16 17:09:42 [INFO] [discloud.biz] Server responded with a certificate.

@jwklijnsma
Copy link
Contributor Author

be able to maintain this provider: yes i can have a lot of directadmin server can maken unit test for this

@ldez
Copy link
Member

ldez commented Jul 18, 2024

You have reverted all my changes.

So I will reset your PR to remove your revert.

@ldez
Copy link
Member

ldez commented Jul 18, 2024

Please, run the command with the current state of the PR: 181e84c

Stop doing git pull, do a git reset --hard 181e84c2a1239f5146f7eda5c6fff78a036de0a8

@ldez
Copy link
Member

ldez commented Jul 18, 2024

I updated the PR, so:

git fetch --all
git switch directadmin
git reset --hard c931bb8505816320fc8a4a662a1cd3f331dea45e

@jwklijnsma
Copy link
Contributor Author

with you update was breaking the stuff with 6cd64ba is working

@ldez
Copy link
Member

ldez commented Jul 19, 2024

Give me the output of the command and the tested commit hash.

@jwklijnsma
Copy link
Contributor Author

jwklijnsma commented Jul 20, 2024

so your change are breaking the code that was good.

2024/07/20 21:13:16 No key found for account janwiebe@janwiebe.eu. Generating a P256 key.
2024/07/20 21:13:16 Saved key to /.lego/accounts/acme-v02.api.letsencrypt.org/janwiebe@janwiebe.eu/keys/janwiebe@janwiebe.eu.key
2024/07/20 21:13:16 Please review the TOS at https://letsencrypt.org/documents/LE-SA-v1.4-April-3-2024.pdf
Do you accept the TOS? Y/n
y
2024/07/20 21:13:18 [INFO] acme: Registering account for janwiebe@janwiebe.eu
!!!! HEADS UP !!!!

Your account credentials have been saved in your Let's Encrypt
configuration directory at "/.lego/accounts".

You should make a secure backup of this folder now. This
configuration directory will also contain certificates and
private keys obtained from Let's Encrypt so making regular
backups of this folder is ideal.
2024/07/20 21:13:18 [INFO] [discloud.biz, *.discloud.biz] acme: Obtaining bundled SAN certificate
2024/07/20 21:13:19 [INFO] [*.discloud.biz] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/379642216217
2024/07/20 21:13:19 [INFO] [discloud.biz] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/379642216227
2024/07/20 21:13:19 [INFO] [*.discloud.biz] acme: use dns-01 solver
2024/07/20 21:13:19 [INFO] [discloud.biz] acme: Could not find solver for: tls-alpn-01
2024/07/20 21:13:19 [INFO] [discloud.biz] acme: Could not find solver for: http-01
2024/07/20 21:13:19 [INFO] [discloud.biz] acme: use dns-01 solver
2024/07/20 21:13:19 [INFO] [*.discloud.biz] acme: Preparing to solve DNS-01
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0xa96d98]

goroutine 1 [running]:
github.com/go-acme/lego/v4/providers/dns/directadmin.(*DNSProvider).Present(0x40013009f0, {0x4001601300, 0xc}, {0x7?, 0x0?}, {0x40001159e0?, 0x0?})
	github.com/go-acme/lego/v4/providers/dns/directadmin/directadmin.go:111 +0x1b8
github.com/go-acme/lego/v4/challenge/dns01.(*Challenge).PreSolve(0x400138f400, {{0x4001601310, 0x7}, {0x0, 0xede3759ee, 0x0}, {{0x40016012f8, 0x3}, {0x4001601300, 0xc}}, ...})
	github.com/go-acme/lego/v4/challenge/dns01/dns_challenge.go:95 +0x250
github.com/go-acme/lego/v4/challenge/resolver.parallelSolve({0x4001301810, 0x2, 0x2}, 0x400160edb0)
	github.com/go-acme/lego/v4/challenge/resolver/prober.go:135 +0xec
github.com/go-acme/lego/v4/challenge/resolver.(*Prober).Solve(0x40001225c8, {0x400161a410, 0x2, 0x14?})
	github.com/go-acme/lego/v4/challenge/resolver/prober.go:84 +0x3f4
github.com/go-acme/lego/v4/certificate.(*Certifier).Obtain(0x400138f300, {{0x4000144ac0, 0x2, 0x2}, {0x0, 0x0}, 0x0, {0x0, 0x0, 0x0}, ...})
	github.com/go-acme/lego/v4/certificate/certificates.go:172 +0x304
github.com/go-acme/lego/v4/cmd.obtainCertificate(0x400138ec00, 0x4001336c60)
	github.com/go-acme/lego/v4/cmd/cmd_run.go:202 +0x188
github.com/go-acme/lego/v4/cmd.run(0x400138ec00)
	github.com/go-acme/lego/v4/cmd/cmd_run.go:105 +0x204
github.com/urfave/cli/v2.(*Command).Run(0x400116f340, 0x400138ec00, {0x40012c19f0, 0x1, 0x1})
	github.com/urfave/cli/v2@v2.27.2/command.go:276 +0x71c
github.com/urfave/cli/v2.(*Command).Run(0x400116fb80, 0x4001054dc0, {0x4000136000, 0xe, 0xe})
	github.com/urfave/cli/v2@v2.27.2/command.go:269 +0x918
github.com/urfave/cli/v2.(*App).RunContext(0x400017ce00, {0x3408990, 0x5872840}, {0x4000136000, 0xe, 0xe})
	github.com/urfave/cli/v2@v2.27.2/app.go:333 +0x514
github.com/urfave/cli/v2.(*App).Run(...)
	github.com/urfave/cli/v2@v2.27.2/app.go:307
main.main()
	github.com/go-acme/lego/v4/cmd/lego/main.go:42 +0x1c0 

@ldez
Copy link
Member

ldez commented Jul 20, 2024

The problem is fixed, can you try this new update?

git fetch --all
git switch directadmin
git reset --hard b8c3d56278536169362366cc16a9fc6c92eb326a

@jwklijnsma
Copy link
Contributor Author

jwklijnsma commented Jul 20, 2024

Second issue is back

2024/07/20 21:53:47 No key found for account janwiebe@janwiebe.eu. Generating a P256 key.
2024/07/20 21:53:47 Saved key to /.lego/accounts/acme-v02.api.letsencrypt.org/janwiebe@janwiebe.eu/keys/janwiebe@janwiebe.eu.key
2024/07/20 21:53:48 Please review the TOS at https://letsencrypt.org/documents/LE-SA-v1.4-April-3-2024.pdf
Do you accept the TOS? Y/n
y
2024/07/20 21:53:49 [INFO] acme: Registering account for janwiebe@janwiebe.eu
!!!! HEADS UP !!!!

Your account credentials have been saved in your Let's Encrypt
configuration directory at "/.lego/accounts".

You should make a secure backup of this folder now. This
configuration directory will also contain certificates and
private keys obtained from Let's Encrypt so making regular
backups of this folder is ideal.
2024/07/20 21:53:50 [INFO] [discloud.biz, *.discloud.biz] acme: Obtaining bundled SAN certificate
2024/07/20 21:53:50 [INFO] [*.discloud.biz] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/379653226557
2024/07/20 21:53:50 [INFO] [discloud.biz] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/379653226567
2024/07/20 21:53:50 [INFO] [*.discloud.biz] acme: use dns-01 solver
2024/07/20 21:53:50 [INFO] [discloud.biz] acme: Could not find solver for: tls-alpn-01
2024/07/20 21:53:50 [INFO] [discloud.biz] acme: Could not find solver for: http-01
2024/07/20 21:53:50 [INFO] [discloud.biz] acme: use dns-01 solver
2024/07/20 21:53:50 [INFO] [*.discloud.biz] acme: Preparing to solve DNS-01
2024/07/20 21:53:51 [INFO] [discloud.biz] acme: Preparing to solve DNS-01
2024/07/20 21:53:51 [INFO] [*.discloud.biz] acme: Cleaning DNS-01 challenge
2024/07/20 21:53:52 [WARN] [*.discloud.biz] acme: cleaning up failed: directadmin: error: 500: {
	"error": "Cannot View Dns Record",
	"result": "Domain does not belong to you"
}

2024/07/20 21:53:52 [INFO] [discloud.biz] acme: Cleaning DNS-01 challenge
2024/07/20 21:53:52 [WARN] [discloud.biz] acme: cleaning up failed: directadmin: error: 500: {
	"error": "Cannot View Dns Record",
	"result": "Domain does not belong to you"
}

2024/07/20 21:53:52 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/379653226557
2024/07/20 21:53:53 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/379653226567
2024/07/20 21:53:53 Could not obtain certificates:
	error: one or more domains had a problem:
[*.discloud.biz] [*.discloud.biz] acme: error presenting token: directadmin: error: 500: {
	"error": "Cannot View Dns Record",
	"result": "Domain does not belong to you"
}

[discloud.biz] [discloud.biz] acme: error presenting token: directadmin: error: 500: {
	"error": "Cannot View Dns Record",
	"result": "Domain does not belong to you"
}

@ldez
Copy link
Member

ldez commented Jul 20, 2024

Can you try with the new update?

I didn't fix the problem, I just improved the log to have the right information.

@jwklijnsma
Copy link
Contributor Author

jwklijnsma commented Jul 21, 2024

but why change code that is working ?

output 2024/07/21 08:58:42 [WARN] [*.discloud.biz] acme: cleaning up failed: directadmin: delete record for zone discloud.biz. and subdomain _acme-challenge: [status code 500] Cannot View Dns Record: Domain does not belong to you
2024/07/21 08:58:42 [INFO] [discloud.biz] acme: Cleaning DNS-01 challenge
2024/07/21 08:58:42 [WARN] [discloud.biz] acme: cleaning up failed: directadmin: delete record for zone discloud.biz. and subdomain _acme-challenge: [status code 500] Cannot View Dns Record: Domain does not belong to you
2024/07/21 08:58:43 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/379859907657
2024/07/21 08:58:43 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/379859907667
2024/07/21 08:58:43 Could not obtain certificates:
	error: one or more domains had a problem:
[*.discloud.biz] [*.discloud.biz] acme: error presenting token: directadmin: set record for zone discloud.biz. and subdomain _acme-challenge: [status code 500] Cannot View Dns Record: Domain does not belong to you
[discloud.biz] [discloud.biz] acme: error presenting token: directadmin: set record for zone discloud.biz. and subdomain _acme-challenge: [status code 500] Cannot View Dns Record: Domain does not belong to you

@ldez
Copy link
Member

ldez commented Jul 21, 2024

but why change code that is working ?

Your sentence is not clear but I guess you are asking why I changed your code.

Because:

  • your code didn't follow the design of lego
  • your code has bugs
  • your code was just working for you.

@ldez
Copy link
Member

ldez commented Jul 21, 2024

I think I fixed the problem, can you try the new update?

@jwklijnsma
Copy link
Contributor Author

jwklijnsma commented Jul 21, 2024

works

2024/07/21 11:21:52 [INFO] [discloud.biz, *.discloud.biz] acme: Obtaining bundled SAN certificate
2024/07/21 11:21:53 [INFO] [*.discloud.biz] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/379901173167
2024/07/21 11:21:53 [INFO] [discloud.biz] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz-v3/379901173177
2024/07/21 11:21:53 [INFO] [*.discloud.biz] acme: use dns-01 solver
2024/07/21 11:21:53 [INFO] [discloud.biz] acme: Could not find solver for: tls-alpn-01
2024/07/21 11:21:53 [INFO] [discloud.biz] acme: Could not find solver for: http-01
2024/07/21 11:21:53 [INFO] [discloud.biz] acme: use dns-01 solver
2024/07/21 11:21:53 [INFO] [*.discloud.biz] acme: Preparing to solve DNS-01
2024/07/21 11:21:54 [INFO] [discloud.biz] acme: Preparing to solve DNS-01
2024/07/21 11:21:54 [INFO] [*.discloud.biz] acme: Trying to solve DNS-01
2024/07/21 11:21:54 [INFO] [*.discloud.biz] acme: Checking DNS record propagation. [nameservers=1.1.1.1:53]
2024/07/21 11:21:56 [INFO] Wait for propagation [timeout: 1m0s, interval: 2s]
2024/07/21 11:21:56 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/21 11:21:59 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/21 11:22:01 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/21 11:22:03 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/21 11:22:05 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/21 11:22:07 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/21 11:22:09 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/21 11:22:11 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/21 11:22:13 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/21 11:22:15 [INFO] [*.discloud.biz] acme: Waiting for DNS record propagation.
2024/07/21 11:22:22 [INFO] [*.discloud.biz] The server validated our request
2024/07/21 11:22:22 [INFO] [discloud.biz] acme: Trying to solve DNS-01
2024/07/21 11:22:22 [INFO] [discloud.biz] acme: Checking DNS record propagation. [nameservers=1.1.1.1:53]
2024/07/21 11:22:24 [INFO] Wait for propagation [timeout: 1m0s, interval: 2s]
2024/07/21 11:22:31 [INFO] [discloud.biz] The server validated our request
2024/07/21 11:22:31 [INFO] [*.discloud.biz] acme: Cleaning DNS-01 challenge
2024/07/21 11:22:31 [INFO] [discloud.biz] acme: Cleaning DNS-01 challenge
2024/07/21 11:22:31 [INFO] [discloud.biz, *.discloud.biz] acme: Validations succeeded; requesting certificates
2024/07/21 11:22:32 [INFO] [discloud.biz] Server responded with a certificate.

@ldez ldez added this to the v4.18 milestone Jul 21, 2024
Copy link
Member

@ldez ldez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First of all, I'd like to thank you for your time. Your contribution will make many users happy.

But I'm feeling not comfortable with your PR, because:

  • You created 3 PRs instead of, by using Git, just creating one.
  • You updated your local repo by merging the remote branch (I guess related to a git pull) and pushing it to the remote.
  • You reverted all the review commits
  • The code was not homogeneous with lego design, and it was not related to Go knowledge.
  • Your sentences are difficult to understand (I'm guessing you are, like me, not a native English speaker).
  • I was forced to edit your PR description because you added everything in a quote.
  • I was forced to edit your comments because you don't use code fences to provide console output.
  • The initial title was talking about "plugin", but lego has no plugin.

And you seem not to understand that you need help and problems with your PR.

This a pragmatical analysis, and I tell that to be nice and honest with you.
All those elements can be improved easily.
For me, the best approach to help you is to tell you the truth.

Despite that, I will accept the PR (mainly because I have rewritten it entirely).
For now, I cannot consider that you are able to maintain the implementation due to the elements that I have explained before.
I hope you will improve your skills and handle users' feedback about DirectAdmin behavior.

@ldez ldez merged commit c759f56 into go-acme:master Jul 21, 2024
4 checks passed
@jwklijnsma
Copy link
Contributor Author

thnx

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

Successfully merging this pull request may close these issues.

Add "directadmin" as DNS option
2 participants