Skip to content

conradoqg/arte-server

Repository files navigation

logo Arte-server

A simple artifact server with front-end, CLI, webhook and in the future authentication/authorization and retention policy

Node.js version support Build Coverage MIT licensed

Summary

  1. Description
  2. Technology and Requirements
  3. Getting Started
  4. Contributing
  5. Support and Migration
  6. Code of Conduct
  7. License

Description

The Arte server is a simple and straightforward artifact storage server. It has a UI to help the user find the artifact a CLI to help developers to upload and download their binaries and a webhook to help with the flow of a CI system.

Below a list of planned features:

  • Authentication/authorization (using tokens);
  • Retention policy;
  • Swagger API documentation;

UI:

UI

Technology and Requirements

This project uses the following stack:

  • Node.js for the back-end and CLI;
  • Pug.js for the front-end (server-side rendering);
  • MongoDB to store the artifact metadata;
  • Filesystem to store the binary of the artifact;

Getting Started

Local:

# Clone the repository
$ git clone https://github.com/conradoqg/arte-server.git

# Install the dependencies
$ npm install

# Install MongoDB

# Run the arte-server
$ cd arte-server
$ node ./bin/arte-server.js

Using Docker (you must install docker beforehand):

# Clone the repository
$ git clone https://github.com/conradoqg/arte-server.git

# Install the dependencies
$ npm install

# Install MongoDB

# Build docker image
$ docker build . -t arte-server:latest

# Run a docker container using the previous image
$ docker run -it --rm -p 80:80 arte-server:latest

Usind Docker Compose (you must install docker beforehand):

# Clone the repository
$ git clone https://github.com/conradoqg/arte-server.git

# Install the dependencies
$ npm install

# Docker compose up
$ docker-compose up

Contributing

Check the contributing guide to see more information.

Before submitting a pull request make sure that your code is passing the tests and has a good coverage

# Run only the tests
$ npm test

# Run tests and coverage
$ npm run coverage

Support and Migration

This is a beta server, there is no support right now until it becomes stable. Expect breaking changes on every commit.

Code of Conduct

Check the code of conduct to see more information.

License

This project is licensed under the MIT License.

About

A simple artifact service with front-end, CLI, webhook and in the future authentication/authorization and retention policy

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published