LoRAAdapter
inference.llmkube.dev / v1alpha1
apiVersion: inference.llmkube.dev/v1alpha1
kind: LoRAAdapter
metadata:
name: example
apiVersion
string
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
kind
string
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
metadata
object
spec object required
spec defines the desired state of LoRAAdapter
inferenceServiceRef object required
InferenceServiceRef names the InferenceService this adapter should
be loaded into. The reconciler resolves it; if it points at a
non-sglang runtime, Available=False with reason RuntimeMismatch.
name
string required
Name is the name of the target InferenceService. Must exist in
Namespace (or be omitted to default to this resource's namespace).
namespace
string
Namespace is the namespace of the target InferenceService. When
omitted, defaults to the LoRAAdapter's namespace. Cross-namespace
references are allowed; the controller only requires that the
operator has RBAC to GET the referenced InferenceService.
name
string required
Name is the SGLang-side adapter handle. Operators quote this in
inference requests to pick the adapter. Must be unique within the
target InferenceService's loaded set; the SGLang HTTP API rejects
duplicates with 409.
pattern:
^[A-Za-z0-9][A-Za-z0-9._-]*$minLength:
1maxLength:
63
path
string required
Path is the path on disk inside the SGLang container where the
adapter weights are mounted. SGLang reads from this path when
/load_lora_adapter is invoked, so it must be reachable from the
inference pod (typically via a PVC exposed in
InferenceService.spec.extraVolumes) at the path the operator
chose. The controller does not auto-mount.
minLength:
1status object
status defines the observed state of LoRAAdapter
conditions []object
conditions represent the current state of the LoRAAdapter
resource.
Standard condition types include:
- "Available": the spec is well-formed and target InferenceService
exists with runtime == sglang.
- "Loaded": the adapter has been POSTed to SGLang and SGLang
reported success (or, on teardown, acknowledged the unload).
- "Error": a reconcile step failed; the message carries the
underlying reason (runtime mismatch, HTTP failure, etc.).
The status of each condition is one of True, False, or Unknown.
lastTransitionTime
string required
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format:
date-time
message
string required
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength:
32768
observedGeneration
integer
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format:
int64minimum:
0
reason
string required
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$minLength:
1maxLength:
1024
status
string required
status of the condition, one of True, False, Unknown.
enum:
True, False, Unknown
type
string required
type of condition in CamelCase or in foo.example.com/CamelCase.
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])$maxLength:
316
lastLoadedAt
string
LastLoadedAt is when the adapter was last successfully loaded
into SGLang. Re-loads (after a SGLang pod restart, for example)
update this field.
format:
date-time
loadedPath
string
LoadedPath is the path SGLang has accepted for this adapter. Set
after a successful POST /load_lora_adapter response. Empty before
the first successful load.
No matches. Try .spec.inferenceServiceRef for an exact path