Skip to content

Latest commit

 

History

History
88 lines (62 loc) · 2.97 KB

README.md

File metadata and controls

88 lines (62 loc) · 2.97 KB

Artifact Store

Version Pulls Stars Build Status Open Issues Dependency Status Vulnerabilities License

Pluggable Artifact Store (for logs, shared steps, templates, etc).

This system provides a simple interface for builds to use the existing JWT to write artifacts (logs, test results, etc). By default, it uses a simple in-memory storage (which is destroyed on restart). It can easily be configured to use alternative storage locations like S3.

Usage

Prerequisites

  • Node v8.9.0 or higher

From Source

$ git clone [email protected]:screwdriver-cd/store.git ./
$ npm install
$ vim ./config/local.yaml # See below for configuration
$ npm start
info: Server running at http://localhost

Pre-built Docker image

$ vim ./local.yaml # See below for configuration
$ docker run --rm -it --volume=`pwd`/local.yaml:/config/local.yaml -p 8080 screwdrivercd/store:latest
info: Server running at http://localhost

Configuration

Screwdriver already defaults most configuration, but you can override defaults using a local.yaml or environment variables.

Yaml

Example overriding local.yaml:

strategy:
    plugin: memory

httpd:
    port: 8080

Environment

Example overriding with environment variables:

$ export STRATEGY=memory
$ export PORT=8080

All the possible environment variables are defined here.

Storage Strategies

Right now we're using catbox for storage, so we can support any of their plugins (Redis, S3, Memcached, etc.). We only installed the memory and S3 ones for now.

Testing

$ npm test

License

Code licensed under the BSD 3-Clause license. See LICENSE file for terms.