Skip to main content

S3 Protocol

The S3 protocol check verifies that S3-compatible endpoints, such as MinIO and EMC ECS, can list, put, and get objects.

info

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.yaml
apiVersion: 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
FieldDescriptionScheme
bucketName*

Bucket name to test against

string

name*

Name of the check, must be unique within the canary

string

accessKey

Access Key ID

EnvVar

assumeRole

Role ARN to assume

string

connection

The connection url to use, mutually exclusive with accessKey and secretKey

Connection

endpoint

Custom AWS Endpoint to use

string

objectPath

Object key to create and read during the check

string

region

The AWS region

string

secretKey

Secret Access Key

EnvVar

sessionToken

Session token

EnvVar

skipTLSVerify

Skip TLS verify when connecting to AWS

boolean

storageClass

Storage class of the test object to create

string

usePathStyle

Use path-style requests, such as http://s3.amazonaws.com/BUCKET/KEY, instead of virtual-hosted-style requests, such as http://BUCKET.s3.amazonaws.com/KEY

boolean

dependsOn

Checks that must complete before this check runs

[]string

description

Description for the check

string

display

Expression to change the formatting of the display

Expression

icon

Icon for overwriting default icon on the dashboard

Icon

labels

Labels for check

[map[string]string]

markFailOnEmpty

If a transformation or datasource returns empty results, the check should fail

boolean

metrics

Metrics to export from

[]Metrics

namespace

Namespace to insert the check result into when it differs from the canary namespace

string

relationships

Relationships that link check results to components or configs

Relationship

test

Evaluate whether a check is healthy

Expression

transform

Transform data from a check into multiple individual checks

Expression

transformDeleteStrategy

Status to apply to transformed checks when the source check no longer returns them

string