S3 Protocol
The S3 protocol check verifies that S3-compatible endpoints, such as MinIO and EMC ECS, can list, put, and get objects.
To check the contents of an S3 bucket, use the folder check.
The S3 check:
- Lists objects in the bucket to check read permissions.
- Puts an object into the bucket to check write permissions.
- Downloads the uploaded object to check get permissions.
Each run writes random test content to objectPath, reads it back, and leaves the object in the bucket. Use a dedicated disposable key because the check can overwrite an existing object at that key.
s3-protocol.yamlapiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: s3-protocol-check
spec:
schedule: "@every 5m"
s3:
- name: s3-check
bucketName: flanksource-public
objectPath: dummy
region: us-east-1
accessKey:
valueFrom:
secretKeyRef:
name: aws-credentials
key: AWS_ACCESS_KEY_ID
secretKey:
valueFrom:
secretKeyRef:
name: aws-credentials
key: AWS_SECRET_ACCESS_KEY
| Field | Description | Scheme |
|---|---|---|
bucketName* | Bucket name to test against |
|
name* | Name of the check, must be unique within the canary |
|
accessKey | Access Key ID | |
assumeRole | Role ARN to assume |
|
connection | The connection url to use, mutually exclusive with | |
endpoint | Custom AWS Endpoint to use |
|
objectPath | Object key to create and read during the check |
|
region | The AWS region |
|
secretKey | Secret Access Key | |
sessionToken | Session token | |
skipTLSVerify | Skip TLS verify when connecting to AWS |
|
storageClass | Storage class of the test object to create |
|
usePathStyle | Use path-style requests, such as | boolean |
dependsOn | Checks that must complete before this check runs |
|
description | Description for the check |
|
display | Expression to change the formatting of the display | |
icon | Icon for overwriting default icon on the dashboard | |
labels | Labels for check |
|
markFailOnEmpty | If a transformation or datasource returns empty results, the check should fail |
|
metrics | Metrics to export from | |
namespace | Namespace to insert the check result into when it differs from the canary namespace |
|
relationships | Relationships that link check results to components or configs | Relationship |
test | Evaluate whether a check is healthy | |
transform | Transform data from a check into multiple individual checks | |
transformDeleteStrategy | Status to apply to transformed checks when the source check no longer returns them |
|