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

Published on October 20, 2020

BLOG SecretSyncer

Subscribe for updates

Build better digital experiences with Contentful updates direct to your inbox.

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

Subscribe for updates

Build better digital experiences with Contentful updates direct to your inbox.

Meet the authors

Yann Hamon

Yann Hamon

Reliability & Infrastructure Engineer, Contentful

Reliability Engineer - Infrastructure at Contentful

Related articles

To learn more about a new way of page caching with Netlify and Contentful, we explore how to render content on the fly for faster builds with Jamstack.
Guides

How to generate unlimited CDN-cached pages with Netlify and Contentful

April 5, 2022

JavaScript is a highly critical topic in the SEO community, with many checks and steps you can take to ensure your content’s visibility in organic search.
Guides

4 best practices to ensure your JavaScript is SEO friendly

November 11, 2024

In this post, we’ll examine some tools and techniques for reducing the size of your Webpack bundle.
Guides

How to put your Webpack bundle on a diet

December 7, 2022

Contentful Logo 2.5 Dark

Ready to start building?

Put everything you learned into action. Create and publish your content with Contentful — no credit card required.

Get started