A concourse resource for interacting with Oracle Cloud Infrastructure's Object Storage
This resource is based on the official S3 resource.
-
ns
(required): the namespace containing the bucket -
bucket
(required): the name of the bucket. -
config
(required): the various configuration entities required by the OCI APIs. Example:config: | { "user": "...", "fingerprint": "...", "apikey": "...", "tenancy": "...", "region": "..." }
One of the following two options must be specified:
-
regexp
: the pattern to match filenames against within a bucket. The first grouped match is used to extract the version.The version extracted from this pattern is used to version the resource. Semantic versions, or just numbers, are supported. Accordingly, full regular expressions are supported, to specify the capture groups.
Objects will be found via the pattern configured by regexp
. The versions will be used to order them (using semver). Each object's filename is the resulting version.
Places the following files in the destination:
-
(filename)
: the file fetched from the bucket. -
regexp
: the pattern to match filenames against within a bucket. The first grouped match is used to extract the version. -
version
: the version identified in the file name (only if usingregexp
).
None
Given a file specified by file
, upload it to the OCI Object Storage bucket.
file
(required): path to the file to upload, provided by an output of a task. If multiple files are matched by the glob, an error is raised. The file which matches will be placed into the directory structure on GCS as defined inregexp
in the resource definition. The matching syntax is bash glob expansion, so no capture groups, etc.
resource_types:
- name: ocios-resource
type: docker-image
source:
repository: bitsarvi/ocios-resource
resources:
- name: release
type: ocios-resource
source:
bucket: releases
config: <OCI-SDK-API-CONFIG-CONTENTS>
- get: release
- put: release
params:
file: path/to/release-*.tgz
First get the resource via: go get github.com/bitsarvi/ocios-resource
Run the unit-tests
: make
Run the integration-tests
: make integration-tests
Clone this repository and just run one-off task with concourse
fly -t ConcourseTarget execute -c build.yml -i ocios-resource=. -o built-resource=.
Just build the Docker image to be use inside your pipeline
docker build -t bitsarvi/ocios-resource .