model

package
v0.53.0 Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2019 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package model contains API / model structs

  • Copyright © 2019 Zedge, Inc. *
  • 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 model :

Index

Constants

View Source
const (
	DefaultTagValue        = "image.tag"
	DefaultRepoValue       = "image.repository"
	DefaultRepoPrefixValue = "image.prefix"
)

Variables

This section is empty.

Functions

func KubeContextName

func KubeContextName(envName string) string

func ResolvePathFromDir

func ResolvePathFromDir(path, dir string) string

func ResolvePathFromFile

func ResolvePathFromFile(path, file string) string

Types

type AggregateError

type AggregateError struct {
	Errors []error
}

func NewAggregateError

func NewAggregateError(errors []error) *AggregateError

func (AggregateError) Error

func (a AggregateError) Error() string

type AksProvider

type AksProvider struct {
	ResourceGroup string `json:"resourceGroup"`
	ClusterName   string `json:"clusterName"`
}

type Chart

type Chart struct {
	Reference *string `json:"reference,omitempty"`
	Dir       *string `json:"dir,omitempty"`
	Version   *string `json:"version,omitempty"`
}

type ChartValue

type ChartValue struct {
	Key        string         `json:"key"`
	InputValue FlexString     `json:"value,omitempty"`
	Value      string         `json:"-"`
	ValueFrom  *ChartValueRef `json:"valueFrom,omitempty"`
}

func (*ChartValue) UnmarshalJSON

func (v *ChartValue) UnmarshalJSON(data []byte) error

type ChartValueRef

type ChartValueRef struct {
	GceResource *GceValueRef `json:"gceResource,optional"`
}

type Cluster

type Cluster struct {
	Name       string             `json:"name"`
	Provider   Provider           `json:"provider"`
	Parameters []ClusterParameter `json:"parameters"`
	// contains filtered or unexported fields
}

type ClusterParameter

type ClusterParameter struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type DockerForDesktopProvider

type DockerForDesktopProvider struct {
}

type Environment

type Environment struct {
	Name              string       `json:"name"`
	ClusterName       string       `json:"clusterName"`
	Namespace         string       `json:"namespace"`
	KubeNamespace     string       `json:"kubeNamespace"`
	ReleasesFiles     []string     `json:"releasesFiles,omitempty"`
	DefaultValuesFile string       `json:"defaultValuesFile,omitempty"`
	DefaultValues     []ChartValue `json:"defaultValues,omitempty"`
	Releases          []*Release   `json:"releases,omitempty"`
	Cluster           *Cluster     `json:"-"`
	// contains filtered or unexported fields
}

func NewEnvironment

func NewEnvironment(reader io.Reader, envFile string) (*Environment, error)

func (*Environment) AllReleases

func (e *Environment) AllReleases() []*Release

func (*Environment) GetCluster

func (e *Environment) GetCluster() *Cluster

func (*Environment) GetRelease

func (e *Environment) GetRelease(name string) *Release

type ExistingContextProvider

type ExistingContextProvider struct {
	ContextName string `json:"contextName"`
}

type FlexString

type FlexString string

func (*FlexString) UnmarshalJSON

func (is *FlexString) UnmarshalJSON(data []byte) error

type GceAddressValueRef

type GceAddressValueRef struct {
	Name     string      `json:"name,optional"`
	NameFrom NameFromRef `json:"nameFrom,optional"`
	IsGlobal bool        `json:"isGlobal,optional"` // if false, use zone/region from Cluster
}

type GceValueRef

type GceValueRef struct {
	Address *GceAddressValueRef `json:"address,optional"`
}

type GkeProvider

type GkeProvider struct {
	Project     string  `json:"project"`
	ClusterName string  `json:"clusterName"`
	Zone        *string `json:"zone"`
	Region      *string `json:"region"`
}

type HelmRepo

type HelmRepo struct {
	Name     string `json:"name"`
	URL      string `json:"url"`
	CAFile   string `json:"caFile,omitempty"`
	CertFile string `json:"certFile,omitempty"`
	KeyFile  string `json:"keyFile,omitempty"`
}

func (HelmRepo) GetCAFile added in v0.49.0

func (r HelmRepo) GetCAFile() string

func (HelmRepo) GetCertFile added in v0.49.0

func (r HelmRepo) GetCertFile() string

func (HelmRepo) GetKeyFile added in v0.49.0

