Store Reports and Logs on S3—Kubernetes
This topic describes how to configure Digital.ai Release on Kubernetes to store reports and task logs on Amazon S3. This setup eliminates the need for persistent volumes, making storage management easier for Kubernetes-based release instances.
Prerequisites
- An Amazon account with permissions to create and manage S3 buckets.
- AWS credentials via Default credential provider chain.
- AWS CLI for moving existing files to S3.
If you are using Kubernetes, you will need to update the Release Operator configuration file to enable S3.
Step 1—Update the Operator CR yaml File
Open the Release Operator Custom Resource (CR) file and add the following configuration under the reportingEngine
and jobLog
sections:
spec:
storage:
reportingEngine:
s3:
enabled: true
bucket: "xlr-saas-test-01"
baseKey: "xlr-on/reports"
region: "us-east-1"
jobLog:
s3:
enabled: true
bucket: "xlr-saas-test-01"
baseKey: "xlr-on/logs"
region: "us-east-1"
Where:
s3.bucket
: The name of your S3 bucket (e.g.,xlr-saas-test-01
).s3.baseKey
: The path in the bucket where logs and reports will be stored (e.g.,xlr-on/logs
andxlr-on/reports
).s3.region
: The AWS region where your bucket is located (e.g.,us-east-1
).
Note: When configuring the
s3.region
setting, ensure that the chosen AWS region is geographically close to your XL Release nodes. This minimizes network latency, which can significantly impact the performance of storing and retrieving logs and reports from S3. Choosing a region near your deployment reduces delays and improves overall efficiency.
Step 2—(Optional) Update Configuration to Disable Persistent Storage
If you want to stop using persistent storage for reports, add this configuration:
spec:
persistence:
enabled: false
paths: []
emptyDirPaths:
- /opt/xebialabs/xl-release-server/cache
- /opt/xebialabs/xl-release-server/conf
- /opt/xebialabs/xl-release-server/driver/jdbc
- /opt/xebialabs/xl-release-server/driver/mq
- /opt/xebialabs/xl-release-server/node-conf
- /opt/xebialabs/xl-release-server/plugins
- /opt/xebialabs/xl-release-server/work
- /tmp
- /opt/xebialabs/xl-release-server/reports
This removes the need for persistent volume (PV) by storing files in local storage (emptyDir
), and S3 will be used for reports.
Step 3—Migrate Existing Logs and Reports
For migrating existing data, follow these steps:
-
Stop the Release server.
-
Use the AWS CLI to transfer existing data to S3.
aws s3 cp --recursive /path/to/reports/ s3://xlr-saas-test-01/xlr-on/reports/
aws s3 cp --recursive /path/to/job_logs/ s3://xlr-saas-test-01/xlr-on/logs/
Step 4—Update Configuration to Switch to S3
After migrating the data, ensure that your Operator CR yaml file is configured to switch from local storage to S3. Refer to Step 1 for configuration details on how to set this up.
Step 5—Restart Release Instances
After updating the configuration and completing the migration, restart Release to ensure the new settings take effect.