diff --git a/apps/docs/content/guides/functions/secrets.mdx b/apps/docs/content/guides/functions/secrets.mdx
index c3a4f96c73f..18abb88c59b 100644
--- a/apps/docs/content/guides/functions/secrets.mdx
+++ b/apps/docs/content/guides/functions/secrets.mdx
@@ -1,11 +1,13 @@
---
id: 'functions-secrets'
-title: 'Managing Environment Variables'
+title: 'Managing Secrets (Environment Variables)'
description: 'Managing secrets and environment variables.'
subtitle: 'Managing secrets and environment variables.'
---
-It's common that you will need to use sensitive information or environment-specific variables inside your Edge Functions. You can access these using Deno's built-in handler
+It's common that you will need to use environment variables or other sensitive information Edge Functions. You can manage secrets using the CLI or the Dashboard.
+
+You can access these using Deno's built-in handler
```js
Deno.env.get('MY_SECRET_NAME')
@@ -57,7 +59,25 @@ When the function starts you should see the name “Yoda” output to the termin
## Production secrets
-Let's create a `.env` for production. In this case we'll just use the same as our local secrets:
+You will also need to set secrets for your production Edge Functions. You can do this via the Dashboard or using the CLI.
+
+### Using the Dashboard
+
+1. Visit [Edge Function Secrets Management](https://supabase.com/dashboard/project/_/settings/functions) page in your Dashboard.
+2. Add the Key and Value for your secret and press Save.
+3. Note that you can paste multiple secrets at a time.
+
+
+
+### Using the CLI
+
+Let's create a `.env` to help us deploy our secrets to production. In this case we'll just use the same as our local secrets:
```bash
cp ./supabase/.env.local ./supabase/.env
@@ -67,7 +87,7 @@ This creates a new file `./supabase/.env` for storing your production secrets.
-Never check your `.env` files into Git!
+Never check your `.env` files into Git! You only use the `.env` file to help deploy your secrets to production. Don't commit it to your repository.
diff --git a/apps/docs/public/img/edge-functions-secrets--light.jpg b/apps/docs/public/img/edge-functions-secrets--light.jpg
new file mode 100644
index 00000000000..ca1dffb6b20
Binary files /dev/null and b/apps/docs/public/img/edge-functions-secrets--light.jpg differ
diff --git a/apps/docs/public/img/edge-functions-secrets.jpg b/apps/docs/public/img/edge-functions-secrets.jpg
new file mode 100644
index 00000000000..fadebfb747c
Binary files /dev/null and b/apps/docs/public/img/edge-functions-secrets.jpg differ
diff --git a/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx b/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx
index 11f6df3e22c..06071962e59 100644
--- a/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx
+++ b/apps/studio/components/interfaces/Functions/EdgeFunctionDetails/EdgeFunctionDetails.tsx
@@ -37,7 +37,7 @@ const EdgeFunctionDetails = () => {
const router = useRouter()
const { ref: projectRef, functionSlug } = useParams()
const [showDeleteModal, setShowDeleteModal] = useState(false)
- const [showInstructions, setShowInstructions] = useState(false)
+ const [showInstructions, setShowInstructions] = useState(true)
const { data: settings } = useProjectSettingsV2Query({ projectRef })
const { data: customDomainData } = useCustomDomainsQuery({ projectRef })
@@ -220,7 +220,7 @@ const EdgeFunctionDetails = () => {
- Before removing this secret, do ensure that none of your edge functions are currently
- actively using this secret. This action cannot be undone.
+ Before removing this secret, ensure none of your Edge Functions are actively using it.
+ This action cannot be undone.
>
diff --git a/apps/studio/pages/project/[ref]/settings/functions.tsx b/apps/studio/pages/project/[ref]/settings/functions.tsx
index 8ed9a74e353..287ebc28a67 100644
--- a/apps/studio/pages/project/[ref]/settings/functions.tsx
+++ b/apps/studio/pages/project/[ref]/settings/functions.tsx
@@ -8,16 +8,22 @@ import {
ScaffoldTitle,
} from 'components/layouts/Scaffold'
import type { NextPageWithLayout } from 'types'
+import { DocsButton } from 'components/ui/DocsButton'
const PageLayout: NextPageWithLayout = () => {
return (
<>
-
- Edge Function Secrets Management
-
- Manage the secrets for your project's edge functions
-
+
+
+ Edge Function Secrets
+
+ Manage the secrets (environment variables) for your project's Edge Functions
+
+