Documentation
¶
Index ¶
- Variables
- func AesDecrypt(ciphertextBase64 string) ([]byte, error)
- func AesEncrypt(data []byte) ([]byte, error)
- func AllIn(a, b []string) bool
- func AnyIn(a, b []string) bool
- func BoolPtr(b bool) *bool
- func CleanANSISequences(input string) string
- func ClearCacheByKey(cache *ristretto.Cache[string, any], cacheKey string)
- func CompareVersions(v1, v2 string) bool
- func DecodeBase64(encoded string) (string, error)
- func DeepCopy[T any](src T) (T, error)
- func DelayStartSchedule(delaySeconds int) string
- func DetectNamespace() string
- func EncodeBase64(str string) string
- func ExpandHomePath(path string) (string, error)
- func ExtractNumbers(version string) (int, error)
- func GenerateInstanceID() string
- func GetClientSet(clusterID string) (*kubernetes.Clientset, bool, error)
- func GetContextWithAdmin() context.Context
- func GetContextWithAdminFromCtx(ctx context.Context) context.Context
- func GetImageNameAndTag(imageName string) (string, string)
- func GetJWTClaims(c *response.Context, jwtTokenSecret string) (jwt.MapClaims, error)
- func GetJwtMapClaimsFromToken(authToken string, jwtTokenSecret string) (jwt.MapClaims, error)
- func GetLocalIPs() ([]string, error)
- func GetOrSetCache[T any](cache *ristretto.Cache[string, any], cacheKey string, ttl time.Duration, ...) (T, error)
- func GetUsernameFromToken(authToken string, jwtTokenSecret string) (string, error)
- func Int32Ptr(i int32) *int32
- func Int64Ptr(i int64) *int64
- func IsDecimal(s string) bool
- func IsTextFile(ob []byte) (bool, error)
- func MaskString(input string, visibleLength int) string
- func MustDecodeBase64(encoded string) string
- func ParseCertificate(data []byte) (*x509.Certificate, error)
- func ParseVersion(version string) []int
- func RandInt(min, max int) int
- func RandNDigitInt(n int) int
- func RandNLengthString(n int) string
- func RemoveEmptyLines(lines []string) []string
- func SanitizeFileName(filename string) string
- func SortByLastTimestamp(items []*unstructured.Unstructured) []*unstructured.Unstructured
- func SplitAndTrim(s, sep string) []string
- func ToInt(s string) int
- func ToInt32(s string) int32
- func ToInt64(str string) int64
- func ToInt64Slice(ids string) []int64
- func ToIntDefault(s string, i int) int
- func ToIntSlice(ids string) []int
- func ToJSON(v any) string
- func ToJSONCompact(v any) string
- func ToUInt(s string) uint
- func TruncateString(s string, length int) string
- func UintPtr(i uint) *uint
- func UpdateImageName(imageName string, imagePrefix string) string
- func UrlSafeBase64Decode(s string) (string, error)
- func UrlSafeBase64Encode(s string) string
- type LabelsManager
Constants ¶
This section is empty.
Variables ¶
var GetRestConfigByClusterID func(clusterID string) *rest.Config
GetRestConfigByClusterID 中文函数注释:可选注入的解析器,根据 ClusterID 返回对应的 RestConfig。 通过在外部(service 包)设置该回调,避免 utils 包直接依赖具体的集群服务,便于 lease、leader 等模块复用。
Functions ¶
func AesDecrypt ¶ added in v0.0.47
AesDecrypt 解密
func AllIn ¶ added in v0.0.75
AllIn 判断A数组中的元素,是否都在B数组中 a := []string{"apple", "banana"} b := []string{"apple", "banana", "cherry"}
fmt.Println(AllIn(a, b)) // true
a2 := []string{"apple", "kiwi"} fmt.Println(AllIn(a2, b)) // false
func AnyIn ¶ added in v0.0.128
AnyIn 判断A数组中的元素,是否有任意一个存在于B数组中 a := []string{"apple", "kiwi"} b := []string{"apple", "banana", "cherry"}
fmt.Println(AnyIn(a, b)) // true,因为"apple"在b中
a2 := []string{"grape", "kiwi"} fmt.Println(AnyIn(a2, b)) // false,因为没有元素在b中
func CleanANSISequences ¶ added in v0.0.47
func ClearCacheByKey ¶ added in v0.0.117
ClearCacheByKey 清空指定key的缓存
func CompareVersions ¶ added in v0.0.51
CompareVersions 函数用于比较两个版本号的大小 Example:
sort.Slice(versions, func(i, j int) bool {
return utils.CompareVersions(versions[i], versions[j])
})
func DelayStartSchedule ¶ added in v0.0.20
延迟启动DelayStartSchedule 设置一次性任务的执行时间,例如 5 秒后执行 返回 cron 表达式
func DetectNamespace ¶ added in v0.0.185
func DetectNamespace() string
DetectNamespace 中文函数注释:自动检测当前运行的命名空间;InCluster 读取 SA 文件,否则返回 default。
func EncodeBase64 ¶
func ExpandHomePath ¶ added in v0.0.50
ExpandHomePath 处理路径中的 ~ 符号,将其展开为用户主目录
func ExtractNumbers ¶ added in v0.0.51
ExtractNumbers 函数用于从版本号中提取数字并转换为整数
func GenerateInstanceID ¶ added in v0.0.185
func GenerateInstanceID() string
GenerateInstanceID 生成当前实例的唯一身份标识,规则为 hostname-随机3位。
func GetClientSet ¶ added in v0.0.185
func GetClientSet(clusterID string) (*kubernetes.Clientset, bool, error)
GetClientSet 中文函数注释:获取 Kubernetes ClientSet。 优先顺序: 1. 指定 ClusterID(外部集群) 2. InCluster 配置 3. 本地 KUBECONFIG 或 ~/.kube/config 返回值第二个布尔含义:是否存在可用集群(用于决定是否进行选举/租约相关操作)。
func GetContextWithAdmin ¶ added in v0.0.75
GetContextWithAdmin 返回一个包含平台管理员角色信息的新上下文对象。
func GetContextWithAdminFromCtx ¶ added in v0.0.187
GetContextWithAdminFromCtx 返回一个包含平台管理员角色信息的新上下文对象。
func GetImageNameAndTag ¶ added in v0.0.25
获取镜像名称及Tag
func GetJWTClaims ¶ added in v0.0.73
GetJWTClaims 从 Gin 上下文的请求头或查询参数中提取并解析 JWT,返回其 claims。 若未提供 Token、Token 无效或 claims 解析失败,则返回相应错误。
func GetJwtMapClaimsFromToken ¶ added in v0.0.102
GetJwtMapClaimsFromToken 解析并验证给定的 JWT token 字符串,返回其中的 claims。 如果 token 缺失、无效或 claims 解析失败,则返回相应错误。
@param authToken 需要解析的 JWT token 字符串,可带有 "Bearer " 前缀。 @param jwtTokenSecret 用于验证 token 的密钥。 @return jwt.MapClaims 解析出的 JWT claims。 @return error 解析或验证失败时返回的错误。
func GetOrSetCache ¶ added in v0.0.117
func GetUsernameFromToken ¶ added in v0.0.102
GetUsernameFromToken 从JWT令牌字符串中解析并返回用户名。 如果令牌无效或未包含用户名字段,则返回错误。
func IsTextFile ¶
func MaskString ¶ added in v0.0.14
MaskString 用于将字符串的前n个字符显示出来,后面的部分用 * 替代
func MustDecodeBase64 ¶
func ParseCertificate ¶ added in v0.0.134
func ParseCertificate(data []byte) (*x509.Certificate, error)
ParseCertificate 判断证书类型 进行解析
func ParseVersion ¶ added in v0.0.51
ParseVersion 函数用于将版本号字符串解析为数字切片
func RandNDigitInt ¶
RandNDigitInt generates a random number with n digits
func RandNLengthString ¶
RandNLengthString generates a random string of specified length using the default charset
func RemoveEmptyLines ¶ added in v0.0.51
RemoveEmptyLines 删除字符串切片中的空行
func SanitizeFileName ¶
SanitizeFileName 去除文件名中的非法字符,并替换为下划线 '_'
func SortByLastTimestamp ¶ added in v0.0.3
func SortByLastTimestamp(items []*unstructured.Unstructured) []*unstructured.Unstructured
func SplitAndTrim ¶ added in v0.0.130
SplitAndTrim 拆分字符串并去除每项前后空白
func ToInt64Slice ¶
func ToIntDefault ¶
func ToJSONCompact ¶ added in v0.0.187
ToJSONCompact 将任意结构体转换为紧凑的 JSON 字符串 用于机器处理场景,输出不进行格式美化,尽可能减少字符数。
func TruncateString ¶
func UpdateImageName ¶
UpdateImageName 检查镜像名称是否包含前缀,只能是harbor.power.sd.k9s.space 是否已harbor.power.sd.k9s.space开头,是,没问题。 否,检查是否有其他前缀,删除,替换为harbor.power.sd.k9s.space 没有,增加harbor.power.sd.k9s.space前缀 检查镜像名称是否已以指定前缀开头
func UrlSafeBase64Decode ¶ added in v0.0.91
func UrlSafeBase64Encode ¶ added in v0.0.185
Types ¶
type LabelsManager ¶
LabelsManager 结构体,包含共享标签
func NewLabelsManager ¶
func NewLabelsManager(labels map[string]string) *LabelsManager
NewLabelsManager 构造函数,初始化并返回一个 LabelsManager
func (*LabelsManager) AddCustomLabel ¶
func (lm *LabelsManager) AddCustomLabel(meta *metav1.ObjectMeta, key, value string)
AddCustomLabel 动态添加用户指定的标签
func (*LabelsManager) AddLabels ¶
func (lm *LabelsManager) AddLabels(meta *metav1.ObjectMeta)
AddLabels 给任意 Kubernetes 资源对象添加共享标签