Documentation
¶
Index ¶
- Constants
- func AutoSetSelfImpersonationInConfig(cfg *rest.Config)
- func ByteCountIEC(b int64) string
- func CreateNamespace(ctx context.Context, kubeClient client.Client, name string, ...) error
- func CreateOrUpdate(ctx context.Context, cli client.Client, obj client.Object) (controllerutil.OperationResult, error)
- func CreateOrUpdateNamespace(ctx context.Context, kubeClient client.Client, name string, ...) error
- func DumpJSON(o interface{}) string
- func EnablePprof(pprofAddr string, errChan chan error)
- func EqualSlice(a, b []string) bool
- func EscapeResourceNameToLabelValue(resourceName string) string
- func FilterObjectsByFieldSelector(objects []runtime.Object, fieldSelector fields.Selector) []runtime.Object
- func GetBoxDrawingString(up bool, down bool, left bool, right bool, padLeft int, padRight int) string
- func GetCertificateCommonNameAndOrganizationsFromConfig(cfg *rest.Config) (string, []string)
- func GetCertificateSubject(certificate []byte) (*pkix.Name, error)
- func GetFilenameFromLocalOrRemote(path string) (string, error)
- func GetNamespace(ctx context.Context, kubeClient client.Client, name string) (*corev1.Namespace, error)
- func GetPodsLogs(ctx context.Context, config *rest.Config, containerName string, ...) error
- func GetServiceAccountSubjectFromConfig(cfg *rest.Config) string
- func GetTokenSubject(token string) (string, error)
- func GetUserInfoFromConfig(cfg *rest.Config) *authv1.UserInfo
- func IsClusterScope(gvk schema.GroupVersionKind, mapper meta.RESTMapper) (bool, error)
- func IsEmptyDir(path string) (bool, error)
- func IsJSONYAMLorCUEFile(path string) bool
- func IsValidURL(strURL string) bool
- func JoinURL(baseURL, subPath string) (string, error)
- func MapKey2Array(source map[string]string) []string
- func ParseAPIServerEndpoint(server string) (string, error)
- func PatchNamespace(ctx context.Context, kubeClient client.Client, ns *corev1.Namespace, ...) error
- func ReadRemoteOrLocalPath(pathOrURL string, saveLocal bool) ([]byte, error)
- func Sanitize(s string) string
- func SliceIncludeSlice(a, b []string) bool
- func StrictUnmarshal(bs []byte, dest interface{}) error
- func StringsContain(items []string, source string) bool
- func ThreeWaySliceCompare(a []string, b []string) ([]string, []string, []string)
- func ToString(i interface{}) string
- func TryCancelRequest(rt http.RoundTripper, req *http.Request)
- func UpdateNamespace(ctx context.Context, kubeClient client.Client, name string, ...) error
- type Content
- type FileData
- type FilterFunc
- type GiteeContent
- type GithubContent
- type GitlabContent
- type LocalContent
- type MutateOption
- type OssContent
Constants ¶
const TypeGitee = "gitee"
TypeGitee represents gitee
const TypeGithub = "github"
TypeGithub represents github
const TypeGitlab = "gitlab"
TypeGitlab represents gitlab
const TypeLocal = "local"
TypeLocal represents github
const TypeOss = "oss"
TypeOss represent oss
const TypeUnknown = "unknown"
TypeUnknown represents parse failed
Variables ¶
This section is empty.
Functions ¶
func AutoSetSelfImpersonationInConfig ¶ added in v1.4.0
func AutoSetSelfImpersonationInConfig(cfg *rest.Config)
AutoSetSelfImpersonationInConfig set impersonate username and group to the identity in the original rest config
func ByteCountIEC ¶ added in v1.3.0
func ByteCountIEC(b int64) string
ByteCountIEC convert number of bytes into readable string borrowed from https://yourbasic.org/golang/formatting-byte-size-to-human-readable-format/
func CreateNamespace ¶ added in v1.2.0
func CreateNamespace(ctx context.Context, kubeClient client.Client, name string, options ...MutateOption) error
CreateNamespace will create a namespace with mutate option
func CreateOrUpdate ¶ added in v1.4.0
func CreateOrUpdate(ctx context.Context, cli client.Client, obj client.Object) (controllerutil.OperationResult, error)
CreateOrUpdate create or update a kubernetes object
func CreateOrUpdateNamespace ¶ added in v1.2.0
func CreateOrUpdateNamespace(ctx context.Context, kubeClient client.Client, name string, options ...MutateOption) error
CreateOrUpdateNamespace will create a namespace if not exist, it will also update a namespace if exists It will report an error if the labels conflict while it will override the annotations
func EnablePprof ¶ added in v1.5.6
func EnablePprof(pprofAddr string, errChan chan error)
EnablePprof listen to the pprofAddr and export the profiling results If the errChan is nil, this function will panic when the listening error occurred.
func EqualSlice ¶ added in v1.3.0
func EqualSlice(a, b []string) bool
EqualSlice checks if two slice are equal
func EscapeResourceNameToLabelValue ¶ added in v1.5.0
func EscapeResourceNameToLabelValue(resourceName string) string
EscapeResourceNameToLabelValue parse characters in resource name to label valid name
func FilterObjectsByFieldSelector ¶ added in v1.7.0
func FilterObjectsByFieldSelector(objects []runtime.Object, fieldSelector fields.Selector) []runtime.Object
FilterObjectsByFieldSelector supports all field queries per type
func GetBoxDrawingString ¶ added in v1.3.1
func GetBoxDrawingString(up bool, down bool, left bool, right bool, padLeft int, padRight int) string
GetBoxDrawingString get line drawing string, see https://en.wikipedia.org/wiki/Box-drawing_character nolint:gocyclo
func GetCertificateCommonNameAndOrganizationsFromConfig ¶ added in v1.4.0
func GetCertificateCommonNameAndOrganizationsFromConfig(cfg *rest.Config) (string, []string)
GetCertificateCommonNameAndOrganizationsFromConfig extract CommonName and Organizations from Certificate
func GetCertificateSubject ¶ added in v1.4.0
func GetCertificateSubject(certificate []byte) (*pkix.Name, error)
GetCertificateSubject extract Subject from Certificate
func GetFilenameFromLocalOrRemote ¶ added in v1.5.0
func GetFilenameFromLocalOrRemote(path string) (string, error)
GetFilenameFromLocalOrRemote returns the filename of a local path or a URL. It doesn't guarantee that the file or URL actually exists.
func GetNamespace ¶ added in v1.4.0
func GetNamespace(ctx context.Context, kubeClient client.Client, name string) (*corev1.Namespace, error)
GetNamespace will return a namespace with mutate option
func GetPodsLogs ¶ added in v1.6.0
func GetPodsLogs(ctx context.Context, config *rest.Config, containerName string, selectPods []*querytypes.PodBase, tmpl string, logC chan<- string, tailLines *int64) error
GetPodsLogs get logs from pods
func GetServiceAccountSubjectFromConfig ¶ added in v1.4.0
func GetServiceAccountSubjectFromConfig(cfg *rest.Config) string
GetServiceAccountSubjectFromConfig extract ServiceAccountName subject from token
func GetTokenSubject ¶ added in v1.4.0
func GetTokenSubject(token string) (string, error)
GetTokenSubject extract the subject field from the jwt token
func GetUserInfoFromConfig ¶ added in v1.4.0
func GetUserInfoFromConfig(cfg *rest.Config) *authv1.UserInfo
GetUserInfoFromConfig extract UserInfo from KubeConfig
func IsClusterScope ¶ added in v1.5.6
func IsClusterScope(gvk schema.GroupVersionKind, mapper meta.RESTMapper) (bool, error)
IsClusterScope check if the gvk is cluster scoped
func IsEmptyDir ¶ added in v1.5.0
func IsEmptyDir(path string) (bool, error)
IsEmptyDir checks if a given path is an empty directory
func IsJSONYAMLorCUEFile ¶ added in v1.5.0
func IsJSONYAMLorCUEFile(path string) bool
IsJSONYAMLorCUEFile check if the path is a json or yaml file
func IsValidURL ¶ added in v1.2.3
func IsValidURL(strURL string) bool
IsValidURL checks whether the given string is a valid URL or not
func JoinURL ¶ added in v1.4.0
func JoinURL(baseURL, subPath string) (string, error)
JoinURL join baseURL and subPath to be new URL
func MapKey2Array ¶ added in v1.3.0
func MapKey2Array(source map[string]string) []string
MapKey2Array convery map keys to array
func ParseAPIServerEndpoint ¶ added in v1.1.9
func ParseAPIServerEndpoint(server string) (string, error)
ParseAPIServerEndpoint automatically construct the full url of APIServer It will patch port and scheme if not exists
func PatchNamespace ¶ added in v1.7.3
func PatchNamespace(ctx context.Context, kubeClient client.Client, ns *corev1.Namespace, options ...MutateOption) error
PatchNamespace will patch a namespace
func ReadRemoteOrLocalPath ¶ added in v1.5.0
func ReadRemoteOrLocalPath(pathOrURL string, saveLocal bool) ([]byte, error)
ReadRemoteOrLocalPath will read a path remote or locally
func Sanitize ¶ added in v1.2.0
func Sanitize(s string) string
Sanitize the inputs by removing line endings
func SliceIncludeSlice ¶ added in v1.3.0
func SliceIncludeSlice(a, b []string) bool
SliceIncludeSlice the a slice include the b slice
func StrictUnmarshal ¶ added in v1.3.0
func StrictUnmarshal(bs []byte, dest interface{}) error
StrictUnmarshal unmarshal target structure and disallow unknown fields
func StringsContain ¶ added in v1.2.0
func StringsContain(items []string, source string) bool
StringsContain strings contain
func ThreeWaySliceCompare ¶ added in v1.3.0
func ThreeWaySliceCompare(a []string, b []string) ([]string, []string, []string)
ThreeWaySliceCompare will compare two string slice, with the three return values: [both in A and B], [only in A], [only in B]
func ToString ¶ added in v1.7.0
func ToString(i interface{}) string
ToString convery an interface to a string type.
func TryCancelRequest ¶ added in v1.3.0
func TryCancelRequest(rt http.RoundTripper, req *http.Request)
TryCancelRequest tries to cancel the request by traversing round trippers
func UpdateNamespace ¶ added in v1.2.0
func UpdateNamespace(ctx context.Context, kubeClient client.Client, name string, options ...MutateOption) error
UpdateNamespace will update a namespace with mutate option
Types ¶
type Content ¶ added in v1.2.0
type Content struct {
OssContent
GithubContent
GiteeContent
GitlabContent
LocalContent
}
Content contains different type of content needed when building Registry
func Parse ¶ added in v1.2.0
func Parse(addr string) (string, *Content, error)
Parse will parse config from address
func ParseGitlab ¶ added in v1.4.0
func ParseGitlab(addr, repo string) (string, *Content, error)
ParseGitlab will parse gitlab config from address
type FileData ¶ added in v1.4.0
type FileData struct {
Path string
Data []byte
}
FileData data of a file at the path
func LoadDataFromPath ¶ added in v1.4.0
func LoadDataFromPath(ctx context.Context, path string, pathFilter func(string) bool) ([]FileData, error)
LoadDataFromPath load FileData from path If path is an url, fetch the data from the url If path is a file, fetch the data from the file If path is a dir, fetch the data from all the files inside the dir that passes the pathFilter
type FilterFunc ¶ added in v1.7.0
type FilterFunc func(object runtime.Object) bool
FilterFunc return true if object contains field selector
type GiteeContent ¶ added in v1.3.0
type GiteeContent struct {
Owner string `json:"gitee_owner"`
Repo string `json:"gitee_repo"`
Path string `json:"gitee_path"`
Ref string `json:"gitee_ref"`
}
GiteeContent for cap center
type GithubContent ¶ added in v1.2.0
type GithubContent struct {
Owner string `json:"owner"`
Repo string `json:"repo"`
Path string `json:"path"`
Ref string `json:"ref"`
}
GithubContent for cap center
type GitlabContent ¶ added in v1.4.0
type GitlabContent struct {
Host string `json:"gitlab_host"`
Owner string `json:"gitlab_owner"`
Repo string `json:"gitlab_repo"`
Path string `json:"gitlab_path"`
Ref string `json:"gitlab_ref"`
PId int `json:"gitlab_pid"`
}
GitlabContent for cap center
type LocalContent ¶ added in v1.2.0
type LocalContent struct {
AbsDir string `json:"abs_dir"`
}
LocalContent for local registry
type MutateOption ¶ added in v1.2.0
type MutateOption func(object metav1.Object) error
MutateOption defines the function pattern for mutate
func MergeNoConflictLabels ¶ added in v1.2.0
func MergeNoConflictLabels(labels map[string]string) MutateOption
MergeNoConflictLabels will merge the existing labels with the labels passed in, it will report conflicts if exists
func MergeOverrideAnnotations ¶ added in v1.2.0
func MergeOverrideAnnotations(annotations map[string]string) MutateOption
MergeOverrideAnnotations will merge the existing annotations and override by the annotations passed in
func MergeOverrideLabels ¶ added in v1.2.0
func MergeOverrideLabels(labels map[string]string) MutateOption
MergeOverrideLabels will merge the existing labels and override by the labels passed in
type OssContent ¶ added in v1.2.0
type OssContent struct {
EndPoint string `json:"bucket_url"`
Bucket string `json:"bucket"`
}
OssContent for oss registry