Skip to content

Commit 6bc0b1b

Browse files
committed
feat: drop and lock deprecated features
These features don't make any sense right now, so remove them from the machine config to reduce clutter. Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
1 parent 362a8e6 commit 6bc0b1b

File tree

34 files changed

+120
-264
lines changed

34 files changed

+120
-264
lines changed

api/lock.binpb

5.62 KB
Binary file not shown.

api/resource/definitions/k8s/k8s.proto

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ message APIServerConfigSpec {
2020
map<string, string> extra_args = 7;
2121
repeated ExtraVolume extra_volumes = 8;
2222
map<string, string> environment_variables = 9;
23-
bool pod_security_policy_enabled = 10;
2423
string advertised_address = 11;
2524
Resources resources = 12;
2625
}

hack/release.toml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,18 @@ This field can be set to enable WOL and specify the desired WOL modes.
8181
title = "Embedded Config"
8282
description = """\
8383
Talos Linux now supports [embedding the machine configuration](https://www.talos.dev/v1.12/talos-guides/configuration/acquire/) directly into the boot image.
84+
"""
85+
86+
[notes.feature-lock]
87+
title = "Feature Lock"
88+
description = """\
89+
Talos now ignores the following machine configuration fields:
90+
91+
- `machine.features.rbac` (locked to true)
92+
- `machine.features.apidCheckExtKeyUsage` (locked to true)
93+
- `cluster.apiServer.disablePodSecurityPolicy` (locked to false)
94+
95+
These fields were removed from the default machine configuration schema in v1.12 and are now always set to the locked values above.
8496
"""
8597

8698
[make_deps]

