
Security News
GitHub Actions Pricing Whiplash: Self-Hosted Actions Billing Change Postponed
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.
gitlab-radiator
Advanced tools
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 install -g gitlab-radiator
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.
In addition to server-side configuration, gitlab-radiator views can be customized by providing URL parameters. This comes in handy especially when multiple physical screens are pointed to the same server instance.
It's possible to split the radiator view to multiple physical screens by specifying the total number of screens and the current screen with the screens URL parameter. The parameter value format is XofY where X is the number of the screen in question (1...total), and Y is the total number of screens (max 9).
Example: http://localhost:3000/?screen=2of3
Want to display a radiator view on your own display with different layout from that displayed on multiple displays on the nearest wall?
columns and zoom configuration values (see Configuration section below) can be overriden for a single user / browser by providing them as URL parameters.
Example: http://localhost:3000/?columns=2&zoom=0.8
Topics can be used, for example, to only include a specific set of projects for a specific display on your wall. Multiple topics can be specified by separating them with a comma.
Example: http://localhost:3000/?topics=old,useful
Specifying an empty tag list http://localhost:3000/?topics= selects all projects which do not have any topics. This can be handily used to select "rest of the projects" that have not been selected to a specific display, for example.
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:
gitlabs / url - Root URL of your GitLab installation - or that of GitLab SaaS CIgitlabs / 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:
gitlabs:
-
access-token: 12invalidtoken12
url: https://gitlab.com
Optional configuration properties:
gitlabs / projects / include - Regular expression for inclusion of projects. Default is to include all projects.gitlabs / projects / exclude - Regular expression for exclusion of projects. Default is to exclude no projects.gitlabs / projects / excludePipelineStatus - Array of pipeline statuses, that should be excluded (i.e. hidden) (available statuses are running, pending, success, failed, canceled, skipped).gitlabs / maxNonFailedJobsVisible - Number of non-failed jobs visible for a stage at maximum. Helps with highly concurrent project pipelines becoming uncomfortably high. Default values is unlimited.gitlabs / branch - Explicitly select the git branch to show pipelines for. Default value is empty, meaning pipelines for any branch are shown.gitlabs / caFile - CA file location to be passed to the request library when accessing the gitlab instance.gitlabs / ignoreArchived - Ignore archived projects. Default value is truegitlabs / offlineRunners - Report any offline CI runners. Set to all to include shared runners (requires administrator or auditor access), or none to ignore runner status completely. Set to default or leave out to report only on group / project runners available to the user.groupSuccessfulProjects - If set to true projects with successful pipeline status are grouped by namespace. Projects with other pipeline statuses are still rendered seperately. Default value is false.horizontal - If set to true jobs are ordered horizontally to stages. Default value is false.rotateRunningPipelines - Number of seconds between rotating through all currently running pipelines of a project (whenever there are more than one). Default value is 0 (rotation disabled).auth / username - Enables HTTP basic authentication with the defined username and password.auth / password - Enables HTTP basic authentication with the defined username and password.projectsOrder - Array of project attributes to use for sorting projects. Default value is ['name'] (available attributes are status, name, id, nameWithoutNamespace, group).interval - Number of seconds between updating projects and pipelines from GitLab instances. 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.0columns - Number of columns to display (to fit more projects on screen). Default value is 1colors - Define some custom colors. Available colors success-text, success-background, failed-text, failed-background, running-text, running-background, pending-text, pending-background, skipped-text, skipped-background, created-text, created-background, light-text, dark-text, background, project-background, group-background, error-message-text, error-message-background (you may have a look at /public/colors.less, the colorNames from config will replace value for @<colorname>-color less variable)Example yaml syntax:
gitlabs:
-
access-token: 12invalidtoken12
url: https://gitlab.com
projects:
exclude: .*/.*-inactive-project
excludePipelineStatus: ['canceled', 'pending']
maxNonFailedJobsVisible: 3
offlineRunners: none
projectsOrder: ['status', 'name']
auth:
username: 'radiator'
password: 'p455w0rd'
interval: 30
port: 8000
zoom: 0.85
columns: 4
colors:
success-background: 'rgb(0,255,0)'
See releases.
Pull requests are welcome. Kindly check that your code passes ESLint checks by running npm run eslint first.
Tests are run automatically for pull requests by Github Actions against a test profile with a few CI pipelines on gitlab.com
FAQs
The missing GitLab build radiator view
The npm package gitlab-radiator receives a total of 5 weekly downloads. As such, gitlab-radiator popularity was classified as not popular.
We found that gitlab-radiator demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.