{"id":18002569,"url":"https://github.com/dvcrn/kustomize-plugin-1password","last_synced_at":"2026-05-19T14:07:36.618Z","repository":{"id":142362698,"uuid":"597355489","full_name":"dvcrn/kustomize-plugin-1password","owner":"dvcrn","description":"Kustomize plugin to generate secrets from 1Password CLI","archived":false,"fork":false,"pushed_at":"2023-05-30T04:36:43.000Z","size":24,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-09T10:38:19.721Z","etag":null,"topics":["1password","1password-cli","k8s","kubernetes","kustomize"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dvcrn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-04T09:37:12.000Z","updated_at":"2023-06-10T17:11:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"6e8b1a05-73a4-427f-a57e-973bd69eb612","html_url":"https://github.com/dvcrn/kustomize-plugin-1password","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dvcrn/kustomize-plugin-1password","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvcrn%2Fkustomize-plugin-1password","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvcrn%2Fkustomize-plugin-1password/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvcrn%2Fkustomize-plugin-1password/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvcrn%2Fkustomize-plugin-1password/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dvcrn","download_url":"https://codeload.github.com/dvcrn/kustomize-plugin-1password/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvcrn%2Fkustomize-plugin-1password/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33219434,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T07:54:09.561Z","status":"ssl_error","status_checked_at":"2026-05-19T07:54:08.508Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["1password","1password-cli","k8s","kubernetes","kustomize"],"created_at":"2024-10-29T23:22:39.000Z","updated_at":"2026-05-19T14:07:36.604Z","avatar_url":"https://github.com/dvcrn.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 1Password CLI Kustomize Plugin\n\n[Kustomize Plugin](https://kubectl.docs.kubernetes.io/guides/extending_kustomize/go_plugins/) to generate secrets directly from 1Password values\n\n**Note:** This is **not** for using the 1Password API or secret automation. This plugin aims to pull data out of the locally installed 1Password and generates secrets with those.\n\n## Installation\n\n### Requirements\n\n- Make sure you have the `op` CLI installed: https://1password.com/downloads/command-line/\n- Locally installed Golang\n\nMake sure you can actually use `op` by trying a command like: `op vault list`.\n\nCurrently tested (and versions aligned) with kustomize 5.0.3, install with `go install sigs.k8s.io/kustomize/kustomize/v5@v5.0.3`\n\n### Build + Install\n\nBecause of the [skew problem](https://kubectl.docs.kubernetes.io/guides/extending_kustomize/go_plugins/#the-skew-problem), you are **very likely** required to build both `kustomize` as well as this plugin with the same Golang versions.\n\nYou're welcome to try without doing this, but you may run into issues.\n\n1. Install `kustomize` through Golang:\n\n```\ngo install sigs.k8s.io/kustomize/kustomize/v5@latest\n```\n\n2. Prepare the plugin dir if you haven't yet\n\n```bash\nmkdir -p ~/.config/kustomize/plugin/sh.d.kustomize/v1/opclisecret/\n```\n\n3. Build this plugin\n\n```\ngo build -buildmode plugin \\\n        -o ~/.config/kustomize/plugin/sh.d.kustomize/v1/opclisecret/OpCLISecret.so .\n```\n\n4. Put the plugin into `~/.config/kustomize/plugin/sh.d.kustomize/v1/opclisecret/OpCLISecret.so` (the command under 3. is already doing that for you)\n\nRefer to FAQ / troubleshooting below if this doesn't work for you\n\n## Usage\n\nAdd a new manifest with `kind: OpCLISecret`\n\n```yaml\n# example: netflixSecret.yaml\n\napiVersion: sh.d.kustomize/v1\nkind: OPCLISecret\nmetadata:\n  name: myopsecret\n  namespace: default # default is default\ntype: Opaque # opaque is default\nvalues:\n  - key: mySecretKey\n    opPath: /Kustomize/Netflix/username\n# options:\n#    disableNameSuffixHash: true\n```\n\nSpecify under `values`:\n\n- `key`: What key do you want to use within the secret?\n- `opPath`: 1Password path to the field you wish to use for this secret in the form `/vault/item/field`. `Vault` and `Item` can be names or IDs. I recommend using IDs\n\nAdd the generator to `kustomization.yaml`:\n\n```yaml\ngenerators:\n  - netflixSecret.yaml\n```\n\nRun kustomize with the `--enable-alpha-plugins` flag: `kustomize build --enable-alpha-plugins`\n\nThe above example will generate the following secret:\n\n```yaml\napiVersion: v1\ndata:\n  mySecretKey: \u003cvalue of \"username\" of item 'Netflix' within 1Password\u003e\nkind: Secret\nmetadata:\n  name: myopsecret-24b5hmbhk5\n  namespace: default\ntype: Opaque\n```\n\n## Troubleshooting\n\n**I'm getting \"plugin was built with a different version of package x**\n\nHonestly, plugins in Golang ain't great. This needs be rewritten with the newer [exec KRM functions](https://kubectl.docs.kubernetes.io/guides/extending_kustomize/exec_krm_functions/) for this exact problem.s\n\nThis usually means that the dependencies of this plugin and `kustomize` are no longer in sync.\n\nGo to the `go.mod` file of the kustomize repo (https://github.com/kubernetes-sigs/kustomize/blob/master/kustomize/go.mod), copy the contents and put them into `go.mod` of this repository. Don't delete the `github.com/dvcrn/go-op-cli` key, you need that.\n\nOh and please make a Pull Request to this repo with the new dependencies :)\n\nMake sure `which kustomize` is actually the version that you installed with Go (same version that built this plugin), and not something installed through brew for example.\n\nIf this *still* didn't do it for you, see if you can use `go mod edit -replace` to align all the versions to be absolutely identical to kustomize. There is a python script that does this for you at `generate_replacements.py`.\n\nThe result will look like this: \n\n```\nreplace sigs.k8s.io/kustomize/api =\u003e sigs.k8s.io/kustomize/api v0.13.4\n\nreplace sigs.k8s.io/kustomize/cmd/config =\u003e sigs.k8s.io/kustomize/cmd/config v0.11.2\n\nreplace sigs.k8s.io/kustomize/kyaml =\u003e sigs.k8s.io/kustomize/kyaml v0.14.2\n\nreplace github.com/golang/protobuf =\u003e github.com/golang/protobuf v1.5.2\n\nreplace google.golang.org/protobuf =\u003e google.golang.org/protobuf v1.28.0\n\nreplace github.com/google/go-cmp =\u003e github.com/google/go-cmp v0.5.5\n\nreplace github.com/spf13/cobra =\u003e github.com/spf13/cobra v1.4.0\n\nreplace github.com/spf13/pflag =\u003e github.com/spf13/pflag v1.0.5\n\nreplace github.com/stretchr/testify =\u003e github.com/stretchr/testify v1.8.1\n\nreplace golang.org/x/text =\u003e golang.org/x/text v0.6.0\n\nreplace sigs.k8s.io/yaml =\u003e sigs.k8s.io/yaml v1.3.0\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvcrn%2Fkustomize-plugin-1password","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdvcrn%2Fkustomize-plugin-1password","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvcrn%2Fkustomize-plugin-1password/lists"}