Skip to content

Commit

Permalink
feat: add OLM v1 CRDs (operators.coreos.com) (#255)
Browse files Browse the repository at this point in the history
  • Loading branch information
jacksgt authored Jan 27, 2024
1 parent eb559ef commit 586facb
Show file tree
Hide file tree
Showing 10 changed files with 12,850 additions and 0 deletions.
1,018 changes: 1,018 additions & 0 deletions operators.coreos.com/catalogsource_v1alpha1.json

Large diffs are not rendered by default.

7,866 changes: 7,866 additions & 0 deletions operators.coreos.com/clusterserviceversion_v1alpha1.json

Large diffs are not rendered by default.

322 changes: 322 additions & 0 deletions operators.coreos.com/installplan_v1alpha1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,322 @@
{
"description": "InstallPlan defines the installation of a set of operators.",
"type": "object",
"required": [
"metadata",
"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": {
"type": "object"
},
"spec": {
"description": "InstallPlanSpec defines a set of Application resources to be installed",
"type": "object",
"required": [
"approval",
"approved",
"clusterServiceVersionNames"
],
"properties": {
"approval": {
"description": "Approval is the user approval policy for an InstallPlan. It must be one of \"Automatic\" or \"Manual\".",
"type": "string"
},
"approved": {
"type": "boolean"
},
"clusterServiceVersionNames": {
"type": "array",
"items": {
"type": "string"
}
},
"generation": {
"type": "integer"
},
"source": {
"type": "string"
},
"sourceNamespace": {
"type": "string"
}
},
"additionalProperties": false
},
"status": {
"description": "InstallPlanStatus represents the information about the status of steps required to complete installation. \n Status may trail the actual state of a system.",
"type": "object",
"required": [
"catalogSources",
"phase"
],
"properties": {
"attenuatedServiceAccountRef": {
"description": "AttenuatedServiceAccountRef references the service account that is used to do scoped operator install.",
"type": "object",
"properties": {
"apiVersion": {
"description": "API version of the referent.",
"type": "string"
},
"fieldPath": {
"description": "If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.",
"type": "string"
},
"kind": {
"description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"namespace": {
"description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/",
"type": "string"
},
"resourceVersion": {
"description": "Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency",
"type": "string"
},
"uid": {
"description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids",
"type": "string"
}
},
"additionalProperties": false
},
"bundleLookups": {
"description": "BundleLookups is the set of in-progress requests to pull and unpackage bundle content to the cluster.",
"type": "array",
"items": {
"description": "BundleLookup is a request to pull and unpackage the content of a bundle to the cluster.",
"type": "object",
"required": [
"catalogSourceRef",
"identifier",
"path",
"replaces"
],
"properties": {
"catalogSourceRef": {
"description": "CatalogSourceRef is a reference to the CatalogSource the bundle path was resolved from.",
"type": "object",
"properties": {
"apiVersion": {
"description": "API version of the referent.",
"type": "string"
},
"fieldPath": {
"description": "If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.",
"type": "string"
},
"kind": {
"description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"name": {
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"namespace": {
"description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/",
"type": "string"
},
"resourceVersion": {
"description": "Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency",
"type": "string"
},
"uid": {
"description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids",
"type": "string"
}
},
"additionalProperties": false
},
"conditions": {
"description": "Conditions represents the overall state of a BundleLookup.",
"type": "array",
"items": {
"type": "object",
"required": [
"status",
"type"
],
"properties": {
"lastTransitionTime": {
"description": "Last time the condition transitioned from one status to another.",
"type": "string",
"format": "date-time"
},
"lastUpdateTime": {
"description": "Last time the condition was probed.",
"type": "string",
"format": "date-time"
},
"message": {
"description": "A human readable message indicating details about the transition.",
"type": "string"
},
"reason": {
"description": "The reason for the condition's last transition.",
"type": "string"
},
"status": {
"description": "Status of the condition, one of True, False, Unknown.",
"type": "string"
},
"type": {
"description": "Type of condition.",
"type": "string"
}
},
"additionalProperties": false
}
},
"identifier": {
"description": "Identifier is the catalog-unique name of the operator (the name of the CSV for bundles that contain CSVs)",
"type": "string"
},
"path": {
"description": "Path refers to the location of a bundle to pull. It's typically an image reference.",
"type": "string"
},
"properties": {
"description": "The effective properties of the unpacked bundle.",
"type": "string"
},
"replaces": {
"description": "Replaces is the name of the bundle to replace with the one found at Path.",
"type": "string"
},
"additionalProperties": false
},
"additionalProperties": false
}
},
"catalogSources": {
"type": "array",
"items": {
"type": "string"
}
},
"conditions": {
"type": "array",
"items": {
"description": "InstallPlanCondition represents the overall status of the execution of an InstallPlan.",
"type": "object",
"properties": {
"lastTransitionTime": {
"type": "string",
"format": "date-time"
},
"lastUpdateTime": {
"type": "string",
"format": "date-time"
},
"message": {
"type": "string"
},
"reason": {
"description": "ConditionReason is a camelcased reason for the state transition.",
"type": "string"
},
"status": {
"type": "string"
},
"type": {
"description": "InstallPlanConditionType describes the state of an InstallPlan at a certain point as a whole.",
"type": "string"
}
},
"additionalProperties": false
}
},
"message": {
"description": "Message is a human-readable message containing detailed information that may be important to understanding why the plan has its current status.",
"type": "string"
},
"phase": {
"description": "InstallPlanPhase is the current status of a InstallPlan as a whole.",
"type": "string"
},
"plan": {
"type": "array",
"items": {
"description": "Step represents the status of an individual step in an InstallPlan.",
"type": "object",
"required": [
"resolving",
"resource",
"status"
],
"properties": {
"optional": {
"type": "boolean"
},
"resolving": {
"type": "string"
},
"resource": {
"description": "StepResource represents the status of a resource to be tracked by an InstallPlan.",
"type": "object",
"required": [
"group",
"kind",
"name",
"sourceName",
"sourceNamespace",
"version"
],
"properties": {
"group": {
"type": "string"
},
"kind": {
"type": "string"
},
"manifest": {
"type": "string"
},
"name": {
"type": "string"
},
"sourceName": {
"type": "string"
},
"sourceNamespace": {
"type": "string"
},
"version": {
"type": "string"
}
},
"additionalProperties": false
},
"status": {
"description": "StepStatus is the current status of a particular resource an in InstallPlan",
"type": "string"
}
},
"additionalProperties": false
}
},
"startTime": {
"description": "StartTime is the time when the controller began applying the resources listed in the plan to the cluster.",
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
}
}
}
Loading

0 comments on commit 586facb

Please sign in to comment.