Logs

CloudCasa server stores container logs and job logs in an S3-compatible object store. By default, a managed Minio deployment is installed for this purpose, but you can instead configure CloudCasa server to use your own S3 buckets.

Note

This page covers configuring where logs are stored and how long they are retained. To collect server or job logs using casactl, see Collecting server logs and Collecting job logs.

Logs storage and retention

The following Helm parameters can be used to configure logs storage and retention:

logs:
  pv:
    size: 4Gi
  retention:
    server: 30
    jobs: 30
  minio:
    enabled: true
  s3:
    endpoint: PLACEHOLDER
    region: us-east-1
    tls: true
    skipTlsVerification: false
    logsBucket: cloudcasa-pod-logs
    jobsBucket: cloudcasa-job-logs
    accessKey: cloudcasa-log-user
    secretKey: cloudcasa-log-password
    credentialSecretName:
logs.pv.size

Size of the PVC used by the managed Minio deployment. Only applies when logs.minio.enabled is “true”. Default: “4Gi”.

logs.retention.server

Number of days to retain cloudcasa-server container logs before they are automatically deleted. Default: 30. Only applies when logs.minio.enabled is “true”. If using your own S3 storage, retention is managed by the S3 bucket lifecycle policy.

logs.retention.jobs

Number of days to retain job logs before they are automatically deleted. Default: 30. Only applies when logs.minio.enabled is “true”. If using your own S3 storage, retention is managed by the S3 bucket lifecycle policy.

logs.minio.enabled

Set to “true” (default) to use the managed Minio deployment for logs storage. Buckets and credentials are created automatically. Set to “false” to use your own external S3 storage instead, and configure the logs.s3.* parameters below.

Using your own S3 storage for logs

To bring your own S3 buckets for logs storage instead of using the managed Minio deployment, set logs.minio.enabled to “false” and configure the following parameters:

logs.s3.endpoint

S3 endpoint host[:port], e.g. “s3.amazonaws.com” or “minio.example.com:9000”. Required.

logs.s3.region

Region of the S3 bucket. Default: “us-east-1”.

logs.s3.tls

Set to “true” (default) if the S3 endpoint should be accessed over HTTPS.

logs.s3.skipTlsVerification

Set to “true” to skip TLS verification when connecting to the storage location. Default: “false”.

logs.s3.logsBucket

Name of the bucket used to store cloudcasa-server container logs. Default: “cloudcasa-pod-logs”. This bucket must already exist.

logs.s3.jobsBucket

Name of the bucket used to store CloudCasa job logs. Default: “cloudcasa-job-logs”. This bucket must already exist.

logs.s3.accessKey

Access key for the S3 storage. Ignored if logs.s3.credentialSecretName is set.

logs.s3.secretKey

Secret key for the S3 storage. Ignored if logs.s3.credentialSecretName is set.

logs.s3.credentialSecretName

Optional. Name of an existing Kubernetes secret in the cloudcasa-server namespace containing AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY keys. When set, this overrides logs.s3.accessKey and logs.s3.secretKey.

Here is a sample command to create such a secret:

kubectl -n cloudcasa-server create secret generic logs-s3-creds \
 --from-literal=AWS_ACCESS_KEY_ID='<S3-ACCESS-KEY>' \
 --from-literal=AWS_SECRET_ACCESS_KEY='<S3-SECRET-KEY>'

Note

Switching logs.minio.enabled after installation does not migrate existing log data between the managed Minio deployment and external S3 storage. Plan this configuration before installing CloudCasa server if possible.