Repository navigation
chore(deps): update dependency fnox to latest - #51
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
This branch has not been deployed
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.
This PR contains the following updates:
1.36.0→v1.40.0Release Notes
jdx/fnox (fnox)
v1.40.0: : Lua plugin providers, Kubernetes Secrets, and Windows daemon supportCompare Source
fnox 1.40.0 adds custom providers written as Lua plugins, a read-only Kubernetes Secrets provider, 1Password Environments, file-backed
plainproviders and Bitwarden folder scoping. The daemon now runs on Windows. This release also fixes Azure service principal authentication, repeated hardware PIN prompts for age identities, andfnox setdropping piped values.Added
[plugins], then use it withtype = "lua":provider.luathat returns hooks.getis required.get_batch,put,encryptandtestare optional, and the hooks you define decide whetherfnox setandfnox importcan write to the provider. A provider'soptionstable (string values, which can be secret references) is passed to the plugin asctx.options. Plugins can use thefnox.http,fnox.json,fnox.cmd,fnox.logandfnox.base64modules.fnox.auth_error(msg)triggers the provider'sauth_commandflow.fnox plugin install,update,link,lsanduninstall, plusfnox provider add NAME lua --plugin ....git clone). Plugins go in$FNOX_DATA_DIR/plugins, which defaults to$XDG_DATA_HOME/fnoxor~/.local/share/fnox. SetFNOX_PLUGINS_DIRto use a different location. If a project declares a different source or ref than the installed one, fnox won't load the plugin until you runfnox plugin update <name>.docs/providers/lua.mdfor details.kubernetesprovider reads existing Secrets through the Kubernetes API. It only makes namedGETrequests and never lists, watches or writes Secrets. A reference can besecret,secret/keyornamespace/secret/key. The optionalcontext,namespace,kubeconfigandprefixsettings control where it looks, and theFNOX_K8S_CONTEXTenvironment variable can also select the context. Daemon caching is always disabled for this provider, even withdaemon_cache = true.1passwordprovider can read variables from a 1Password Environment usingenvironment://<environment-id>/<VARIABLE>references. You can mix these with vault item references in the same config. fnox reads each Environment once per provider instance, and a variable missing from the Environment is an error. This needs the betaopCLI with theop environmentcommand.plainprovider (#954) by @joshbode. The newfileandformatsettings make each secret'svaluea key to look up in that file.formatcan beenv,shell,json,yamlortoml, and you must set it wheneverfileis set. A relative path resolves against the config file that declares the provider. The file is read-only, and a missing key counts as a missing secret, sodefaultandif_missingstill apply.foldersetting limits lookups to one Bitwarden folder. For nested folders, use the full path, such asfolder = "MyApp/Production". This lets items with the same name exist in different folders. It works with bothbwandrbw.azure-sm,azure-kmsandazure-acacceptauth = "managed-identity", with an optionalmanaged_identity_client_idfor a user-assigned identity. fnox never tries managed identity on its own; you have to setauth.fnox-clientAPI are unchanged.Fixed
AZURE_TENANT_ID,AZURE_CLIENT_IDandAZURE_CLIENT_SECRETare all set. Without them, fnox falls back to theaz/azdlogin. For sovereign clouds, setAZURE_AUTHORITY_HOST. These variables can also be fnox secrets resolved byfnox exec.age-plugin-tpm --pin,age-plugin-yubikey), a value used by several providers made one command ask for the PIN up to three times. Now a successful decrypt is reused for the rest of the request, so you get one prompt perfnox get,execorexport, or per daemon request. Nothing is kept between requests, and a failed decrypt can be retried.fnox setwith piped stdin and metadata flags (#976) by @jdx.echo val | fnox set A -d "desc"(or with--defaultor--if-missing) said it worked but saved no value. fnox now stores the piped value along with the metadata. If stdin is empty, only the metadata is updated, as before.Changed
fnox importparsing (#954) by @joshbode.fnox importnow accepts the{secrets, metadata}document thatfnox export --format json|yaml|tomlproduces. Theenvparser now follows Docker Compose dotenv rules for inline comments. For example,PORT=8080 # defaultnow imports as8080, where it used to keep the comment as part of the value.#without whitespace before it, as inID=val#ue, and#inside quotes are still part of the value.New Contributors
Full Changelog: jdx/fnox@v1.39.0...v1.40.0
💚 Sponsor fnox
fnox is built and maintained by @jdx, an open source developer at entire.io, the title sponsor of his open source work.
If fnox handles secrets or config for you or your team, please consider becoming an individual or company sponsor. Your support funds ongoing development and helps keep fnox secure, free, and independent.
v1.39.0: : fnox env --json and a daemon client crate for other toolsCompare Source
fnox 1.39.0 lets other tools, starting with mise, get the same environment that
fnox execwould give a command. They can runfnox env --json, or use the newfnox-clientcrate to read it straight from a running daemon's cache.Added
fnox env --json(#936) by @jdx. Prints a versioned JSON document describing the environment for a command. It hasset(variables),files(as_filecontents for the caller to write, so fnox leaves no files behind),remove(variables to unset),missingandleases. Callers applyremove, thenset, thenfiles.fnox env --json --keys DATABASE_URL,GCP_SA_JSON fnox env --json --describe # list keys and where they can be injected, without resolving anything--for exec(the default) coversenv = trueandenv = "exec"secrets plus leases.--for shellcovers onlyenv = truesecrets and runs no leases.--keys(repeatable, comma-separated) resolves only the listed keys and the secrets they depend on.env = falsesecrets are never printed.config,invalid_keys,resolution) and exit with status 1.--describenever contacts the daemon, creates leases or prompts. With--keys, it checks the keys up front. Its output includesdaemon_enabled.fnox exec, using the same daemon cache. The full contract is indocs/reference/env-json.md.--jsonis required for now.fnox-clientcrate (#937) by @jdx. A lightweight Rust library (no tokio,fnox-coreor provider SDKs) that lets other programs get thefnox env --jsondocument from a running fnox daemon in one Unix-socket round trip. The client is read-only: it never starts the daemon, stores values or triggers provider calls. On a cache miss, the caller should runfnox env --jsonitself so prompts and hardware-key touches still work. On Windows, the crate builds but always reports that no daemon is available.fnox-clientis published alongside fnox with the same version number. To support it, the daemon protocol moves to v6, and the daemon now refuses requests from projects whose config (orFNOX_DAEMON) does not enable it.Changed
fnox daemon clearstill reaches it. You don't need to do anything else.fnox execnow builds its environment the same way asfnox env --json(#936). It behaves the same as before, with one exception: it now removes every out-of-scope profile secret from the child's environment, even ones that weren't resolved.Full Changelog: jdx/fnox@v1.38.1...v1.39.0
💚 Sponsor fnox
fnox is built and maintained by @jdx, an open source developer at entire.io, the title sponsor of his open source work.
If fnox handles secrets or config for you or your team, please consider becoming an individual or company sponsor. Your support funds ongoing development and helps keep fnox secure, free, and independent.
v1.38.1: : Windows release binaries are backCompare Source
fnox 1.38.1 publishes Windows release binaries again. The v1.37.0 and v1.38.0 releases did not include them.
Fixed
Full Changelog: jdx/fnox@v1.38.0...v1.38.1
💚 Sponsor fnox
fnox is built and maintained by @jdx, an open source developer at entire.io, the title sponsor of his open source work.
If fnox handles secrets or config for you or your team, please consider becoming an individual or company sponsor. Your support funds ongoing development and helps keep fnox secure, free, and independent.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.