ssl-gandi-gitlab-certs-builder

1.0.2 • Public • Published

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

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.2
    3
    • latest

Version History

Package Sidebar

Install

npm i ssl-gandi-gitlab-certs-builder

Weekly Downloads

5

Version

1.0.2

License

UNLICENSED

Unpacked Size

41.4 kB

Total Files

10

Last publish

Collaborators

  • kopax