internal/app/apid/main.go

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,6 @@ func apidMain() error {
6565

6666
log.SetFlags(log.Lshortfile | log.Ldate | log.Lmicroseconds | log.Ltime)
6767

68-
rbacEnabled := flag.Bool("enable-rbac", false, "enable RBAC for Talos API")
69-
extKeyUsageCheckEnabled := flag.Bool("enable-ext-key-usage-check", false, "enable check for client certificate ext key usage")
70-
7168
flag.Parse()
7269

7370
go runDebugServer(ctx)
@@ -95,9 +92,7 @@ func apidMain() error {
9592
return fmt.Errorf("failed to create OS-level TLS configuration: %w", err)
9693
}
9794

98-
if *extKeyUsageCheckEnabled {
99-
serverTLSConfig.VerifyPeerCertificate = verifyExtKeyUsage
100-
}
95+
serverTLSConfig.VerifyPeerCertificate = verifyExtKeyUsage
10196

10297
clientTLSConfig, err := tlsConfig.ClientConfig()
10398
if err != nil {
@@ -168,13 +163,8 @@ func apidMain() error {
168163
}
169164

170165
networkServer := func() *grpc.Server {
171-
mode := authz.Disabled
172-
if *rbacEnabled {
173-
mode = authz.Enabled
174-
}
175-
176166
injector := &authz.Injector{
177-
Mode: mode,
167+
Mode: authz.Enabled,
178168
}
179169

180170
if debug.Enabled {

internal/app/machined/internal/server/v1alpha1/v1alpha1_server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1190,7 +1190,7 @@ func (s *Server) Version(ctx context.Context, in *emptypb.Empty) (reply *machine
11901190
config := s.Controller.Runtime().Config()
11911191
if config != nil && config.Machine() != nil {
11921192
features = &machine.FeaturesInfo{
1193-
Rbac: config.Machine().Features().RBACEnabled(),
1193+
Rbac: true,
11941194
}
11951195
}
11961196

internal/app/machined/pkg/controllers/k8s/control_plane.go

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -189,18 +189,17 @@ func NewControlPlaneAPIServerController() *ControlPlaneAPIServerController {
189189
}
190190

191191
*res.TypedSpec() = k8s.APIServerConfigSpec{
192-
Image: cfgProvider.Cluster().APIServer().Image(),
193-
CloudProvider: cloudProvider,
194-
ControlPlaneEndpoint: cfgProvider.Cluster().Endpoint().String(),
195-
EtcdServers: []string{fmt.Sprintf("https://%s", nethelpers.JoinHostPort("localhost", constants.EtcdClientPort))},
196-
LocalPort: cfgProvider.Cluster().LocalAPIServerPort(),
197-
ServiceCIDRs: cfgProvider.Cluster().Network().ServiceCIDRs(),
198-
ExtraArgs: cfgProvider.Cluster().APIServer().ExtraArgs(),
199-
ExtraVolumes: convertVolumes(cfgProvider.Cluster().APIServer().ExtraVolumes()),
200-
EnvironmentVariables: cfgProvider.Cluster().APIServer().Env(),
201-
PodSecurityPolicyEnabled: !cfgProvider.Cluster().APIServer().DisablePodSecurityPolicy(),
202-
AdvertisedAddress: advertisedAddress,
203-
Resources: convertResources(cfgProvider.Cluster().APIServer().Resources()),
192+
Image: cfgProvider.Cluster().APIServer().Image(),
193+
CloudProvider: cloudProvider,
194+
ControlPlaneEndpoint: cfgProvider.Cluster().Endpoint().String(),
195+
EtcdServers: []string{fmt.Sprintf("https://%s", nethelpers.JoinHostPort("localhost", constants.EtcdClientPort))},
196+
LocalPort: cfgProvider.Cluster().LocalAPIServerPort(),
197+
ServiceCIDRs: cfgProvider.Cluster().Network().ServiceCIDRs(),
198+
ExtraArgs: cfgProvider.Cluster().APIServer().ExtraArgs(),
199+
ExtraVolumes: convertVolumes(cfgProvider.Cluster().APIServer().ExtraVolumes()),
200+
EnvironmentVariables: cfgProvider.Cluster().APIServer().Env(),
201+
AdvertisedAddress: advertisedAddress,
202+
Resources: convertResources(cfgProvider.Cluster().APIServer().Resources()),
204203
}
205204

206205
return nil
@@ -345,8 +344,6 @@ func NewControlPlaneBootstrapManifestsController() *ControlPlaneBootstrapManifes
345344
FlannelKubeServiceHost: flannelKubeServiceHost,
346345
FlannelKubeServicePort: flannelKubeServicePort,
347346

348-
PodSecurityPolicyEnabled: !cfgProvider.Cluster().APIServer().DisablePodSecurityPolicy(),
349-
350347
TalosAPIServiceEnabled: cfgProvider.Machine().Features().KubernetesTalosAPIAccess().Enabled(),
351348
}
352349

internal/app/machined/pkg/controllers/k8s/control_plane_static_pod.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -348,10 +348,6 @@ func (ctrl *ControlPlaneStaticPodController) manageAPIServer(ctx context.Context
348348

349349
enabledAdmissionPlugins := []string{"NodeRestriction"}
350350

351-
if cfg.PodSecurityPolicyEnabled {
352-
enabledAdmissionPlugins = append(enabledAdmissionPlugins, "PodSecurityPolicy")
353-
}
354-
355351
args := []string{
356352
"/usr/local/bin/kube-apiserver",
357353
}

internal/app/machined/pkg/system/services/apid.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -162,14 +162,6 @@ func (o *APID) Runner(r runtime.Runtime) (runner.Runner, error) {
162162
},
163163
}
164164

165-
if r.Config().Machine().Features().RBACEnabled() {
166-
args.ProcessArgs = append(args.ProcessArgs, "--enable-rbac")
167-
}
168-
169-
if r.Config().Machine().Features().ApidCheckExtKeyUsageEnabled() {
170-
args.ProcessArgs = append(args.ProcessArgs, "--enable-ext-key-usage-check")
171-
}
172-
173165
// Set the mounts.
174166
mounts := []specs.Mount{
175167
{Type: "bind", Destination: "/etc/ssl", Source: "/etc/ssl", Options: []string{"bind", "ro"}},

pkg/machinery/api/resource/definitions/k8s/k8s.pb.go

Lines changed: 16 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/machinery/api/resource/definitions/k8s/k8s_vtproto.pb.go

Lines changed: 0 additions & 33 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)