external-dns icon indicating copy to clipboard operation
external-dns copied to clipboard

Add the provider for the Tencent Cloud.

Open Hyzhou opened this issue 2 years ago • 9 comments

Signed-off-by: misakazhou [email protected]

Description

Add the provider for tencent cloud. PrivateDNS service provides intranet DNS resolution. DNSPod service provides internet DNS resolution. Unit tests and document is updated for the tencent cloud provider.

Any issue about the tencent cloud provider can ask @Hyzhou for help and upgrade.

Fixes #ISSUE

Checklist

  • [x] Unit tests updated
  • [x] End user documentation updated

Hyzhou avatar Mar 04 '22 09:03 Hyzhou

Welcome @Hyzhou!

It looks like this is your first PR to kubernetes-sigs/external-dns 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/external-dns has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. :smiley:

k8s-ci-robot avatar Mar 04 '22 09:03 k8s-ci-robot

@Raffo Would you like to review this PR. Thank you.

Hyzhou avatar Mar 08 '22 02:03 Hyzhou

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Jun 19 '22 18:06 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot avatar Jul 19 '22 18:07 k8s-triage-robot

I need it so much。

lostz avatar Aug 05 '22 06:08 lostz

I need it so much。

you can use it now. https://cloud.tencent.com/document/product/457/72679

Hyzhou avatar Aug 05 '22 07:08 Hyzhou

I need it so much。

you can use it now. https://cloud.tencent.com/document/product/457/72679

thx

lostz avatar Aug 06 '22 14:08 lostz

@Hyzhou only support Tencent Cloud(TKE)?

ysicing avatar Aug 24 '22 07:08 ysicing

@Hyzhou only support Tencent Cloud(TKE)?

It is a driver support for Tencent Cloud, and test in TKE Clusters. But if you build an kubernetes cluster in Tencent Cloud by your self. I think this driver also work too.

Hyzhou avatar Aug 24 '22 07:08 Hyzhou

@Hyzhou example, I want to support DNSPod in EKS(Other Cloud K8s) Clusters, this driver maybe not work.

ysicing avatar Aug 24 '22 09:08 ysicing

/sig cloud-provider

Hyzhou avatar Aug 25 '22 03:08 Hyzhou

@Raffo @njuettner @seanmalloy Would you like to review this PR. Thank you.

Hyzhou avatar Aug 25 '22 03:08 Hyzhou

/assign @szuecs

ysicing avatar Sep 08 '22 01:09 ysicing

/remove-lifecycle rotten

szuecs avatar Sep 08 '22 07:09 szuecs

/assign @Raffo

szuecs avatar Sep 08 '22 07:09 szuecs

@Raffo to run the tests looks fine to me

szuecs avatar Sep 08 '22 07:09 szuecs

I approved tests to run, deferring to @szuecs for the final review and call on merge.

Raffo avatar Sep 15 '22 08:09 Raffo

I see this in the CI build:

