1
0
mirror of https://github.com/rancher/rke.git synced 2025-08-15 13:34:36 +00:00

Vendor bump

This commit is contained in:
David Lewis 2018-03-23 09:25:39 -07:00
parent 5fcfe95aa0
commit 33b27c13e1
18 changed files with 1196 additions and 137 deletions

View File

@ -24,4 +24,4 @@ github.com/coreos/go-semver e214231b295a8ea9479f11b70b35d5acf3556d9
github.com/ugorji/go/codec ccfe18359b55b97855cee1d3f74e5efbda4869dc github.com/ugorji/go/codec ccfe18359b55b97855cee1d3f74e5efbda4869dc
github.com/rancher/norman 151aa66e3e99de7e0d195e2d5ca96b1f95544555 github.com/rancher/norman 151aa66e3e99de7e0d195e2d5ca96b1f95544555
github.com/rancher/types 35773afb02d16506102fcbccc2f69514547b3767 github.com/rancher/types a9178824cd518e1ac2bd8efd03751437ddc1c1fe

View File

@ -4,3 +4,5 @@
*.swp *.swp
/.trash-cache /.trash-cache
/.idea /.idea
/trash.lock
/types

View File

@ -121,28 +121,28 @@ type ActiveDirectoryConfig struct {
metav1.ObjectMeta `json:"metadata,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"`
AuthConfig `json:",inline" mapstructure:",squash"` AuthConfig `json:",inline" mapstructure:",squash"`
Servers []string `json:"servers,omitempty" norman:"noupdate"` Servers []string `json:"servers,omitempty" norman:"type=array[string],required"`
Port int64 `json:"port,omitempty" norman:"noupdate"` Port int64 `json:"port,omitempty" norman:"default=389"`
TLS bool `json:"tls,omitempty" norman:"noupdate"` TLS bool `json:"tls,omitempty" norman:"default=false"`
Certificate string `json:"certificate,omitempty" norman:"noupdate"` Certificate string `json:"certificate,omitempty"`
DefaultLoginDomain string `json:"defaultLoginDomain,omitempty" norman:"noupdate"` DefaultLoginDomain string `json:"defaultLoginDomain,omitempty"`
ServiceAccountUsername string `json:"serviceAccountUsername,omitempty" norman:"noupdate"` ServiceAccountUsername string `json:"serviceAccountUsername,omitempty" norman:"required"`
ServiceAccountPassword string `json:"serviceAccountPassword,omitempty" norman:"noupdate,type=password"` ServiceAccountPassword string `json:"serviceAccountPassword,omitempty" norman:"type=password,required"`
UserDisabledBitMask int64 `json:"userDisabledBitMask,omitempty" norman:"default=2,noupdate"` UserDisabledBitMask int64 `json:"userDisabledBitMask,omitempty" norman:"default=2"`
UserSearchBase string `json:"userSearchBase,omitempty" norman:"noupdate"` UserSearchBase string `json:"userSearchBase,omitempty" norman:"required"`
UserSearchAttribute string `json:"userSearchAttribute,omitempty" norman:"default=sAMAccountName,noupdate"` UserSearchAttribute string `json:"userSearchAttribute,omitempty" norman:"default=sAMAccountName"`
UserLoginAttribute string `json:"userLoginAttribute,omitempty" norman:"default=sAMAccountName,noupdate"` UserLoginAttribute string `json:"userLoginAttribute,omitempty" norman:"default=sAMAccountName"`
UserObjectClass string `json:"userObjectClass,omitempty" norman:"default=person,noupdate"` UserObjectClass string `json:"userObjectClass,omitempty" norman:"default=person"`
UserNameAttribute string `json:"userNameAttribute,omitempty" norman:"default=name,noupdate"` UserNameAttribute string `json:"userNameAttribute,omitempty" norman:"default=name"`
UserEnabledAttribute string `json:"userEnabledAttribute,omitempty" norman:"default=userAccountControl,noupdate"` UserEnabledAttribute string `json:"userEnabledAttribute,omitempty" norman:"default=userAccountControl"`
GroupSearchBase string `json:"groupSearchBase,omitempty" norman:"noupdate"` GroupSearchBase string `json:"groupSearchBase,omitempty"`
GroupSearchAttribute string `json:"groupSearchAttribute,omitempty" norman:"default=sAMAccountName,noupdate"` GroupSearchAttribute string `json:"groupSearchAttribute,omitempty" norman:"default=sAMAccountName"`
GroupObjectClass string `json:"groupObjectClass,omitempty" norman:"default=group,noupdate"` GroupObjectClass string `json:"groupObjectClass,omitempty" norman:"default=group"`
GroupNameAttribute string `json:"groupNameAttribute,omitempty" norman:"default=name,noupdate"` GroupNameAttribute string `json:"groupNameAttribute,omitempty" norman:"default=name"`
GroupDNAttribute string `json:"groupDNAttribute,omitempty" norman:"default=distinguishedName,noupdate"` GroupDNAttribute string `json:"groupDNAttribute,omitempty" norman:"default=distinguishedName"`
GroupMemberUserAttribute string `json:"groupMemberUserAttribute,omitempty" norman:"default=distinguishedName,noupdate"` GroupMemberUserAttribute string `json:"groupMemberUserAttribute,omitempty" norman:"default=distinguishedName"`
GroupMemberMappingAttribute string `json:"groupMemberMappingAttribute,omitempty" norman:"noupdate"` GroupMemberMappingAttribute string `json:"groupMemberMappingAttribute,omitempty"`
ConnectionTimeout int64 `json:"connectionTimeout,omitempty" norman:"default=5000,noupdate"` ConnectionTimeout int64 `json:"connectionTimeout,omitempty" norman:"default=5000"`
} }
type ActiveDirectoryTestAndApplyInput struct { type ActiveDirectoryTestAndApplyInput struct {

View File

@ -16,6 +16,7 @@ const (
// ClusterConditionProvisioned Cluster is provisioned // ClusterConditionProvisioned Cluster is provisioned
ClusterConditionProvisioned condition.Cond = "Provisioned" ClusterConditionProvisioned condition.Cond = "Provisioned"
ClusterConditionUpdated condition.Cond = "Updated" ClusterConditionUpdated condition.Cond = "Updated"
ClusterConditionWaiting condition.Cond = "Waiting"
ClusterConditionRemoved condition.Cond = "Removed" ClusterConditionRemoved condition.Cond = "Removed"
// ClusterConditionNoDiskPressure true when all cluster nodes have sufficient disk // ClusterConditionNoDiskPressure true when all cluster nodes have sufficient disk
ClusterConditionNoDiskPressure condition.Cond = "NoDiskPressure" ClusterConditionNoDiskPressure condition.Cond = "NoDiskPressure"
@ -28,6 +29,7 @@ const (
ClusterConditionAddonDeploy condition.Cond = "AddonDeploy" ClusterConditionAddonDeploy condition.Cond = "AddonDeploy"
ClusterConditionSystemAccountCreated condition.Cond = "SystemAccountCreated" ClusterConditionSystemAccountCreated condition.Cond = "SystemAccountCreated"
ClusterConditionAgentDeployed condition.Cond = "AgentDeployed" ClusterConditionAgentDeployed condition.Cond = "AgentDeployed"
ClusterConditionGlobalAdminsSynced condition.Cond = "GlobalAdminsSynced"
ClusterDriverImported = "imported" ClusterDriverImported = "imported"
ClusterDriverLocal = "local" ClusterDriverLocal = "local"
@ -51,7 +53,7 @@ type ClusterSpec struct {
DisplayName string `json:"displayName"` DisplayName string `json:"displayName"`
Description string `json:"description"` Description string `json:"description"`
Internal bool `json:"internal" norman:"nocreate,noupdate"` Internal bool `json:"internal" norman:"nocreate,noupdate"`
DesiredAgentImage string `json:"desiredAgentImage" norman:"nocreate,noupdate"` DesiredAgentImage string `json:"desiredAgentImage"`
ImportedConfig *ImportedConfig `json:"importedConfig,omitempty" norman:"nocreate,noupdate"` ImportedConfig *ImportedConfig `json:"importedConfig,omitempty" norman:"nocreate,noupdate"`
GoogleKubernetesEngineConfig *GoogleKubernetesEngineConfig `json:"googleKubernetesEngineConfig,omitempty"` GoogleKubernetesEngineConfig *GoogleKubernetesEngineConfig `json:"googleKubernetesEngineConfig,omitempty"`
AzureKubernetesServiceConfig *AzureKubernetesServiceConfig `json:"azureKubernetesServiceConfig,omitempty"` AzureKubernetesServiceConfig *AzureKubernetesServiceConfig `json:"azureKubernetesServiceConfig,omitempty"`
@ -220,3 +222,7 @@ type ClusterRegistrationTokenStatus struct {
ManifestURL string `json:"manifestUrl"` ManifestURL string `json:"manifestUrl"`
Token string `json:"token"` Token string `json:"token"`
} }
type GenerateKubeConfigOutput struct {
Config string `json:"config"`
}

View File

@ -0,0 +1,63 @@
package v3
import (
"github.com/rancher/norman/condition"
"github.com/rancher/norman/types"
"k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
type GlobalComposeConfig struct {
metav1.TypeMeta `json:",inline"`
// Standard objects metadata. More info:
// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired behavior of the the cluster. More info:
// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status
Spec ComposeSpec `json:"spec,omitempty"`
Status ComposeStatus `json:"status,omitempty"`
}
type ComposeSpec struct {
RancherCompose string `json:"rancherCompose,omitempty"`
}
type ComposeStatus struct {
Conditions []ComposeCondition `json:"conditions,omitempty"`
}
var (
ComposeConditionExecuted condition.Cond = "Executed"
)
type ComposeCondition struct {
// Type of cluster condition.
Type string `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status v1.ConditionStatus `json:"status"`
// The last time this condition was updated.
LastUpdateTime string `json:"lastUpdateTime,omitempty"`
// Last time the condition transitioned from one status to another.
LastTransitionTime string `json:"lastTransitionTime,omitempty"`
// The reason for the condition's last transition.
Reason string `json:"reason,omitempty"`
// Human-readable message indicating details about last transition
Message string `json:"message,omitempty"`
}
type ClusterComposeConfig struct {
types.Namespaced
metav1.TypeMeta `json:",inline"`
// Standard objects metadata. More info:
// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#metadata
metav1.ObjectMeta `json:"metadata,omitempty"`
// Specification of the desired behavior of the the cluster. More info:
// https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status
Spec ClusterComposeSpec `json:"spec,omitempty"`
Status ComposeStatus `json:"status,omitempty"`
}
type ClusterComposeSpec struct {
ClusterName string `json:"clusterName" norman:"type=reference[cluster]"`
RancherCompose string `json:"rancherCompose,omitempty"`
}

View File

@ -2,18 +2,25 @@ package v3
const ( const (
K8sV18 = "v1.8.9-rancher1-1" K8sV18 = "v1.8.9-rancher1-1"
K8sV19 = "v1.9.5-rancher1-1"
) )
var ( var (
// K8sVersionToRKESystemImages - images map for 2.0
K8sVersionToRKESystemImages = map[string]RKESystemImages{ K8sVersionToRKESystemImages = map[string]RKESystemImages{
"v1.8.9-rancher1-1": v18SystemImages, "v1.8.9-rancher1-1": v18SystemImages,
"v1.9.4-rancher1-1": v19SystemImages,
"v1.9.5-rancher1-1": v19SystemImages,
} }
RancherK8sVersionToSystemImages = map[string]RancherSystemImages{ // K8SVersionToSystemImages16 - images map for 1.6. Keeping it sepate in case we have to diverge
"v1.9.3-rancher1-1": v193SystemImages, K8SVersionToSystemImages16 = map[string]RKESystemImages{
"v1.8.9-rancher1-1": v18SystemImages,
"v1.9.4-rancher1-1": v19SystemImages,
"v1.9.5-rancher1-1": v19SystemImages,
} }
// v187SystemImages defaults for rke and rancher 2.0 // v18 system images defaults
v18SystemImages = RKESystemImages{ v18SystemImages = RKESystemImages{
Etcd: "rancher/coreos-etcd:v3.0.17", Etcd: "rancher/coreos-etcd:v3.0.17",
Kubernetes: "rancher/k8s:" + K8sV18, Kubernetes: "rancher/k8s:" + K8sV18,
@ -40,23 +47,35 @@ var (
IngressBackend: "rancher/nginx-ingress-controller-defaultbackend:1.4", IngressBackend: "rancher/nginx-ingress-controller-defaultbackend:1.4",
} }
// v193SystemImages defaults for 1.6 with k8s v1.9 // v19 system images defaults
v193SystemImages = RancherSystemImages{ v19SystemImages = RKESystemImages{
RKESystemImages: RKESystemImages{ Etcd: "rancher/coreos-etcd:v3.0.17",
Etcd: "rancher/etcd:v2.3.7-13", Kubernetes: "rancher/k8s:" + K8sV19,
Kubernetes: "rancher/k8s:v1.9.3-rancher1-1", Alpine: "alpine:latest",
KubeDNS: "rancher/k8s-dns-kube-dns-amd64:1.14.7", NginxProxy: "rancher/rke-nginx-proxy:v0.1.1",
DNSmasq: "rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.7", CertDownloader: "rancher/rke-cert-deployer:v0.1.1",
KubeDNSSidecar: "rancher/k8s-dns-sidecar-amd64:1.14.7", KubernetesServicesSidecar: "rancher/rke-service-sidekick:v0.1.0",
Ingress: "rancher/lb-service-rancher:v0.7.17", KubeDNS: "rancher/k8s-dns-kube-dns-amd64:1.14.7",
}, DNSmasq: "rancher/k8s-dns-dnsmasq-nanny-amd64:1.14.7",
Kubectld: "rancher/kubectld:v0.8.6", KubeDNSSidecar: "rancher/k8s-dns-sidecar-amd64:1.14.7",
EtcHostUpdater: "rancher/etc-host-updater:v0.0.3", KubeDNSAutoscaler: "rancher/cluster-proportional-autoscaler-amd64:1.0.0",
K8sAgent: "rancher/kubernetes-agent:v0.6.6", Flannel: "rancher/coreos-flannel:v0.9.1",
K8sAuth: "rancher/kubernetes-auth:v0.0.8", FlannelCNI: "rancher/coreos-flannel-cni:v0.2.0",
Heapster: "rancher/heapster-grafana-amd64:v4.4.3", CalicoNode: "rancher/calico-node:v3.0.2",
Grafana: "rancher/heapster-amd64:v1.5.0", CalicoCNI: "rancher/calico-cni:v2.0.0",
Influxdb: "rancher/heapster-influxdb-amd64:v1.3.3", CalicoCtl: "rancher/calico-ctl:v2.0.0",
Tiller: "rancher/tiller:v2.7.2", CanalNode: "rancher/calico-node:v2.6.2",
CanalCNI: "rancher/calico-cni:v1.11.0",
CanalFlannel: "rancher/coreos-flannel:v0.9.1",
WeaveNode: "weaveworks/weave-kube:2.1.2",
WeaveCNI: "weaveworks/weave-npc:2.1.2",
PodInfraContainer: "rancher/pause-amd64:3.0",
Ingress: "rancher/nginx-ingress-controller:0.10.2",
IngressBackend: "rancher/nginx-ingress-controller-defaultbackend:1.4",
Grafana: "rancher/heapster-grafana-amd64:v4.4.3",
Heapster: "rancher/heapster-amd64:v1.5.0",
Influxdb: "rancher/heapster-influxdb-amd64:v1.3.3",
Tiller: "rancher/tiller:v2.7.2",
Dashboard: "rancher/kubernetes-dashboard-amd64:v1.8.0",
} }
) )

View File

@ -77,6 +77,7 @@ type NodeStatus struct {
var ( var (
NodeConditionInitialized condition.Cond = "Initialized" NodeConditionInitialized condition.Cond = "Initialized"
NodeConditionProvisioned condition.Cond = "Provisioned" NodeConditionProvisioned condition.Cond = "Provisioned"
NodeConditionUpdated condition.Cond = "Updated"
NodeConditionRegistered condition.Cond = "Registered" NodeConditionRegistered condition.Cond = "Registered"
NodeConditionRemoved condition.Cond = "Removed" NodeConditionRemoved condition.Cond = "Removed"
NodeConditionConfigSaved condition.Cond = "Saved" NodeConditionConfigSaved condition.Cond = "Saved"
@ -228,3 +229,15 @@ type NodeDriverSpec struct {
Checksum string `json:"checksum"` Checksum string `json:"checksum"`
UIURL string `json:"uiUrl"` UIURL string `json:"uiUrl"`
} }
type PublicEndpoint struct {
NodeName string `json:"nodeName,omitempty" norman:"type=reference[/v3/schemas/node],nocreate,noupdate"`
Address string `json:"address,omitempty" norman:"nocreate,noupdate"`
Port int32 `json:"port,omitempty" norman:"nocreate,noupdate"`
Protocol string `json:"protocol,omitempty" norman:"nocreate,noupdate"`
// for node port service
ServiceName string `json:"serviceName,omitempty" norman:"type=reference[service],nocreate,noupdate"`
// for host port
PodName string `json:"podName,omitempty" norman:"type=reference[pod],nocreate,noupdate"`
//serviceName and podName are mutually exclusive
}

View File

@ -21,6 +21,8 @@ type Pipeline struct {
metav1.TypeMeta `json:",inline"` metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"`
ProjectName string `json:"projectName" yaml:"projectName" norman:"required,type=reference[project]"`
Spec PipelineSpec `json:"spec"` Spec PipelineSpec `json:"spec"`
Status PipelineStatus `json:"status"` Status PipelineStatus `json:"status"`
} }
@ -31,6 +33,8 @@ type PipelineExecution struct {
metav1.TypeMeta `json:",inline"` metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"`
ProjectName string `json:"projectName" yaml:"projectName" norman:"required,type=reference[project]"`
Spec PipelineExecutionSpec `json:"spec"` Spec PipelineExecutionSpec `json:"spec"`
Status PipelineExecutionStatus `json:"status"` Status PipelineExecutionStatus `json:"status"`
} }
@ -41,10 +45,14 @@ type PipelineExecutionLog struct {
metav1.TypeMeta `json:",inline"` metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"`
ProjectName string `json:"projectName" yaml:"projectName" norman:"required,type=reference[project]"`
Spec PipelineExecutionLogSpec `json:"spec"` Spec PipelineExecutionLogSpec `json:"spec"`
} }
type SourceCodeCredential struct { type SourceCodeCredential struct {
types.Namespaced
metav1.TypeMeta `json:",inline"` metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"`
@ -53,6 +61,8 @@ type SourceCodeCredential struct {
} }
type SourceCodeRepository struct { type SourceCodeRepository struct {
types.Namespaced
metav1.TypeMeta `json:",inline"` metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"`
@ -78,25 +88,26 @@ type GithubClusterConfig struct {
} }
type PipelineStatus struct { type PipelineStatus struct {
PipelineState string `json:"pipelineState,omitempty" norman:"required,options=active|inactive,default=active"` PipelineState string `json:"pipelineState,omitempty" norman:"required,options=active|inactive,default=active"`
NextRun int `json:"nextRun" yaml:"nextRun,omitempty" norman:"default=1,min=1"` NextRun int `json:"nextRun" yaml:"nextRun,omitempty" norman:"default=1,min=1"`
LastExecutionID string `json:"lastExecutionId,omitempty" yaml:"lastExecutionId,omitempty"` LastExecutionID string `json:"lastExecutionId,omitempty" yaml:"lastExecutionId,omitempty"`
LastRunState string `json:"lastRunState,omitempty" yaml:"lastRunState,omitempty"` LastRunState string `json:"lastRunState,omitempty" yaml:"lastRunState,omitempty"`
LastStarted string `json:"lastStarted,omitempty" yaml:"lastStarted,omitempty"` LastStarted string `json:"lastStarted,omitempty" yaml:"lastStarted,omitempty"`
NextStart string `json:"nextStart,omitempty" yaml:"nextStart,omitempty"` NextStart string `json:"nextStart,omitempty" yaml:"nextStart,omitempty"`
WebHookID string `json:"webhookId,omitempty" yaml:"webhookId,omitempty"` WebHookID string `json:"webhookId,omitempty" yaml:"webhookId,omitempty"`
Token string `json:"token,omitempty" yaml:"token,omitempty" norman:"writeOnly,noupdate"` Token string `json:"token,omitempty" yaml:"token,omitempty" norman:"writeOnly,noupdate"`
SourceCodeCredential *SourceCodeCredential `json:"sourceCodeCredential,omitempty" yaml:"sourceCodeCredential,omitempty"`
} }
type PipelineSpec struct { type PipelineSpec struct {
ProjectName string `json:"projectName" yaml:"projectName" norman:"required,type=reference[project]"` DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"`
DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty" norman:"required"`
TriggerWebhook bool `json:"triggerWebhook,omitempty" yaml:"triggerWebhook,omitempty"` TriggerWebhook bool `json:"triggerWebhook,omitempty" yaml:"triggerWebhook,omitempty"`
TriggerCronTimezone string `json:"triggerCronTimezone,omitempty" yaml:"triggerCronTimezone,omitempty"` TriggerCronTimezone string `json:"triggerCronTimezone,omitempty" yaml:"triggerCronTimezone,omitempty"`
TriggerCronExpression string `json:"triggerCronExpression,omitempty" yaml:"triggerCronExpression,omitempty"` TriggerCronExpression string `json:"triggerCronExpression,omitempty" yaml:"triggerCronExpression,omitempty"`
Stages []Stage `json:"stages,omitempty" yaml:"stages,omitempty" norman:"required"` Stages []Stage `json:"stages,omitempty" yaml:"stages,omitempty"`
Templates map[string]string `json:"templates,omitempty" yaml:"templates,omitempty"`
} }
type Stage struct { type Stage struct {
@ -135,7 +146,6 @@ type PublishImageConfig struct {
} }
type PipelineExecutionSpec struct { type PipelineExecutionSpec struct {
ProjectName string `json:"projectName" norman:"required,type=reference[project]"`
PipelineName string `json:"pipelineName" norman:"required,type=reference[pipeline]"` PipelineName string `json:"pipelineName" norman:"required,type=reference[pipeline]"`
Run int `json:"run,omitempty" norman:"required,min=1"` Run int `json:"run,omitempty" norman:"required,min=1"`
TriggeredBy string `json:"triggeredBy,omitempty" norman:"required,options=user|cron|webhook"` TriggeredBy string `json:"triggeredBy,omitempty" norman:"required,options=user|cron|webhook"`
@ -198,8 +208,6 @@ type RepoPerm struct {
} }
type PipelineExecutionLogSpec struct { type PipelineExecutionLogSpec struct {
ProjectName string `json:"projectName" yaml:"projectName" norman:"required,type=reference[project]"`
PipelineExecutionName string `json:"pipelineExecutionName,omitempty" norman:"type=reference[pipelineExecution]"` PipelineExecutionName string `json:"pipelineExecutionName,omitempty" norman:"type=reference[pipelineExecution]"`
Stage int `json:"stage,omitempty" norman:"min=1"` Stage int `json:"stage,omitempty" norman:"min=1"`
Step int `json:"step,omitempty" norman:"min=1"` Step int `json:"step,omitempty" norman:"min=1"`

View File

@ -11,6 +11,8 @@ type RancherKubernetesEngineConfig struct {
Authentication AuthnConfig `yaml:"authentication" json:"authentication,omitempty"` Authentication AuthnConfig `yaml:"authentication" json:"authentication,omitempty"`
// YAML manifest for user provided addons to be deployed on the cluster // YAML manifest for user provided addons to be deployed on the cluster
Addons string `yaml:"addons" json:"addons,omitempty"` Addons string `yaml:"addons" json:"addons,omitempty"`
// List of urls or paths for addons
AddonsInclude []string `yaml:"addons_include" json:"addonsInclude,omitempty"`
// List of images used internally for proxy, cert downlaod and kubedns // List of images used internally for proxy, cert downlaod and kubedns
SystemImages RKESystemImages `yaml:"system_images" json:"systemImages,omitempty"` SystemImages RKESystemImages `yaml:"system_images" json:"systemImages,omitempty"`
// SSH Private Key Path // SSH Private Key Path
@ -27,6 +29,10 @@ type RancherKubernetesEngineConfig struct {
PrivateRegistries []PrivateRegistry `yaml:"private_registries" json:"privateRegistries,omitempty"` PrivateRegistries []PrivateRegistry `yaml:"private_registries" json:"privateRegistries,omitempty"`
// Ingress controller used in the cluster // Ingress controller used in the cluster
Ingress IngressConfig `yaml:"ingress" json:"ingress,omitempty"` Ingress IngressConfig `yaml:"ingress" json:"ingress,omitempty"`
// Cluster Name used in the kube config
ClusterName string `yaml:"cluster_name" json:"clusterName,omitempty"`
// Cloud Provider options
CloudProvider CloudProvider `yaml:"cloud_provider" json:"cloudProvider,omitempty"`
} }
type PrivateRegistry struct { type PrivateRegistry struct {
@ -38,29 +44,6 @@ type PrivateRegistry struct {
Password string `yaml:"password" json:"password,omitempty"` Password string `yaml:"password" json:"password,omitempty"`
} }
type RancherSystemImages struct {
// RKE system images
RKESystemImages `yaml:",inline" json:",inline"`
// Kubectld image
Kubectld string `yaml:"kubectld" json:"kubectld,omitempty"`
// Etc host updater image
EtcHostUpdater string `yaml:"etc_host_updater" json:"etcHostUpdater,omitempty"`
// Kubernetes agent image
K8sAgent string `yaml:"k8s_agent" json:"k8sAgent,omitempty"`
// Kubernetes auth service agent
K8sAuth string `yaml:"k8s_auth" json:"k8sAuth,omitempty"`
// Kubernetes Dashboard image
Dashboard string `yaml:"dashboard" json:"dashboard,omitempty"`
// Heapster addon image
Heapster string `yaml:"heapster" json:"heapster,omitempty"`
// Grafana image for heapster addon
Grafana string `yaml:"grafana" json:"grafana,omitempty"`
// Influxdb image for heapster addon
Influxdb string `yaml:"influxdb" json:"influxdb,omitempty"`
// Tiller addon image
Tiller string `yaml:"tiller" json:"tiller,omitempty"`
}
type RKESystemImages struct { type RKESystemImages struct {
// etcd image // etcd image
Etcd string `yaml:"etcd" json:"etcd,omitempty"` Etcd string `yaml:"etcd" json:"etcd,omitempty"`
@ -110,6 +93,16 @@ type RKESystemImages struct {
Ingress string `yaml:"ingress" json:"ingress,omitempty"` Ingress string `yaml:"ingress" json:"ingress,omitempty"`
// Ingress Controller Backend image // Ingress Controller Backend image
IngressBackend string `yaml:"ingress_backend" json:"ingressBackend,omitempty"` IngressBackend string `yaml:"ingress_backend" json:"ingressBackend,omitempty"`
// Dashboard image
Dashboard string `yaml:"dashboard" json:"dashboard,omitempty"`
// Heapster addon image
Heapster string `yaml:"heapster" json:"heapster,omitempty"`
// Grafana image for heapster addon
Grafana string `yaml:"grafana" json:"grafana,omitempty"`
// Influxdb image for heapster addon
Influxdb string `yaml:"influxdb" json:"influxdb,omitempty"`
// Tiller addon image
Tiller string `yaml:"tiller" json:"tiller,omitempty"`
} }
type RKEConfigNode struct { type RKEConfigNode struct {
@ -215,6 +208,8 @@ type BaseService struct {
Image string `yaml:"image" json:"image,omitempty"` Image string `yaml:"image" json:"image,omitempty"`
// Extra arguments that are added to the services // Extra arguments that are added to the services
ExtraArgs map[string]string `yaml:"extra_args" json:"extraArgs,omitempty"` ExtraArgs map[string]string `yaml:"extra_args" json:"extraArgs,omitempty"`
// Extra binds added to the nodes
ExtraBinds []string `yaml:"extra_binds" json:"extraBinds,omitempty"`
} }
type NetworkConfig struct { type NetworkConfig struct {
@ -301,3 +296,10 @@ type PortCheck struct {
// Port Protocol // Port Protocol
Protocol string `json:"protocol,omitempty"` Protocol string `json:"protocol,omitempty"`
} }
type CloudProvider struct {
// Name of the Cloud Provider
Name string `yaml:"name" json:"name,omitempty"`
// Configuration Options of Cloud Provider
CloudConfig map[string]string `yaml:"cloud_config" json:"cloudConfig,omitempty"`
}

View File

@ -0,0 +1,252 @@
package v3
import (
"context"
"github.com/rancher/norman/clientbase"
"github.com/rancher/norman/controller"
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/client-go/tools/cache"
)
var (
ClusterComposeConfigGroupVersionKind = schema.GroupVersionKind{
Version: Version,
Group: GroupName,
Kind: "ClusterComposeConfig",
}
ClusterComposeConfigResource = metav1.APIResource{
Name: "clustercomposeconfigs",
SingularName: "clustercomposeconfig",
Namespaced: true,
Kind: ClusterComposeConfigGroupVersionKind.Kind,
}
)
type ClusterComposeConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ClusterComposeConfig
}
type ClusterComposeConfigHandlerFunc func(key string, obj *ClusterComposeConfig) error
type ClusterComposeConfigLister interface {
List(namespace string, selector labels.Selector) (ret []*ClusterComposeConfig, err error)
Get(namespace, name string) (*ClusterComposeConfig, error)
}
type ClusterComposeConfigController interface {
Informer() cache.SharedIndexInformer
Lister() ClusterComposeConfigLister
AddHandler(name string, handler ClusterComposeConfigHandlerFunc)
AddClusterScopedHandler(name, clusterName string, handler ClusterComposeConfigHandlerFunc)
Enqueue(namespace, name string)
Sync(ctx context.Context) error
Start(ctx context.Context, threadiness int) error
}
type ClusterComposeConfigInterface interface {
ObjectClient() *clientbase.ObjectClient
Create(*ClusterComposeConfig) (*ClusterComposeConfig, error)
GetNamespaced(namespace, name string, opts metav1.GetOptions) (*ClusterComposeConfig, error)
Get(name string, opts metav1.GetOptions) (*ClusterComposeConfig, error)
Update(*ClusterComposeConfig) (*ClusterComposeConfig, error)
Delete(name string, options *metav1.DeleteOptions) error
DeleteNamespaced(namespace, name string, options *metav1.DeleteOptions) error
List(opts metav1.ListOptions) (*ClusterComposeConfigList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error
Controller() ClusterComposeConfigController
AddHandler(name string, sync ClusterComposeConfigHandlerFunc)
AddLifecycle(name string, lifecycle ClusterComposeConfigLifecycle)
AddClusterScopedHandler(name, clusterName string, sync ClusterComposeConfigHandlerFunc)
AddClusterScopedLifecycle(name, clusterName string, lifecycle ClusterComposeConfigLifecycle)
}
type clusterComposeConfigLister struct {
controller *clusterComposeConfigController
}
func (l *clusterComposeConfigLister) List(namespace string, selector labels.Selector) (ret []*ClusterComposeConfig, err error) {
err = cache.ListAllByNamespace(l.controller.Informer().GetIndexer(), namespace, selector, func(obj interface{}) {
ret = append(ret, obj.(*ClusterComposeConfig))
})
return
}
func (l *clusterComposeConfigLister) Get(namespace, name string) (*ClusterComposeConfig, error) {
var key string
if namespace != "" {
key = namespace + "/" + name
} else {
key = name
}
obj, exists, err := l.controller.Informer().GetIndexer().GetByKey(key)
if err != nil {
return nil, err
}
if !exists {
return nil, errors.NewNotFound(schema.GroupResource{
Group: ClusterComposeConfigGroupVersionKind.Group,
Resource: "clusterComposeConfig",
}, name)
}
return obj.(*ClusterComposeConfig), nil
}
type clusterComposeConfigController struct {
controller.GenericController
}
func (c *clusterComposeConfigController) Lister() ClusterComposeConfigLister {
return &clusterComposeConfigLister{
controller: c,
}
}
func (c *clusterComposeConfigController) AddHandler(name string, handler ClusterComposeConfigHandlerFunc) {
c.GenericController.AddHandler(name, func(key string) error {
obj, exists, err := c.Informer().GetStore().GetByKey(key)
if err != nil {
return err
}
if !exists {
return handler(key, nil)
}
return handler(key, obj.(*ClusterComposeConfig))
})
}
func (c *clusterComposeConfigController) AddClusterScopedHandler(name, cluster string, handler ClusterComposeConfigHandlerFunc) {
c.GenericController.AddHandler(name, func(key string) error {
obj, exists, err := c.Informer().GetStore().GetByKey(key)
if err != nil {
return err
}
if !exists {
return handler(key, nil)
}
if !controller.ObjectInCluster(cluster, obj) {
return nil
}
return handler(key, obj.(*ClusterComposeConfig))
})
}
type clusterComposeConfigFactory struct {
}
func (c clusterComposeConfigFactory) Object() runtime.Object {
return &ClusterComposeConfig{}
}
func (c clusterComposeConfigFactory) List() runtime.Object {
return &ClusterComposeConfigList{}
}
func (s *clusterComposeConfigClient) Controller() ClusterComposeConfigController {
s.client.Lock()
defer s.client.Unlock()
c, ok := s.client.clusterComposeConfigControllers[s.ns]
if ok {
return c
}
genericController := controller.NewGenericController(ClusterComposeConfigGroupVersionKind.Kind+"Controller",
s.objectClient)
c = &clusterComposeConfigController{
GenericController: genericController,
}
s.client.clusterComposeConfigControllers[s.ns] = c
s.client.starters = append(s.client.starters, c)
return c
}
type clusterComposeConfigClient struct {
client *Client
ns string
objectClient *clientbase.ObjectClient
controller ClusterComposeConfigController
}
func (s *clusterComposeConfigClient) ObjectClient() *clientbase.ObjectClient {
return s.objectClient
}
func (s *clusterComposeConfigClient) Create(o *ClusterComposeConfig) (*ClusterComposeConfig, error) {
obj, err := s.objectClient.Create(o)
return obj.(*ClusterComposeConfig), err
}
func (s *clusterComposeConfigClient) Get(name string, opts metav1.GetOptions) (*ClusterComposeConfig, error) {
obj, err := s.objectClient.Get(name, opts)
return obj.(*ClusterComposeConfig), err
}
func (s *clusterComposeConfigClient) GetNamespaced(namespace, name string, opts metav1.GetOptions) (*ClusterComposeConfig, error) {
obj, err := s.objectClient.GetNamespaced(namespace, name, opts)
return obj.(*ClusterComposeConfig), err
}
func (s *clusterComposeConfigClient) Update(o *ClusterComposeConfig) (*ClusterComposeConfig, error) {
obj, err := s.objectClient.Update(o.Name, o)
return obj.(*ClusterComposeConfig), err
}
func (s *clusterComposeConfigClient) Delete(name string, options *metav1.DeleteOptions) error {
return s.objectClient.Delete(name, options)
}
func (s *clusterComposeConfigClient) DeleteNamespaced(namespace, name string, options *metav1.DeleteOptions) error {
return s.objectClient.DeleteNamespaced(namespace, name, options)
}
func (s *clusterComposeConfigClient) List(opts metav1.ListOptions) (*ClusterComposeConfigList, error) {
obj, err := s.objectClient.List(opts)
return obj.(*ClusterComposeConfigList), err
}
func (s *clusterComposeConfigClient) Watch(opts metav1.ListOptions) (watch.Interface, error) {
return s.objectClient.Watch(opts)
}
// Patch applies the patch and returns the patched deployment.
func (s *clusterComposeConfigClient) Patch(o *ClusterComposeConfig, data []byte, subresources ...string) (*ClusterComposeConfig, error) {
obj, err := s.objectClient.Patch(o.Name, o, data, subresources...)
return obj.(*ClusterComposeConfig), err
}
func (s *clusterComposeConfigClient) DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error {
return s.objectClient.DeleteCollection(deleteOpts, listOpts)
}
func (s *clusterComposeConfigClient) AddHandler(name string, sync ClusterComposeConfigHandlerFunc) {
s.Controller().AddHandler(name, sync)
}
func (s *clusterComposeConfigClient) AddLifecycle(name string, lifecycle ClusterComposeConfigLifecycle) {
sync := NewClusterComposeConfigLifecycleAdapter(name, false, s, lifecycle)
s.AddHandler(name, sync)
}
func (s *clusterComposeConfigClient) AddClusterScopedHandler(name, clusterName string, sync ClusterComposeConfigHandlerFunc) {
s.Controller().AddClusterScopedHandler(name, clusterName, sync)
}
func (s *clusterComposeConfigClient) AddClusterScopedLifecycle(name, clusterName string, lifecycle ClusterComposeConfigLifecycle) {
sync := NewClusterComposeConfigLifecycleAdapter(name+"_"+clusterName, true, s, lifecycle)
s.AddClusterScopedHandler(name, clusterName, sync)
}

View File

@ -0,0 +1,51 @@
package v3
import (
"github.com/rancher/norman/lifecycle"
"k8s.io/apimachinery/pkg/runtime"
)
type ClusterComposeConfigLifecycle interface {
Create(obj *ClusterComposeConfig) (*ClusterComposeConfig, error)
Remove(obj *ClusterComposeConfig) (*ClusterComposeConfig, error)
Updated(obj *ClusterComposeConfig) (*ClusterComposeConfig, error)
}
type clusterComposeConfigLifecycleAdapter struct {
lifecycle ClusterComposeConfigLifecycle
}
func (w *clusterComposeConfigLifecycleAdapter) Create(obj runtime.Object) (runtime.Object, error) {
o, err := w.lifecycle.Create(obj.(*ClusterComposeConfig))
if o == nil {
return nil, err
}
return o, err
}
func (w *clusterComposeConfigLifecycleAdapter) Finalize(obj runtime.Object) (runtime.Object, error) {
o, err := w.lifecycle.Remove(obj.(*ClusterComposeConfig))
if o == nil {
return nil, err
}
return o, err
}
func (w *clusterComposeConfigLifecycleAdapter) Updated(obj runtime.Object) (runtime.Object, error) {
o, err := w.lifecycle.Updated(obj.(*ClusterComposeConfig))
if o == nil {
return nil, err
}
return o, err
}
func NewClusterComposeConfigLifecycleAdapter(name string, clusterScoped bool, client ClusterComposeConfigInterface, l ClusterComposeConfigLifecycle) ClusterComposeConfigHandlerFunc {
adapter := &clusterComposeConfigLifecycleAdapter{lifecycle: l}
syncFn := lifecycle.NewObjectLifecycleAdapter(name, clusterScoped, adapter, client.ObjectClient())
return func(key string, obj *ClusterComposeConfig) error {
if obj == nil {
return syncFn(key, nil)
}
return syncFn(key, obj)
}
}

View File

@ -95,6 +95,10 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
in.(*ChangePasswordInput).DeepCopyInto(out.(*ChangePasswordInput)) in.(*ChangePasswordInput).DeepCopyInto(out.(*ChangePasswordInput))
return nil return nil
}, InType: reflect.TypeOf(&ChangePasswordInput{})}, }, InType: reflect.TypeOf(&ChangePasswordInput{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*CloudProvider).DeepCopyInto(out.(*CloudProvider))
return nil
}, InType: reflect.TypeOf(&CloudProvider{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*Cluster).DeepCopyInto(out.(*Cluster)) in.(*Cluster).DeepCopyInto(out.(*Cluster))
return nil return nil
@ -115,6 +119,18 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
in.(*ClusterComponentStatus).DeepCopyInto(out.(*ClusterComponentStatus)) in.(*ClusterComponentStatus).DeepCopyInto(out.(*ClusterComponentStatus))
return nil return nil
}, InType: reflect.TypeOf(&ClusterComponentStatus{})}, }, InType: reflect.TypeOf(&ClusterComponentStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ClusterComposeConfig).DeepCopyInto(out.(*ClusterComposeConfig))
return nil
}, InType: reflect.TypeOf(&ClusterComposeConfig{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ClusterComposeConfigList).DeepCopyInto(out.(*ClusterComposeConfigList))
return nil
}, InType: reflect.TypeOf(&ClusterComposeConfigList{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ClusterComposeSpec).DeepCopyInto(out.(*ClusterComposeSpec))
return nil
}, InType: reflect.TypeOf(&ClusterComposeSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ClusterCondition).DeepCopyInto(out.(*ClusterCondition)) in.(*ClusterCondition).DeepCopyInto(out.(*ClusterCondition))
return nil return nil
@ -191,6 +207,18 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
in.(*ClusterStatus).DeepCopyInto(out.(*ClusterStatus)) in.(*ClusterStatus).DeepCopyInto(out.(*ClusterStatus))
return nil return nil
}, InType: reflect.TypeOf(&ClusterStatus{})}, }, InType: reflect.TypeOf(&ClusterStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ComposeCondition).DeepCopyInto(out.(*ComposeCondition))
return nil
}, InType: reflect.TypeOf(&ComposeCondition{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ComposeSpec).DeepCopyInto(out.(*ComposeSpec))
return nil
}, InType: reflect.TypeOf(&ComposeSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*ComposeStatus).DeepCopyInto(out.(*ComposeStatus))
return nil
}, InType: reflect.TypeOf(&ComposeStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*Condition).DeepCopyInto(out.(*Condition)) in.(*Condition).DeepCopyInto(out.(*Condition))
return nil return nil
@ -239,6 +267,10 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
in.(*Filter).DeepCopyInto(out.(*Filter)) in.(*Filter).DeepCopyInto(out.(*Filter))
return nil return nil
}, InType: reflect.TypeOf(&Filter{})}, }, InType: reflect.TypeOf(&Filter{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*GenerateKubeConfigOutput).DeepCopyInto(out.(*GenerateKubeConfigOutput))
return nil
}, InType: reflect.TypeOf(&GenerateKubeConfigOutput{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*GithubClusterConfig).DeepCopyInto(out.(*GithubClusterConfig)) in.(*GithubClusterConfig).DeepCopyInto(out.(*GithubClusterConfig))
return nil return nil
@ -255,6 +287,14 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
in.(*GithubConfigTestOutput).DeepCopyInto(out.(*GithubConfigTestOutput)) in.(*GithubConfigTestOutput).DeepCopyInto(out.(*GithubConfigTestOutput))
return nil return nil
}, InType: reflect.TypeOf(&GithubConfigTestOutput{})}, }, InType: reflect.TypeOf(&GithubConfigTestOutput{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*GlobalComposeConfig).DeepCopyInto(out.(*GlobalComposeConfig))
return nil
}, InType: reflect.TypeOf(&GlobalComposeConfig{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*GlobalComposeConfigList).DeepCopyInto(out.(*GlobalComposeConfigList))
return nil
}, InType: reflect.TypeOf(&GlobalComposeConfigList{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*GlobalRole).DeepCopyInto(out.(*GlobalRole)) in.(*GlobalRole).DeepCopyInto(out.(*GlobalRole))
return nil return nil
@ -603,6 +643,10 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
in.(*ProjectStatus).DeepCopyInto(out.(*ProjectStatus)) in.(*ProjectStatus).DeepCopyInto(out.(*ProjectStatus))
return nil return nil
}, InType: reflect.TypeOf(&ProjectStatus{})}, }, InType: reflect.TypeOf(&ProjectStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*PublicEndpoint).DeepCopyInto(out.(*PublicEndpoint))
return nil
}, InType: reflect.TypeOf(&PublicEndpoint{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*PublishImageConfig).DeepCopyInto(out.(*PublishImageConfig)) in.(*PublishImageConfig).DeepCopyInto(out.(*PublishImageConfig))
return nil return nil
@ -635,10 +679,6 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
in.(*RancherKubernetesEngineConfig).DeepCopyInto(out.(*RancherKubernetesEngineConfig)) in.(*RancherKubernetesEngineConfig).DeepCopyInto(out.(*RancherKubernetesEngineConfig))
return nil return nil
}, InType: reflect.TypeOf(&RancherKubernetesEngineConfig{})}, }, InType: reflect.TypeOf(&RancherKubernetesEngineConfig{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*RancherSystemImages).DeepCopyInto(out.(*RancherSystemImages))
return nil
}, InType: reflect.TypeOf(&RancherSystemImages{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error { conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*Recipient).DeepCopyInto(out.(*Recipient)) in.(*Recipient).DeepCopyInto(out.(*Recipient))
return nil return nil
@ -1114,6 +1154,11 @@ func (in *BaseService) DeepCopyInto(out *BaseService) {
(*out)[key] = val (*out)[key] = val
} }
} }
if in.ExtraBinds != nil {
in, out := &in.ExtraBinds, &out.ExtraBinds
*out = make([]string, len(*in))
copy(*out, *in)
}
return return
} }
@ -1266,6 +1311,29 @@ func (in *ChangePasswordInput) DeepCopy() *ChangePasswordInput {
return out return out
} }
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CloudProvider) DeepCopyInto(out *CloudProvider) {
*out = *in
if in.CloudConfig != nil {
in, out := &in.CloudConfig, &out.CloudConfig
*out = make(map[string]string, len(*in))
for key, val := range *in {
(*out)[key] = val
}
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProvider.
func (in *CloudProvider) DeepCopy() *CloudProvider {
if in == nil {
return nil
}
out := new(CloudProvider)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Cluster) DeepCopyInto(out *Cluster) { func (in *Cluster) DeepCopyInto(out *Cluster) {
*out = *in *out = *in
@ -1400,6 +1468,86 @@ func (in *ClusterComponentStatus) DeepCopy() *ClusterComponentStatus {
return out return out
} }
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterComposeConfig) DeepCopyInto(out *ClusterComposeConfig) {
*out = *in
out.Namespaced = in.Namespaced
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
out.Spec = in.Spec
in.Status.DeepCopyInto(&out.Status)
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterComposeConfig.
func (in *ClusterComposeConfig) DeepCopy() *ClusterComposeConfig {
if in == nil {
return nil
}
out := new(ClusterComposeConfig)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterComposeConfig) DeepCopyObject() runtime.Object {
if c := in.DeepCopy(); c != nil {
return c
} else {
return nil
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterComposeConfigList) DeepCopyInto(out *ClusterComposeConfigList) {
*out = *in
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ClusterComposeConfig, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterComposeConfigList.
func (in *ClusterComposeConfigList) DeepCopy() *ClusterComposeConfigList {
if in == nil {
return nil
}
out := new(ClusterComposeConfigList)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterComposeConfigList) DeepCopyObject() runtime.Object {
if c := in.DeepCopy(); c != nil {
return c
} else {
return nil
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterComposeSpec) DeepCopyInto(out *ClusterComposeSpec) {
*out = *in
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterComposeSpec.
func (in *ClusterComposeSpec) DeepCopy() *ClusterComposeSpec {
if in == nil {
return nil
}
out := new(ClusterComposeSpec)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterCondition) DeepCopyInto(out *ClusterCondition) { func (in *ClusterCondition) DeepCopyInto(out *ClusterCondition) {
*out = *in *out = *in
@ -1982,6 +2130,59 @@ func (in *ClusterStatus) DeepCopy() *ClusterStatus {
return out return out
} }
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ComposeCondition) DeepCopyInto(out *ComposeCondition) {
*out = *in
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComposeCondition.
func (in *ComposeCondition) DeepCopy() *ComposeCondition {
if in == nil {
return nil
}
out := new(ComposeCondition)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ComposeSpec) DeepCopyInto(out *ComposeSpec) {
*out = *in
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComposeSpec.
func (in *ComposeSpec) DeepCopy() *ComposeSpec {
if in == nil {
return nil
}
out := new(ComposeSpec)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ComposeStatus) DeepCopyInto(out *ComposeStatus) {
*out = *in
if in.Conditions != nil {
in, out := &in.Conditions, &out.Conditions
*out = make([]ComposeCondition, len(*in))
copy(*out, *in)
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComposeStatus.
func (in *ComposeStatus) DeepCopy() *ComposeStatus {
if in == nil {
return nil
}
out := new(ComposeStatus)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Condition) DeepCopyInto(out *Condition) { func (in *Condition) DeepCopyInto(out *Condition) {
*out = *in *out = *in
@ -2272,6 +2473,22 @@ func (in *Filter) DeepCopy() *Filter {
return out return out
} }
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GenerateKubeConfigOutput) DeepCopyInto(out *GenerateKubeConfigOutput) {
*out = *in
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenerateKubeConfigOutput.
func (in *GenerateKubeConfigOutput) DeepCopy() *GenerateKubeConfigOutput {
if in == nil {
return nil
}
out := new(GenerateKubeConfigOutput)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GithubClusterConfig) DeepCopyInto(out *GithubClusterConfig) { func (in *GithubClusterConfig) DeepCopyInto(out *GithubClusterConfig) {
*out = *in *out = *in
@ -2349,6 +2566,69 @@ func (in *GithubConfigTestOutput) DeepCopy() *GithubConfigTestOutput {
return out return out
} }
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GlobalComposeConfig) DeepCopyInto(out *GlobalComposeConfig) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
out.Spec = in.Spec
in.Status.DeepCopyInto(&out.Status)
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalComposeConfig.
func (in *GlobalComposeConfig) DeepCopy() *GlobalComposeConfig {
if in == nil {
return nil
}
out := new(GlobalComposeConfig)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *GlobalComposeConfig) DeepCopyObject() runtime.Object {
if c := in.DeepCopy(); c != nil {
return c
} else {
return nil
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GlobalComposeConfigList) DeepCopyInto(out *GlobalComposeConfigList) {
*out = *in
out.TypeMeta = in.TypeMeta
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]GlobalComposeConfig, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalComposeConfigList.
func (in *GlobalComposeConfigList) DeepCopy() *GlobalComposeConfigList {
if in == nil {
return nil
}
out := new(GlobalComposeConfigList)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *GlobalComposeConfigList) DeepCopyObject() runtime.Object {
if c := in.DeepCopy(); c != nil {
return c
} else {
return nil
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GlobalRole) DeepCopyInto(out *GlobalRole) { func (in *GlobalRole) DeepCopyInto(out *GlobalRole) {
*out = *in *out = *in
@ -3819,7 +4099,7 @@ func (in *Pipeline) DeepCopyInto(out *Pipeline) {
out.TypeMeta = in.TypeMeta out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec) in.Spec.DeepCopyInto(&out.Spec)
out.Status = in.Status in.Status.DeepCopyInto(&out.Status)
return return
} }
@ -4069,6 +4349,13 @@ func (in *PipelineSpec) DeepCopyInto(out *PipelineSpec) {
(*in)[i].DeepCopyInto(&(*out)[i]) (*in)[i].DeepCopyInto(&(*out)[i])
} }
} }
if in.Templates != nil {
in, out := &in.Templates, &out.Templates
*out = make(map[string]string, len(*in))
for key, val := range *in {
(*out)[key] = val
}
}
return return
} }
@ -4085,6 +4372,15 @@ func (in *PipelineSpec) DeepCopy() *PipelineSpec {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PipelineStatus) DeepCopyInto(out *PipelineStatus) { func (in *PipelineStatus) DeepCopyInto(out *PipelineStatus) {
*out = *in *out = *in
if in.SourceCodeCredential != nil {
in, out := &in.SourceCodeCredential, &out.SourceCodeCredential
if *in == nil {
*out = nil
} else {
*out = new(SourceCodeCredential)
(*in).DeepCopyInto(*out)
}
}
return return
} }
@ -4811,6 +5107,22 @@ func (in *ProjectStatus) DeepCopy() *ProjectStatus {
return out return out
} }
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PublicEndpoint) DeepCopyInto(out *PublicEndpoint) {
*out = *in
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicEndpoint.
func (in *PublicEndpoint) DeepCopy() *PublicEndpoint {
if in == nil {
return nil
}
out := new(PublicEndpoint)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PublishImageConfig) DeepCopyInto(out *PublishImageConfig) { func (in *PublishImageConfig) DeepCopyInto(out *PublishImageConfig) {
*out = *in *out = *in
@ -4978,6 +5290,11 @@ func (in *RancherKubernetesEngineConfig) DeepCopyInto(out *RancherKubernetesEngi
in.Services.DeepCopyInto(&out.Services) in.Services.DeepCopyInto(&out.Services)
in.Network.DeepCopyInto(&out.Network) in.Network.DeepCopyInto(&out.Network)
in.Authentication.DeepCopyInto(&out.Authentication) in.Authentication.DeepCopyInto(&out.Authentication)
if in.AddonsInclude != nil {
in, out := &in.AddonsInclude, &out.AddonsInclude
*out = make([]string, len(*in))
copy(*out, *in)
}
out.SystemImages = in.SystemImages out.SystemImages = in.SystemImages
in.Authorization.DeepCopyInto(&out.Authorization) in.Authorization.DeepCopyInto(&out.Authorization)
if in.PrivateRegistries != nil { if in.PrivateRegistries != nil {
@ -4986,6 +5303,7 @@ func (in *RancherKubernetesEngineConfig) DeepCopyInto(out *RancherKubernetesEngi
copy(*out, *in) copy(*out, *in)
} }
in.Ingress.DeepCopyInto(&out.Ingress) in.Ingress.DeepCopyInto(&out.Ingress)
in.CloudProvider.DeepCopyInto(&out.CloudProvider)
return return
} }
@ -4999,23 +5317,6 @@ func (in *RancherKubernetesEngineConfig) DeepCopy() *RancherKubernetesEngineConf
return out return out
} }
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RancherSystemImages) DeepCopyInto(out *RancherSystemImages) {
*out = *in
out.RKESystemImages = in.RKESystemImages
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RancherSystemImages.
func (in *RancherSystemImages) DeepCopy() *RancherSystemImages {
if in == nil {
return nil
}
out := new(RancherSystemImages)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Recipient) DeepCopyInto(out *Recipient) { func (in *Recipient) DeepCopyInto(out *Recipient) {
*out = *in *out = *in
@ -5319,6 +5620,7 @@ func (in *SourceCodeConfig) DeepCopy() *SourceCodeConfig {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SourceCodeCredential) DeepCopyInto(out *SourceCodeCredential) { func (in *SourceCodeCredential) DeepCopyInto(out *SourceCodeCredential) {
*out = *in *out = *in
out.Namespaced = in.Namespaced
out.TypeMeta = in.TypeMeta out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
out.Spec = in.Spec out.Spec = in.Spec
@ -5414,6 +5716,7 @@ func (in *SourceCodeCredentialStatus) DeepCopy() *SourceCodeCredentialStatus {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SourceCodeRepository) DeepCopyInto(out *SourceCodeRepository) { func (in *SourceCodeRepository) DeepCopyInto(out *SourceCodeRepository) {
*out = *in *out = *in
out.Namespaced = in.Namespaced
out.TypeMeta = in.TypeMeta out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
out.Spec = in.Spec out.Spec = in.Spec

View File

@ -0,0 +1,251 @@
package v3
import (
"context"
"github.com/rancher/norman/clientbase"
"github.com/rancher/norman/controller"
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/client-go/tools/cache"
)
var (
GlobalComposeConfigGroupVersionKind = schema.GroupVersionKind{
Version: Version,
Group: GroupName,
Kind: "GlobalComposeConfig",
}
GlobalComposeConfigResource = metav1.APIResource{
Name: "globalcomposeconfigs",
SingularName: "globalcomposeconfig",
Namespaced: false,
Kind: GlobalComposeConfigGroupVersionKind.Kind,
}
)
type GlobalComposeConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GlobalComposeConfig
}
type GlobalComposeConfigHandlerFunc func(key string, obj *GlobalComposeConfig) error
type GlobalComposeConfigLister interface {
List(namespace string, selector labels.Selector) (ret []*GlobalComposeConfig, err error)
Get(namespace, name string) (*GlobalComposeConfig, error)
}
type GlobalComposeConfigController interface {
Informer() cache.SharedIndexInformer
Lister() GlobalComposeConfigLister
AddHandler(name string, handler GlobalComposeConfigHandlerFunc)
AddClusterScopedHandler(name, clusterName string, handler GlobalComposeConfigHandlerFunc)
Enqueue(namespace, name string)
Sync(ctx context.Context) error
Start(ctx context.Context, threadiness int) error
}
type GlobalComposeConfigInterface interface {
ObjectClient() *clientbase.ObjectClient
Create(*GlobalComposeConfig) (*GlobalComposeConfig, error)
GetNamespaced(namespace, name string, opts metav1.GetOptions) (*GlobalComposeConfig, error)
Get(name string, opts metav1.GetOptions) (*GlobalComposeConfig, error)
Update(*GlobalComposeConfig) (*GlobalComposeConfig, error)
Delete(name string, options *metav1.DeleteOptions) error
DeleteNamespaced(namespace, name string, options *metav1.DeleteOptions) error
List(opts metav1.ListOptions) (*GlobalComposeConfigList, error)
Watch(opts metav1.ListOptions) (watch.Interface, error)
DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error
Controller() GlobalComposeConfigController
AddHandler(name string, sync GlobalComposeConfigHandlerFunc)
AddLifecycle(name string, lifecycle GlobalComposeConfigLifecycle)
AddClusterScopedHandler(name, clusterName string, sync GlobalComposeConfigHandlerFunc)
AddClusterScopedLifecycle(name, clusterName string, lifecycle GlobalComposeConfigLifecycle)
}
type globalComposeConfigLister struct {
controller *globalComposeConfigController
}
func (l *globalComposeConfigLister) List(namespace string, selector labels.Selector) (ret []*GlobalComposeConfig, err error) {
err = cache.ListAllByNamespace(l.controller.Informer().GetIndexer(), namespace, selector, func(obj interface{}) {
ret = append(ret, obj.(*GlobalComposeConfig))
})
return
}
func (l *globalComposeConfigLister) Get(namespace, name string) (*GlobalComposeConfig, error) {
var key string
if namespace != "" {
key = namespace + "/" + name
} else {
key = name
}
obj, exists, err := l.controller.Informer().GetIndexer().GetByKey(key)
if err != nil {
return nil, err
}
if !exists {
return nil, errors.NewNotFound(schema.GroupResource{
Group: GlobalComposeConfigGroupVersionKind.Group,
Resource: "globalComposeConfig",
}, name)
}
return obj.(*GlobalComposeConfig), nil
}
type globalComposeConfigController struct {
controller.GenericController
}
func (c *globalComposeConfigController) Lister() GlobalComposeConfigLister {
return &globalComposeConfigLister{
controller: c,
}
}
func (c *globalComposeConfigController) AddHandler(name string, handler GlobalComposeConfigHandlerFunc) {
c.GenericController.AddHandler(name, func(key string) error {
obj, exists, err := c.Informer().GetStore().GetByKey(key)
if err != nil {
return err
}
if !exists {
return handler(key, nil)
}
return handler(key, obj.(*GlobalComposeConfig))
})
}
func (c *globalComposeConfigController) AddClusterScopedHandler(name, cluster string, handler GlobalComposeConfigHandlerFunc) {
c.GenericController.AddHandler(name, func(key string) error {
obj, exists, err := c.Informer().GetStore().GetByKey(key)
if err != nil {
return err
}
if !exists {
return handler(key, nil)
}
if !controller.ObjectInCluster(cluster, obj) {
return nil
}
return handler(key, obj.(*GlobalComposeConfig))
})
}
type globalComposeConfigFactory struct {
}
func (c globalComposeConfigFactory) Object() runtime.Object {
return &GlobalComposeConfig{}
}
func (c globalComposeConfigFactory) List() runtime.Object {
return &GlobalComposeConfigList{}
}
func (s *globalComposeConfigClient) Controller() GlobalComposeConfigController {
s.client.Lock()
defer s.client.Unlock()
c, ok := s.client.globalComposeConfigControllers[s.ns]
if ok {
return c
}
genericController := controller.NewGenericController(GlobalComposeConfigGroupVersionKind.Kind+"Controller",
s.objectClient)
c = &globalComposeConfigController{
GenericController: genericController,
}
s.client.globalComposeConfigControllers[s.ns] = c
s.client.starters = append(s.client.starters, c)
return c
}
type globalComposeConfigClient struct {
client *Client
ns string
objectClient *clientbase.ObjectClient
controller GlobalComposeConfigController
}
func (s *globalComposeConfigClient) ObjectClient() *clientbase.ObjectClient {
return s.objectClient
}
func (s *globalComposeConfigClient) Create(o *GlobalComposeConfig) (*GlobalComposeConfig, error) {
obj, err := s.objectClient.Create(o)
return obj.(*GlobalComposeConfig), err
}
func (s *globalComposeConfigClient) Get(name string, opts metav1.GetOptions) (*GlobalComposeConfig, error) {
obj, err := s.objectClient.Get(name, opts)
return obj.(*GlobalComposeConfig), err
}
func (s *globalComposeConfigClient) GetNamespaced(namespace, name string, opts metav1.GetOptions) (*GlobalComposeConfig, error) {
obj, err := s.objectClient.GetNamespaced(namespace, name, opts)
return obj.(*GlobalComposeConfig), err
}
func (s *globalComposeConfigClient) Update(o *GlobalComposeConfig) (*GlobalComposeConfig, error) {
obj, err := s.objectClient.Update(o.Name, o)
return obj.(*GlobalComposeConfig), err
}
func (s *globalComposeConfigClient) Delete(name string, options *metav1.DeleteOptions) error {
return s.objectClient.Delete(name, options)
}
func (s *globalComposeConfigClient) DeleteNamespaced(namespace, name string, options *metav1.DeleteOptions) error {
return s.objectClient.DeleteNamespaced(namespace, name, options)
}
func (s *globalComposeConfigClient) List(opts metav1.ListOptions) (*GlobalComposeConfigList, error) {
obj, err := s.objectClient.List(opts)
return obj.(*GlobalComposeConfigList), err
}
func (s *globalComposeConfigClient) Watch(opts metav1.ListOptions) (watch.Interface, error) {
return s.objectClient.Watch(opts)
}
// Patch applies the patch and returns the patched deployment.
func (s *globalComposeConfigClient) Patch(o *GlobalComposeConfig, data []byte, subresources ...string) (*GlobalComposeConfig, error) {
obj, err := s.objectClient.Patch(o.Name, o, data, subresources...)
return obj.(*GlobalComposeConfig), err
}
func (s *globalComposeConfigClient) DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error {
return s.objectClient.DeleteCollection(deleteOpts, listOpts)
}
func (s *globalComposeConfigClient) AddHandler(name string, sync GlobalComposeConfigHandlerFunc) {
s.Controller().AddHandler(name, sync)
}
func (s *globalComposeConfigClient) AddLifecycle(name string, lifecycle GlobalComposeConfigLifecycle) {
sync := NewGlobalComposeConfigLifecycleAdapter(name, false, s, lifecycle)
s.AddHandler(name, sync)
}
func (s *globalComposeConfigClient) AddClusterScopedHandler(name, clusterName string, sync GlobalComposeConfigHandlerFunc) {
s.Controller().AddClusterScopedHandler(name, clusterName, sync)
}
func (s *globalComposeConfigClient) AddClusterScopedLifecycle(name, clusterName string, lifecycle GlobalComposeConfigLifecycle) {
sync := NewGlobalComposeConfigLifecycleAdapter(name+"_"+clusterName, true, s, lifecycle)
s.AddClusterScopedHandler(name, clusterName, sync)
}

View File

@ -0,0 +1,51 @@
package v3
import (
"github.com/rancher/norman/lifecycle"
"k8s.io/apimachinery/pkg/runtime"
)
type GlobalComposeConfigLifecycle interface {
Create(obj *GlobalComposeConfig) (*GlobalComposeConfig, error)
Remove(obj *GlobalComposeConfig) (*GlobalComposeConfig, error)
Updated(obj *GlobalComposeConfig) (*GlobalComposeConfig, error)
}
type globalComposeConfigLifecycleAdapter struct {
lifecycle GlobalComposeConfigLifecycle
}
func (w *globalComposeConfigLifecycleAdapter) Create(obj runtime.Object) (runtime.Object, error) {
o, err := w.lifecycle.Create(obj.(*GlobalComposeConfig))
if o == nil {
return nil, err
}
return o, err
}
func (w *globalComposeConfigLifecycleAdapter) Finalize(obj runtime.Object) (runtime.Object, error) {
o, err := w.lifecycle.Remove(obj.(*GlobalComposeConfig))
if o == nil {
return nil, err
}
return o, err
}
func (w *globalComposeConfigLifecycleAdapter) Updated(obj runtime.Object) (runtime.Object, error) {
o, err := w.lifecycle.Updated(obj.(*GlobalComposeConfig))
if o == nil {
return nil, err
}
return o, err
}
func NewGlobalComposeConfigLifecycleAdapter(name string, clusterScoped bool, client GlobalComposeConfigInterface, l GlobalComposeConfigLifecycle) GlobalComposeConfigHandlerFunc {
adapter := &globalComposeConfigLifecycleAdapter{lifecycle: l}
syncFn := lifecycle.NewObjectLifecycleAdapter(name, clusterScoped, adapter, client.ObjectClient())
return func(key string, obj *GlobalComposeConfig) error {
if obj == nil {
return syncFn(key, nil)
}
return syncFn(key, obj)
}
}

View File

@ -47,12 +47,14 @@ type Interface interface {
NotifiersGetter NotifiersGetter
ClusterAlertsGetter ClusterAlertsGetter
ProjectAlertsGetter ProjectAlertsGetter
SourceCodeCredentialsGetter
ClusterPipelinesGetter ClusterPipelinesGetter
SourceCodeCredentialsGetter
PipelinesGetter PipelinesGetter
PipelineExecutionsGetter PipelineExecutionsGetter
SourceCodeRepositoriesGetter
PipelineExecutionLogsGetter PipelineExecutionLogsGetter
SourceCodeRepositoriesGetter
GlobalComposeConfigsGetter
ClusterComposeConfigsGetter
} }
type Client struct { type Client struct {
@ -93,12 +95,14 @@ type Client struct {
notifierControllers map[string]NotifierController notifierControllers map[string]NotifierController
clusterAlertControllers map[string]ClusterAlertController clusterAlertControllers map[string]ClusterAlertController
projectAlertControllers map[string]ProjectAlertController projectAlertControllers map[string]ProjectAlertController
sourceCodeCredentialControllers map[string]SourceCodeCredentialController
clusterPipelineControllers map[string]ClusterPipelineController clusterPipelineControllers map[string]ClusterPipelineController
sourceCodeCredentialControllers map[string]SourceCodeCredentialController
pipelineControllers map[string]PipelineController pipelineControllers map[string]PipelineController
pipelineExecutionControllers map[string]PipelineExecutionController pipelineExecutionControllers map[string]PipelineExecutionController
sourceCodeRepositoryControllers map[string]SourceCodeRepositoryController
pipelineExecutionLogControllers map[string]PipelineExecutionLogController pipelineExecutionLogControllers map[string]PipelineExecutionLogController
sourceCodeRepositoryControllers map[string]SourceCodeRepositoryController
globalComposeConfigControllers map[string]GlobalComposeConfigController
clusterComposeConfigControllers map[string]ClusterComposeConfigController
} }
func NewForConfig(config rest.Config) (Interface, error) { func NewForConfig(config rest.Config) (Interface, error) {
@ -148,12 +152,14 @@ func NewForConfig(config rest.Config) (Interface, error) {
notifierControllers: map[string]NotifierController{}, notifierControllers: map[string]NotifierController{},
clusterAlertControllers: map[string]ClusterAlertController{}, clusterAlertControllers: map[string]ClusterAlertController{},
projectAlertControllers: map[string]ProjectAlertController{}, projectAlertControllers: map[string]ProjectAlertController{},
sourceCodeCredentialControllers: map[string]SourceCodeCredentialController{},
clusterPipelineControllers: map[string]ClusterPipelineController{}, clusterPipelineControllers: map[string]ClusterPipelineController{},
sourceCodeCredentialControllers: map[string]SourceCodeCredentialController{},
pipelineControllers: map[string]PipelineController{}, pipelineControllers: map[string]PipelineController{},
pipelineExecutionControllers: map[string]PipelineExecutionController{}, pipelineExecutionControllers: map[string]PipelineExecutionController{},
sourceCodeRepositoryControllers: map[string]SourceCodeRepositoryController{},
pipelineExecutionLogControllers: map[string]PipelineExecutionLogController{}, pipelineExecutionLogControllers: map[string]PipelineExecutionLogController{},
sourceCodeRepositoryControllers: map[string]SourceCodeRepositoryController{},
globalComposeConfigControllers: map[string]GlobalComposeConfigController{},
clusterComposeConfigControllers: map[string]ClusterComposeConfigController{},
}, nil }, nil
} }
@ -598,19 +604,6 @@ func (c *Client) ProjectAlerts(namespace string) ProjectAlertInterface {
} }
} }
type SourceCodeCredentialsGetter interface {
SourceCodeCredentials(namespace string) SourceCodeCredentialInterface
}
func (c *Client) SourceCodeCredentials(namespace string) SourceCodeCredentialInterface {
objectClient := clientbase.NewObjectClient(namespace, c.restClient, &SourceCodeCredentialResource, SourceCodeCredentialGroupVersionKind, sourceCodeCredentialFactory{})
return &sourceCodeCredentialClient{
ns: namespace,
client: c,
objectClient: objectClient,
}
}
type ClusterPipelinesGetter interface { type ClusterPipelinesGetter interface {
ClusterPipelines(namespace string) ClusterPipelineInterface ClusterPipelines(namespace string) ClusterPipelineInterface
} }
@ -624,6 +617,19 @@ func (c *Client) ClusterPipelines(namespace string) ClusterPipelineInterface {
} }
} }
type SourceCodeCredentialsGetter interface {
SourceCodeCredentials(namespace string) SourceCodeCredentialInterface
}
func (c *Client) SourceCodeCredentials(namespace string) SourceCodeCredentialInterface {
objectClient := clientbase.NewObjectClient(namespace, c.restClient, &SourceCodeCredentialResource, SourceCodeCredentialGroupVersionKind, sourceCodeCredentialFactory{})
return &sourceCodeCredentialClient{
ns: namespace,
client: c,
objectClient: objectClient,
}
}
type PipelinesGetter interface { type PipelinesGetter interface {
Pipelines(namespace string) PipelineInterface Pipelines(namespace string) PipelineInterface
} }
@ -650,6 +656,19 @@ func (c *Client) PipelineExecutions(namespace string) PipelineExecutionInterface
} }
} }
type PipelineExecutionLogsGetter interface {
PipelineExecutionLogs(namespace string) PipelineExecutionLogInterface
}
func (c *Client) PipelineExecutionLogs(namespace string) PipelineExecutionLogInterface {
objectClient := clientbase.NewObjectClient(namespace, c.restClient, &PipelineExecutionLogResource, PipelineExecutionLogGroupVersionKind, pipelineExecutionLogFactory{})
return &pipelineExecutionLogClient{
ns: namespace,
client: c,
objectClient: objectClient,
}
}
type SourceCodeRepositoriesGetter interface { type SourceCodeRepositoriesGetter interface {
SourceCodeRepositories(namespace string) SourceCodeRepositoryInterface SourceCodeRepositories(namespace string) SourceCodeRepositoryInterface
} }
@ -663,13 +682,26 @@ func (c *Client) SourceCodeRepositories(namespace string) SourceCodeRepositoryIn
} }
} }
type PipelineExecutionLogsGetter interface { type GlobalComposeConfigsGetter interface {
PipelineExecutionLogs(namespace string) PipelineExecutionLogInterface GlobalComposeConfigs(namespace string) GlobalComposeConfigInterface
} }
func (c *Client) PipelineExecutionLogs(namespace string) PipelineExecutionLogInterface { func (c *Client) GlobalComposeConfigs(namespace string) GlobalComposeConfigInterface {
objectClient := clientbase.NewObjectClient(namespace, c.restClient, &PipelineExecutionLogResource, PipelineExecutionLogGroupVersionKind, pipelineExecutionLogFactory{}) objectClient := clientbase.NewObjectClient(namespace, c.restClient, &GlobalComposeConfigResource, GlobalComposeConfigGroupVersionKind, globalComposeConfigFactory{})
return &pipelineExecutionLogClient{ return &globalComposeConfigClient{
ns: namespace,
client: c,
objectClient: objectClient,
}
}
type ClusterComposeConfigsGetter interface {
ClusterComposeConfigs(namespace string) ClusterComposeConfigInterface
}
func (c *Client) ClusterComposeConfigs(namespace string) ClusterComposeConfigInterface {
objectClient := clientbase.NewObjectClient(namespace, c.restClient, &ClusterComposeConfigResource, ClusterComposeConfigGroupVersionKind, clusterComposeConfigFactory{})
return &clusterComposeConfigClient{
ns: namespace, ns: namespace,
client: c, client: c,
objectClient: objectClient, objectClient: objectClient,

View File

@ -99,18 +99,22 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&ClusterAlertList{}, &ClusterAlertList{},
&ProjectAlert{}, &ProjectAlert{},
&ProjectAlertList{}, &ProjectAlertList{},
&SourceCodeCredential{},
&SourceCodeCredentialList{},
&ClusterPipeline{}, &ClusterPipeline{},
&ClusterPipelineList{}, &ClusterPipelineList{},
&SourceCodeCredential{},
&SourceCodeCredentialList{},
&Pipeline{}, &Pipeline{},
&PipelineList{}, &PipelineList{},
&PipelineExecution{}, &PipelineExecution{},
&PipelineExecutionList{}, &PipelineExecutionList{},
&SourceCodeRepository{},
&SourceCodeRepositoryList{},
&PipelineExecutionLog{}, &PipelineExecutionLog{},
&PipelineExecutionLogList{}, &PipelineExecutionLogList{},
&SourceCodeRepository{},
&SourceCodeRepositoryList{},
&GlobalComposeConfig{},
&GlobalComposeConfigList{},
&ClusterComposeConfig{},
&ClusterComposeConfigList{},
) )
return nil return nil
} }

View File

@ -23,8 +23,9 @@ var (
SourceCodeCredentialResource = metav1.APIResource{ SourceCodeCredentialResource = metav1.APIResource{
Name: "sourcecodecredentials", Name: "sourcecodecredentials",
SingularName: "sourcecodecredential", SingularName: "sourcecodecredential",
Namespaced: false, Namespaced: true,
Kind: SourceCodeCredentialGroupVersionKind.Kind,
Kind: SourceCodeCredentialGroupVersionKind.Kind,
} }
) )

View File

@ -23,8 +23,9 @@ var (
SourceCodeRepositoryResource = metav1.APIResource{ SourceCodeRepositoryResource = metav1.APIResource{
Name: "sourcecoderepositories", Name: "sourcecoderepositories",
SingularName: "sourcecoderepository", SingularName: "sourcecoderepository",
Namespaced: false, Namespaced: true,
Kind: SourceCodeRepositoryGroupVersionKind.Kind,
Kind: SourceCodeRepositoryGroupVersionKind.Kind,
} }
) )