Skip to content

Commit 5a05bc4

Browse files
authored
feat: Add API server cert SANs patch (#129)
1 parent 7b7fde3 commit 5a05bc4

File tree

28 files changed

+1005
-279
lines changed

28 files changed

+1005
-279
lines changed

capi-runtime-extensions.code-workspace

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"path": "."
88
},
99
{
10-
"path": "./server"
10+
"path": "./common"
1111
}
1212
],
1313
"settings": {

charts/capi-runtime-extensions/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ A Helm chart for capi-runtime-extensions
3838
| handlers.CalicoCNI.defaultPodSubnet | string | `"192.168.0.0/16"` | |
3939
| handlers.CalicoCNI.defaultTigeraOperatorConfigMap.name | string | `"tigera-operator"` | |
4040
| handlers.CalicoCNI.enabled | bool | `true` | |
41+
| handlers.ExtraAPIServerCertSANsPatch.enabled | bool | `true` | |
42+
| handlers.ExtraAPIServerCertSANsVars.enabled | bool | `true` | |
4143
| handlers.HTTPProxyPatch.enabled | bool | `true` | |
4244
| handlers.HTTPProxyVars.enabled | bool | `true` | |
4345
| handlers.ServiceLoadBalancerGC.enabled | bool | `true` | |

charts/capi-runtime-extensions/values.schema.json

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,51 @@
104104
"default": true
105105
}
106106
}
107+
},
108+
"HTTPProxyVars": {
109+
"type": "object",
110+
"properties": {
111+
"enabled": {
112+
"type": "boolean",
113+
"default": true
114+
}
115+
}
116+
},
117+
"HTTPProxyPatch": {
118+
"type": "object",
119+
"properties": {
120+
"enabled": {
121+
"type": "boolean",
122+
"default": true
123+
}
124+
}
125+
},
126+
"AuditPolicyPatch": {
127+
"type": "object",
128+
"properties": {
129+
"enabled": {
130+
"type": "boolean",
131+
"default": true
132+
}
133+
}
134+
},
135+
"APIServerCertSANsVars": {
136+
"type": "object",
137+
"properties": {
138+
"enabled": {
139+
"type": "boolean",
140+
"default": true
141+
}
142+
}
143+
},
144+
"APIServerCertSANsPatch": {
145+
"type": "object",
146+
"properties": {
147+
"enabled": {
148+
"type": "boolean",
149+
"default": true
150+
}
151+
}
107152
}
108153
}
109154
},

charts/capi-runtime-extensions/values.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ handlers:
2121
enabled: true
2222
AuditPolicyPatch:
2323
enabled: true
24+
ExtraAPIServerCertSANsVars:
25+
enabled: true
26+
ExtraAPIServerCertSANsPatch:
27+
enabled: true
2428

2529
deployment:
2630
replicas: 1

cmd/capi-runtime-extensions/main.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@ import (
2424
ctrl "sigs.k8s.io/controller-runtime"
2525
ctrclient "sigs.k8s.io/controller-runtime/pkg/client"
2626

27+
"github.com/d2iq-labs/capi-runtime-extensions/common/pkg/server"
2728
"github.com/d2iq-labs/capi-runtime-extensions/internal/controllermanager"
2829
"github.com/d2iq-labs/capi-runtime-extensions/pkg/handlers/cni/calico"
30+
"github.com/d2iq-labs/capi-runtime-extensions/pkg/handlers/extraapiservercertsans"
2931
"github.com/d2iq-labs/capi-runtime-extensions/pkg/handlers/httpproxy"
3032
"github.com/d2iq-labs/capi-runtime-extensions/pkg/handlers/servicelbgc"
31-
"github.com/d2iq-labs/capi-runtime-extensions/server/pkg/server"
3233
)
3334