sh -s -- -b $(go env GOPATH)/bin v1.45.2
golangci/golangci-lint info checking GitHub for tag 'v1.4[5](https://github.com/kubernetes-sigs/external-dns/actions/runs/3031914931/jobs/4935438158#step:6:6).2'
golangci/golangci-lint info found version: 1.45.2 for v1.45.2/linux/amd[6](https://github.com/kubernetes-sigs/external-dns/actions/runs/3031914931/jobs/4935438158#step:6:7)4
golangci/golangci-lint info installed /home/runner/go/bin/golangci-lint
>> checking license header
license header checking failed:
./provider/tencentcloud/privatedns.go
./provider/tencentcloud/dnspod.go
./provider/tencentcloud/tencent_cloud_test.go
make: *** [Makefile:5[8](https://github.com/kubernetes-sigs/external-dns/actions/runs/3031914931/jobs/4935438158#step:6:9): licensecheck] Error 1
./provider/tencentcloud/cloudapi/readonlyapi.go
./provider/tencentcloud/cloudapi/mockapi.go
./provider/tencentcloud/cloudapi/clientset.go
./provider/tencentcloud/cloudapi/api.go
./provider/tencentcloud/cloudapi/tencentapi.go
./provider/tencentcloud/tencent_cloud.go
Error: Process completed with exit code 2.

there's also a conflict with the go.mod now. Can you please fix that @Hyzhou ?

Raffo avatar Sep 15 '22 08:09 Raffo

I see this in the CI build:

sh -s -- -b $(go env GOPATH)/bin v1.45.2
golangci/golangci-lint info checking GitHub for tag 'v1.4[5](https://github.com/kubernetes-sigs/external-dns/actions/runs/3031914931/jobs/4935438158#step:6:6).2'
golangci/golangci-lint info found version: 1.45.2 for v1.45.2/linux/amd[6](https://github.com/kubernetes-sigs/external-dns/actions/runs/3031914931/jobs/4935438158#step:6:7)4
golangci/golangci-lint info installed /home/runner/go/bin/golangci-lint
>> checking license header
license header checking failed:
./provider/tencentcloud/privatedns.go
./provider/tencentcloud/dnspod.go
./provider/tencentcloud/tencent_cloud_test.go
make: *** [Makefile:5[8](https://github.com/kubernetes-sigs/external-dns/actions/runs/3031914931/jobs/4935438158#step:6:9): licensecheck] Error 1
./provider/tencentcloud/cloudapi/readonlyapi.go
./provider/tencentcloud/cloudapi/mockapi.go
./provider/tencentcloud/cloudapi/clientset.go
./provider/tencentcloud/cloudapi/api.go
./provider/tencentcloud/cloudapi/tencentapi.go
./provider/tencentcloud/tencent_cloud.go
Error: Process completed with exit code 2.

there's also a conflict with the go.mod now. Can you please fix that @Hyzhou ?

I get it

Hyzhou avatar Sep 15 '22 08:09 Hyzhou

I see this in the CI build:

sh -s -- -b $(go env GOPATH)/bin v1.45.2
golangci/golangci-lint info checking GitHub for tag 'v1.4[5](https://github.com/kubernetes-sigs/external-dns/actions/runs/3031914931/jobs/4935438158#step:6:6).2'
golangci/golangci-lint info found version: 1.45.2 for v1.45.2/linux/amd[6](https://github.com/kubernetes-sigs/external-dns/actions/runs/3031914931/jobs/4935438158#step:6:7)4
golangci/golangci-lint info installed /home/runner/go/bin/golangci-lint
>> checking license header
license header checking failed:
./provider/tencentcloud/privatedns.go
./provider/tencentcloud/dnspod.go
./provider/tencentcloud/tencent_cloud_test.go
make: *** [Makefile:5[8](https://github.com/kubernetes-sigs/external-dns/actions/runs/3031914931/jobs/4935438158#step:6:9): licensecheck] Error 1
./provider/tencentcloud/cloudapi/readonlyapi.go
./provider/tencentcloud/cloudapi/mockapi.go
./provider/tencentcloud/cloudapi/clientset.go
./provider/tencentcloud/cloudapi/api.go
./provider/tencentcloud/cloudapi/tencentapi.go
./provider/tencentcloud/tencent_cloud.go
Error: Process completed with exit code 2.

there's also a conflict with the go.mod now. Can you please fix that @Hyzhou ?

I already add the lisence header. and rebase the code

Hyzhou avatar Sep 15 '22 08:09 Hyzhou

Approved CI again.

Raffo avatar Sep 15 '22 08:09 Raffo

Approved CI again.

Sorry, I will run it local.

Hyzhou avatar Sep 15 '22 08:09 Hyzhou

/approve /lgtm

szuecs avatar Sep 15 '22 09:09 szuecs

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Hyzhou, szuecs

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

k8s-ci-robot avatar Sep 15 '22 09:09 k8s-ci-robot