npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ssl-gandi-gitlab-certs-builder

v1.0.2

Published

Library ssl-gandi-gitlab-certs-builder description

Downloads

29

Readme

ssl-gandi-gitlab-certs-builder

This tools retrieve through Gandi HTTP API, latest certificate using environment variables or command line arguments, and certificate from your gandi account, and place them into a folder.

It can be used in CI to update a certificates.

Master

build status coverage report

Dev

build status coverage report

Table of Contents


Changelog

Environment Variables

Set these environment while running the script to download the list of SSL certificate from gandi into ./ssl.

  • GANDI_RPC: Gandi RPC API Url (Default to https://rpc.gandi.net:443/xmlrpc/)
  • GANDI_CA: Gandi CA url (Default to https://v4.gandi.net/static/CAs/GandiStandardSSLCA2.pem)
  • GANDI_API_KEY: API Key (Required)
  • GANDI_CN: CN of the certificate on your Gandi account (Required)
  • PRIVATE_KEY: Gitlab Key URL (Required)
  • PRIVATE_TOKEN: Gitlab private token to read the key (Required)
  • DEST_CA_FILENAME: Destination ca filename without extension (Default to null)
  • DEST_FILENAME: Destination for key/crt/combined filename without extension (Default to null)
  • DEST_DIRECTORY: Destination for key/crt/combined filename without extension (Default to ssl)

It will download and build certificate in ./ssl.

If you have not set DEST_CA_FILENAME and DEST_FILENAME, it will use original name from URL.

  • ssl/${ca.filename} : Store the CA without changing the filename.
  • ssl/${key.filename} : Store the key without changing the filename.
  • ssl/${key.filename.replace(/.(key|pem)/, '.crt')} : Store the crt without changing the filename.
  • ssl/${key.filename.replace(/.(key|pem)/, '.combined.crt')} : Store the combined crt without changing the filename.

You can then use any script to set roles and permissions according to your application.

It is also possible to use a Dockerfile to build a container with latest certificate in it.

Command line arguments

You can override any enviroment by using the command line arguments:

--DEST_DIRECTORY=alpha

Installation

You can install it globally and use it as a command line tool.

npm install -g ssl-gandi-gitlab-certs-builder

Or you can import any components

import GandiCertDownloader from 'ssl-gandi-gitlab-certs-builder';

Usage

gandi-ssl --GANDI_API_KEY=gandiApiKey --GANDI_CN=gandiSslCn --PRIVATE_KEY=http://gitlab.com/test/ssl/raw/master/wildcard.domain.com.key --PRIVATE_TOKEN=gitlabApiKey

Example with *.kopaxgroup.com:

gandi-ssl --GANDI_CN=*.kopaxgroup.com  --PRIVATE_KEY="http://private:31584/api/v4/projects/54/repository/files/ssl%2Fwildcard.kopaxgroup.com.key/raw?ref=dev" --PRIVATE_TOKEN=$PRIVATE_TOKEN --GANDI_API_KEY=$GANDI_API_KEY