0.0.6 • Published 4 years ago
@sagi.io/workers-secrets v0.0.6
Cloudflare Workers Secrets API
@sagi.io/workers-secrets is Cloudflare Workers Secrets API for workers and Node.js.
Based on Cloudflare's wrangler implementation.
API
WorkersSecretsAPI({ ... })
Instantiates a WorkersSecretsAPI object with the methods defined below.
Function definition:
const WorkersSecretsAPI = function({
cfAccountId,
cfEmail,
cfAuthKey,
cfAuthToken,
fetchImpl,
}){ ... }Where:
cfAccountIdrequired Your Cloudflare account id.cfEmailoptional|required The email you registered with Cloudflare.cfAuthKeyoptional|required Your Cloudflare Auth Key.cfAuthTokenoptional|required Your Cloudflare Auth Token.fetchImploptional when running onNode.jsyou need to provide afetchimplementation (e.g.const fetchImpl = require('cross-fetch').
Use cfAuthToken with a Cloudflare auth token. You can also set cfEmail and cfAuthKey directly without using an auth token.
WorkersSecretsAPI.createSecret({ ... })
Function definition:
const createSecret= async ({
scriptName,
secretName,
secretValue,
} = {}) => { ... }Where:
scriptNamerequired The name of the Cloudflare Workers Script (e.g.anonymitybot-com, can be found in Cloudflare's Dashboard).secretNamerequired The secret name e.g.ROTATIONAL_RANDOM_PEPPER.secretValuerequired The secret value.
WorkersSecretsAPI.deleteSecret({ ... })
Function definition:
const deleteSecret= async ({
scriptName,
secretName,
} = {}) => { ... }Where:
scriptNamerequired The name of the Cloudflare Workers Script (e.g.anonymitybot-com, can be found in Cloudflare's Dashboard).secretNamerequired The secret name e.g.ROTATIONAL_RANDOM_PEPPER.
WorkersSecretsAPI.listSecrets({ ... })
Function definition:
const listSecrets= async ({
scriptName,
} = {}) => { ... }Where:
scriptNamerequired The name of the Cloudflare Workers Script (e.g.anonymitybot-com, can be found in Cloudflare's Dashboard).
Example on Node.js
Run $ yarn build and add the CF_ACCOUNT_ID and CF_AUTH_TOKEN environment variables.
import dotenv from "dotenv";
import WorkersSecretsAPI from "./dist/main.js";
import fetchImpl from "cross-fetch";
(async () => {
dotenv.config();
const cfAccountId = process.env.CF_ACCOUNT_ID;
const cfAuthToken = process.env.CF_AUTH_TOKEN;
const scriptName = "anonymitybot-xyz";
const workersSecretsAPI = WorkersSecretsAPI({
cfAccountId,
cfAuthToken,
fetchImpl,
});
const data = await workersSecretsAPI.listSecrets({ scriptName });
console.log(data);
})();Example on Cloudflare Workers
Simply remove the fetchImpl import and usage.