Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ $(call add-crd-gen,machine-beta,./machine/v1beta1,./machine/v1beta1,./machine/v1
$(call add-crd-gen,machine,./machine/v1,./machine/v1,./machine/v1)
$(call add-crd-gen,monitoring-alpha,./monitoring/v1alpha1,./monitoring/v1alpha1,./monitoring/v1alpha1)
$(call add-crd-gen,route,./route/v1,./route/v1,./route/v1)
$(call add-crd-gen,platform,./platform/v1alpha1,./platform/v1alpha1,./platform/v1alpha1)

RUNTIME ?= podman
RUNTIME_IMAGE_NAME ?= registry.ci.openshift.org/openshift/release:rhel-8-release-golang-1.18-openshift-4.12
Expand Down
216 changes: 216 additions & 0 deletions openapi/generated_openapi/zz_generated.openapi.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

124 changes: 124 additions & 0 deletions openapi/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -27416,6 +27416,130 @@
}
}
},
"com.github.openshift.api.platform.v1alpha1.ActiveBundleDeployment": {
"description": "ActiveBundleDeployment references a BundleDeployment resource.",
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"description": "name is the metadata.name of the referenced BundleDeployment object.",
"type": "string",
"default": ""
}
}
},
"com.github.openshift.api.platform.v1alpha1.Package": {
"description": "Package contains fields to configure which OLM package this PlatformOperator will install",
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"description": "name contains the desired OLM-based Operator package name that is defined in an existing CatalogSource resource in the cluster.\n\nThis configured package will be managed with the cluster's lifecycle. In the current implementation, it will be retrieving this name from a list of supported operators out of the catalogs included with OpenShift.",
"type": "string",
"default": ""
}
}
},
"com.github.openshift.api.platform.v1alpha1.PlatformOperator": {
"description": "PlatformOperator is the Schema for the PlatformOperators API.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.",
"type": "object",
"required": [
"spec"
],
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"default": {},
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
},
"spec": {
"default": {},
"$ref": "#/definitions/com.github.openshift.api.platform.v1alpha1.PlatformOperatorSpec"
},
"status": {
"default": {},
"$ref": "#/definitions/com.github.openshift.api.platform.v1alpha1.PlatformOperatorStatus"
}
}
},
"com.github.openshift.api.platform.v1alpha1.PlatformOperatorList": {
"description": "PlatformOperatorList contains a list of PlatformOperators\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.",
"type": "object",
"required": [
"items"
],
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"type": "string"
},
"items": {
"type": "array",
"items": {
"default": {},
"$ref": "#/definitions/com.github.openshift.api.platform.v1alpha1.PlatformOperator"
}
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"default": {},
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
}
},
"com.github.openshift.api.platform.v1alpha1.PlatformOperatorSpec": {
"description": "PlatformOperatorSpec defines the desired state of PlatformOperator.",
"type": "object",
"required": [
"package"
],
"properties": {
"package": {
"description": "package contains the desired package and its configuration for this PlatformOperator.",
"default": {},
"$ref": "#/definitions/com.github.openshift.api.platform.v1alpha1.Package"
}
}
},
"com.github.openshift.api.platform.v1alpha1.PlatformOperatorStatus": {
"description": "PlatformOperatorStatus defines the observed state of PlatformOperator",
"type": "object",
"properties": {
"activeBundleDeployment": {
"description": "activeBundleDeployment is the reference to the BundleDeployment resource that's being managed by this PO resource. If this field is not populated in the status then it means the PlatformOperator has either not been installed yet or is failing to install.",
"default": {},
"$ref": "#/definitions/com.github.openshift.api.platform.v1alpha1.ActiveBundleDeployment"
},
"conditions": {
"description": "conditions represent the latest available observations of a platform operator's current state.",
"type": "array",
"items": {
"default": {},
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Condition"
},
"x-kubernetes-list-map-keys": [
"type"
],
"x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge"
}
}
},
"com.github.openshift.api.project.v1.Project": {
"description": "Projects are the unit of isolation and collaboration in OpenShift. A project has one or more members, a quota on the resources that the project may consume, and the security controls on the resources in the project. Within a project, members may have different roles - project administrators can set membership, editors can create and manage the resources, and viewers can see but not access running containers. In a normal cluster project administrators are not able to alter their quotas - that is restricted to cluster administrators.\n\nListing or watching projects will return only projects the user has the reader role on.\n\nAn OpenShift project is an alternative representation of a Kubernetes namespace. Projects are exposed as editable to end users while namespaces are not. Direct creation of a project is typically restricted to administrators, while end users should use the requestproject resource.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).",
"type": "object",
Expand Down
28 changes: 28 additions & 0 deletions platform/install.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package platform

import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"

platformv1alpha1 "github.com/openshift/api/platform/v1alpha1"
)

const (
GroupName = "platform.openshift.io"
)

var (
schemeBuilder = runtime.NewSchemeBuilder(
platformv1alpha1.Install,
)
// Install is a function which adds every version of this group to a scheme
Install = schemeBuilder.AddToScheme
)

func Resource(resource string) schema.GroupResource {
return schema.GroupResource{Group: GroupName, Resource: resource}
}

func Kind(kind string) schema.GroupKind {
return schema.GroupKind{Group: GroupName, Kind: kind}
}
Loading