{"id":18103245,"url":"https://github.com/averagemarcus/kube-1password-secrets","last_synced_at":"2025-04-06T05:43:36.091Z","repository":{"id":67321962,"uuid":"319958002","full_name":"AverageMarcus/kube-1password-secrets","owner":"AverageMarcus","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-28T09:01:48.000Z","size":43,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-12T11:24:29.019Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/AverageMarcus.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":"2020-12-09T13:01:35.000Z","updated_at":"2024-09-28T09:01:52.000Z","dependencies_parsed_at":"2023-06-10T22:30:24.334Z","dependency_job_id":null,"html_url":"https://github.com/AverageMarcus/kube-1password-secrets","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AverageMarcus%2Fkube-1password-secrets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AverageMarcus%2Fkube-1password-secrets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AverageMarcus%2Fkube-1password-secrets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AverageMarcus%2Fkube-1password-secrets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AverageMarcus","download_url":"https://codeload.github.com/AverageMarcus/kube-1password-secrets/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247441007,"owners_count":20939235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-31T22:11:07.454Z","updated_at":"2025-04-06T05:43:36.065Z","avatar_url":"https://github.com/AverageMarcus.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kube-1password-secrets\n\nSync secrets from a 1Password vault into Kubernetes secrets.\n\n\u003e **Note:** This should not be considered production grade. It is built on top of the 1Password CLI client which could stop working without warning due to changes made by 1Password.\n\n## Features\n\n* Sync data from items stored in 1Password to Secret resources within Kubernetes\n* Rename fields when storing the data in the Kubernetes secret\n\n## Install\n\n1. Create an environment variable with your 1Password credentials:\n\n    ```sh\n    cp ./manifests/example.env ./manifests/.env\n    ```\n\n1. Deploy to Kubernetes\n\n    ```sh\n    make release\n    ```\n\n## Usage\n\n1Password secrets are configured using annotation on Secret resources in Kubernetes.\n\nThe only required value is the ID of the secret in 1Password. You can get this by looking at the URL when viewing the secret in 1Password, e.g.\n\n\u003e my.1password.com/vaults/123456789qwertyuiop/allitems/**123456example7890**\n\nExample:\n\n```yaml\napiVersion: v1\nkind: Secret\nmetadata:\n  name: example-secret\n  annotations:\n    kube-1password: 123456example7890           # [Required] This is the ID of the item within 1Password\n    kube-1password/vault: Kubernetes            # The name of the Vault\n    kube-1password/username-key: \"user\"         # The key the username should be saved as in the Secret resource (default: `username`)\n    kube-1password/password-key: \"pass\"         # The key the password should be saved as in the Secret resource (default: `password`)\n    kube-1password/secret-text-key: \"note\"      # The key the secret text should be saved as in the Secret resource (default: `secretText`)\n    kube-1password/secret-text-parse: \"true\"    # Parse the secret texts as individual secret values in format `key=value` (default: ``)\ntype: Opaque\n```\n\nkube-1password-secrets currently supports *Login*, *Secure Note* and *Password* item types in 1Password. Only the **username**, **password** and **notes** fields are retrieved.\n\n## Building from source\n\nWith Docker:\n\n```sh\nmake docker-build\n```\n\nStandalone:\n\n```sh\nmake build\n```\n\n## Resources\n\n* [1Password CLI client](https://app-updates.agilebits.com/product_history/CLI)\n\n## Contributing\n\nIf you find a bug or have an idea for a new feature please raise an issue to discuss it.\n\nPull requests are welcomed but please try and follow similar code style as the rest of the project and ensure all tests and code checkers are passing.\n\nThank you 💛\n\n## License\n\nSee [LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faveragemarcus%2Fkube-1password-secrets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faveragemarcus%2Fkube-1password-secrets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faveragemarcus%2Fkube-1password-secrets/lists"}