Files
sealos/lifecycle/pkg/runtime/interface.go
T
yy 14a1998910 fix(lifecycle): support Kubernetes 1.33 upgrade flow (#6929)
* fix: wait for registry before pulling kubeadm images

* fix: support kubeadm upgrade to newer minors

* fix: recover kubelet config during upgrades

* fix: handle kubelet upgrade recovery edge cases

* fix: refresh rootfs sealctl before use

* fix: tolerate existing temporary registry

* fix: ignore kubeadm upgrade health check job

* fix(kubernetes): align cert identity handling with kubeadm v1.29+ (#83)

* build(lifecycle): auto-detect C compiler and CC

Add CC and CC_<platform> Makefile options and implement compiler
resolution for CGO-enabled sealos/sealctl builds. Update DEVELOPGUIDE
with usage and a cross-compile example.

Signed-off-by: Yun Pan <dinoallo@netc.it>

* fix(kubernetes): align cert identity handling with kubeadm v1.29+

- migrate remote control-plane certs across the v1.29 identity boundary
- repair remote admin.conf on all masters during upgrade
- keep local sealos PKI and kubeconfigs aligned with the v1.29+ model
- keep super-admin.conf local-only during renew and upgrade flows
- preserve pre-v1.31 long-lived cert policy and use v1beta4 fields on
  v1.31+
- fix v1.31 remote admin.conf migration config distribution across
  masters

Signed-off-by: Yun Pan <dinoallo@netc.it>

---------

Signed-off-by: Yun Pan <dinoallo@netc.it>

* fix(lifecycle): sync and upgrade codex

* fix: cert and add timeout for cluster role binding create

---------

Signed-off-by: Yun Pan <dinoallo@netc.it>
Co-authored-by: Yun Pan <dinoallo@netc.it>
2026-06-10 16:44:57 +08:00

44 lines
1.1 KiB
Go

// Copyright © 2023 sealos.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package runtime
type Interface interface {
Ruler
Init() error
Reset() error
ScaleUp(newMasterIPList []string, newNodeIPList []string) error
ScaleDown(deleteMastersIPList []string, deleteNodesIPList []string) error
Upgrade(version string) error
GetRawConfig() ([]byte, error)
}
type Ruler interface {
SyncNodeIPVS(masters, nodes []string) error
}
type CertRenewOptions struct {
Targets []string
Groups []string
}
type CertManager interface {
Renew(opts CertRenewOptions) error
UpdateCertSANs(certSANs []string) error
}
type Config interface {
GetComponents() []any
}