Artifacts
Artifacts allow you to archive files generated by some checks to a file store of your choice.
Filestores
- AWS S3
- Google Cloud Storage
- SFTP
- SMB
- Local Filesystem
Setting up artifact store
One of the above filestores can be used as the global artifact store. To setup an artifact store, pass the connection name of the store using the artifact-connection
flag. If the artifact connection isn't setup, the artifacts are simply ignored.
Example:
canary-checker --artifact-connection='connection://sftp/artifacts'
Archiving artifacts
The following checks support archiving artifacts
The only configuration required is to provide the path(s) of the artifacts generated by the check.
Ex1. Archiving /tmp/results/
directory
For the following script in an exec check
mkdir -p /tmp/results
curl -sL 'https://example.com' > /tmp/results/example.com
curl -sL 'https://flanksource.com' > /tmp/results/flanksource.com
one can provide the artifact paths as follows
archive-websites.yaml
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: exec-artifact
spec:
interval: 30
exec:
- name: Download example.com and flanksource.com
script: |
mkdir -p /tmp/results
curl -sL 'https://example.com' > /tmp/results/example.com
curl -sL 'https://flanksource.com' > /tmp/results/flanksource.com
artifacts:
- path: /tmp/results/example.com
- path: /tmp/results/flanksource.com
or, use a glob as
artifacts
- path: '/tmp/results/*.com'
Ex2. Archiving artifacts from stdout/stderr
The path field accepts two special paths
/dev/stdout
/dev/stderr
archive-website.yaml
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
name: exec-artifact
spec:
interval: 30
exec:
- name: Archive response of example.com
script: |
curl -sL 'https://example.com'
artifacts:
- path: /dev/stdout
- path: /dev/stderr