No description
Find a file
ctro 5badf04978 check returns the most recent LastModified timestamp
This allows us to version a whole bucket.
Closes #5
2016-03-23 10:22:47 -06:00
assets check returns the most recent LastModified timestamp 2016-03-23 10:22:47 -06:00
test Update docs for Docker install, Development use, and Tests 2016-03-18 08:32:10 -06:00
.gitignore pass the AWS credentials through the Concourse source data 2016-03-10 10:57:12 -05:00
config.example.json Address Feedback 2016-03-21 16:38:36 -06:00
CONTRIBUTING.md add boilerplate 18F files 2016-03-10 00:45:03 -05:00
Dockerfile finish up the out script 2016-03-10 03:01:02 -05:00
LICENSE.md add boilerplate 18F files 2016-03-10 00:45:03 -05:00
README.md check returns the most recent LastModified timestamp 2016-03-23 10:22:47 -06:00

Simple S3 Resource for Concourse CI

Resource to upload files to S3. Unlike the the official S3 Resource, this Resource can upload or download multiple files.

Usage

Include the following in your Pipeline YAML file, replacing the values in the angle brackets (< >):

resource_types:
- name: <resource type name>
  type: docker-image
  source:
    repository: 18fgsa/s3-resource-simple
resources:
- name: <resource name>
  type: <resource type name>
  source:
    access_key_id: {{aws-access-key}}
    secret_access_key: {{aws-secret-key}}
    bucket: {{aws-bucket}}
    options: [<optional, see note below>]
jobs:
- name: <job name>
  plan:
  - <some Resource or Task that outputs files>
  - put: <resource name>

Options

The options parameter is synonymous with the options that aws cli accepts for sync. Please see S3 Sync Options and pay special attention to the Use of Exclude and Include Filters.

Given the following directory test we can upload only the results subdirectory by using the options JSON below.

test
├── results
│   ├── 1.json
│   └── 2.json
└── scripts
    └── bad.sh
options:
  - "--exclude: '*'",
  - "--include: 'results/*'"

Development

Requires Docker.

Building, Uploading, and Using the Docker Image

  1. Download Docker Toolbox.
  2. Get a Docker Hub account
  3. Launch the Docker Terminal and cd to this directory.
  4. docker login -e <email> -p <password> -u <username>
  5. docker build -t <username>/s3-resource-simple .
  6. verify with docker images
  7. docker push <username>/s3-resource-simple
  8. Now you can test your local Concourse pipelines using /s3-resource-simple.

Tests

  1. Run cp config.example.json config.json.
  2. Modify config.json.
  1. Run ./test/out </full/path/to/dir>.
  2. Run ./test/in </full/path/to/dir>.
  3. Run ./test/check.