Giter VIP home page Giter VIP logo

spiffe-helper's Introduction

Help improve SPIFFE Helper

Fill out this questionnaire so we can learn more about your use case.

SPIFFE Helper

The SPIFFE Helper is a simple utility for fetching X.509 SVID certificates from the SPIFFE Workload API, launch a process that makes use of the certificates and continuously get new certificates before they expire. The launched process is signaled to reload the certificates when is needed.

Usage

$ spiffe-helper -config <config_file>

<config_file>: file path to the configuration file.

If -config is not specified, the default value helper.conf is assumed.

The flag -exitWhenReady is also supported.

Configuration

The configuration file is an HCL formatted file that defines the following configurations:

Configuration Description Example Value
agent_address Socket address of SPIRE Agent. "/tmp/agent.sock"
cmd The path to the process to launch. "ghostunnel"
cmd_args The arguments of the process to launch. "server --listen localhost:8002 --target localhost:8001--keystore certs/svid_key.pem --cacert certs/svid_bundle.pem --allow-uri-san spiffe://example.org/Database"
cert_dir Directory name to store the fetched certificates. This directory must be created previously. "certs"
exit_when_ready Fetch x509 certificate and then exit(0) true
add_intermediates_to_bundle Add intermediate certificates into Bundle file instead of SVID file. true
renew_signal The signal that the process to be launched expects to reload the certificates. It is not supported on Windows. "SIGUSR1"
svid_file_name File name to be used to store the X.509 SVID public certificate in PEM format. "svid.pem"
svid_key_file_name File name to be used to store the X.509 SVID private key and public certificate in PEM format. "svid_key.pem"
svid_bundle_file_name File name to be used to store the X.509 SVID Bundle in PEM format. "svid_bundle.pem"
jwt_svids An array with the audience and file name to store the JWT SVIDs. File is Base64-encoded string). [{jwt_audience="your-audience", jwt_svid_file_name="jwt_svid.token"}]
jwt_bundle_file_name File name to be used to store JWT Bundle in JSON format. "jwt_bundle.json"
include_federated_domains Include trust domains from federated servers in the CA bundle. true

Configuration example

agent_address = "/tmp/spire-agent/public/api.sock"
cmd = "ghostunnel"
cmd_args = "server --listen localhost:8002 --target localhost:8001 --keystore certs/svid_key.pem --cacert certs/svid_bundle.pem --allow-uri-san spiffe://example.org/Database"
cert_dir = "certs"
renew_signal = "SIGUSR1"
svid_file_name = "svid.pem"
svid_key_file_name = "svid_key.pem"
svid_bundle_file_name = "svid_bundle.pem"
jwt_svids = [{jwt_audience="your-audience", jwt_svid_file_name="jwt_svid.token"}]
jwt_bundle_file_name = "bundle.json"

Windows example

agent_address = "spire-agent\\public\\api"
cert_dir = "certs"
svid_file_name = "svid.pem"
svid_key_file_name = "svid_key.pem"
svid_bundle_file_name = "svid_bundle.pem"
jwt_svids = [{jwt_audience="your-audience", jwt_svid_file_name="jwt_svid.token"}]
jwt_bundle_file_name = "bundle.json"

spiffe-helper's People

Contributors

ajessup avatar amartinezfayo avatar anvega avatar azdagron avatar dependabot[bot] avatar drrt avatar edurra avatar evan2645 avatar faisal-memon avatar fdeantoni avatar fedenq avatar huang195 avatar ju4n98 avatar keeganwitt avatar kfox1111 avatar marcosdy avatar marcosy avatar maxlambrecht avatar nstott avatar trilokgm avatar

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.