Skip to content

RHOAIENG-28260 - Add the LlamaStackDistribution CR #2428

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
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
6 changes: 5 additions & 1 deletion class_generator/schema/__not-kind.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1065,4 +1065,8 @@ com.redhat.managed-gitops.v1alpha1.GitOpsDeploymentList
io.external-secrets.v1beta1.ClusterExternalSecretList
io.openshift.managed.v1alpha2.VeleroInstallList
com.redhat.appstudio.v1beta2.IntegrationTestScenarioList
io.external-secrets.v1alpha1.SecretStoreList
io.external-secrets.v1alpha1.SecretStoreList
io.llamastack.v1alpha1.LlamaStackDistributionList
org.kubeflow.pipelines.v2beta1.PipelineList
org.kubeflow.pipelines.v2beta1.PipelineVersionList
io.opendatahub.platform.components.v1alpha1.LlamaStackOperatorList
2,062 changes: 2,062 additions & 0 deletions class_generator/schema/__resources-mappings.json

Large diffs are not rendered by default.

1,805 changes: 1,805 additions & 0 deletions class_generator/schema/llamastackdistribution.json

Large diffs are not rendered by default.

36 changes: 36 additions & 0 deletions class_generator/schema/llamastackdistributionlist.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"description": "LlamaStackDistributionList is a list of LlamaStackDistribution",
"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": {
"description": "List of llamastackdistributions. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md",
"type": "array",
"items": {
"$ref": "_definitions.json#/definitions/io.llamastack.v1alpha1.LlamaStackDistribution"
}
},
"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": {
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"$ref": "_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
},
"x-kubernetes-group-version-kind": [
{
"group": "llamastack.io",
"kind": "LlamaStackDistributionList",
"version": "v1alpha1"
}
],
"$schema": "http://json-schema.org/schema#"
}
160 changes: 160 additions & 0 deletions class_generator/schema/llamastackoperator.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
{
"description": "LlamaStackOperator is the Schema for the LlamaStackOperator API",
"type": "object",
"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": {
"description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"$ref": "_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
},
"spec": {
"description": "LlamaStackOperatorSpec defines the desired state of LlamaStackOperator",
"type": "object",
"properties": {
"devFlags": {
"description": "Add developer fields",
"type": "object",
"properties": {
"manifests": {
"description": "List of custom manifests for the given component",
"type": "array",
"items": {
"type": "object",
"properties": {
"contextDir": {
"description": "contextDir is the relative path to the folder containing manifests in a repository, default value \"manifests\"",
"type": "string"
},
"sourcePath": {
"description": "sourcePath is the subpath within contextDir where kustomize builds start. Examples include any sub-folder or path: `base`, `overlays/dev`, `default`, `odh` etc.",
"type": "string"
},
"uri": {
"description": "uri is the URI point to a git repo with tag/branch. e.g. https://github.com/org/repo/tarball/<tag/branch>",
"type": "string"
}
}
}
}
}
}
}
},
"status": {
"description": "LlamaStackOperatorStatus defines the observed state of LlamaStackOperator",
"type": "object",
"properties": {
"conditions": {
"type": "array",
"items": {
"type": "object",
"required": [
"status",
"type"
],
"properties": {
"lastHeartbeatTime": {
"description": "The last time we got an update on a given condition, this should not be set and is\npresent only for backward compatibility reasons",
"type": "string",
"format": "date-time"
},
"lastTransitionTime": {
"description": "lastTransitionTime is the last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed.\nIf that is not known, then using the time when the API field changed is acceptable.",
"type": "string",
"format": "date-time"
},
"message": {
"description": "message is a human-readable message indicating details about the transition.",
"type": "string"
},
"observedGeneration": {
"description": "observedGeneration represents the .metadata.generation that the condition was set based upon.\nFor instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration\nis 9, the condition is out of date with respect to the current state of the instance.",
"type": "integer",
"format": "int64",
"minimum": 0
},
"reason": {
"description": "reason contains a programmatic identifier indicating the reason for the condition's last transition.\nThe value should be a CamelCase string.",
"type": "string"
},
"severity": {
"description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
"type": "string"
},
"status": {
"description": "status of the condition, one of True, False, Unknown.",
"type": "string",
"enum": [
"True",
"False",
"Unknown"
]
},
"type": {
"description": "type of condition in CamelCase or in foo.example.com/CamelCase.",
"type": "string",
"maxLength": 316,
"pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$"
}
}
},
"x-kubernetes-list-type": "atomic"
},
"observedGeneration": {
"description": "The generation observed by the resource controller.",
"type": "integer",
"format": "int64"
},
"phase": {
"type": "string"
},
"releases": {
"type": "array",
"items": {
"description": "ComponentRelease represents the detailed status of a component release.",
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"repoUrl": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"x-kubernetes-list-map-keys": [
"name"
],
"x-kubernetes-list-type": "map"
}
}
}
},
"x-kubernetes-group-version-kind": [
{
"group": "components.platform.opendatahub.io",
"kind": "LlamaStackOperator",
"version": "v1alpha1"
}
],
"x-kubernetes-validations": [
{
"message": "LlamaStackOperator name must be default-llamastackoperator",
"rule": "self.metadata.name == 'default-llamastackoperator'"
}
],
"$schema": "http://json-schema.org/schema#"
}
36 changes: 36 additions & 0 deletions class_generator/schema/llamastackoperatorlist.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"description": "LlamaStackOperatorList is a list of LlamaStackOperator",
"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": {
"description": "List of llamastackoperators. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md",
"type": "array",
"items": {
"$ref": "_definitions.json#/definitions/io.opendatahub.platform.components.v1alpha1.LlamaStackOperator"
}
},
"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": {
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"$ref": "_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
},
"x-kubernetes-group-version-kind": [
{
"group": "components.platform.opendatahub.io",
"kind": "LlamaStackOperatorList",
"version": "v1alpha1"
}
],
"$schema": "http://json-schema.org/schema#"
}
91 changes: 91 additions & 0 deletions class_generator/schema/pipelineversion.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
{
"description": "PipelineVersion is the Schema for the pipelineversions API.",
"type": "object",
"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": {
"description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"$ref": "_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
},
"spec": {
"description": "PipelineVersionSpec defines the desired state of PipelineVersion.",
"type": "object",
"required": [
"pipelineSpec"
],
"properties": {
"codeSourceURL": {
"type": "string"
},
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"pipelineName": {
"type": "string"
},
"pipelineSpec": {
"x-kubernetes-preserve-unknown-fields": true
}
}
},
"status": {
"description": "PipelineVersionStatus defines the observed state of PipelineVersion.",
"type": "object",
"properties": {
"conditions": {
"type": "array",
"items": {
"description": "SimplifiedCondition is a metav1.Condition without lastTransitionTime since the database model doesn't have such\na concept and it allows a default status in the CRD without a controller setting it.",
"type": "object",
"required": [
"message",
"reason",
"status",
"type"
],
"properties": {
"message": {
"type": "string",
"maxLength": 32768
},
"reason": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"True",
"False",
"Unknown"
]
},
"type": {
"type": "string",
"maxLength": 316,
"pattern": "^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$"
}
}
}
}
}
}
},
"x-kubernetes-group-version-kind": [
{
"group": "pipelines.kubeflow.org",
"kind": "PipelineVersion",
"version": "v2beta1"
}
],
"$schema": "http://json-schema.org/schema#"
}
36 changes: 36 additions & 0 deletions class_generator/schema/pipelineversionlist.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"description": "PipelineVersionList is a list of PipelineVersion",
"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": {
"description": "List of pipelineversions. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md",
"type": "array",
"items": {
"$ref": "_definitions.json#/definitions/org.kubeflow.pipelines.v2beta1.PipelineVersion"
}
},
"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": {
"description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"$ref": "_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
},
"x-kubernetes-group-version-kind": [
{
"group": "pipelines.kubeflow.org",
"kind": "PipelineVersionList",
"version": "v2beta1"
}
],
"$schema": "http://json-schema.org/schema#"
}