Skip to content

Add OPENAUDIO_ prefixed env vars for all configuration#195

Merged
raymondjacobson merged 2 commits intomainfrom
ray/openaudio-env-vars
Apr 3, 2026
Merged

Add OPENAUDIO_ prefixed env vars for all configuration#195
raymondjacobson merged 2 commits intomainfrom
ray/openaudio-env-vars

Conversation

@raymondjacobson
Copy link
Copy Markdown
Contributor

@raymondjacobson raymondjacobson commented Apr 2, 2026

Summary

  • Introduces pkg/env package with helpers (Get, String, Bool, GetInt, GetDuration, Lookup, IsSet) that check OPENAUDIO_-prefixed keys first, then fall back to legacy names
  • Every env var now has a canonical OPENAUDIO_ version — legacy names (nodeEndpoint, delegatePrivateKey, dbUrl, etc.) continue to work but OPENAUDIO_ takes priority when both are set
  • Cloud provider vars (AWS_*, GOOGLE_*, AZURE_*) left unchanged as industry standards
  • Updates dev env files and open-audio-docs to use new names

Key mappings

Canonical Legacy
OPENAUDIO_NODE_ENDPOINT nodeEndpoint
OPENAUDIO_DELEGATE_PRIVATE_KEY delegatePrivateKey
OPENAUDIO_DELEGATE_WALLET delegateOwnerWallet
OPENAUDIO_OWNER_WALLET spOwnerWallet
OPENAUDIO_DB_URL dbUrl
OPENAUDIO_ETH_PROVIDER_URL ethProviderUrl
OPENAUDIO_ETH_REGISTRY_ADDRESS ethRegistryAddress
OPENAUDIO_EXTERNAL_ADDRESS externalAddress
OPENAUDIO_PERSISTENT_PEERS persistentPeers
OPENAUDIO_ARCHIVE archive
OPENAUDIO_RETAIN_HEIGHT retainHeight
OPENAUDIO_COMET_LOG_LEVEL audius_comet_log_level
OPENAUDIO_CORE_ROOT_DIR audius_core_root_dir
... and ~20 more (see full list in files changed)

Test plan

  • go build ./... passes
  • CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build passes
  • make test-unit passes
  • Verify devnet boots with make up using updated env files
  • Verify existing deployments using legacy env var names still work (no behavior change)

🤖 Generated with Claude Code

@raymondjacobson raymondjacobson force-pushed the ray/openaudio-env-vars branch 3 times, most recently from 46a64cc to 5238202 Compare April 2, 2026 22:35
Introduces a `pkg/env` package with helpers (Get, String, Bool, GetInt,
GetDuration, Lookup, IsSet) that check OPENAUDIO_ prefixed keys first,
then fall back to legacy names for backward compatibility.

Every env var now has a canonical OPENAUDIO_ version. Legacy names
(nodeEndpoint, delegatePrivateKey, dbUrl, etc.) continue to work but the
OPENAUDIO_ form takes priority when both are set. Cloud provider vars
(AWS_*, GOOGLE_*, AZURE_*) are left unchanged as they are industry
standards.

Updates dev env files and docs to use the new names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@raymondjacobson raymondjacobson force-pushed the ray/openaudio-env-vars branch from 5238202 to fd4bcba Compare April 3, 2026 00:25
go run ./cmd/openaudio/main.go only compiled main.go, missing other
files in the package like consensus_check.go. Use ./cmd/openaudio/
to compile the full package.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@rickyrombo rickyrombo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dumb q - but why have prefixes at all?

@raymondjacobson
Copy link
Copy Markdown
Contributor Author

raymondjacobson commented Apr 3, 2026

Dumb q - but why have prefixes at all?

not a dumb q at all!

I thought about this. My thinking is that it reduces any likelihood of collisions in shared envs etc since people may run the docker image in various ways. I think it also makes very clear that these variables should be looked up in the open audio codebase rather than some dependency or something.

@raymondjacobson raymondjacobson merged commit 008d5d6 into main Apr 3, 2026
6 checks passed
@raymondjacobson raymondjacobson deleted the ray/openaudio-env-vars branch April 3, 2026 18:42
raymondjacobson added a commit that referenced this pull request Apr 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants