@sagi.io/workers-secrets
v0.0.6
Published
Cloudflare Workers Secrets API
Downloads
6
Maintainers
Readme
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:
cfAccountId
required Your Cloudflare account id.cfEmail
optional|required The email you registered with Cloudflare.cfAuthKey
optional|required Your Cloudflare Auth Key.cfAuthToken
optional|required Your Cloudflare Auth Token.fetchImpl
optional when running onNode.js
you need to provide afetch
implementation (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:
scriptName
required The name of the Cloudflare Workers Script (e.g.anonymitybot-com
, can be found in Cloudflare's Dashboard).secretName
required The secret name e.g.ROTATIONAL_RANDOM_PEPPER
.secretValue
required The secret value.
WorkersSecretsAPI.deleteSecret({ ... })
Function definition:
const deleteSecret= async ({
scriptName,
secretName,
} = {}) => { ... }
Where:
scriptName
required The name of the Cloudflare Workers Script (e.g.anonymitybot-com
, can be found in Cloudflare's Dashboard).secretName
required The secret name e.g.ROTATIONAL_RANDOM_PEPPER
.
WorkersSecretsAPI.listSecrets({ ... })
Function definition:
const listSecrets= async ({
scriptName,
} = {}) => { ... }
Where:
scriptName
required 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.