Skip to content

Configuration layouts

hhrvoic edited this page Aug 21, 2026 · 1 revision

Because each files entry is a full relative path, the config adapts to how a project lays out its secrets. See Glob and folder patterns for pattern-based entries.

Flat layout — files sit in the repo root (typical for Android):

{
  "vaults": [
    {
      "name": "staging",
      "vault": "project-myapp-android-staging",
      "files": ["secrets-staging.properties"]
    },
    {
      "name": "production",
      "vault": "project-myapp-android",
      "files": ["secrets.properties"]
    }
  ]
}

Nested layout — secrets grouped under a folder (typical for iOS):

{
  "vaults": [
    {
      "name": "staging",
      "vault": "project-myapp-ios-staging",
      "files": ["MyApp/SupportingFiles/Vault/Keys/Keys.staging.swift"]
    },
    {
      "name": "production",
      "vault": "project-myapp-ios",
      "files": ["MyApp/SupportingFiles/Vault/Keys/Keys.production.swift"]
    }
  ]
}

Multiple files per vault, across different folders — list every file explicitly. Files that belong to the same environment go under the same vault, even if they live in different directories:

{
  "vaults": [
    {
      "name": "staging",
      "vault": "project-myapp-ios-staging",
      "files": [
        "MyApp/SupportingFiles/Vault/Keys/Keys.staging.swift",
        "MyApp/SupportingFiles/Vault/GoogleService/GoogleService-Info.staging.plist",
        "MyApp/SupportingFiles/Vault/AppConfig/AppConfig.staging.json"
      ]
    },
    {
      "name": "production",
      "vault": "project-myapp-ios",
      "files": [
        "MyApp/SupportingFiles/Vault/Keys/Keys.production.swift",
        "MyApp/SupportingFiles/Vault/GoogleService/GoogleService-Info.production.plist",
        "MyApp/SupportingFiles/Vault/AppConfig/AppConfig.production.json"
      ]
    }
  ]
}

Clone this wiki locally