3435
var (
@@ -79,6 +80,8 @@ func main() {
7980
calico.New(client, calicoCNIConfig),
8081
httpproxy.NewVariable(),
8182
httpproxy.NewPatch(),
83+
extraapiservercertsans.NewVariable(),
84+
extraapiservercertsans.NewPatch(),
8285
)
8386

8487
// Initialize and parse command line flags.

server/go.mod renamed to common/go.mod

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11
// Copyright 2023 D2iQ, Inc. All rights reserved.
22
// SPDX-License-Identifier: Apache-2.0
33

4-
module github.com/d2iq-labs/capi-runtime-extensions/server
4+
module github.com/d2iq-labs/capi-runtime-extensions/common
55

66
go 1.21
77

88
require (
99
github.com/spf13/pflag v1.0.5
10+
k8s.io/apiextensions-apiserver v0.28.1
11+
k8s.io/apimachinery v0.28.1
12+
k8s.io/utils v0.0.0-20230406110748-d93618cff8a2
1013
sigs.k8s.io/cluster-api v1.5.1
11-
sigs.k8s.io/controller-runtime v0.15.1
14+
sigs.k8s.io/controller-runtime v0.16.1
1215
)
1316

1417
require (
18+
github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df // indirect
19+
github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a // indirect
1520
github.com/beorn7/perks v1.0.1 // indirect
1621
github.com/blang/semver v3.5.1+incompatible // indirect
1722
github.com/blang/semver/v4 v4.0.0 // indirect
@@ -22,12 +27,13 @@ require (
2227
github.com/fsnotify/fsnotify v1.6.0 // indirect
2328
github.com/go-logr/logr v1.2.4 // indirect
2429
github.com/go-openapi/jsonpointer v0.19.6 // indirect
25-
github.com/go-openapi/jsonreference v0.20.1 // indirect
30+
github.com/go-openapi/jsonreference v0.20.2 // indirect
2631
github.com/go-openapi/swag v0.22.3 // indirect
2732
github.com/gogo/protobuf v1.3.2 // indirect
2833
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
2934
github.com/golang/protobuf v1.5.3 // indirect
30-
github.com/google/gnostic v0.6.9 // indirect
35+
github.com/google/cel-go v0.16.0 // indirect
36+
github.com/google/gnostic-models v0.6.8 // indirect
3137
github.com/google/go-cmp v0.5.9 // indirect
3238
github.com/google/gofuzz v1.2.0 // indirect
3339
github.com/google/uuid v1.3.0 // indirect
@@ -42,28 +48,30 @@ require (
4248
github.com/pkg/errors v0.9.1 // indirect
4349
github.com/prometheus/client_golang v1.16.0 // indirect
4450
github.com/prometheus/client_model v0.4.0 // indirect
45-
github.com/prometheus/common v0.42.0 // indirect
51+
github.com/prometheus/common v0.44.0 // indirect
4652
github.com/prometheus/procfs v0.10.1 // indirect
53+
github.com/stoewer/go-strcase v1.2.0 // indirect
54+
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect
4755
golang.org/x/net v0.13.0 // indirect
4856
golang.org/x/oauth2 v0.10.0 // indirect
49-
golang.org/x/sys v0.10.0 // indirect
57+
golang.org/x/sys v0.11.0 // indirect
5058
golang.org/x/term v0.10.0 // indirect
5159
golang.org/x/text v0.11.0 // indirect
5260
golang.org/x/time v0.3.0 // indirect
53-
gomodules.xyz/jsonpatch/v2 v2.3.0 // indirect
61+
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
5462
google.golang.org/appengine v1.6.7 // indirect
63+
google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9 // indirect
64+
google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19 // indirect
5565
google.golang.org/protobuf v1.31.0 // indirect
5666
gopkg.in/inf.v0 v0.9.1 // indirect
5767
gopkg.in/yaml.v2 v2.4.0 // indirect
5868
gopkg.in/yaml.v3 v3.0.1 // indirect
59-
k8s.io/api v0.27.2 // indirect
60-
k8s.io/apiextensions-apiserver v0.27.2 // indirect
61-
k8s.io/apimachinery v0.27.2 // indirect
62-
k8s.io/client-go v0.27.2 // indirect
63-
k8s.io/component-base v0.27.2 // indirect
64-
k8s.io/klog/v2 v2.90.1 // indirect
65-
k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect
66-
k8s.io/utils v0.0.0-20230209194617-a36077c30491 // indirect
69+
k8s.io/api v0.28.1 // indirect
70+
k8s.io/apiserver v0.28.1 // indirect
71+
k8s.io/client-go v0.28.1 // indirect
72+
k8s.io/component-base v0.28.1 // indirect
73+
k8s.io/klog/v2 v2.100.1 // indirect
74+
k8s.io/kube-openapi v0.0.0-20230717233707-2695361300d9 // indirect
6775
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
6876
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
6977
sigs.k8s.io/yaml v1.3.0 // indirect

0 commit comments

Comments
 (0)