crds

package
v0.10.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2021 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Application = &apiextensionv1beta1.CustomResourceDefinition{
	ObjectMeta: metav1.ObjectMeta{
		Name: "applications.shipper.booking.com",
	},
	Spec: apiextensionv1beta1.CustomResourceDefinitionSpec{
		Group: "shipper.booking.com",
		Versions: []apiextensionv1beta1.CustomResourceDefinitionVersion{
			apiextensionv1beta1.CustomResourceDefinitionVersion{
				Name:    "v1alpha1",
				Served:  true,
				Storage: true,
			},
		},
		Names: apiextensionv1beta1.CustomResourceDefinitionNames{
			Plural:     "applications",
			Singular:   "application",
			Kind:       "Application",
			ShortNames: []string{"app"},
			Categories: []string{"all", "shipper"},
		},
		Validation: &apiextensionv1beta1.CustomResourceValidation{
			OpenAPIV3Schema: &apiextensionv1beta1.JSONSchemaProps{
				Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
					"spec": apiextensionv1beta1.JSONSchemaProps{
						Type: "object",
						Required: []string{
							"template",
						},
						Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
							"template": environmentValidation,
						},
					},
				},
			},
		},
		AdditionalPrinterColumns: []apiextensionv1beta1.CustomResourceColumnDefinition{
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Latest Release",
				Type:        "string",
				Description: "The application's latest release.",
				JSONPath:    ".status.history[-1]",
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Rolling Out",
				Type:        "string",
				Description: "Whether the application is going through a rollout.",
				JSONPath:    ".status.conditions[?(@.type=='RollingOut')].status",
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Age",
				Type:        "date",
				Description: "The application's age.",
				JSONPath:    ".metadata.creationTimestamp",
			},
		},
	},
}
View Source
var CapacityTarget = &apiextensionv1beta1.CustomResourceDefinition{
	ObjectMeta: metav1.ObjectMeta{
		Name: "capacitytargets.shipper.booking.com",
	},
	Spec: apiextensionv1beta1.CustomResourceDefinitionSpec{
		Group: "shipper.booking.com",
		Versions: []apiextensionv1beta1.CustomResourceDefinitionVersion{
			apiextensionv1beta1.CustomResourceDefinitionVersion{
				Name:    "v1alpha1",
				Served:  true,
				Storage: true,
			},
		},
		Names: apiextensionv1beta1.CustomResourceDefinitionNames{
			Plural:     "capacitytargets",
			Singular:   "capacitytarget",
			Kind:       "CapacityTarget",
			ShortNames: []string{"ct"},
			Categories: []string{"shipper"},
		},
		Subresources: &apiextensionv1beta1.CustomResourceSubresources{
			Status: &apiextensionv1beta1.CustomResourceSubresourceStatus{},
		},
		Validation: &apiextensionv1beta1.CustomResourceValidation{
			OpenAPIV3Schema: &apiextensionv1beta1.JSONSchemaProps{
				Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
					"spec": apiextensionv1beta1.JSONSchemaProps{
						Type: "object",
						Required: []string{
							"clusters",
						},
						Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
							"clusters": apiextensionv1beta1.JSONSchemaProps{
								Type: "array",
								Items: &apiextensionv1beta1.JSONSchemaPropsOrArray{
									Schema: &apiextensionv1beta1.JSONSchemaProps{
										Type: "object",
										Required: []string{
											"name",
											"percent",
										},
										Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
											"name": apiextensionv1beta1.JSONSchemaProps{
												Type: "string",
											},
											"percent": apiextensionv1beta1.JSONSchemaProps{
												Type:    "integer",
												Minimum: &zero,
												Maximum: &hundred,
											},
										},
									},
								},
							},
						},
					},
				},
			},
		},
		AdditionalPrinterColumns: []apiextensionv1beta1.CustomResourceColumnDefinition{
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Operational",
				Type:        "string",
				Description: "Whether the capacity target is operational.",
				JSONPath:    `.status.conditions[?(.type=="Operational")].status`,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Ready",
				Type:        "string",
				Description: "Whether the capacity target is ready.",
				JSONPath:    `.status.conditions[?(.type=="Ready")].status`,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Reason",
				Type:        "string",
				Description: "Reason for the capacity target to not be ready or operational.",
				JSONPath:    `.status.conditions[?(.status=="False")].message`,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Age",
				Type:        "date",
				Description: "The capacity target's age.",
				JSONPath:    ".metadata.creationTimestamp",
			},
		},
	},
}
View Source
var Cluster = &apiextensionv1beta1.CustomResourceDefinition{
	ObjectMeta: metav1.ObjectMeta{
		Name: "clusters.shipper.booking.com",
	},
	Spec: apiextensionv1beta1.CustomResourceDefinitionSpec{
		Group: "shipper.booking.com",
		Versions: []apiextensionv1beta1.CustomResourceDefinitionVersion{
			apiextensionv1beta1.CustomResourceDefinitionVersion{
				Name:    "v1alpha1",
				Served:  true,
				Storage: true,
			},
		},
		Names: apiextensionv1beta1.CustomResourceDefinitionNames{
			Plural:     "clusters",
			Singular:   "cluster",
			Kind:       "Cluster",
			ShortNames: []string{"cl"},
			Categories: []string{"shipper"},
		},
		Scope: apiextensionv1beta1.ClusterScoped,
		Validation: &apiextensionv1beta1.CustomResourceValidation{
			OpenAPIV3Schema: &apiextensionv1beta1.JSONSchemaProps{
				Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
					"spec": apiextensionv1beta1.JSONSchemaProps{
						Type: "object",
						Required: []string{
							"region",
							"apiMaster",
						},
						Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
							"region": apiextensionv1beta1.JSONSchemaProps{
								Type: "string",
							},
							"apiMaster": apiextensionv1beta1.JSONSchemaProps{
								Type: "string",
							},
							"capabilities": apiextensionv1beta1.JSONSchemaProps{
								Type: "array",
								Items: &apiextensionv1beta1.JSONSchemaPropsOrArray{
									Schema: &apiextensionv1beta1.JSONSchemaProps{
										Type: "string",
									},
								},
							},
							"scheduler": apiextensionv1beta1.JSONSchemaProps{
								Type: "object",
								Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
									"unschedulable": apiextensionv1beta1.JSONSchemaProps{
										Type: "boolean",
									},
									"weight": apiextensionv1beta1.JSONSchemaProps{
										Type: "integer",
									},
									"identity": apiextensionv1beta1.JSONSchemaProps{
										Type: "string",
									},
								},
							},
						},
					},
				},
			},
		},
	},
}
View Source
var InstallationTarget = &apiextensionv1beta1.CustomResourceDefinition{
	ObjectMeta: metav1.ObjectMeta{
		Name: "installationtargets.shipper.booking.com",
	},
	Spec: apiextensionv1beta1.CustomResourceDefinitionSpec{
		Group: "shipper.booking.com",
		Versions: []apiextensionv1beta1.CustomResourceDefinitionVersion{
			apiextensionv1beta1.CustomResourceDefinitionVersion{
				Name:    "v1alpha1",
				Served:  true,
				Storage: true,
			},
		},
		Names: apiextensionv1beta1.CustomResourceDefinitionNames{
			Plural:     "installationtargets",
			Singular:   "installationtarget",
			Kind:       "InstallationTarget",
			ShortNames: []string{"it"},
			Categories: []string{"shipper"},
		},
		AdditionalPrinterColumns: []apiextensionv1beta1.CustomResourceColumnDefinition{
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Operational",
				Type:        "string",
				Description: "Whether the installation target is operational.",
				JSONPath:    `.status.conditions[?(.type=="Operational")].status`,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Ready",
				Type:        "string",
				Description: "Whether the installation target is ready.",
				JSONPath:    `.status.conditions[?(.type=="Ready")].status`,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Reason",
				Type:        "string",
				Description: "Reason for the installation target to not be ready or operational.",
				JSONPath:    `.status.conditions[?(.status=="False")].message`,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Age",
				Type:        "date",
				Description: "The installation target's age.",
				JSONPath:    ".metadata.creationTimestamp",
			},
		},
		Validation: &apiextensionv1beta1.CustomResourceValidation{
			OpenAPIV3Schema: &apiextensionv1beta1.JSONSchemaProps{
				Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
					"spec": apiextensionv1beta1.JSONSchemaProps{
						Type: "object",
						Required: []string{
							"clusters",
							"canOverride",
						},
						Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
							"clusters": apiextensionv1beta1.JSONSchemaProps{
								Type: "array",
								Items: &apiextensionv1beta1.JSONSchemaPropsOrArray{
									Schema: &apiextensionv1beta1.JSONSchemaProps{
										Type: "string",
									},
								},
							},
							"canOverride": apiextensionv1beta1.JSONSchemaProps{
								Type: "boolean",
							},
							"chart": apiextensionv1beta1.JSONSchemaProps{
								Type: "object",
								Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
									"name":    apiextensionv1beta1.JSONSchemaProps{Type: "string"},
									"version": apiextensionv1beta1.JSONSchemaProps{Type: "string"},
									"repoUrl": apiextensionv1beta1.JSONSchemaProps{Type: "string"},
								},
							},
							"values": apiextensionv1beta1.JSONSchemaProps{
								Type: "object",
							},
						},
					},
				},
			},
		},
	},
}
View Source
var Release = &apiextensionv1beta1.CustomResourceDefinition{
	ObjectMeta: metav1.ObjectMeta{
		Name: "releases.shipper.booking.com",
	},
	Spec: apiextensionv1beta1.CustomResourceDefinitionSpec{
		Group: "shipper.booking.com",
		Versions: []apiextensionv1beta1.CustomResourceDefinitionVersion{
			apiextensionv1beta1.CustomResourceDefinitionVersion{
				Name:    "v1alpha1",
				Served:  true,
				Storage: true,
			},
		},
		Names: apiextensionv1beta1.CustomResourceDefinitionNames{
			Plural:     "releases",
			Singular:   "release",
			Kind:       "Release",
			ShortNames: []string{"rel"},
			Categories: []string{"all", "shipper"},
		},
		Validation: &apiextensionv1beta1.CustomResourceValidation{
			OpenAPIV3Schema: &apiextensionv1beta1.JSONSchemaProps{
				Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
					"spec": apiextensionv1beta1.JSONSchemaProps{
						Type: "object",
						Required: []string{
							"targetStep",
							"environment",
						},
						Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
							"targetStep": apiextensionv1beta1.JSONSchemaProps{
								Type:    "integer",
								Minimum: &zero,
							},
							"environment": environmentValidation,
						},
					},
				},
			},
		},
		AdditionalPrinterColumns: []apiextensionv1beta1.CustomResourceColumnDefinition{
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Age",
				Type:        "date",
				Description: "The release's age.",
				JSONPath:    ".metadata.creationTimestamp",
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Achieved Step",
				Type:        "string",
				Description: "The current achieved step for a release as defined in the rollout strategy.",
				JSONPath:    ".status.achievedStep.name",
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Clusters",
				Type:        "string",
				Description: "The list of clusters where a release is supposed to be rolled out as per strategy.",
				JSONPath:    ".metadata.annotations.shipper\\.booking\\.com\\/release\\.clusters",
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Waiting",
				Type:        "string",
				Description: "Which part of the strategy this release is waiting to complete",
				JSONPath:    `.status.strategy.conditions[?(.status=="False")].type`,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Reason",
				Type:        "string",
				Description: "Reason for the part of the strategy to be incomplete",
				JSONPath:    `.status.strategy.conditions[?(.status=="False")].message`,
			},
		},
	},
}
View Source
var RolloutBlock = &apiextensionv1beta1.CustomResourceDefinition{
	ObjectMeta: metav1.ObjectMeta{
		Name: "rolloutblocks.shipper.booking.com",
	},
	Spec: apiextensionv1beta1.CustomResourceDefinitionSpec{
		Group: "shipper.booking.com",
		Versions: []apiextensionv1beta1.CustomResourceDefinitionVersion{
			apiextensionv1beta1.CustomResourceDefinitionVersion{
				Name:    "v1alpha1",
				Served:  true,
				Storage: true,
			},
		},
		Names: apiextensionv1beta1.CustomResourceDefinitionNames{
			Plural:     "rolloutblocks",
			Singular:   "rolloutblock",
			Kind:       "RolloutBlock",
			ShortNames: []string{"rb"},
			Categories: []string{"all", "shipper"},
		},
		Validation: &apiextensionv1beta1.CustomResourceValidation{
			OpenAPIV3Schema: &apiextensionv1beta1.JSONSchemaProps{
				Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
					"spec": apiextensionv1beta1.JSONSchemaProps{
						Type: "object",
						Required: []string{
							"message",
							"author",
						},
						Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
							"message": apiextensionv1beta1.JSONSchemaProps{
								Type: "string",
							},
							"author": apiextensionv1beta1.JSONSchemaProps{
								Type: "object",
								Required: []string{
									"type",
									"name",
								},
								Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
									"type": apiextensionv1beta1.JSONSchemaProps{
										Type: "string",
									},
									"name": apiextensionv1beta1.JSONSchemaProps{
										Type: "string",
									},
								},
							},
						},
					},
				},
			},
		},
		AdditionalPrinterColumns: []apiextensionv1beta1.CustomResourceColumnDefinition{
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Message",
				Type:        "string",
				Description: "The reason for this rollout block.",
				JSONPath:    ".spec.message",
				Priority:    0,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Author Type",
				Type:        "string",
				Description: "The author type of this Rollout Block object.",
				JSONPath:    ".spec.author.type",
				Priority:    1,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Author Name",
				Type:        "string",
				Description: "The author name of this Rollout Block object.",
				JSONPath:    ".spec.author.name",
				Priority:    1,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Overriding Applications",
				Type:        "string",
				Description: "The list of applications that overrides this rollout block.",
				JSONPath:    ".status.overrides.application",
				Priority:    1,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Overriding Releases",
				Type:        "string",
				Description: "The list of releases that overrides this rollout block.",
				JSONPath:    ".status.overrides.release",
				Priority:    1,
			},
		},
	},
}
View Source
var TrafficTarget = &apiextensionv1beta1.CustomResourceDefinition{
	ObjectMeta: metav1.ObjectMeta{
		Name: "traffictargets.shipper.booking.com",
	},
	Spec: apiextensionv1beta1.CustomResourceDefinitionSpec{
		Group: "shipper.booking.com",
		Versions: []apiextensionv1beta1.CustomResourceDefinitionVersion{
			apiextensionv1beta1.CustomResourceDefinitionVersion{
				Name:    "v1alpha1",
				Served:  true,
				Storage: true,
			},
		},
		Names: apiextensionv1beta1.CustomResourceDefinitionNames{
			Plural:     "traffictargets",
			Singular:   "traffictarget",
			Kind:       "TrafficTarget",
			ShortNames: []string{"tt"},
			Categories: []string{"shipper"},
		},
		Subresources: &apiextensionv1beta1.CustomResourceSubresources{
			Status: &apiextensionv1beta1.CustomResourceSubresourceStatus{},
		},
		AdditionalPrinterColumns: []apiextensionv1beta1.CustomResourceColumnDefinition{
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Operational",
				Type:        "string",
				Description: "Whether the traffic target is operational.",
				JSONPath:    `.status.conditions[?(.type=="Operational")].status`,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Ready",
				Type:        "string",
				Description: "Whether the traffic target is ready.",
				JSONPath:    `.status.conditions[?(.type=="Ready")].status`,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Reason",
				Type:        "string",
				Description: "Reason for the traffic target to not be ready or operational.",
				JSONPath:    `.status.conditions[?(.status=="False")].message`,
			},
			apiextensionv1beta1.CustomResourceColumnDefinition{
				Name:        "Age",
				Type:        "date",
				Description: "The traffic target's age.",
				JSONPath:    ".metadata.creationTimestamp",
			},
		},
		Validation: &apiextensionv1beta1.CustomResourceValidation{
			OpenAPIV3Schema: &apiextensionv1beta1.JSONSchemaProps{
				Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
					"spec": apiextensionv1beta1.JSONSchemaProps{
						Type: "object",
						Required: []string{
							"clusters",
						},
						Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
							"clusters": apiextensionv1beta1.JSONSchemaProps{
								Type: "array",
								Items: &apiextensionv1beta1.JSONSchemaPropsOrArray{
									Schema: &apiextensionv1beta1.JSONSchemaProps{
										Type: "object",
										Required: []string{
											"name",
											"weight",
										},
										Properties: map[string]apiextensionv1beta1.JSONSchemaProps{
											"name": apiextensionv1beta1.JSONSchemaProps{
												Type: "string",
											},
											"weight": apiextensionv1beta1.JSONSchemaProps{
												Type:    "integer",
												Minimum: &zero,
											},
										},
									},
								},
							},
						},
					},
				},
			},
		},
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL