Documentation
¶
Index ¶
- Constants
- Variables
- func Diff(old, new Manifest, opts ...diff.Option) (*diff.Result, error)
- func FindReferencingConfigMapsInDeployment(d *appsv1.Deployment) []string
- func FindReferencingSecretsInDeployment(d *appsv1.Deployment) []string
- func HashManifests(manifests []Manifest) (string, error)
- func IsKubernetesBuiltInResource(apiVersion string) bool
- func MakeKubernetesResourceState(uid string, key ResourceKey, obj *unstructured.Unstructured, now time.Time) model.KubernetesResourceState
- type APIVersionKind
- type AppManifestsCache
- type Applier
- type DiffListChange
- type DiffListResult
- type DiffRenderOptions
- type Helm
- func (c *Helm) TemplateLocalChart(ctx context.Context, appName, appDir, namespace, chartPath string, ...) (string, error)
- func (c *Helm) TemplateRemoteChart(ctx context.Context, appName, appDir, namespace string, chart helmRemoteChart, ...) (string, error)
- func (c *Helm) TemplateRemoteGitChart(ctx context.Context, appName, appDir, namespace string, ...) (string, error)
- type Kubectl
- type Kustomize
- type Manifest
- func LoadManifestsFromYAMLFile(path string) ([]Manifest, error)
- func LoadPlainYAMLManifests(dir string, names []string, configFileName string) ([]Manifest, error)
- func MakeManifest(key ResourceKey, u *unstructured.Unstructured) Manifest
- func ParseFromStructuredObject(s interface{}) (Manifest, error)
- func ParseManifests(data string) ([]Manifest, error)
- func (m Manifest) AddAnnotations(annotations map[string]string)
- func (m Manifest) AddStringMapValues(values map[string]string, fields ...string) error
- func (m Manifest) ConvertToStructuredObject(o interface{}) error
- func (m Manifest) Duplicate(name string) Manifest
- func (m Manifest) GetAnnotations() map[string]string
- func (m Manifest) GetNestedMap(fields ...string) (map[string]interface{}, error)
- func (m Manifest) GetNestedStringMap(fields ...string) (map[string]string, error)
- func (m Manifest) GetSpec() (interface{}, error)
- func (m Manifest) MarshalJSON() ([]byte, error)
- func (m Manifest) SetStructuredSpec(spec interface{}) error
- func (m Manifest) YamlBytes() ([]byte, error)
- type ManifestLoader
- type Provider
- type ResourceKey
- func (k ResourceKey) IsConfigMap() bool
- func (k ResourceKey) IsDeployment() bool
- func (k ResourceKey) IsEqualWithIgnoringNamespace(a ResourceKey) bool
- func (k ResourceKey) IsLess(a ResourceKey) bool
- func (k ResourceKey) IsLessWithIgnoringNamespace(a ResourceKey) bool
- func (k ResourceKey) IsReplicaSet() bool
- func (k ResourceKey) IsSecret() bool
- func (k ResourceKey) IsService() bool
- func (k ResourceKey) IsWorkload() bool
- func (k ResourceKey) IsZero() bool
- func (k ResourceKey) ReadableString() string
- func (k ResourceKey) String() string
- type TemplatingMethod
Constants ¶
View Source
const ( LabelManagedBy = "pipecd.dev/managed-by" // Always be piped. LabelPiped = "pipecd.dev/piped" // The id of piped handling this application. LabelApplication = "pipecd.dev/application" // The application this resource belongs to. LabelCommitHash = "pipecd.dev/commit-hash" // Hash value of the deployed commit. LabelResourceKey = "pipecd.dev/resource-key" // The resource key generated by apiVersion, namespace and name. e.g. apps/v1/Deployment/namespace/demo-app LabelOriginalAPIVersion = "pipecd.dev/original-api-version" // The api version defined in git configuration. e.g. apps/v1 LabelIgnoreDriftDirection = "pipecd.dev/ignore-drift-detection" // Whether the drift detection should ignore this resource. AnnotationConfigHash = "pipecd.dev/config-hash" // The hash value of all mouting config resources. ManagedByPiped = "piped" IgnoreDriftDetectionTrue = "true" )
View Source
const ( KindDeployment = "Deployment" KindStatefulSet = "StatefulSet" KindDaemonSet = "DaemonSet" KindReplicaSet = "ReplicaSet" KindPod = "Pod" KindJob = "Job" KindCronJob = "CronJob" KindConfigMap = "ConfigMap" KindSecret = "Secret" KindPersistentVolume = "PersistentVolume" KindPersistentVolumeClaim = "PersistentVolumeClaim" KindService = "Service" KindIngress = "Ingress" KindServiceAccount = "ServiceAccount" KindRole = "Role" KindRoleBinding = "RoleBinding" KindClusterRole = "ClusterRole" KindClusterRoleBinding = "ClusterRoleBinding" DefaultNamespace = "default" )
Variables ¶
View Source
var (
ErrNotFound = errors.New("not found")
)
Functions ¶
func FindReferencingConfigMapsInDeployment ¶ added in v0.9.16
func FindReferencingConfigMapsInDeployment(d *appsv1.Deployment) []string
func FindReferencingSecretsInDeployment ¶ added in v0.9.16
func FindReferencingSecretsInDeployment(d *appsv1.Deployment) []string
func HashManifests ¶ added in v0.9.16
HashManifests computes the hash of a list of manifests.
func MakeKubernetesResourceState ¶
func MakeKubernetesResourceState(uid string, key ResourceKey, obj *unstructured.Unstructured, now time.Time) model.KubernetesResourceState
Types ¶
type APIVersionKind ¶
type AppManifestsCache ¶
func (AppManifestsCache) Put ¶
func (c AppManifestsCache) Put(commit string, manifests []Manifest)
type Applier ¶
type Applier interface {
// Apply does applying application manifests by using the tool specified in Input.
Apply(ctx context.Context) error
// ApplyManifest does applying the given manifest.
ApplyManifest(ctx context.Context, manifest Manifest) error
// Delete deletes the given resource from Kubernetes cluster.
Delete(ctx context.Context, key ResourceKey) error
}
type DiffListChange ¶ added in v0.10.3
type DiffListResult ¶ added in v0.10.3
type DiffListResult struct {
Adds []Manifest
Deletes []Manifest
Changes []DiffListChange
}
func DiffList ¶ added in v0.10.3
func DiffList(olds, news []Manifest, opts ...diff.Option) (*DiffListResult, error)
func (*DiffListResult) NoChange ¶ added in v0.10.3
func (r *DiffListResult) NoChange() bool
func (*DiffListResult) Render ¶ added in v0.13.0
func (r *DiffListResult) Render(opt DiffRenderOptions) string
type DiffRenderOptions ¶ added in v0.13.0
type Helm ¶
type Helm struct {
// contains filtered or unexported fields
}
func (*Helm) TemplateLocalChart ¶ added in v0.1.2
func (*Helm) TemplateRemoteChart ¶ added in v0.1.2
func (*Helm) TemplateRemoteGitChart ¶ added in v0.1.2
type Kubectl ¶
type Kubectl struct {
// contains filtered or unexported fields
}
func NewKubectl ¶
type Manifest ¶
type Manifest struct {
Key ResourceKey
// contains filtered or unexported fields
}
func LoadPlainYAMLManifests ¶ added in v0.1.4
func MakeManifest ¶
func MakeManifest(key ResourceKey, u *unstructured.Unstructured) Manifest
func ParseFromStructuredObject ¶ added in v0.1.4
func ParseManifests ¶ added in v0.1.2
func (Manifest) AddAnnotations ¶
func (Manifest) AddStringMapValues ¶ added in v0.1.5
AddStringMapValues adds or overrides the given key-values into the string map that can be found at the specified fields.
func (Manifest) ConvertToStructuredObject ¶ added in v0.1.4
func (Manifest) GetAnnotations ¶ added in v0.1.5
func (Manifest) GetNestedMap ¶ added in v0.9.1
func (Manifest) GetNestedStringMap ¶ added in v0.2.1
func (Manifest) MarshalJSON ¶ added in v0.1.1
func (Manifest) SetStructuredSpec ¶ added in v0.1.5
type ManifestLoader ¶
type ManifestLoader interface {
// LoadManifests renders and loads all manifests for application.
LoadManifests(ctx context.Context) ([]Manifest, error)
}
func NewManifestLoader ¶
func NewManifestLoader(appName, appDir, repoDir, configFileName string, input config.KubernetesDeploymentInput, logger *zap.Logger) ManifestLoader
type ResourceKey ¶
func DecodeResourceKey ¶
func DecodeResourceKey(key string) (ResourceKey, error)
func MakeResourceKey ¶
func MakeResourceKey(obj *unstructured.Unstructured) ResourceKey
func (ResourceKey) IsConfigMap ¶
func (k ResourceKey) IsConfigMap() bool
func (ResourceKey) IsDeployment ¶
func (k ResourceKey) IsDeployment() bool
func (ResourceKey) IsEqualWithIgnoringNamespace ¶ added in v0.1.1
func (k ResourceKey) IsEqualWithIgnoringNamespace(a ResourceKey) bool
IsEqualWithIgnoringNamespace checks whether the key is equal to the given key, but this ignores the comparation of the namesapce.
func (ResourceKey) IsLess ¶
func (k ResourceKey) IsLess(a ResourceKey) bool
IsLess reports whether the key should sort before the given key.
func (ResourceKey) IsLessWithIgnoringNamespace ¶ added in v0.1.1
func (k ResourceKey) IsLessWithIgnoringNamespace(a ResourceKey) bool
IsLessWithIgnoringNamespace reports whether the key should sort before the given key, but this ignores the comparation of the namesapce.
func (ResourceKey) IsReplicaSet ¶ added in v0.1.1
func (k ResourceKey) IsReplicaSet() bool
func (ResourceKey) IsSecret ¶
func (k ResourceKey) IsSecret() bool
func (ResourceKey) IsService ¶ added in v0.1.4
func (k ResourceKey) IsService() bool
func (ResourceKey) IsWorkload ¶ added in v0.1.1
func (k ResourceKey) IsWorkload() bool
func (ResourceKey) IsZero ¶
func (k ResourceKey) IsZero() bool
func (ResourceKey) ReadableString ¶ added in v0.1.1
func (k ResourceKey) ReadableString() string
func (ResourceKey) String ¶
func (k ResourceKey) String() string
type TemplatingMethod ¶
type TemplatingMethod string
const ( TemplatingMethodHelm TemplatingMethod = "helm" TemplatingMethodKustomize TemplatingMethod = "kustomize" TemplatingMethodNone TemplatingMethod = "none" )
Source Files
¶
Click to show internal directories.
Click to hide internal directories.