A simple artifact server with front-end, CLI, webhook and in the future authentication/authorization and retention policy
- Description
- Technology and Requirements
- Getting Started
- Contributing
- Support and Migration
- Code of Conduct
- License
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:
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;
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
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
This is a beta server, there is no support right now until it becomes stable. Expect breaking changes on every commit.
Check the code of conduct to see more information.
This project is licensed under the MIT License.