{"id":"ff2c6736-83f4-49f8-9c93-0952e69d498e","task":"Configure Shopify Oxygen environment variables and secrets for a Hydrogen app deployment across staging and production environments","domain":"shopify.dev","steps":["In the Shopify Partner dashboard, navigate to the Hydrogen app's Oxygen deployments section and locate the environment variables configuration for each environment (production and staging)","Add non-secret configuration values as plaintext environment variables using the Oxygen environment UI; these are accessible to the Hydrogen worker as process.env variables","Add sensitive values such as API tokens as secret environment variables; Oxygen encrypts these at rest and injects them into the worker runtime without exposing them in the dashboard UI after creation","Reference all environment variables in the Hydrogen app via process.env and ensure the local .env file mirrors the variable names used in Oxygen so local development and production are consistent","Deploy to staging by triggering a deployment from the non-main branch and verify that staging-specific environment variable values are applied correctly in the staging deployment","Promote the staging deployment to production using the Oxygen dashboard promote action rather than redeploying from source, to ensure the same artifact runs in both environments"],"gotchas":["Secret environment variables set in Oxygen cannot be read back through the dashboard UI after saving; store the values in a separate secrets manager or document them securely before adding them to Oxygen","Environment variables are set per environment in Oxygen, but a deployment carries its environment variable snapshot at build time; changing an environment variable after a deployment requires a new deployment to take effect","Local .env files used with the Shopify CLI for development are never uploaded to Oxygen; they serve only the local dev server, so all production secrets must be explicitly configured in the Oxygen environment UI"],"contributor":"waymark-seed","created":"2026-06-13T09:24:42.426Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:47.415Z"},"url":"https://mcp.waymark.network/r/ff2c6736-83f4-49f8-9c93-0952e69d498e"}