---
# Secret containing AWS S3 credentials
# In production, use a secrets management solution (e.g., External Secrets Operator)
apiVersion: v1
kind: Secret
metadata:
  name: s3-credentials
  namespace: default
type: Opaque
stringData:
  access-key-id: "AKIAIOSFODNN7EXAMPLE"
  secret-access-key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"

---
# NetBoxEnterprise with AWS S3 storage for media files and wheelhouse packages
apiVersion: netboxlabs.com/v1alpha1
kind: NetBoxEnterprise
metadata:
  name: netbox-with-s3
  namespace: default
spec:
  imagePullPolicy: IfNotPresent
  netbox:
    replicas: 1
    image:
      pullPolicy: IfNotPresent
    worker:
      replicas: 1
    # S3 storage configuration for media files and wheelhouse packages
    config:
      storage:
        s3:
          enabled: true
          bucketName: "my-netbox-bucket"
          regionName: "us-west-2"
          # Reference to Secret containing AWS credentials
          accessKeyId:
            name: s3-credentials
            key: access-key-id
          secretAccessKey:
            name: s3-credentials
            key: secret-access-key
  diode:
    enabled: false
  postgresql:
    external: false
  redis:
    external: false
