Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the github v1alpha1 API group +kubebuilder:object:generate=true +groupName=github.go.hein.dev
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "github.go.hein.dev", Version: "v1alpha1"} // 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 Key ¶
type Key struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KeySpec `json:"spec,omitempty"`
Status KeyStatus `json:"status,omitempty"`
}
Key is the Schema for the keys API
func (*Key) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Key.
func (*Key) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Key) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeyList ¶
type KeyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Key `json:"items"`
}
KeyList contains a list of Key
func (*KeyList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyList.
func (*KeyList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeyList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KeySecretTemplate ¶
type KeySecretTemplate struct {
// Map of string keys and values that can be used to organize and categorize
// (scope and select) objects. May match selectors of replication controllers
// and services.
// More info: http://kubernetes.io/docs/user-guide/labels
// +optional
Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,11,rep,name=labels"`
// Annotations is an unstructured key value map stored with a resource that may be
// set by external tools to store and retrieve arbitrary metadata. They are not
// queryable and should be preserved when modifying objects.
// More info: http://kubernetes.io/docs/user-guide/annotations
// +optional
Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,12,rep,name=annotations"`
// TargetNamespace optionally specifies the namespace the Key Secret is provisioned to
// The default behavior results in a Secret namespace matching the metadata.namespace of the Key object
// This can be used to achieve a "namespace delegation" pattern
TargetNamespace string `json:"targetNamespace,omitempty"`
// NameOverride optionally specifies the name the Key Secret
// The default behavior results in a Secret name matching metadata.name of the Key object
// For example, this can be used in combination with `targetNamespace` to place multiple
// Secrets of the same name into different Namespaces from the same managing Namespace.
NameOverride string `json:"nameOverride,omitempty"`
}
KeySecretTemplate is a template for creating Secrets that hold Key data
func (*KeySecretTemplate) DeepCopy ¶
func (in *KeySecretTemplate) DeepCopy() *KeySecretTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeySecretTemplate.
func (*KeySecretTemplate) DeepCopyInto ¶
func (in *KeySecretTemplate) DeepCopyInto(out *KeySecretTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeySpec ¶
type KeySpec struct {
// +optional
// ReadOnly determines whether the key has write access to the repository
ReadOnly bool `json:"readOnly"`
// +kubebuilder:validation:MaxLength 253
// RepositoryRef points to a Repository in the same Namespace that the Key is for
RepositoryRef string `json:"repositoryRef"`
// +optional
// SecretTemplate sets annotations and labels on the resulting Secret of this Key
SecretTemplate KeySecretTemplate `json:"secretTemplate,omitempty"`
}
KeySpec defines the desired state of Key
func (*KeySpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeySpec.
func (*KeySpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeyStatus ¶
type KeyStatus struct {
// +optional
// Status stores the status of the Key
Status StatusReason `json:"status,omitempty"`
// +optional
// URL stores the URL of the Key
URL string `json:"url,omitempty"`
// +optional
// GitHubKeyID stores the GitHub API ID of the Key.
// It is used to ensure deletion of the proper GitHub API Object.
GitHubKeyID int64 `json:"gitHubKeyID,omitempty"`
// +optional
// GitHubRepository stores the current repository the key is applicable for.
// It is used to ensure proper deletion in absence of a valid `KeySpec.RepositoryRef`.
GitHubRepository string `json:"gitHubRepository,omitempty"`
// +optional
// GitHubOrganization stores the current organization expected to contain the applicable repository.
// It is used to ensure proper deletion in absence of a valid `KeySpec.RepositoryRef`.
GitHubOrganization string `json:"gitHubOrganization,omitempty"`
// +optional
// PublicKey holds the key contents matching the SSH private key.
// It is used by the Key controller to track correctness of the child Secret object.
PublicKey string `json:"publicKey"`
}
KeyStatus defines the observed state of Key
func (*KeyStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyStatus.
func (*KeyStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Repository ¶
type Repository struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RepositorySpec `json:"spec,omitempty"`
Status RepositoryStatus `json:"status,omitempty"`
}
Repository is the Schema for the repositories API
func (*Repository) DeepCopy ¶
func (in *Repository) DeepCopy() *Repository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Repository.
func (*Repository) DeepCopyInto ¶
func (in *Repository) DeepCopyInto(out *Repository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Repository) DeepCopyObject ¶
func (in *Repository) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RepositoryList ¶
type RepositoryList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Repository `json:"items"`
}
RepositoryList contains a list of Repository
func (*RepositoryList) DeepCopy ¶
func (in *RepositoryList) DeepCopy() *RepositoryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryList.
func (*RepositoryList) DeepCopyInto ¶
func (in *RepositoryList) DeepCopyInto(out *RepositoryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RepositoryList) DeepCopyObject ¶
func (in *RepositoryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RepositorySettings ¶
type RepositorySettings struct {
// +optional
// Private means it will create a private repo
Private bool `json:"private,omitempty"`
// +optional
// Issues means the project has Github issues enabled
Issues bool `json:"issues,omitempty"`
// +optional
// Projects means the project has Github projects enabled
Projects bool `json:"projects,omitempty"`
// +optional
// Wiki means the project has Github wiki enabled
Wiki bool `json:"wiki,omitempty"`
// +optional
// Template means the project is a template
Template bool `json:"template,omitempty"`
}
RepositorySettings defines the desired settings
func (*RepositorySettings) DeepCopy ¶
func (in *RepositorySettings) DeepCopy() *RepositorySettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositorySettings.
func (*RepositorySettings) DeepCopyInto ¶
func (in *RepositorySettings) DeepCopyInto(out *RepositorySettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RepositorySpec ¶
type RepositorySpec struct {
// +kubebuilder:validation:MaxLength 100
// Organization is the name of the Github organization
Organization string `json:"organization"`
// +kubebuilder:validation:MaxLength 80
// +optional
// Description is the description of the repository
Description string `json:"description,omitempty"`
// +optional
// Homepage is the location where documentation can be found
Homepage string `json:"homepage,omitempty"`
// +optional
// Settings contains all the settings repository settings
Settings RepositorySettings `json:"settings,omitempty"`
}
RepositorySpec defines the desired state of Repository
func (*RepositorySpec) DeepCopy ¶
func (in *RepositorySpec) DeepCopy() *RepositorySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositorySpec.
func (*RepositorySpec) DeepCopyInto ¶
func (in *RepositorySpec) DeepCopyInto(out *RepositorySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RepositoryStatus ¶
type RepositoryStatus struct {
// +optional
// Status stores the status of the repository
Status StatusReason `json:"status,omitempty"`
// +optional
// URL stores the URL of the repos
URL string `json:"url,omitempty"`
// +optional
// ForkCount is the amount of forks when this was last synced
ForkCount int `json:"forkCount,omitempty"`
// +optional
// StargazersCount is amount of stars when it was last synced
StargazersCount int `json:"stargazersCount,omitempty"`
// +optional
// WatchersCount is amount of watchers when it was last synced
WatchersCount int `json:"watchersCount,omitempty"`
}
RepositoryStatus defines the observed state of Repository
func (*RepositoryStatus) DeepCopy ¶
func (in *RepositoryStatus) DeepCopy() *RepositoryStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryStatus.
func (*RepositoryStatus) DeepCopyInto ¶
func (in *RepositoryStatus) DeepCopyInto(out *RepositoryStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusReason ¶
type StatusReason string
StatusReason returns the Status options
const ( // SyncedStatus means the repository is in perfect synced status SyncedStatus StatusReason = "Synced" // CreatingStatus means the repository is in creating status CreatingStatus StatusReason = "Creating" // WaitingStatus means the repository is in waiting status WaitingStatus StatusReason = "Waiting" // UpdatingStatus means the repository is in updating status UpdatingStatus StatusReason = "Updating" // DeletingStatus means the repository is in deleting status DeletingStatus StatusReason = "Deleting" )