Documentation ¶
Overview ¶
Package v1alpha1 contains data types for Heighliner components v1alpha1.
Index ¶
- Constants
- Variables
- type AvailabilityPolicy
- type AvailabilityPolicyList
- type AvailabilityPolicySpec
- type ConfigPolicy
- type ConfigPolicyList
- type ConfigPolicySpec
- type ConfigPolicyStatus
- type Deployment
- type Domain
- type ExternalDNS
- type GitHubHook
- type GitHubRelease
- type GitHubRepository
- type GitHubRepositoryList
- type GitHubRepositorySpec
- type GitHubRepositoryStatus
- type HealthPolicy
- type HealthPolicyList
- type HealthPolicySpec
- type ImagePolicy
- type ImagePolicyFilter
- type ImagePolicyList
- type ImagePolicyMatch
- type ImagePolicyMatchMapping
- type ImagePolicySpec
- type ImagePolicyStatus
- type LatestUpdateStrategy
- type ManualUpdateStrategy
- type Microservice
- type MicroserviceList
- type MicroserviceSpec
- type MicroserviceStatus
- type NetworkPolicy
- type NetworkPolicyList
- type NetworkPolicySpec
- type NetworkPolicyStatus
- type NetworkPort
- type Release
- type SecurityPolicy
- type SecurityPolicyList
- type SecurityPolicySpec
- type SemVerLevel
- type SemVerRelease
- type SemVerSource
- type SemVerVersion
- type UpdateStrategy
- type VersionedMicroservice
- type VersionedMicroserviceList
- type VersionedMicroserviceSpec
- type VersioningPolicy
- type VersioningPolicyList
- type VersioningPolicySpec
Constants ¶
const ( // GroupName defines the name of the group we'll use for our components. GroupName = "hlnr.io" // Version defines the version of this API. Version = "v1alpha1" )
Variables ¶
var ( // SchemeBuilder for the svc CRD SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme method for the svc CRD AddToScheme = SchemeBuilder.AddToScheme // SchemeGroupVersion is the Group Version used for this scheme. SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: Version} )
var ( // SemVerLevelRelease is used for a release that is ready to be rolled out // to production. SemVerLevelRelease SemVerLevel = "release" // SemVerLevelReleaseCandidate is used for a release-candidate that is ready // for QA. SemVerLevelReleaseCandidate SemVerLevel = "candidate" // SemVerLevelPreview is used for a preview release. This is generally // associated with development deploys. SemVerLevelPreview SemVerLevel = "preview" // SemVerVersionMajor indicates that we will release major, minor and patch // releases. SemVerVersionMajor SemVerVersion = "major" // SemVerVersionMinor indicates that we will release minor and patch // releases. SemVerVersionMinor SemVerVersion = "minor" // SemVerVersionPatch indicates that we will release only patch releases. SemVerVersionPatch SemVerVersion = "patch" )
var AvailabilityPolicyValidationSchema = apiextv1beta1.JSONSchemaProps{}
AvailabilityPolicyValidationSchema represents the OpenAPIV3Schema validation for the Availability CRD.
var ConfigPolicyValidationSchema = &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Properties: map[string]v1beta1.JSONSchemaProps{ "status": { Required: []string{"lastUpdatedTime", "hashed"}, }, }, }, }
ConfigPolicyValidationSchema represents the OpenAPIV3Schema validation for the ConfigPolicy CRD.
var DefaultAvailabilityPolicySpec = AvailabilityPolicySpec{ Replicas: func(i int32) *int32 { return &i }(2), MinAvailable: k8sutils.PtrIntOrString(intstr.FromInt(1)), MaxUnavailable: k8sutils.PtrIntOrString(intstr.FromString("25%")), RestartPolicy: corev1.RestartPolicyAlways, DeploymentStrategy: v1beta1.DeploymentStrategy{ Type: v1beta1.RollingUpdateDeploymentStrategyType, RollingUpdate: &v1beta1.RollingUpdateDeployment{ MaxUnavailable: k8sutils.PtrIntOrString(intstr.FromString("25%")), MaxSurge: k8sutils.PtrIntOrString(intstr.FromString("25%")), }, }, }
DefaultAvailabilityPolicySpec is the default availability spec that will be used when it's not defined. Affinity is DeploymentSpecific so will be filled in later on.
var GitHubRepositoryValidationSchema = &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Required: []string{"spec"}, Properties: map[string]v1beta1.JSONSchemaProps{ "spec": { Required: []string{"repo", "owner", "configSecret"}, }, }, }, }
GitHubRepositoryValidationSchema represents the OpenAPIV3Schema validation for the GitHubRepository CRD.
var HealthPolicyValidationSchema = &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Required: []string{"spec"}, }, }
HealthPolicyValidationSchema represents the OpenAPIV3Schema validation for the NetworkPolicy CRD.
var ImagePolicyValidationSchema = &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Required: []string{"spec"}, Properties: map[string]v1beta1.JSONSchemaProps{ "spec": { Required: []string{"image", "versioningPolicy", "filter"}, Properties: map[string]v1beta1.JSONSchemaProps{ "filter": filterValidationSchema, "match": matchValidationSchema, }, }, "status": ReleaseValidationSchema, }, }, }
ImagePolicyValidationSchema represents the OpenAPIV3Schema validation for the NetworkPolicy CRD.
var MicroserviceValidationSchema = &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Properties: map[string]v1beta1.JSONSchemaProps{ "spec": { Required: []string{"imagePolicy"}, Properties: map[string]v1beta1.JSONSchemaProps{ "imagePolicy": requiredObjectReference, }, }, "status": ReleaseValidationSchema, }, Required: []string{"spec"}, }, }
MicroserviceValidationSchema represents the OpenAPIV3Scheme which defines the validation for the MicroserviceSpec.
var NetworkPolicyValidationSchema = &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Required: []string{"spec"}, Properties: map[string]v1beta1.JSONSchemaProps{ "spec": { Required: []string{"updateStrategy"}, Properties: map[string]v1beta1.JSONSchemaProps{ "ingressClass": { Type: proto.String, }, "ports": { Items: &v1beta1.JSONSchemaPropsOrArray{ Schema: &v1beta1.JSONSchemaProps{ Required: []string{"name", "targetPort", "port"}, }, }, }, "externalDNS": { Items: &v1beta1.JSONSchemaPropsOrArray{ Schema: &v1beta1.JSONSchemaProps{ Required: []string{"domain"}, Properties: map[string]v1beta1.JSONSchemaProps{ "ttl": { Type: proto.Integer, }, "disableTLS": { Type: proto.Boolean, }, "tlsGroup": { Type: proto.String, }, "port": { Type: proto.String, }, }, }, }, }, }, }, }, }, }
NetworkPolicyValidationSchema represents the OpenAPIV3Schema validation for the NetworkPolicy CRD.
var ReleaseValidationSchema = v1beta1.JSONSchemaProps{ Properties: map[string]v1beta1.JSONSchemaProps{ "releases": { Required: []string{"semVer", "image", "releaseTime"}, Properties: map[string]v1beta1.JSONSchemaProps{ "semVer": semVerReleaseValidation, }, }, }, }
ReleaseValidationSchema represents the OpenAPIv3 validation schema for a release object.
var SecurityPolicyValidationSchema = &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{}, }
SecurityPolicyValidationSchema represents the OpenAPIV3Schema validation for the SecurityPolicy CRD.
var VersionedMicroserviceValidationSchema = apiextv1beta1.JSONSchemaProps{ Properties: map[string]apiextv1beta1.JSONSchemaProps{ "availability": AvailabilityPolicyValidationSchema, "config": *ConfigPolicyValidationSchema.OpenAPIV3Schema, "security": *SecurityPolicyValidationSchema.OpenAPIV3Schema, "containers": { MinItems: k8sutils.PtrInt64(1), }, }, Required: []string{ "containers", }, }
VersionedMicroserviceValidationSchema represents the OpenAPIV3Scheme which defines the validation for the VersionedMicroserviceSpec.
var VersioningPolicyValidationSchema = apiextv1beta1.JSONSchemaProps{ Properties: map[string]apiextv1beta1.JSONSchemaProps{ "semVer": { Properties: map[string]apiextv1beta1.JSONSchemaProps{ "version": { Type: proto.String, Enum: []apiextv1beta1.JSON{ {Raw: k8sutils.JSONBytes(SemVerVersionMajor)}, {Raw: k8sutils.JSONBytes(SemVerVersionMinor)}, {Raw: k8sutils.JSONBytes(SemVerVersionPatch)}, }, }, "level": { Type: proto.String, Enum: []apiextv1beta1.JSON{ {Raw: k8sutils.JSONBytes(SemVerLevelRelease)}, {Raw: k8sutils.JSONBytes(SemVerLevelReleaseCandidate)}, {Raw: k8sutils.JSONBytes(SemVerLevelPreview)}, }, }, }, Required: []string{"version", "level"}, }, }, }
VersioningPolicyValidationSchema represents the OpenAPIV3Schema validation for the NetworkPolicy CRD.
Functions ¶
This section is empty.
Types ¶
type AvailabilityPolicy ¶
type AvailabilityPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec AvailabilityPolicySpec `json:"spec"` }
AvailabilityPolicy defines the configuration options for the AvailabilityPolicy. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*AvailabilityPolicy) DeepCopy ¶
func (in *AvailabilityPolicy) DeepCopy() *AvailabilityPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AvailabilityPolicy.
func (*AvailabilityPolicy) DeepCopyInto ¶
func (in *AvailabilityPolicy) DeepCopyInto(out *AvailabilityPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AvailabilityPolicy) DeepCopyObject ¶
func (in *AvailabilityPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AvailabilityPolicyList ¶
type AvailabilityPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []AvailabilityPolicy `json:"items"` }
AvailabilityPolicyList is a list of AvailabilityPolicy CRDs. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*AvailabilityPolicyList) DeepCopy ¶
func (in *AvailabilityPolicyList) DeepCopy() *AvailabilityPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AvailabilityPolicyList.
func (*AvailabilityPolicyList) DeepCopyInto ¶
func (in *AvailabilityPolicyList) DeepCopyInto(out *AvailabilityPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AvailabilityPolicyList) DeepCopyObject ¶
func (in *AvailabilityPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AvailabilityPolicySpec ¶
type AvailabilityPolicySpec struct { // Number of desired replicas of the service. Replicas *int32 `json:"replicas"` // An eviction is allowed if at least "minAvailable" pods selected by // "selector" will still be available after the eviction, i.e. even in the // absence of the evicted pod. So for example you can prevent all voluntary // evictions by specifying "100%". MinAvailable *intstr.IntOrString `json:"minAvailable,omitempty"` // "selector" are unavailable after the eviction, i.e. even in absence of // the evicted pod. For example, one can prevent all voluntary evictions // by specifying 0. This is a mutually exclusive setting with "minAvailable". MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"` // RestartPolicy describes how the container should be restarted. Only one // of `Always`, `OnFailure` or `Never` restart policies may be specified. // If none of the policies is specified, the default one is `Always`. RestartPolicy corev1.RestartPolicy `json:"restartPolicy,omitempty"` // The deployment strategy to use to replace existing pods with new ones. DeploymentStrategy v1beta1.DeploymentStrategy `json:"deploymentStrategy,omitempty"` // The microservice's scheduling constraints. Affinity *corev1.Affinity `json:"affinity,omitempty"` }
AvailabilityPolicySpec is the specification for Availability.
func (*AvailabilityPolicySpec) DeepCopy ¶
func (in *AvailabilityPolicySpec) DeepCopy() *AvailabilityPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AvailabilityPolicySpec.
func (*AvailabilityPolicySpec) DeepCopyInto ¶
func (in *AvailabilityPolicySpec) DeepCopyInto(out *AvailabilityPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigPolicy ¶
type ConfigPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ConfigPolicySpec `json:"spec"` Status ConfigPolicyStatus `json:"status"` }
ConfigPolicy describes the configuration options for the ConfigPolicy. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*ConfigPolicy) DeepCopy ¶
func (in *ConfigPolicy) DeepCopy() *ConfigPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigPolicy.
func (*ConfigPolicy) DeepCopyInto ¶
func (in *ConfigPolicy) DeepCopyInto(out *ConfigPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigPolicy) DeepCopyObject ¶
func (in *ConfigPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigPolicyList ¶
type ConfigPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []ConfigPolicy `json:"items"` }
ConfigPolicyList is a list of ConfigPolicy CRDs. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*ConfigPolicyList) DeepCopy ¶
func (in *ConfigPolicyList) DeepCopy() *ConfigPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigPolicyList.
func (*ConfigPolicyList) DeepCopyInto ¶
func (in *ConfigPolicyList) DeepCopyInto(out *ConfigPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigPolicyList) DeepCopyObject ¶
func (in *ConfigPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigPolicySpec ¶
type ConfigPolicySpec struct { Args []string `json:"args,omitempty"` Command []string `json:"command,omitempty"` Env []corev1.EnvVar `json:"env,omitempty"` EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"` VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` Volumes []corev1.Volume `json:"volumes,omitempty"` }
ConfigPolicySpec describes the specification for Config.
func (*ConfigPolicySpec) DeepCopy ¶
func (in *ConfigPolicySpec) DeepCopy() *ConfigPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigPolicySpec.
func (*ConfigPolicySpec) DeepCopyInto ¶
func (in *ConfigPolicySpec) DeepCopyInto(out *ConfigPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConfigPolicyStatus ¶
type ConfigPolicyStatus struct { LastUpdatedTime metav1.Time `json:"lastUpdatedTime"` Hashed string `json:"hashed"` }
ConfigPolicyStatus represents the current status of a ConfigPolicy.
func (*ConfigPolicyStatus) DeepCopy ¶
func (in *ConfigPolicyStatus) DeepCopy() *ConfigPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigPolicyStatus.
func (*ConfigPolicyStatus) DeepCopyInto ¶
func (in *ConfigPolicyStatus) DeepCopyInto(out *ConfigPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Deployment ¶
type Deployment struct { ID *int64 `json:"deployment"` NetworkPolicy corev1.ObjectReference `json:"networkPolicy"` State string `json:"state"` URL *string `json:"url,omitempty"` }
Deployment represents a linking between a GitHub deployment and a network policy. Through the release information we can determine a specific domain.
func (*Deployment) DeepCopy ¶
func (in *Deployment) DeepCopy() *Deployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Deployment.
func (*Deployment) DeepCopyInto ¶
func (in *Deployment) DeepCopyInto(out *Deployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Domain ¶
type Domain struct { // Url is the url that points to the application URL string `json:"url"` // SemVer is the SemVer release object linked to this NetworkPolicyStatus if the // VersioningPolicy associated with it is SemVer. SemVer *SemVerRelease `json:"semVer,omitempty"` }
Domain is represents a url associated with the NetworkPolicy and the associated SemVer
func (*Domain) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Domain.
func (*Domain) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalDNS ¶
type ExternalDNS struct { // IngressClass represents the class that is given to the Ingress controller // to handle DNS entries. This defaults to the default at the controller // configuration level. IngressClass string `json:"ingressClass"` // The domain name that will be linked to the service. This can be a full // fledged domain like `dashboard.heighliner.com` or it could be a templated // domain like `{.StreamName}.pr.heighliner.com`. Templated domains get // the data from a Release object, possible values are `Name`, `StreamName`, // and `FullName`. Domain string `json:"domain"` // TTL in seconds for the DNS entry, defaults to `300`. // Note: if multiple DNS entries are provided, the TTL of the first record // will be used. TTL int32 `json:"ttl"` // By default, TLS will be enabled for external access to a service. // Defaults to `false`. DisableTLS bool `json:"disableTLS"` // TLSGroup specifies the certificate group in which we'll store the SSL // Certificates. This defaults to "heighliner-components". It is recommended // to set this up per group of applications, this way the certificates will // be stored together. TLSGroup string `json:"tlsGroup"` // Port links back to a NetworkPort and will be used to guide traffic for // this hostname through the specified port. Defaults to `headless`. Port string `json:"port"` }
ExternalDNS describes a DNS entry for a given service, allowing external access to the service. If no port is provided but a DNS entry is provided, a default headless port will be created with the internalPort `8080`.
func (*ExternalDNS) DeepCopy ¶
func (in *ExternalDNS) DeepCopy() *ExternalDNS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDNS.
func (*ExternalDNS) DeepCopyInto ¶
func (in *ExternalDNS) DeepCopyInto(out *ExternalDNS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitHubHook ¶
type GitHubHook struct { // ID is the ID on GitHub for the installed hooks. This is needed to perform // updates and deletes. ID *int64 `json:"id"` // Secret is the secret used in GHs communication to our server. Secret string `json:"secret"` }
GitHubHook represents the status object for a GiHub Webhook for the CRD.
func (*GitHubHook) DeepCopy ¶
func (in *GitHubHook) DeepCopy() *GitHubHook
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubHook.
func (*GitHubHook) DeepCopyInto ¶
func (in *GitHubHook) DeepCopyInto(out *GitHubHook)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitHubRelease ¶
type GitHubRelease struct { Name string `json:"name"` Tag string `json:"tag"` Level SemVerLevel `json:"level"` ReleaseTime metav1.Time `json:"releaseTime"` Deployment *Deployment `json:"deployment,omitempty"` }
GitHubRelease represents a release made in GitHub
func (*GitHubRelease) DeepCopy ¶
func (in *GitHubRelease) DeepCopy() *GitHubRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubRelease.
func (*GitHubRelease) DeepCopyInto ¶
func (in *GitHubRelease) DeepCopyInto(out *GitHubRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitHubRepository ¶
type GitHubRepository struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec GitHubRepositorySpec `json:"spec"` Status GitHubRepositoryStatus `json:"status"` }
GitHubRepository represents the configuration for a specific GitHub repository. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*GitHubRepository) DeepCopy ¶
func (in *GitHubRepository) DeepCopy() *GitHubRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubRepository.
func (*GitHubRepository) DeepCopyInto ¶
func (in *GitHubRepository) DeepCopyInto(out *GitHubRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitHubRepository) DeepCopyObject ¶
func (in *GitHubRepository) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GitHubRepositoryList ¶
type GitHubRepositoryList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []GitHubRepository `json:"items"` }
GitHubRepositoryList is a list of GitHubRepositories. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*GitHubRepositoryList) DeepCopy ¶
func (in *GitHubRepositoryList) DeepCopy() *GitHubRepositoryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubRepositoryList.
func (*GitHubRepositoryList) DeepCopyInto ¶
func (in *GitHubRepositoryList) DeepCopyInto(out *GitHubRepositoryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitHubRepositoryList) DeepCopyObject ¶
func (in *GitHubRepositoryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GitHubRepositorySpec ¶
type GitHubRepositorySpec struct { // MaxAvailable is the maximum number of releases for a specific level that // should be kept. When the number of releases grows over this amount, the // oldes release will be sunsetted. MaxAvailable int `json:"maxAvailable"` // Repo is the name of the repository we want to monitor Repo string `json:"repo"` // Owner is the owner of the repository, often specified as team. Owner string `json:"owner"` // ConfigSecret represent the secret that houses the API token to // communicate with the given repository. ConfigSecret corev1.LocalObjectReference `json:"configSecret"` }
GitHubRepositorySpec represents the specification for a GitHubRepository.
func (*GitHubRepositorySpec) DeepCopy ¶
func (in *GitHubRepositorySpec) DeepCopy() *GitHubRepositorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubRepositorySpec.
func (*GitHubRepositorySpec) DeepCopyInto ¶
func (in *GitHubRepositorySpec) DeepCopyInto(out *GitHubRepositorySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitHubRepositorySpec) Slug ¶
func (r *GitHubRepositorySpec) Slug() string
Slug returns the slug of the repository.
type GitHubRepositoryStatus ¶
type GitHubRepositoryStatus struct { // Releases represents the available releases on GitHub for the associated // repositories. Releases []GitHubRelease `json:"releases"` // Webhook represents the installed Webhook information for the GitHub // Repository. Webhook *GitHubHook `json:"webhook"` }
GitHubRepositoryStatus represents the current status for the GitHubRepository.
func (*GitHubRepositoryStatus) DeepCopy ¶
func (in *GitHubRepositoryStatus) DeepCopy() *GitHubRepositoryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitHubRepositoryStatus.
func (*GitHubRepositoryStatus) DeepCopyInto ¶
func (in *GitHubRepositoryStatus) DeepCopyInto(out *GitHubRepositoryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthPolicy ¶
type HealthPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec HealthPolicySpec `json:"spec"` }
HealthPolicy describes the configuration options for the HealthPolicy. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*HealthPolicy) DeepCopy ¶
func (in *HealthPolicy) DeepCopy() *HealthPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthPolicy.
func (*HealthPolicy) DeepCopyInto ¶
func (in *HealthPolicy) DeepCopyInto(out *HealthPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthPolicy) DeepCopyObject ¶
func (in *HealthPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthPolicyList ¶
type HealthPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []HealthPolicy `json:"items"` }
HealthPolicyList is a list of HealthPolicy CRDs. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*HealthPolicyList) DeepCopy ¶
func (in *HealthPolicyList) DeepCopy() *HealthPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthPolicyList.
func (*HealthPolicyList) DeepCopyInto ¶
func (in *HealthPolicyList) DeepCopyInto(out *HealthPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthPolicyList) DeepCopyObject ¶
func (in *HealthPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthPolicySpec ¶
type HealthPolicySpec struct { LivenessProbe *v1.Probe `json:"livenessProbe,omitempty"` ReadinessProbe *v1.Probe `json:"readinessProbe,omitempty"` }
HealthPolicySpec describes the specification which will be used for health checks.
func (*HealthPolicySpec) DeepCopy ¶
func (in *HealthPolicySpec) DeepCopy() *HealthPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthPolicySpec.
func (*HealthPolicySpec) DeepCopyInto ¶
func (in *HealthPolicySpec) DeepCopyInto(out *HealthPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImagePolicy ¶
type ImagePolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ImagePolicySpec `json:"spec"` Status ImagePolicyStatus `json:"status"` }
ImagePolicy describes the configuration options for the ImagePolicy. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*ImagePolicy) DeepCopy ¶
func (in *ImagePolicy) DeepCopy() *ImagePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicy.
func (*ImagePolicy) DeepCopyInto ¶
func (in *ImagePolicy) DeepCopyInto(out *ImagePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImagePolicy) DeepCopyObject ¶
func (in *ImagePolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ImagePolicyFilter ¶
type ImagePolicyFilter struct {
GitHub *v1.ObjectReference `json:"github,omitempty"`
}
ImagePolicyFilter will define how we can filter where images come from
func (*ImagePolicyFilter) DeepCopy ¶
func (in *ImagePolicyFilter) DeepCopy() *ImagePolicyFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyFilter.
func (*ImagePolicyFilter) DeepCopyInto ¶
func (in *ImagePolicyFilter) DeepCopyInto(out *ImagePolicyFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImagePolicyList ¶
type ImagePolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []ImagePolicy `json:"items"` }
ImagePolicyList is a list of ImagePolicy CRDs. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*ImagePolicyList) DeepCopy ¶
func (in *ImagePolicyList) DeepCopy() *ImagePolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyList.
func (*ImagePolicyList) DeepCopyInto ¶
func (in *ImagePolicyList) DeepCopyInto(out *ImagePolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImagePolicyList) DeepCopyObject ¶
func (in *ImagePolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ImagePolicyMatch ¶
type ImagePolicyMatch struct { // Name defines a match on the image tag name. Name *ImagePolicyMatchMapping `json:"name,omitempty"` // Labels defines matches on image labels. Labels map[string]ImagePolicyMatchMapping `json:"labels,omitempty"` }
ImagePolicyMatch defines how a release is matched to an image tag.
func (*ImagePolicyMatch) Config ¶
func (m *ImagePolicyMatch) Config() (bool, bool)
Config returns two booleans indicating if there is name matching and label matching in this match.
func (*ImagePolicyMatch) MapName ¶
func (m *ImagePolicyMatch) MapName(release string) (string, error)
MapName returns the Name mapping for the provided release value. It returns an error if the name mapping errors.
type ImagePolicyMatchMapping ¶
type ImagePolicyMatchMapping struct { // From transforms the release value, extracting the tag. The value is // formatted as a Go template string, and matches on on `{{.Tag}}`. If no // value is provided, "{{.Tag}}" is assumed. From string `json:"from,omitempty"` // To formats the extrated Tag value from From. If no value is provided, // "{{.Tag}}" is assumed. To string `json:"to,omitempty"` }
ImagePolicyMatchMapping defines how a release is transformed to match an image tag or label value
type ImagePolicySpec ¶
type ImagePolicySpec struct { Image string `json:"image"` ImagePullSecrets []v1.LocalObjectReference `json:"imagePullSecrets"` ImagePullPolicy *v1.PullPolicy `json:"imagePullPolicy"` VersioningPolicy v1.ObjectReference `json:"versioningPolicy"` Filter ImagePolicyFilter `json:"filter"` Match *ImagePolicyMatch `json:"match,omitempty"` }
ImagePolicySpec describes the specification for Image.
func (*ImagePolicySpec) DeepCopy ¶
func (in *ImagePolicySpec) DeepCopy() *ImagePolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicySpec.
func (*ImagePolicySpec) DeepCopyInto ¶
func (in *ImagePolicySpec) DeepCopyInto(out *ImagePolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImagePolicyStatus ¶
type ImagePolicyStatus struct {
Releases []Release `json:"releases"`
}
ImagePolicyStatus represents the latest version of the ImagePolicy that matches the VersioningPolicy associated with it. The Status will be used by the Microservice component to build the actual Deployment.
func (*ImagePolicyStatus) DeepCopy ¶
func (in *ImagePolicyStatus) DeepCopy() *ImagePolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImagePolicyStatus.
func (*ImagePolicyStatus) DeepCopyInto ¶
func (in *ImagePolicyStatus) DeepCopyInto(out *ImagePolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LatestUpdateStrategy ¶
type LatestUpdateStrategy struct{}
LatestUpdateStrategy will monitor the available release for a given Microservice and use the latest available release to link to the internal and external DNS.
func (*LatestUpdateStrategy) DeepCopy ¶
func (in *LatestUpdateStrategy) DeepCopy() *LatestUpdateStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LatestUpdateStrategy.
func (*LatestUpdateStrategy) DeepCopyInto ¶
func (in *LatestUpdateStrategy) DeepCopyInto(out *LatestUpdateStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManualUpdateStrategy ¶
type ManualUpdateStrategy struct { // SemVer is the SemVer annotation of the specific release we want to use // for this Microservice. SemVer *SemVerRelease `json:"semVer"` }
ManualUpdateStrategy is an UpdateStrategy that is purely manual. The Controller will put in the labels as provided and won't take any other action to detect possible versions.
func (*ManualUpdateStrategy) DeepCopy ¶
func (in *ManualUpdateStrategy) DeepCopy() *ManualUpdateStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManualUpdateStrategy.
func (*ManualUpdateStrategy) DeepCopyInto ¶
func (in *ManualUpdateStrategy) DeepCopyInto(out *ManualUpdateStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Microservice ¶
type Microservice struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec MicroserviceSpec `json:"spec"` Status MicroserviceStatus `json:"status"` }
Microservice represents the definition which we'll use to define a deployable microservice. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*Microservice) DeepCopy ¶
func (in *Microservice) DeepCopy() *Microservice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Microservice.
func (*Microservice) DeepCopyInto ¶
func (in *Microservice) DeepCopyInto(out *Microservice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Microservice) DeepCopyObject ¶
func (in *Microservice) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MicroserviceList ¶
type MicroserviceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Microservice `json:"items"` }
MicroserviceList is a list of Microservices. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*MicroserviceList) DeepCopy ¶
func (in *MicroserviceList) DeepCopy() *MicroserviceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MicroserviceList.
func (*MicroserviceList) DeepCopyInto ¶
func (in *MicroserviceList) DeepCopyInto(out *MicroserviceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MicroserviceList) DeepCopyObject ¶
func (in *MicroserviceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MicroserviceSpec ¶
type MicroserviceSpec struct { // Local object references, microservice specific ImagePolicy v1.LocalObjectReference `json:"imagePolicy"` ConfigPolicy v1.LocalObjectReference `json:"configPolicy,omitempty"` // Global Object References, not Microservice specific. AvailabilityPolicy v1.ObjectReference `json:"availabilityPolicy,omitempty"` SecurityPolicy v1.ObjectReference `json:"securityPolicy,omitempty"` HealthPolicy v1.ObjectReference `json:"healthPolicy,omitempty"` }
MicroserviceSpec represents the specification for a Microservice. It houses all the policies which we'll use to build a VersionedMicroservice.
func (*MicroserviceSpec) DeepCopy ¶
func (in *MicroserviceSpec) DeepCopy() *MicroserviceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MicroserviceSpec.
func (*MicroserviceSpec) DeepCopyInto ¶
func (in *MicroserviceSpec) DeepCopyInto(out *MicroserviceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MicroserviceStatus ¶
type MicroserviceStatus struct {
Releases []Release `json:"releases"`
}
MicroserviceStatus represents the status a specific Microservice is in.
func (*MicroserviceStatus) DeepCopy ¶
func (in *MicroserviceStatus) DeepCopy() *MicroserviceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MicroserviceStatus.
func (*MicroserviceStatus) DeepCopyInto ¶
func (in *MicroserviceStatus) DeepCopyInto(out *MicroserviceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkPolicy ¶
type NetworkPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec NetworkPolicySpec `json:"spec"` Status NetworkPolicyStatus `json:"status"` }
NetworkPolicy describes the configuration options for the NetworkPolicy. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*NetworkPolicy) DeepCopy ¶
func (in *NetworkPolicy) DeepCopy() *NetworkPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPolicy.
func (*NetworkPolicy) DeepCopyInto ¶
func (in *NetworkPolicy) DeepCopyInto(out *NetworkPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkPolicy) DeepCopyObject ¶
func (in *NetworkPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NetworkPolicyList ¶
type NetworkPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []NetworkPolicy `json:"items"` }
NetworkPolicyList is a list of NetworkPolicy CRDs. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*NetworkPolicyList) DeepCopy ¶
func (in *NetworkPolicyList) DeepCopy() *NetworkPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPolicyList.
func (*NetworkPolicyList) DeepCopyInto ¶
func (in *NetworkPolicyList) DeepCopyInto(out *NetworkPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkPolicyList) DeepCopyObject ¶
func (in *NetworkPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NetworkPolicySpec ¶
type NetworkPolicySpec struct { // Microservice represents the name of the Microservice which we want to // create DNS entries for. // If the Microservice Name is not provided, the name of the NetworkPolicy // CRD will be used. Microservice *corev1.LocalObjectReference `json:"microservice,omitempty"` // SessionAffinity lets you define a config for SessionAffinity. If no // config is provided, SessionAffinity will be "None". SessionAffinity *corev1.SessionAffinityConfig `json:"sessionAffinity"` // Ports which we want to be accessible for the associated Microservice. Ports []NetworkPort `json:"ports"` // ExternalDNS represents the domain specification for a Microservice // externally. ExternalDNS []ExternalDNS `json:"externalDNS"` // UpdateStrategy defines how Heighliner will transition DNS from one // version to another. UpdateStrategy UpdateStrategy `json:"updateStrategy"` }
NetworkPolicySpec describes the specification for Network.
func (*NetworkPolicySpec) DeepCopy ¶
func (in *NetworkPolicySpec) DeepCopy() *NetworkPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPolicySpec.
func (*NetworkPolicySpec) DeepCopyInto ¶
func (in *NetworkPolicySpec) DeepCopyInto(out *NetworkPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkPolicyStatus ¶
type NetworkPolicyStatus struct {
Domains []Domain `json:"domains"`
}
NetworkPolicyStatus provides external domains and associated SemVer from the release
func (*NetworkPolicyStatus) DeepCopy ¶
func (in *NetworkPolicyStatus) DeepCopy() *NetworkPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPolicyStatus.
func (*NetworkPolicyStatus) DeepCopyInto ¶
func (in *NetworkPolicyStatus) DeepCopyInto(out *NetworkPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkPort ¶
type NetworkPort struct { // The name the port will be given. This will be used to link DNS entries. Name string `json:"name"` // The port that is exposed within the service container and which the // application is running on. TargetPort int32 `json:"targetPort"` // The port this service will be available on from within the cluster. Port int32 `json:"port"` }
NetworkPort describes a port that is exposed for a given service.
func (*NetworkPort) DeepCopy ¶
func (in *NetworkPort) DeepCopy() *NetworkPort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPort.
func (*NetworkPort) DeepCopyInto ¶
func (in *NetworkPort) DeepCopyInto(out *NetworkPort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Release ¶
type Release struct { // OwnerReferences represents who the owner is of this release. This will // be set by the Microservice controller and reference a // VersionedMicroservice. OwnerReferences []metav1.OwnerReference `json:"ownerReference,omitempty"` // Image is the fully qualified image name that can be used to download the // image. Image string `json:"image"` // ReleaseTime represents when this version became available to be deployed. ReleaseTime metav1.Time `json:"releaseTime"` // SemVer is the SemVer release object linked to this Release if the // VersioningPolicy associated with it is SemVer. SemVer *SemVerRelease `json:"semVer,omitempty"` // Level is the detected maturity level for this release Level SemVerLevel `json:"level"` }
Release represents a specific release for a version of an image.
func (*Release) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Release.
func (*Release) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Release) FullName ¶
FullName creates the full name for a release. This is the stream name suffixed by a version derived hash. Microservice as a prefix.
func (Release) StreamName ¶
StreamName creates the release stream name for a release. It takes the name of a Microservice as a prefix.
Stream names are based on release level:
release - `<prefix>` candidate - `<prefix>-rc` preview - `<prefix>-pr-<hash of branch/release name>
type SecurityPolicy ¶
type SecurityPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec SecurityPolicySpec `json:"spec"` }
SecurityPolicy describes the configuration options for the SecurityPolicy. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*SecurityPolicy) DeepCopy ¶
func (in *SecurityPolicy) DeepCopy() *SecurityPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicy.
func (*SecurityPolicy) DeepCopyInto ¶
func (in *SecurityPolicy) DeepCopyInto(out *SecurityPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecurityPolicy) DeepCopyObject ¶
func (in *SecurityPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SecurityPolicyList ¶
type SecurityPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []SecurityPolicy `json:"items"` }
SecurityPolicyList is a list of SecurityPolicy CRDs. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*SecurityPolicyList) DeepCopy ¶
func (in *SecurityPolicyList) DeepCopy() *SecurityPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicyList.
func (*SecurityPolicyList) DeepCopyInto ¶
func (in *SecurityPolicyList) DeepCopyInto(out *SecurityPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecurityPolicyList) DeepCopyObject ¶
func (in *SecurityPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SecurityPolicySpec ¶
type SecurityPolicySpec struct { ServiceAccountName string `json:"serviceAccountName,omitempty"` AutomountServiceAccountToken bool `json:"automountServiceAccountToken,omitempty"` SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"` }
SecurityPolicySpec describes the specification for Security.
func (*SecurityPolicySpec) DeepCopy ¶
func (in *SecurityPolicySpec) DeepCopy() *SecurityPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityPolicySpec.
func (*SecurityPolicySpec) DeepCopyInto ¶
func (in *SecurityPolicySpec) DeepCopyInto(out *SecurityPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SemVerLevel ¶
type SemVerLevel string
SemVerLevel indicates a level which we want to monitor the image registry for. It should be in the format of format. Examples: v1.2.3, v1.2.4-rc.0, v1.2.4-pr.1+201804011533 1.2.3, 1.2.4-rc.0, 1.2.4-pr.1+201804011533
type SemVerRelease ¶
type SemVerRelease struct { // Name represents the name of the service to be released. For releases and // release candidates, this will be the name of the application, for // previews this will be the preview tag (generally the branch name). Name string `json:"name"` // Version is the specific version for this release in a SemVer annotation. Version string `json:"version"` }
SemVerRelease represents a release which is linked to a SemVer VersioningPolicy.
func (*SemVerRelease) DeepCopy ¶
func (in *SemVerRelease) DeepCopy() *SemVerRelease
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SemVerRelease.
func (*SemVerRelease) DeepCopyInto ¶
func (in *SemVerRelease) DeepCopyInto(out *SemVerRelease)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SemVerRelease) String ¶
func (r *SemVerRelease) String() string
String concatenates the SemVer Release values into a single unique string.
type SemVerSource ¶
type SemVerSource struct { // Version is the type of Version we want to start tracking with this // Policy. Version SemVerVersion `json:"version"` // Level is the level we want to fetch images for this Microservice for. Level SemVerLevel `json:"level"` // MinVersion is the minimum version that we want to track for this Policy. MinVersion string `json:"minVersion"` }
SemVerSource is a versioning policy based on semver. When semver is selected, Heighliner can watch for images on 3 different levels.
func (*SemVerSource) DeepCopy ¶
func (in *SemVerSource) DeepCopy() *SemVerSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SemVerSource.
func (*SemVerSource) DeepCopyInto ¶
func (in *SemVerSource) DeepCopyInto(out *SemVerSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SemVerVersion ¶
type SemVerVersion string
SemVerVersion represents the type of version we want to monitor for.
type UpdateStrategy ¶
type UpdateStrategy struct { Manual *ManualUpdateStrategy `json:"manual"` Latest *LatestUpdateStrategy `json:"latest"` }
UpdateStrategy allows a strategy to be defined which will allow the NetworkPolicy controller to determine when and how to transition from one version to another for a specific Microservice. The fields defined on each strategy will be used as label selectors to select the correct VersionedMicroservice.
func (*UpdateStrategy) DeepCopy ¶
func (in *UpdateStrategy) DeepCopy() *UpdateStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStrategy.
func (*UpdateStrategy) DeepCopyInto ¶
func (in *UpdateStrategy) DeepCopyInto(out *UpdateStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionedMicroservice ¶
type VersionedMicroservice struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec VersionedMicroserviceSpec `json:"spec"` }
VersionedMicroservice represents the combined state of different components in time which form a single Microservice. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*VersionedMicroservice) DeepCopy ¶
func (in *VersionedMicroservice) DeepCopy() *VersionedMicroservice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionedMicroservice.
func (*VersionedMicroservice) DeepCopyInto ¶
func (in *VersionedMicroservice) DeepCopyInto(out *VersionedMicroservice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VersionedMicroservice) DeepCopyObject ¶
func (in *VersionedMicroservice) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VersionedMicroserviceList ¶
type VersionedMicroserviceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []VersionedMicroservice `json:"items"` }
VersionedMicroserviceList is a list of VersionedMicroservices. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*VersionedMicroserviceList) DeepCopy ¶
func (in *VersionedMicroserviceList) DeepCopy() *VersionedMicroserviceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionedMicroserviceList.
func (*VersionedMicroserviceList) DeepCopyInto ¶
func (in *VersionedMicroserviceList) DeepCopyInto(out *VersionedMicroserviceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VersionedMicroserviceList) DeepCopyObject ¶
func (in *VersionedMicroserviceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VersionedMicroserviceSpec ¶
type VersionedMicroserviceSpec struct { Availability *AvailabilityPolicySpec `json:"availability,omitempty"` Config *ConfigPolicySpec `json:"config,omitempty"` Security *SecurityPolicySpec `json:"security,omitempty"` Containers []corev1.Container `json:"containers"` ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets"` }
VersionedMicroserviceSpec represents the specification for a VersionedMicroservice.
func (*VersionedMicroserviceSpec) DeepCopy ¶
func (in *VersionedMicroserviceSpec) DeepCopy() *VersionedMicroserviceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionedMicroserviceSpec.
func (*VersionedMicroserviceSpec) DeepCopyInto ¶
func (in *VersionedMicroserviceSpec) DeepCopyInto(out *VersionedMicroserviceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersioningPolicy ¶
type VersioningPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec VersioningPolicySpec `json:"spec"` }
VersioningPolicy describes the configuration options for the VersioningPolicy. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*VersioningPolicy) DeepCopy ¶
func (in *VersioningPolicy) DeepCopy() *VersioningPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersioningPolicy.
func (*VersioningPolicy) DeepCopyInto ¶
func (in *VersioningPolicy) DeepCopyInto(out *VersioningPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VersioningPolicy) DeepCopyObject ¶
func (in *VersioningPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VersioningPolicyList ¶
type VersioningPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []VersioningPolicy `json:"items"` }
VersioningPolicyList is a list of VersioningPolicy CRDs. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*VersioningPolicyList) DeepCopy ¶
func (in *VersioningPolicyList) DeepCopy() *VersioningPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersioningPolicyList.
func (*VersioningPolicyList) DeepCopyInto ¶
func (in *VersioningPolicyList) DeepCopyInto(out *VersioningPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VersioningPolicyList) DeepCopyObject ¶
func (in *VersioningPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VersioningPolicySpec ¶
type VersioningPolicySpec struct {
SemVer *SemVerSource `json:"semVer"`
}
VersioningPolicySpec describes the specification for Versioning.
func (*VersioningPolicySpec) DeepCopy ¶
func (in *VersioningPolicySpec) DeepCopy() *VersioningPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersioningPolicySpec.
func (*VersioningPolicySpec) DeepCopyInto ¶
func (in *VersioningPolicySpec) DeepCopyInto(out *VersioningPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.