Open-sourcing kube-secret-syncer: A Kubernetes operator to sync secrets from AWS Secrets Manager

Illustration of a figure holding a key and a keyhole.
Published
October 20, 2020
Category

Developers

Looking for an efficient, flexible and secure way to sync secrets from AWS Secrets Manager to Kubernetes? We’ve got you covered.

We’re releasing the open source code for Kube-secret-syncer, a Kubernetes operator that syncs secrets from AWS Secrets Manager. This operator improves on existing projects by delivering sophisticated access control, templated fields and caching to reduce costs. For those familiar with the struggles that come from synching secrets between the two, we hope this comes as a welcome solution. 

Securing, auditing and managing your secrets is an administrative task that was made infinitely easier with managed secret stores such as AWS Secret Manager. Its strong access control, secret rotation and log auditing features enable you to meet strong security and compliance requirements.

Problems can arise when synching secrets from AWS Secrets Manager to Kubernetes; this requires a custom solution. Several open source solutions exist, such as Kubernetes External Secrets or AWS Secret Operator, but they lack either in security, caching or flexibility. Especially when you’re synching thousands of secrets, the costs add up.

As a result, our infrastructure team took on the project of developing our take on an operator and built Kube-secret-syncer. Kube-secret-syncer uses caching to retrieve the value of secrets only when they have changed. This feature substantially reduces costs when syncing a large number of secrets. The syncer also enables sophisticated access controls in AWS Secrets Manager using IAM roles. This feature allows more control over what secrets individual Kubernetes namespaces can access. The third feature we introduced was templated fields. Kube-secret-syncer supports templated fields for Kubernetes secrets enabling the use of values from multiple AWS secret manager secrets in one Kubernetes secret.  

Kube-secret-syncer is ready to go, and you can download the source code from Github. We would be very interested in hearing your feedback. Please don’t hesitate to get in touch and let us know how it goes

About the author
Don't miss the latest
Get updates in your inbox
A monthly newsletter to help you build better digital experiences with Contentful.
add-circle remove style-two-pin-marker subtract-circle