# Example: Single-cluster volumes mode (minimal + storage-proxy) apiVersion: v1 kind: Namespace metadata: name: sandbox0-system --- apiVersion: infra.sandbox0.ai/v1alpha1 kind: Sandbox0Infra metadata: name: volumes namespace: sandbox0-system spec: database: # Use builtin for quick start; switch to external for managed PG. type: builtin builtin: enabled: true persistence: enabled: true size: "20Gi" # Example external database: # database: # type: external # external: # host: your-db.rds.amazonaws.com # port: 5432 # database: sandbox0 # username: sandbox0 # passwordSecret: # name: db-credentials # key: password publicExposure: enabled: true rootDomain: sandbox0.app regionId: aws-us-east-1 storage: # Builtin storage is for quick start; use s3/oss for production scale. type: builtin builtin: enabled: true persistence: enabled: true size: "20Gi" # Example S3 storage: # storage: # type: s3 # s3: # bucket: sandbox0-prod # region: us-east-1 # endpoint: https://s3.amazonaws.com # credentialsSecret: # name: aws-credentials # accessKeyKey: accessKeyId # secretKeyKey: secretAccessKey # registry: # # Builtin registry defaults to NodePort for easy kind debugging. # provider: builtin # builtin: # enabled: true # service: # type: NodePort # port: 30500 # # For local kind debug, s0 CLI can push via this endpoint. # pushEndpoint: 127.0.0.1:30500 builtinTemplates: - templateId: default image: sandbox0ai/otemplates:default-v0.1.0 displayName: Default description: Builtin template installed by infra-operator. pool: minIdle: 1 maxIdle: 5 services: internalGateway: enabled: true replicas: 1 service: type: NodePort port: 30080 config: authMode: public manager: enabled: true replicas: 1 storageProxy: enabled: true replicas: 1 config: juicefsEncryptionEnabled: false initUser: email: "admin@example.com"