api

package
v0.4.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KubeSphereSystem  = "kubesphere-system"
	ConfigMapDataKey  = "chart.tgz"
	KubeSphereManaged = "kubesphere.io/managed"
)
View Source
const MetadataFilename = "extension.yaml"

Variables

This section is empty.

Functions

func DeepCopy

func DeepCopy(md *chart.Metadata) *chart.Metadata

func IsLocalFile

func IsLocalFile(path string) bool

func WithEncodeIcon

func WithEncodeIcon(encodeIcon bool) func(opts *Options)

Types

type Extension

type Extension struct {
	Metadata *Metadata
	// ChartURL valid when the chart source online.
	ChartURL string
	// ChartData valid when the chart source local.
	ChartData []byte
}

func (*Extension) ToKubernetesResources

func (ext *Extension) ToKubernetesResources() []runtimeclient.Object

type Metadata

type Metadata struct {
	APIVersion string `json:"apiVersion" validate:"required"`
	// The name of the chart. Required.
	Name                 string                                               `json:"name" validate:"required"`
	Version              string                                               `json:"version" validate:"required"`
	DisplayName          corev1alpha1.Locales                                 `json:"displayName" validate:"required"`
	Description          corev1alpha1.Locales                                 `json:"description" validate:"required"`
	Category             string                                               `json:"category" validate:"required"`
	Keywords             []string                                             `json:"keywords,omitempty"`
	Home                 string                                               `json:"home,omitempty"`
	Docs                 string                                               `json:"docs,omitempty"`
	Sources              []string                                             `json:"sources,omitempty"`
	KubeVersion          string                                               `json:"kubeVersion,omitempty"`
	KSVersion            string                                               `json:"ksVersion,omitempty"`
	Maintainers          []*chart.Maintainer                                  `json:"maintainers,omitempty"`
	Provider             map[corev1alpha1.LanguageCode]*corev1alpha1.Provider `json:"provider" validate:"required"`
	StaticFileDirectory  string                                               `json:"staticFileDirectory,omitempty"`
	Icon                 string                                               `json:"icon" validate:"required"`
	Screenshots          []string                                             `json:"screenshots,omitempty"`
	Dependencies         []*chart.Dependency                                  `json:"dependencies,omitempty"`
	InstallationMode     corev1alpha1.InstallationMode                        `json:"installationMode,omitempty"`
	Namespace            string                                               `json:"namespace,omitempty"`
	Images               []string                                             `json:"images,omitempty"`
	ExternalDependencies []corev1alpha1.ExternalDependency                    `json:"externalDependencies,omitempty"`
	Annotations          map[string]string                                    `json:"annotations,omitempty"`
}

func LoadMetadata

func LoadMetadata(path string, options ...func(*Options)) (*Metadata, error)

func ParseMetadata

func ParseMetadata(data []byte) (*Metadata, error)

func (*Metadata) ToChartYaml

func (md *Metadata) ToChartYaml() *chart.Metadata

func (*Metadata) Validate

func (md *Metadata) Validate() error

type Options

type Options struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