id = "doppler" name = "Doppler CLI" homepage = "https://docs.doppler.com/docs/cli" description = "The Doppler CLI is the official tool for interacting with your Doppler secrets and configuration." icon = "theSVG:doppler" executables = ["doppler"] [dotfiles] # pkg/configuration/config.go: SetConfigDir(filepath.Join(utils.HomeDir(), # ".doppler")) with configFileName = ".doppler.yaml", so the user config file # is ~/.doppler/.doppler.yaml on every platform. paths = ["~/.doppler/.doppler.yaml"] # UserFallbackDir in the same file is /fallback: encrypted copies # of the secrets `doppler run` last fetched, so a machine offline from Doppler # can still start. A local cache of somebody's secrets, never sync it. exclude = ["~/.doppler/fallback/"] # Not a whole-file secret: the same file records which Doppler project and # config each directory is scoped to, which is worth carrying between machines. secret = [] # Read once per invocation. side_effect = false # models.ConfigFile: `scoped` maps a directory to FileScopedOptions, whose # `token` is the CLI token or service token used for that scope. [[dotfiles.secret_paths]] file = "~/.doppler/.doppler.yaml" match = { key_path = ["scoped.*.token"] } # No machine_lines: the machine-local part is the *keys* of `scoped` — absolute # paths to this machine's checkouts — and key_path selects keys by name, which # nothing here can spell in advance. Left to the consumer. [commands] format = 1 label = "Doppler secrets" description = "Inject secrets into a command, read individual secrets or download a config. Token and host options are left out; use doppler login." quality = "ai-draft" base = "fig:doppler" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/doppler.ts" license = "MIT" [[commands.subcommand]] path = ["run"] label = "Run with secrets" description = "Runs a command with the config secrets injected into its environment." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/doppler.ts" license = "MIT" [[commands.subcommand.field]] id = "project" label = "Project" type = "string" option = ["--project", "-p"] sources = ["fig"] [[commands.subcommand.field]] id = "config" label = "Config" type = "string" option = ["--config", "-c"] sources = ["fig"] [[commands.subcommand.field]] id = "command" label = "Command" description = "Whole command line as one string, e.g. npm start." type = "string" option = ["--command"] sources = ["fig"] [[commands.subcommand.field]] id = "no_cache" label = "Disable fallback file cache" type = "boolean" option = ["--no-cache"] sources = ["fig"] [[commands.subcommand.field]] id = "forward_signals" label = "Forward signals" type = "boolean" option = ["--forward-signals"] sources = ["fig"] [[commands.subcommand.task]] id = "run" label = "Run command" fields = ["project", "config", "command"] required = ["command"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["project", "config", "command"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["no_cache", "forward_signals"] [[commands.subcommand]] path = ["secrets", "get"] label = "Get secrets" description = "Prints the values of one or more secrets." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/doppler.ts" license = "MIT" [[commands.subcommand.field]] id = "names" label = "Secret names" type = "string" position = 0 multiple = true sources = ["fig"] [[commands.subcommand.field]] id = "project" label = "Project" type = "string" option = ["--project", "-p"] sources = ["fig"] [[commands.subcommand.field]] id = "config" label = "Config" type = "string" option = ["--config", "-c"] sources = ["fig"] [[commands.subcommand.field]] id = "plain" label = "Plain values" type = "boolean" option = ["--plain"] sources = ["fig"] [[commands.subcommand.field]] id = "json" label = "JSON output" type = "boolean" option = ["--json"] sources = ["fig"] [[commands.subcommand.field]] id = "raw" label = "Raw secret value" type = "string" option = ["--raw"] sources = ["fig"] [[commands.subcommand.task]] id = "get" label = "Get secret values" fields = ["names", "project", "config", "plain"] required = ["names"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["names", "project", "config", "plain"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["json", "raw"] [[commands.subcommand]] path = ["secrets", "download"] label = "Download secrets" description = "Downloads a config to a file or to stdout." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/doppler.ts" license = "MIT" [[commands.subcommand.field]] id = "file" label = "Output file" type = "path" position = 0 path = { kind = "file", role = "output" } effect = "overwrite" sources = ["fig"] [[commands.subcommand.field]] id = "project" label = "Project" type = "string" option = ["--project", "-p"] sources = ["fig"] [[commands.subcommand.field]] id = "config" label = "Config" type = "string" option = ["--config", "-c"] sources = ["fig"] [[commands.subcommand.field]] id = "format" label = "Format" type = "string" option = ["--format"] suggestions = [{ value = "json", label = "json" }, { value = "env", label = "env" }, { value = "yaml", label = "yaml" }, { value = "docker", label = "docker" }, { value = "env-no-quotes", label = "env-no-quotes" }] sources = ["fig"] [[commands.subcommand.field]] id = "no_file" label = "Print to stdout" type = "boolean" option = ["--no-file"] sources = ["fig"] [[commands.subcommand.field]] id = "yes" label = "Skip confirmation" type = "boolean" option = ["--yes", "-y"] sources = ["fig"] [[commands.subcommand.task]] id = "env" label = "Download as .env" set = { format = ["env"] } fields = ["file", "project", "config", "format"] required = ["file"] [[commands.subcommand.task]] id = "stdout" label = "Print to stdout" set = { no_file = [true] } fields = ["project", "config", "format", "no_file"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["file", "project", "config", "format", "no_file", "yes"]