Secret
A Cloudflare Secret creates an individual secret stored in a Secrets Store. If you want to reference an existing Secrets Store secret that was not created using Alchemy, use SecretRef.
Basic Usage
Section titled “Basic Usage”import { Secret } from "alchemy/cloudflare";
const mySecret = await Secret("my-secret", {  value: alchemy.secret(process.env.MY_SECRET),});Then bind the Secret to your Worker:
export const worker = await Worker("worker", {  bindings: {    MY_SECRET: mySecret,  },});And use it at runtime:
import type { worker } from "../alchemy.run.ts";
export default {  async fetch(request, env: typeof worker.Env) {    const secret = await env.MY_SECRET.get();
    // ..  },};Referencing an Existing Secret (SecretRef)
Section titled “Referencing an Existing Secret (SecretRef)”Use SecretRef to bind an existing secret by name without creating or updating its value.
import { SecretRef, Worker } from "alchemy/cloudflare";
const apiKeyRef = await SecretRef({ name: "API_KEY" });
const worker = await Worker("worker", {  bindings: {    API_KEY: apiKeyRef,  },  entrypoint: "./src/worker.ts",  url: true,});At runtime, it behaves the same:
export default {  async fetch(request, env) {    const key = await env.API_KEY.get();    return new Response(key ? "ok" : "missing");  }};Custom Secrets Store
Section titled “Custom Secrets Store”By default, the default_secrets_store will be used, but you can also specify your own store.
import { Secret, SecretsStore } from "alchemy/cloudflare";
const store = await SecretsStore("my-store");
const mySecret = await Secret("my-secret", {  store,  value: alchemy.secret(process.env.MY_SECRET),});Or, if the secret already exists, reference it with SecretRef and pass the store explicitly:
import { SecretRef, SecretsStore, Worker } from "alchemy/cloudflare";
const store = await SecretsStore("my-store", {  name: "production-secrets",  adopt: true,});
const apiKeyRef = await SecretRef({  name: "API_KEY",  store,});