CRD reference
Gryvia defines 49 custom resources in the gryvia.io API group (version v1alpha1, alpha: fields may change between releases). The last column names the operator that registers a controller for the kind; none means no controller in operators/*/main.go reconciles the kind: the CRD, gateway routes or dashboard pages may exist, and other components may read it (for example GryviaGpuSku), but nothing acts on its spec. Full schemas are in crds/; kubectl explain <kind>.spec works on any cluster with Gryvia installed.
| Kind | Resource | Scope | Controller | Required spec fields | Other spec fields |
|---|---|---|---|---|---|
GryviaAIJob | gryviaaijobs | Namespaced | ai-operator | gpus, image, type | affinity, args, command, distributed, env, gpuType, imagePullPolicy, model, … |
GryviaAgent | gryviaagents | Namespaced | ai-operator | model | image, maxSteps, replicas, resources, systemPrompt, tools |
GryviaAutoPolicy | gryviaautopolicies | Namespaced | network-intelligence | none | approvalRequired, excludeServices, learningWindow, mode, targetNamespaces |
GryviaAutoTuner | gryviaautotuners | Namespaced | ai-operator | jobTemplate, maxTrials, objective, parameterSpace, searchAlgorithm | ashaConfig, earlyStoppingRounds, parallelism |
GryviaBudget | gryviabudgets | Cluster | quota-operator | period, scope | alerts, enforcement, limits, priority, rollover |
GryviaChargeback | gryviachargebacks | Cluster | quota-operator | none | allocationModel, costCenters, mode, period, pricing, reports |
GryviaCheckpointGuard | gryviacheckpointguards | Namespaced | ai-operator | checkpointPolicy, jobSelector | monitoring, restore, validation |
GryviaCostPredictor | gryviacostpredictors | Cluster | quota-operator | none | alternatives, historicalData, integration, models, pricing |
GryviaDataset | gryviadatasets | Cluster | storage-operator | source | access, cache, description, license, namespace, placement, statistics, tags, … |
GryviaFabricSignal | gryviafabricsignals | Namespaced | ai-operator | none | jobRef, observeOnly |
GryviaFederation | gryviafederations | Cluster | ai-operator | none | clusters, costManagement, distribution, failover, loadBalancing, resourceSharing |
GryviaFlowPolicy | gryviaflowpolicies | Namespaced | network-intelligence | none | action, destination, intent, priority, protocol, source |
GryviaGPUSharingPolicy | gryviagpusharingpolicies | Cluster | gpu-operator | strategy | fractionalGPU, mig, nodeSelector, priority, qos, tenantQuotas, timeSlicing |
GryviaGpuMemoryOptimizer | gryviagpumemoryoptimizers | Cluster | gpu-operator | scope | inferencePacking, oomPrevention, rightSizing |
GryviaGpuNode | gryviagpunodes | Cluster | gpu-operator | gpuCount, gpuType, nodeName | bandwidth, computeCapability, drivers, healthCheck, interconnect, labels, memoryGB, rdma, … |
GryviaGpuSku | gryviagpuskus | Cluster | none | gpuType, hourlyRate | currency, description, enabled, gpusPerUnit, spotDiscount |
GryviaHealthCheck | gryviahealthchecks | Cluster | gpu-operator | target | checks, onFailure, remediation, schedule |
GryviaInferenceInsight | gryviainferenceinsights | Namespaced | network-intelligence | none | analysisWindow, targetService |
GryviaInferenceService | gryviainferenceservices | Namespaced | ai-operator | backend, modelRef | args, autoscaling, canary, gpuCount, gpuType, healthCheck, image, replicas, … |
GryviaInvoice | gryviainvoices | Cluster | none | currency, ledger, number, period, state, subtotal, tenant | finalizedAt, finalizedBy, jobs, lines, paidAt, payment, voidReason, voidedAt, … |
GryviaJobHook | gryviajobhooks | Namespaced | ai-operator | events, webhook | kinds, retry, selector, suspend |
GryviaLedgerEntry | gryvialedgerentries | Cluster | none | cost, currency, end, gpuHours, hash, job, kind, rate, recordedAt, sequence, start, tenant, usageRecord | prevHash, sku |
GryviaLiveExperiment | gryvialiveexperiments | Namespaced | ai-operator | comparison, jobs | description, notifications, strategy |
GryviaModelLineage | gryviamodellineages | Namespaced | ai-operator | model | compliance, provenance |
GryviaModelRegistry | gryviamodelregistries | Namespaced | ai-operator | artifacts, modelName, version | autoServe, description, metadata, promotionPolicy, rollbackPolicy, servingConfig, source, stage |
GryviaModelWatch | gryviamodelwatches | Namespaced | ai-operator | sources, workflowTemplate | includeExisting, licenseAllowlist, maxConcurrentRuns, maxParamsB, pollInterval, retrainOnNewRevision, sizing, suspend, … |
GryviaNetwork | gryvianetworks | Cluster | network-operator | networkType | mtu, nodeSelector, rdma, sriov, targetNamespace |
GryviaNetworkAnomaly | gryvianetworkanomalies | Namespaced | network-intelligence | none | alertWebhook, autoMitigate, detectionRules, targetService |
GryviaNetworkCost | gryvianetworkcosts | Namespaced | network-intelligence | none | costCenters, costPerGB, reportingInterval, targetNamespaces |
GryviaNetworkRate | gryvianetworkrates | Cluster | none | none | crossZone, currency, internetEgress, sameZone |
GryviaNetworkUsageRecord | gryvianetworkusagerecords | Namespaced | none | egressBytes, final, hour, node, peerClass, tenant, zoneClass | ingressBytes, source |
GryviaNodeFabric | gryvianodefabrics | Cluster | none | measuredAt, nodeName, scoreDelta | expiresAt, reasons, ttlSeconds |
GryviaPriority | gryviapriorities | Cluster | ai-operator | value | description, preemptionPolicy, quotaOverride, sla |
GryviaQuota | gryviaquotas | Cluster | quota-operator | gpuQuota, namespaces, team | budget, network, priority, tokensPerDay |
GryviaReservation | gryviareservations | Cluster | quota-operator | owner, resources, schedule | billing, guarantees, notifications |
GryviaSecurityPolicy | gryviasecuritypolicies | Namespaced | network-intelligence | none | alertWebhook, autoBlock, detectionRules, targetNamespaces |
GryviaServiceGraph | gryviaservicegraphs | Namespaced | network-intelligence | none | depth, includeExternal, namespaces, refreshInterval |
GryviaStorage | gryviastorages | Cluster | storage-operator | backend, capacity, endpoint | credentials, iops, mountOptions, performance, protocol, quotas, rdma, storageClass, … |
GryviaTemplate | gryviatemplates | Cluster | ai-operator | category, defaults | description, parameters, tags |
GryviaTenant | gryviatenants | Cluster | quota-operator | none | allowedSkus, billing, description, displayName, governance, jobDefaults, members, networkPolicy, … |
GryviaTraceSession | gryviatracesessions | Namespaced | network-intelligence | none | captureHeaders, duration, filters, level, namespace, service |
GryviaTrafficInsight | gryviatrafficinsights | Namespaced | network-intelligence | none | metrics, namespace, service, window |
GryviaTrainingInsight | gryviatraininginsights | Namespaced | network-intelligence | none | analysisWindow, metrics, targetJob |
GryviaTrainingProfiler | gryviatrainingprofilers | Namespaced | ai-operator | target | analysis, metrics, output |
GryviaTrainingTimeMachine | gryviatrainingtimemachines | Namespaced | ai-operator | sourceJob | forks, retention, timeline |
GryviaUsageRecord | gryviausagerecords | Namespaced | quota-operator | cost, final, gpuHours, gpus, job, jobUID, rate, start, tenant | currency, end, gpuType, inputTokens, kind, model, outputTokens, sku |
GryviaVectorIndex | gryviavectorindexes | Namespaced | ai-operator | datasetRef, embedding, store | chunking, collection, ingestImage, schedule, suspend |
GryviaWorkflow | gryviaworkflows | Namespaced | ai-operator | steps | parameters, schedule |
GryviaWorkspace | gryviaworkspaces | Namespaced | ai-operator | type | cpuLimit, cpuRequest, env, gpuCount, gpuType, idleTimeoutMinutes, image, maxLifetimeHours, … |