S3
Opni requires an S3 endpoint to store the AI models for the Drain and Inference services. This can be endpoint for an external S3 compatible API, or Opni can deploy a SeaweedFS pod to serve the S3 API.
example.yaml
apiVersion: opni.io/v1beta1
kind: OpniCluster
metadata:
name: example
namespace: opni
spec:
s3:
internal: {}
Custom Resource Specs
S3Spec
| Field | Required | Type | Description |
|---|---|---|---|
| internal | No | InternalSpec | If set will deploy an internal S3 endpoint to use |
| external | No | ExternalSpec | The reference to the external S3 compatible API to use |
| nulogS3Bucket | No | string | Name of the S3 bucket to use for the Nulog model. Defaults to opni-nulog-models |
| drainS3Bucket | No | string | Name of the S3 bucket to use for the Drain model. Defaults to opni-drain-model |
InternalSpec
| Field | Required | Type | Description |
|---|---|---|---|
| persistence | No | PersistenceSpec | If set SeaweedFS will be configured to use persistent storage |
PersistenceSpec
| Field | Required | Type | Description |
|---|---|---|---|
| enabled | No | bool | Whether persistent storage is enabled. Defaults to false |
| storageClassName | No | string | If persistent storage is enabled, the name of the StorageClass to use. If not set will use the default StorageClass |
| accessModes | No | string array | An array of the access modes the volume supports |
| request | No | string | The size of the volume to request. Defaults to 10Gi |
ExternalSpec
| Field | Required | Type | Description |
|---|---|---|---|
| endpoint | Yes | string | The external S3 endpoint URL |
| credentials | Yes | SecretReference | Reference to a secret containing the S3 credentials. It must have accessKey and secretKey items |