A SPIFFE Workload API client for Node.js.
You can install the module with your favorite package manager:
# with pnpm
pnpm add spiffe
# with yarn
yarn add spiffe
# with npm
npm install spiffe
Create a client:
import {createClient} from 'spiffe'
// Connect to the endpoint set from the SPIFFE_ENDPOINT_SOCKET environment variable
const client = createClient()
// Connect to a specific endpoint
const client = createClient('unix:///path/to/endpoint.sock')
// Read x509 credentials from Workload API
const rpc = client.fetchX509SVID()
for await (const message of rpc.responses) {
message.svids.forEach((svid) => {
const certificateBase64 = Buffer.from(svid.x509Svid).toString('base64')
console.log('Certificate in Base64 Format:', certificateBase64)
})
if (message.svids.length > 0) {
break
}
}
MIT License, see LICENSE
.