Add ability to store sops metadata in OpenAPI compliant format
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 23.1k
- Forks
- 1.1k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 9
Description
This is openining discussion and/or potential request to:
Implement sops metadata in OpenAPI compliant format.
Problem description:
I've written Kubernetes sops-secrets-operator which allows to use sops as cli to encrypt Kubernetes CR definition for storage inside git repository for GitOps using FluxCD. We found sops very easy to use inside the team. The issue is that all Kubenrnetes resources (including custom resources) must be OpenAPI compliant. From k8s version 1.15 non-compliant fields will be removed from resource at creation time in k8s and not stored in etcd. However operator relies on information passed via sops metadata, which is not OpenApi compliant - ie fields like gcp_kms, azure_kv, encrypted_suffix, created_at, aws_profile, etc. That makes it impossible to continue development and use of the operator as it will not be compattible with k8s version 1.15.
Questions about feature implementation:
- Is it easy to implement extra flag to sops to store metadata in OpenAPI compliant format (using existing format by default) ?
- Would it be easy to detect at decryption time the format used ?
I'd be happy to help with this feature development, but will need some help and guidance.
Thanks
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing sops metadata format and the OpenAPI compliance requirements described in the issue. Define how an optional compliant representation would be selected and detected during decryption, while preserving the existing format by default; done means the design is agreed and the feature works for the listed metadata fields.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, openapi
- Domain
- devops, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100