Skip to content

Commit

Permalink
Merge pull request #13567 from HealthEngineAU/cert-manager-nameservers
Browse files Browse the repository at this point in the history
Add a nameservers parameter for cert-manager.
  • Loading branch information
k8s-ci-robot committed May 18, 2022
2 parents 0b9955f + 0fa1781 commit 7a90131
Show file tree
Hide file tree
Showing 11 changed files with 61 additions and 0 deletions.
16 changes: 16 additions & 0 deletions docs/addons.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,22 @@ spec:
managed: false
```

##### DNS nameserver configuration for cert-manager pod
{{ kops_feature_table(kops_added_default='1.23.3', k8s_min='1.16') }}

Optional list of DNS nameserver IP addresses for the cert-manager pod to use.
This is useful if you have a public and private DNS zone for the same domain to ensure that cert-manager can access ingress, or DNS01 challenge TXT records at all times.

You can set pod DNS nameserver configuration for cert-manager like so:
```yaml
spec:
certManager:
enabled: true
nameservers:
- 1.1.1.1
- 8.8.8.8
```


Read more about cert-manager in the [official documentation](https://cert-manager.io/docs/)

Expand Down
6 changes: 6 additions & 0 deletions k8s/crds/kops.k8s.io_clusters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,12 @@ spec:
by kOps. The deployment of cert-manager is skipped if this is
set to false.
type: boolean
nameservers:
description: 'nameservers is a list of nameserver IP addresses
to use instead of the pod defaults. Default: none'
items:
type: string
type: array
type: object
channel:
description: The Channel we are following
Expand Down
4 changes: 4 additions & 0 deletions pkg/apis/kops/componentconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -1050,6 +1050,10 @@ type CertManagerConfig struct {
// defaultIssuer sets a default clusterIssuer
// Default: none
DefaultIssuer *string `json:"defaultIssuer,omitempty"`

// nameservers is a list of nameserver IP addresses to use instead of the pod defaults.
// Default: none
Nameservers []string `json:"nameservers,omitempty"`
}

// AWSLoadBalancerControllerConfig determines the AWS LB controller configuration.
Expand Down
4 changes: 4 additions & 0 deletions pkg/apis/kops/v1alpha2/componentconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -1076,6 +1076,10 @@ type CertManagerConfig struct {
// defaultIssuer sets a default clusterIssuer
// Default: none
DefaultIssuer *string `json:"defaultIssuer,omitempty"`

// nameservers is a list of nameserver IP addresses to use instead of the pod defaults.
// Default: none
Nameservers []string `json:"nameservers,omitempty"`
}

// AWSLoadBalancerControllerConfig determines the AWS LB controller configuration.
Expand Down
2 changes: 2 additions & 0 deletions pkg/apis/kops/v1alpha2/zz_generated.conversion.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions pkg/apis/kops/v1alpha3/componentconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -1047,6 +1047,10 @@ type CertManagerConfig struct {
// defaultIssuer sets a default clusterIssuer
// Default: none
DefaultIssuer *string `json:"defaultIssuer,omitempty"`

// nameservers is a list of nameserver IP addresses to use instead of the pod defaults.
// Default: none
Nameservers []string `json:"nameservers,omitempty"`
}

// AWSLoadBalancerControllerConfig determines the AWS LB controller configuration.
Expand Down
2 changes: 2 additions & 0 deletions pkg/apis/kops/v1alpha3/zz_generated.conversion.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions pkg/apis/kops/v1alpha3/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions pkg/apis/kops/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -5217,6 +5217,14 @@ spec:
- matchExpressions:
- key: node-role.kubernetes.io/master
operator: Exists
{{ if .CertManager.Nameservers }}
dnsConfig:
nameservers:
{{ range $nameserver := .CertManager.Nameservers }}
- "{{ $nameserver }}"
{{ end }}
dnsPolicy: None
{{ end }}
priorityClassName: system-cluster-critical
serviceAccountName: cert-manager
securityContext:
Expand Down

0 comments on commit 7a90131

Please sign in to comment.