All Projects → Soluto → Kamus

Soluto / Kamus

Licence: apache-2.0
An open source, git-ops, zero-trust secret encryption and decryption solution for Kubernetes applications

Projects that are alternatives of or similar to Kamus

Sbt Dependency Check
SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). 🌈
Stars: ✭ 187 (-73.05%)
Mutual labels:  devops, appsec
Postmortem Templates
A collection of postmortem templates
Stars: ✭ 673 (-3.03%)
Mutual labels:  devops
Cabot
Self-hosted, easily-deployable monitoring and alerts service - like a lightweight PagerDuty
Stars: ✭ 5,209 (+650.58%)
Mutual labels:  devops
Spug
开源运维平台:面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。
Stars: ✭ 6,810 (+881.27%)
Mutual labels:  devops
Kubesphere
The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ 🖥 ☁️
Stars: ✭ 8,315 (+1098.13%)
Mutual labels:  devops
Rex
Rex, the friendly automation framework
Stars: ✭ 653 (-5.91%)
Mutual labels:  devops
Opsdroid
🤖 An open source chat-ops bot framework
Stars: ✭ 563 (-18.88%)
Mutual labels:  devops
Dirsearch
Web path scanner
Stars: ✭ 7,246 (+944.09%)
Mutual labels:  appsec
old vespene
DISCONTINUED: a frozen fork will exist forever at mpdehaan/vespene
Stars: ✭ 672 (-3.17%)
Mutual labels:  devops
Argo Cd
Declarative continuous deployment for Kubernetes.
Stars: ✭ 7,887 (+1036.46%)
Mutual labels:  devops
Atlantis
Atlantis is now being maintained at https://github.com/runatlantis/atlantis
Stars: ✭ 628 (-9.51%)
Mutual labels:  devops
Noahv
An efficient front-end application framework based on vue.js
Stars: ✭ 593 (-14.55%)
Mutual labels:  devops
Scaleway Cli
Command Line Interface for Scaleway
Stars: ✭ 654 (-5.76%)
Mutual labels:  devops
Yearning
🐳 A most popular sql audit platform for mysql
Stars: ✭ 5,963 (+759.22%)
Mutual labels:  devops
Mcw
Microsoft Cloud Workshop Project
Stars: ✭ 677 (-2.45%)
Mutual labels:  devops
Kube Scan
kube-scan: Octarine k8s cluster risk assessment tool
Stars: ✭ 566 (-18.44%)
Mutual labels:  devops
Terraform Aws Secure Baseline
Terraform module to set up your AWS account with the secure baseline configuration based on CIS Amazon Web Services Foundations and AWS Foundational Security Best Practices.
Stars: ✭ 596 (-14.12%)
Mutual labels:  devops
Netaddr
A network address manipulation library for Python
Stars: ✭ 648 (-6.63%)
Mutual labels:  devops
Devops
阿里云容器服务持续交付
Stars: ✭ 681 (-1.87%)
Mutual labels:  devops
Sh
Python process launching
Stars: ✭ 5,963 (+759.22%)
Mutual labels:  devops

Helm Package Slack Twitter CircleCI

logo

Kamus

An open source, GitOps, zero-trust secrets encryption and decryption solution for Kubernetes applications. Kamus enable users to easily encrypt secrets than can be decrypted only by the application running on Kubernetes. The encryption is done using strong encryption providers (currently supported: Azure KeyVault, Google Cloud KMS and AES). To learn more about Kamus, check out the blog post and slides.

Getting Started

The simple way to run Kamus is by using the Helm chart:

helm repo add soluto https://charts.soluto.io
helm upgrade --install kamus soluto/kamus

Refer to the installation guide for more details. After installing Kamus, you can start using it to encrypt secrets. Kamus encrypt secrets for a specific application, represent by a Kubernetes Service Account. Create a service account for your application, and mount it on the pods running your application. Now, when you know the name of the service account, and the namespace it exists in, install Kamus CLI:

npm install -g @soluto-asurion/kamus-cli

Use Kamus CLI to encrypt the secret:

kamus-cli encrypt --secret super-secret --service-account kamus-example-sa --namespace default --kamus-url <Kamus URL>

If you're running Kamus locally the Kamus URL will be like http://localhost:<port>. So you need to add --allow-insecure-url flag to enable http protocol.

Pass the value returned by the CLI to your pod, and use Kamus Decrypt API to decrypt the value. The simplest way to achieve that is by using the init container. An alternative is to use Kamus decrypt API directly in the application code. To make it clearer, take a look on a working example app. You can deploy this app to any Kubernetes cluster that has Kamus installed, to understand how it works.

Have a question? Something is not clear? Reach out to us on Kamus Slack!

Architecture

Kamus has 3 components:

  • Encrypt API
  • Decrypt API
  • Key Management System (KMS)

The encrypt and decrypt APIs handle encryption and decryption requests. The KMS is a wrapper for various cryptographic solutions. Currently supported:

  • AES - uses one key for all secrets
  • AWS KMS, Azure KeyVault, Google Cloud KMS - creates one key per service account.

We look forward to add support for other cloud encryption backends.

Consult the installation guide for more details on how to deploy Kamus using the relevant KMS.

Utilities

Kamus is shipped with 2 utilities that make it easier to use:

  • Kamus CLI - a small CLI that eases the interaction with the Encrypt API. Refer to the docs for more details.
  • Kamus init container - a init container that interacts with the Decrypt API. Refer to the docs for more details.
  • CRD Controller - allowing to create native Kubernetes secrets using Kamus. Refer to the docs for more details.

Users

Using Kamus? Open a PR and add your company name here!

Security

We take security seriously at Soluto. To learn more about the security aspects of Kamus refer to the Threat Modeling docs containing all the various threats and mitigations we discussed. Before installing Kamus in production refer to the installation guide to learn the best practices of deploying Kamus securely. In case you find a security issue or have something you would like to discuss refer to our security.md policy.

Contributing

Found a bug? Have a missing feature? Please open an issue and let us know. We would like to help you use Kamus! Please notice: Do not report security issues on GitHub. We will immediately delete such issues.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].