Documentation ¶
Index ¶
- Constants
- func CleanupDeployables(cl client.Client, channel types.NamespacedName) error
- func DplGenerateNameStr(deployable *dplv1.Deployable) string
- func FindDeployableForChannelsInMap(cl client.Client, deployable *dplv1.Deployable, channelnsMap map[string]string, ...) (*dplv1.Deployable, map[string]*dplv1.Deployable, error)
- func GenerateChannelMap(cl client.Client, log logr.Logger) (map[string]*chv1.Channel, error)
- func GenerateDeployableForChannel(deployable *dplv1.Deployable, channel types.NamespacedName) (*dplv1.Deployable, error)
- func GetChartIndex(chnPathname string, chnRefCfgMap *corev1.ConfigMap, logger logr.Logger) (*http.Response, error)
- func GetHelmRepoIndex(channelPathName string, chnRefCfgMap *corev1.ConfigMap, ...) (*repo.IndexFile, error)
- func LoadLocalIdx(idxPath string, cfg *corev1.ConfigMap, lgger logr.Logger) (*http.Response, error)
- func LocateChannel(cl client.Client, name string) (*chv1.Channel, error)
- func UpdateServingChannel(servingChannel string, channelKey string, action string) string
- func ValidateDeployableInChannel(deployable *dplv1.Deployable, channel *chv1.Channel) bool
- func ValidateDeployableToChannel(deployable *dplv1.Deployable, channel *chv1.Channel) bool
- type AWSHandler
- func (h *AWSHandler) Create(bucket string) error
- func (h *AWSHandler) Delete(bucket, name string) error
- func (h *AWSHandler) Exists(bucket string) error
- func (h *AWSHandler) Get(bucket, name string) (DeployableObject, error)
- func (h *AWSHandler) InitObjectStoreConnection(endpoint, accessKeyID, secretAccessKey string) error
- func (h *AWSHandler) List(bucket string) ([]string, error)
- func (h *AWSHandler) Put(bucket string, dplObj DeployableObject) error
- type ChannelDescription
- type ChannelDescriptor
- func (desc *ChannelDescriptor) ConnectWithResourceHost(chn *chv1.Channel, kubeClient client.Client, log logr.Logger, ...) error
- func (desc *ChannelDescriptor) Delete(chname string)
- func (desc *ChannelDescriptor) Get(chname string) (chdesc *ChannelDescription, ok bool)
- func (desc *ChannelDescriptor) GetBucketNameByChannel(chName string) string
- func (desc *ChannelDescriptor) Put(chname string, chdesc *ChannelDescription)
- func (desc *ChannelDescriptor) SetObjectStorageForChannel(chn *chv1.Channel, objStoreHandler ObjectStore) bool
- type DeployableObject
- type FakeObjectStore
- func (m *FakeObjectStore) Create(bucket string) error
- func (m *FakeObjectStore) Delete(bucket, name string) error
- func (m *FakeObjectStore) Exists(bucket string) error
- func (m *FakeObjectStore) Get(bucket, name string) (DeployableObject, error)
- func (m *FakeObjectStore) InitObjectStoreConnection(endpoint, accessKeyID, secretAccessKey string) error
- func (m *FakeObjectStore) List(bucket string) ([]string, error)
- func (m *FakeObjectStore) Put(bucket string, dplObj DeployableObject) error
- type LoadIndexPageFunc
- type ObjectStore
Constants ¶
const ( // SecretMapKeyAccessKeyID is key of accesskeyid in secret SecretMapKeyAccessKeyID = "AccessKeyID" // SecretMapKeySecretAccessKey is key of secretaccesskey in secret SecretMapKeySecretAccessKey = "SecretAccessKey" //metadata key for stroing the deployable generatename name DeployableGenerateNameMeta = "x-amz-meta-generatename" //Deployable generate name key within the meta map DployableMateGenerateNameKey = "Generatename" //metadata key for stroing the deployable generatename name DeployableVersionMeta = "x-amz-meta-deployableversion" //Deployable generate name key within the meta map DeployableMetaVersionKey = "Deployableversion" )
const ( // HelmCRKind is kind of the Helm CR HelmCRKind = "HelmRelease" // SubscriptionCRKind is kind of the Subscription CR SubscriptionCRKind = "Subscription" // HelmCRAPIVersion is APIVersion of the Helm CR HelmCRAPIVersion = "apps.open-cluster-management.io/v1" // HelmCRChartName is spec.ChartName of the Helm CR HelmCRChartName = "chartName" // HelmCRReleaseName is spec.ReleaseName of the Helm CR HelmCRReleaseName = "releaseName" // HelmCRVersion is spec.Version of the Helm CR HelmCRVersion = "version" // HelmCRSource is spec.Source of the Helm CR HelmCRSource = "source" // HelmCRSourceType is spec.Source.Type of the Helm CR HelmCRSourceType = "type" // HelmCRSourceHelm is spec.Source.Helmrepo of the Helm CR HelmCRSourceHelm = "helmrepo" // HelmCRSourceGit is spec.Source.Github of the Helm CR HelmCRSourceGit = "github" // HelmCRRepoURL is spec.Source.Github.Urls or spec.Source.Helmrepo.Urls of the Helm CR HelmCRRepoURL = "urls" // HelmCRGitRepoChartPath is spec.Source.Github.ChartPath of the Helm CR HelmCRGitRepoChartPath = "chartPath" //Channel type meta for testing case ChannelTypeKind = "Channel" ChannelTypeAPIVersion = "v1" //Deployable type meta for testing case DeployableTypeKind = "Deployable" DeployableTypeAPIVersion = "v1" )
const InsecureSkipVerifyFlag = "insecureSkipVerify"
Variables ¶
This section is empty.
Functions ¶
func CleanupDeployables ¶
func CleanupDeployables(cl client.Client, channel types.NamespacedName) error
CleanupDeployables check all deployables in certain namespace delete all has the channel set the given channel name
func DplGenerateNameStr ¶
func DplGenerateNameStr(deployable *dplv1.Deployable) string
DplGenerateNameStr will generate a string for the dpl generate name
func FindDeployableForChannelsInMap ¶ added in v1.0.0
func FindDeployableForChannelsInMap(cl client.Client, deployable *dplv1.Deployable, channelnsMap map[string]string, log logr.Logger) (*dplv1.Deployable, map[string]*dplv1.Deployable, error)
FindDeployableForChannelsInMap check all deployables in certain namespace delete all has the channel set the given channel namespace channelnsMap is a set(), which is used to check up if the dpl is within a channel or not
func GenerateChannelMap ¶
GenerateChannelMap finds all channels and build map with key of channel name
func GenerateDeployableForChannel ¶
func GenerateDeployableForChannel(deployable *dplv1.Deployable, channel types.NamespacedName) (*dplv1.Deployable, error)
GenerateDeployableForChannel generate a copy of deployable for channel with label, annotation, template and channel info
func GetChartIndex ¶
func GetHelmRepoIndex ¶
func GetHelmRepoIndex(channelPathName string, chnRefCfgMap *corev1.ConfigMap, loadIdx LoadIndexPageFunc, logger logr.Logger) (*repo.IndexFile, error)
GetHelmRepoIndex get the index file from helm repository
func LoadLocalIdx ¶
func LocateChannel ¶
LocateChannel finds channel by name
func UpdateServingChannel ¶
UpdateServingChannel add/remove the given channel to the current serving channel
func ValidateDeployableInChannel ¶
func ValidateDeployableInChannel(deployable *dplv1.Deployable, channel *chv1.Channel) bool
ValidateDeployableInChannel check if a deployable rightfully in channel
func ValidateDeployableToChannel ¶
func ValidateDeployableToChannel(deployable *dplv1.Deployable, channel *chv1.Channel) bool
ValidateDeployableToChannel check if a deployable can be promoted to channel
Types ¶
type AWSHandler ¶
AWSHandler handles connections to aws
func (*AWSHandler) Delete ¶
func (h *AWSHandler) Delete(bucket, name string) error
Delete delete existing object
func (*AWSHandler) Exists ¶
func (h *AWSHandler) Exists(bucket string) error
Exists Checks whether a bucket exists and is accessible
func (*AWSHandler) Get ¶
func (h *AWSHandler) Get(bucket, name string) (DeployableObject, error)
Get get existing object
func (*AWSHandler) InitObjectStoreConnection ¶
func (h *AWSHandler) InitObjectStoreConnection(endpoint, accessKeyID, secretAccessKey string) error
InitObjectStoreConnection connect to object store
func (*AWSHandler) List ¶
func (h *AWSHandler) List(bucket string) ([]string, error)
List all objects in bucket
func (*AWSHandler) Put ¶
func (h *AWSHandler) Put(bucket string, dplObj DeployableObject) error
Put create new object
type ChannelDescription ¶
type ChannelDescription struct { Channel *chv1.Channel Bucket string ObjectStore }
ChannelDescription contains channel and its object store information
type ChannelDescriptor ¶
ChannelDescriptor stores channel descriptions and object store connections
func CreateObjectStorageChannelDescriptor ¶
func CreateObjectStorageChannelDescriptor() (*ChannelDescriptor, error)
CreateChannelDescriptor - creates an instance of ChannelDescriptor
func (*ChannelDescriptor) ConnectWithResourceHost ¶
func (desc *ChannelDescriptor) ConnectWithResourceHost(chn *chv1.Channel, kubeClient client.Client, log logr.Logger, objStoreHandler ...ObjectStore) error
ConnectWithResourceHost validates and makes channel object store connection
func (*ChannelDescriptor) Delete ¶
func (desc *ChannelDescriptor) Delete(chname string)
Delete the channel description
func (*ChannelDescriptor) Get ¶
func (desc *ChannelDescriptor) Get(chname string) (chdesc *ChannelDescription, ok bool)
Get channel description for a channel
func (*ChannelDescriptor) GetBucketNameByChannel ¶
func (desc *ChannelDescriptor) GetBucketNameByChannel(chName string) string
func (*ChannelDescriptor) Put ¶
func (desc *ChannelDescriptor) Put(chname string, chdesc *ChannelDescription)
Put a new channel description
func (*ChannelDescriptor) SetObjectStorageForChannel ¶
func (desc *ChannelDescriptor) SetObjectStorageForChannel(chn *chv1.Channel, objStoreHandler ObjectStore) bool
SetObjectStorageForChannel is mainly for testing purpose
type DeployableObject ¶
type FakeObjectStore ¶
type FakeObjectStore struct { //map[bucket]map[objName]DeployableObject[Name, Content] Clt map[string]map[string]DeployableObject }
func (*FakeObjectStore) Create ¶
func (m *FakeObjectStore) Create(bucket string) error
func (*FakeObjectStore) Delete ¶
func (m *FakeObjectStore) Delete(bucket, name string) error
func (*FakeObjectStore) Exists ¶
func (m *FakeObjectStore) Exists(bucket string) error
it's odd that we request the storage to be pre-set
func (*FakeObjectStore) Get ¶
func (m *FakeObjectStore) Get(bucket, name string) (DeployableObject, error)
func (*FakeObjectStore) InitObjectStoreConnection ¶
func (m *FakeObjectStore) InitObjectStoreConnection(endpoint, accessKeyID, secretAccessKey string) error
func (*FakeObjectStore) Put ¶
func (m *FakeObjectStore) Put(bucket string, dplObj DeployableObject) error
type LoadIndexPageFunc ¶
type ObjectStore ¶
type ObjectStore interface { InitObjectStoreConnection(endpoint, accessKeyID, secretAccessKey string) error Exists(bucket string) error Create(bucket string) error List(bucket string) ([]string, error) Put(bucket string, dplObj DeployableObject) error Delete(bucket, name string) error Get(bucket, name string) (DeployableObject, error) }
ObjectStore interface