mirror of
https://github.com/labring/sealos.git
synced 2026-08-29 01:39:49 +08:00
14a1998910
* 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>
44 lines
1.1 KiB
Go
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
|
|
}
|