Git Product home page Git Product logo

gitlab-radiator's Introduction

The missing GitLab build radiator view

Introduction

gitlab-radiator is a small Node.js application for serving a Jenkins Radiator View inspired web view of your team's CI pipelines fetched from a GitLab CI installation running locally or remotely.

npm version build status

Pre-requisites

Installation

npm install -g gitlab-radiator

Usage

Create a configuration file (see Configuration below) and run:

gitlab-radiator

And if you have an onsite GitLab with HTTPS and self-signed certificates:

NODE_TLS_REJECT_UNAUTHORIZED=0 gitlab-radiator

You might prefer providing the CA file location in configuration instead of totally disabling TLS certificate checking.

Then navigate with a browser to http://localhost:3000 - or whatever port you did configure.

Configuration

gitlab-radiator looks for its mandatory configuration file at ~/.gitlab-radiator.yml by default. It can be overridden by defining the GITLAB_RADIATOR_CONFIG environment variable.

Mandatory configuration properties:

  • gitlab / url - Root URL of your GitLab installation - or that of GitLab SaaS CI
  • gitlab / access-token - A GitLab access token for allowing access to the GitLab API. One can be generated with GitLab's UI under Profile Settins / Personal Access Tokens. The value can alternatively be defined as GITLAB_ACCESS_TOKEN environment variable.

Example yaml syntax:

gitlab:
  access-token: 12invalidtoken12
  url: https://gitlab.com

Optional configuration properties:

  • projects / include - Regular expression for inclusion of projects. Default is to include all projects.
  • projects / exclude - Regular expression for exclusion of projects. Default is to exclude no projects.
  • projects / order - Array of projects attributes to use for sorting projects. Default value is ['name'].
  • interval - Number of seconds between updateing projects and pipelines from GitLab. Default value is 10 seconds.
  • port - HTTP port to listen on. Default value is 3000.
  • zoom - View zoom factor (to make your projects fit a display nicely). Default value is 1.0
  • columns - Number of columns to display (to fit more projects on screen). Default value is 1
  • caFile - CA file location to be passed to the request library when accessing your gitlab instance.
  • auth / username - Enables HTTP basic authentication with the defined username and password.
  • auth / password - Enables HTTP basic authentication with the defined username and password.
  • ignoreArchived - Ignore archived projects. Default value is true

Example yaml syntax:

projects:
  exclude: .*/.*-inactive-project
  order: ['status', 'name']
auth:
  username: 'radiator'
  password: 'p455w0rd'
interval: 30
port: 8000
zoom: 0.85
columns: 4

Breaking changes from 1.x to 2.0

  • Configuration file syntax has changed so that there's only a single interval property instead of two nested ones.

Contributing

Pull requests are welcome. Kindly check that your code passes ESLint checks by running npm run eslint first. Integration tests are (for now) skipped for pull request builds on Travis as they depend on a secret API token.

Contributors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.