func (r HelmRepo) GetKeyFile() string

type HelmTrigger

type HelmTrigger struct {
	Track string `json:"track"` // one of "PatchLevel", "MinorVersion", "MajorVersion", "Newest"
}

type ImageTrigger

type ImageTrigger struct {
	TagValue        string `json:"tagValue"`
	RepoValue       string `json:"repoValue"`
	RepoPrefixValue string `json:"repoPrefixValue"`
	Track           string `json:"track"` // one of "PatchLevel", "MinorVersion", "MajorVersion", "Newest"
}

func (*ImageTrigger) RepoPrefixValueString

func (t *ImageTrigger) RepoPrefixValueString() string

func (*ImageTrigger) RepoValueString

func (t *ImageTrigger) RepoValueString() string

func (*ImageTrigger) TagValueString

func (t *ImageTrigger) TagValueString() string

type KubeCDConfig

type KubeCDConfig struct {
	Clusters     []*Cluster     `json:"clusters"`
	Environments []*Environment `json:"environments"`
	HelmRepos    []HelmRepo     `json:"helmRepos,omitempty"`
	KubeConfig   *string        `json:"kubeConfig,omitempty"`
	// contains filtered or unexported fields
}

func NewConfig

func NewConfig(reader io.Reader, fromFile string) (*KubeCDConfig, error)

func NewConfigFromFile

func NewConfigFromFile(fileName string) (*KubeCDConfig, error)

func (*KubeCDConfig) AllClusters

func (k *KubeCDConfig) AllClusters() []*Cluster

func (*KubeCDConfig) AllReleases

func (k *KubeCDConfig) AllReleases() []*Release

func (*KubeCDConfig) FromFile

func (k *KubeCDConfig) FromFile() string

func (*KubeCDConfig) GetCluster

func (k *KubeCDConfig) GetCluster(name string) *Cluster

func (*KubeCDConfig) GetEnvironment

func (k *KubeCDConfig) GetEnvironment(name string) *Environment

func (*KubeCDConfig) GetEnvironmentsInCluster

func (k *KubeCDConfig) GetEnvironmentsInCluster(clusterName string) []*Environment

func (*KubeCDConfig) HasCluster

func (k *KubeCDConfig) HasCluster(name string) bool

type MinikubeProvider

type MinikubeProvider struct {
}

type NameFromRef

type NameFromRef struct {
	ClusterParam string `json:"clusterParam"`
}

type Provider

type Provider struct {
	GKE              *GkeProvider              `json:"gke,omitempty"`
	Minikube         *MinikubeProvider         `json:"minikube,omitempty"`
	AKS              *AksProvider              `json:"aks,omitempty"`
	DockerForDesktop *DockerForDesktopProvider `json:"dockerForDesktop,omitempty"`
	ExistingContext  *ExistingContextProvider  `json:"existingContext,omitempty"`
}

type Release

type Release struct {
	Name              string                 `json:"name"`
	Chart             *Chart                 `json:"chart,omitempty"`
	ValuesFile        *string                `json:"valuesFile,omitempty"`
	Values            []ChartValue           `json:"values,omitempty"`
	Trigger           *ReleaseUpdateTrigger  `json:"trigger,omitempty"`
	Triggers          []ReleaseUpdateTrigger `json:"triggers,omitempty"`
	SkipDefaultValues bool                   `json:"skipDefaultValues,omitempty"`
	ResourceFiles     []string               `json:"resourceFiles,omitempty"`

	FromFile    string       `json:"-"`
	Environment *Environment `json:"-"`
}

func (*Release) AbsPath

func (r *Release) AbsPath(path string) string

func (*Release) UnmarshalJSON

func (r *Release) UnmarshalJSON(data []byte) error

type ReleaseList

type ReleaseList struct {
	ResourceFiles []string   `json:"resourceFiles,omitempty"`
	Releases      []*Release `json:"releases,omitempty"`

	FromFile string
}

func NewReleaseList

func NewReleaseList(env *Environment, reader io.Reader, fromFile string) (*ReleaseList, error)

func NewReleaseListFromFile

func NewReleaseListFromFile(env *Environment, fromFile string) (*ReleaseList, error)

type ReleaseUpdateTrigger

type ReleaseUpdateTrigger struct {
	Image *ImageTrigger `json:"image,omitempty"`
	Chart *HelmTrigger  `json:"chart,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL