Skip to content

Add 1Password CLI (op) integration as secret provider - #26

Merged
llambeau merged 1 commit into
masterfrom
feature/secrets-improvements
Jan 24, 2026
Merged

Add 1Password CLI (op) integration as secret provider#26
llambeau merged 1 commit into
masterfrom
feature/secrets-improvements

Conversation

@llambeau

Copy link
Copy Markdown
Contributor

Implements OnePasswordProvider and OnePasswordPlugin to support fetching secrets from 1Password vaults using the op CLI. Secrets can be referenced using the syntax ${op:vault/item#field}.

Supports two authentication methods:

  • Pre-authenticated session (interactive): User runs op signin first
  • Service account token (CI/CD): Via OP_SERVICE_ACCOUNT_TOKEN env var

Implements OnePasswordProvider and OnePasswordPlugin to support fetching
secrets from 1Password vaults using the `op` CLI. Secrets can be
referenced using the syntax ${op:vault/item#field}.

Supports two authentication methods:
- Pre-authenticated session (interactive): User runs `op signin` first
- Service account token (CI/CD): Via OP_SERVICE_ACCOUNT_TOKEN env var

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@llambeau
llambeau force-pushed the feature/secrets-improvements branch from 9f145ad to f44b77f Compare January 24, 2026 12:06
@llambeau
llambeau merged commit 5bc3978 into master Jan 24, 2026
4 checks passed
llambeau added a commit that referenced this pull request Jul 17, 2026
The constructor runs top-level tasks through toIdentifedHash, which
stamps each with synthesized `id`/`name` keys for runtime resolution.
toJSON() returned those tasks verbatim, so the keys leaked into the
serialized config. Since `emb config print` emits `toJSON()` output and
TaskConfig has `additionalProperties: false`, the printed config failed
its own re-validation with `unknown property 'id'`.

Strip `id`/`name`/`component` from tasks at the serialization boundary,
leaving `this.tasks` untouched for runtime consumers. `with()` still
works — it re-runs toIdentifedHash on the cleaned tasks.

Addresses REPORT.md finding #26.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant