Feat: Add Supabase - Set Secrets community step template#1689
Merged
mik-ky merged 1 commit intoJun 9, 2026
Conversation
|
Review this PR in Hyponome for a side-by-side diff of the step-template JSON and any embedded scripts. |
mik-ky
approved these changes
Jun 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Background
Supabase is an open-source alternative to Firebase built on PostgreSQL. It includes a managed database, authentication, storage, realtime subscriptions, and Edge Functions - globally distributed TypeScript/Deno serverless functions.
The rise of AI-assisted development tools such as Cursor, Windsurf, and Claude Code has also led to broader adoption of Supabase. Its generated SDKs, built-in APIs, and CLI tooling make it easy to stand up and evolve a backend, which works well for teams building applications with AI coding tools. Many people are now deploying applications built with Supabase, and Edge Functions are increasingly where application logic is implemented. This presents a strong opportunity for Octopus to further support and streamline these deployment workflows.
The Octopus Library already has a
Supabase - Run Migrationsstep template for pushing database schema changes and aSupabase - Deploy Edge Functionstep template (added in #1688) for deploying functions. This PR adds the missing companion step: pushing environment variable secrets to a Supabase project so they are in place before Edge Functions first execute.Results
Adds a new community step template
Supabase - Set Secrets(step-templates/supabase-set-secrets.json) that:SUPABASE_ACCESS_TOKENenvironment variable - no interactive login required, safe for CI/CD workersKEY=VALUEpairs (one per line, referencing Octopus sensitive variables) or as a path to a.env-style file on the worker - if both are provided, inline pairs take precedencemktempfile withtrapcleanup, ensuring secret values never appear in process listings and the temp file is removed even on failuresupabase secrets set --env-filein a single CLI invocationsupabase secrets listafter setting and prints key names (never values) to the task log for confirmationIntended pipeline order:
Parameters
SupabaseProjectRefSupabaseAccessTokenSupabaseSecretsSupabaseEnvFileSupabaseListAfterSetSupabaseCliVersionlatestBefore
Setting Supabase secrets from an Octopus deployment required a custom Run a Script step, manually scripting CLI installation, authentication, and
supabase secrets set- with no built-in protection against secret values appearing in process listings or logs.After
Task log: ServerTasks-2521.log.txt
Pre-requisites
Idis a GUID (9a8b7c6d-5e4f-4321-8fed-cba987654321) and not all zerosVersionis1(new template)$Supabaseto avoid clashing with user-defined project variablesLastModifiedByis present (itsmebenwalker)Categoryissupabase- existing category, no new logo orgulpfile.babel.jschange required