Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the git v1 API group +kubebuilder:object:generate=true +groupName=git.gitops.slipway.org
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "git.gitops.slipway.org", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type GitRepo ¶
type GitRepo struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GitRepoSpec `json:"spec,omitempty"`
Status GitRepoStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:resource:path=gitrepos,scope=Cluster +kubebuilder:subresource:status GitRepo is the Schema for the gitrepos API
func (*GitRepo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRepo.
func (*GitRepo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitRepo) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GitRepoList ¶
type GitRepoList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GitRepo `json:"items"`
}
+kubebuilder:object:root=true GitRepoList contains a list of GitRepo
func (*GitRepoList) DeepCopy ¶
func (in *GitRepoList) DeepCopy() *GitRepoList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRepoList.
func (*GitRepoList) DeepCopyInto ¶
func (in *GitRepoList) DeepCopyInto(out *GitRepoList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GitRepoList) DeepCopyObject ¶
func (in *GitRepoList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GitRepoSpec ¶
type GitRepoSpec struct {
// Uri is the location of the repo.
Uri string `json:"uri"`
// GitPath determines how references should be parsed
// See https://github.com/slipway-gitops/slipway#the-spec
// +optional
GitPath string `json:"gitpath"`
// Store is a location to store operation artifacts after they have been released
// +optional
Store `json:"store,omitempty"`
// Operations: list of Operations
Operations []Operation `json:"operations"`
}
GitRepoSpec defines the desired state of GitRepo
func (*GitRepoSpec) DeepCopy ¶
func (in *GitRepoSpec) DeepCopy() *GitRepoSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRepoSpec.
func (*GitRepoSpec) DeepCopyInto ¶
func (in *GitRepoSpec) DeepCopyInto(out *GitRepoSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GitRepoStatus ¶
type GitRepoStatus struct {
// Information when was the last time the git repo was scanned.
// +optional
LastSync *metav1.Time `json:"lastSync,omitempty"`
// A list of pointers to all associated Hash CRDS.
// +optional
Hashes []corev1.ObjectReference `json:"Sha,omitempty"`
}
GitRepoStatus defines the observed state of GitRepo
func (*GitRepoStatus) DeepCopy ¶
func (in *GitRepoStatus) DeepCopy() *GitRepoStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitRepoStatus.
func (*GitRepoStatus) DeepCopyInto ¶
func (in *GitRepoStatus) DeepCopyInto(out *GitRepoStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Hash ¶
type Hash struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec HashSpec `json:"spec,omitempty"`
Status HashStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:resource:path=hashes,scope=Cluster +kubebuilder:subresource:status Hash is the Schema for the hashes API
func (*Hash) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hash.
func (*Hash) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Hash) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HashList ¶
type HashList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Hash `json:"items"`
}
HashList contains a list of Hash
func (*HashList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HashList.
func (*HashList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HashList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HashSpec ¶
type HashSpec struct {
// +kubebuilder:validation:Required
GitRepo string `json:"gitrepo"`
// Operations to perform
// +kubebuilder:validation:Required
// +listType:=atomic
Operations []Operation `json:"operations"`
// Store Backup storage type
// +optional
*Store `json:"store,omitempty"`
}
HashSpec defines the desired state of Hash
func (*HashSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HashSpec.
func (*HashSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HashStatus ¶
type HashStatus struct {
// A list of pointers to current deployed objects.
// +optional
Objects []corev1.ObjectReference `json:"active,omitempty"`
}
HashStatus defines the observed state of Hash
func (*HashStatus) DeepCopy ¶
func (in *HashStatus) DeepCopy() *HashStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HashStatus.
func (*HashStatus) DeepCopyInto ¶
func (in *HashStatus) DeepCopyInto(out *HashStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpType ¶
type OpType string
OpType is the type of operation that will take place +kubebuilder:validation:Enum=tag;branch;pull
type Operation ¶
type Operation struct {
// Name of the operation.
Name string `json:"operation"`
// Path to kustomize files.
Path string `json:"path"`
// HashPath adds a kustomize ref of the commit hash to the end of the Path
// +optional
HashPath bool `json:"hashpath"`
// Weight to determin order
// +optional
Weight int64 `json:"weight,omitempty"`
// Type of Operation
// kubebuilder:validation:MinLength=1
Type OpType `json:"optype"`
// Type Reference
// +optional
Reference string `json:"reference"`
// Type ReferenceTitle
// +optional
ReferenceTitle string `json:"referencetitle"`
// Type tranformers
// +optional
Transformers []Transformer `json:"transformers"`
}
Operation defines how you should react to new Hash CRDS.
func (*Operation) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Operation.
func (*Operation) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Store ¶
type Store struct {
// Cloud provider: aws, azure, gcp
Type string `json:"type"`
// Bucket
Bucket string `json:"bucket"`
}
Store defines a cloud object store.
func (*Store) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Store.
func (*Store) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Transformer ¶
type Transformer struct {
// Type of tranformer valid types annotations, images, labels, namespace, prefix, suffix
Type string `json:"type"`
// Value to use with transformer valid types are hash, pull, branch, tag
Value string `json:"value"`
// Key value for tools like labels and annotations
// +optional
Key string `json:"key"`
}
Transformers are kustomize transformers available for contextual transformation that cannot be accomplished with normal kustomize manifests
func (*Transformer) DeepCopy ¶
func (in *Transformer) DeepCopy() *Transformer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Transformer.
func (*Transformer) DeepCopyInto ¶
func (in *Transformer) DeepCopyInto(out *Transformer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.