Skip to main content

A helper tool for file encryption in Git repositories primarily aimed at encrypting Kubernetes secrets and other sensitive information to be later used in a CI/CD pipeline

Project description

Krypt: GitOps-friendly Secret Management for Kubernetes Clusters

Krypt is a tool designed to streamline secret management within Kubernetes cluster (and pretty much any other) configurations, particularly suited for GitOps workflows. It enables users to securely seal and unseal secrets within cluster configuration folders, ensuring sensitive information remains protected both in transit and at rest.

Getting Started

To begin using Krypt, follow these simple steps:

  1. Initialization: Initialize the cluster directory using the krypt init command. Provide a passphrase for encryption and specify the path to the cluster directory.

    krypt init --passphrase PASSPHRASE /path/to/cluster
    
  2. Sealing Secrets: Seal the secrets within the cluster directory using the krypt seal command.

    krypt seal /path/to/cluster
    
  3. Commit and Push: Once sealed, commit the changes to your Git repository and push them upstream. This ensures that the encrypted secrets are securely stored and version controlled.

  4. CI/CD Integration: In your CI/CD pipeline, use the krypt unseal command to unseal the secrets before applying manifests onto the cluster. Pass the passphrase for decryption and specify the path to the cluster directory.

    krypt unseal --passphrase PASSPHRASE /path/to/cluster
    

Usage Guidelines

  • Only files with .kpt. in the name or those ending with .kpt are sealed by Krypt. Other files within the cluster directory remain stored in plaintext. This ensures that only intended secrets are encrypted while maintaining transparency for other configuration files.

  • Krypt automatically adds files with .kpt. in the name or those ending with .kpt to .gitignore to ensure that plaintext secrets are not being committed to the repository.

  • It's essential to securely manage and store the passphrase used for sealing and unsealing secrets. Consider using secure key management practices to protect this passphrase.

Contributing

Contributions to Krypt are welcome! Feel free to open issues for bug reports, feature requests, or any questions you may have. Pull requests are also encouraged for those who would like to contribute directly to the project's development.

License

Krypt is licensed under the GPLv3 License, allowing for both personal and commercial use with proper attribution. Refer to the license file for detailed information.

Acknowledgments

Krypt was inspired by the need for a secure and streamlined approach to managing secrets within Kubernetes clusters, particularly in GitOps workflows. We extend our gratitude to the open-source community for their contributions and support.


Krypt - Secure Secret Management for Kubernetes Clusters

For more information, visit Krypt on GitHub

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

krypt-0.1.1.tar.gz (22.3 kB view details)

Uploaded Source

Built Distribution

krypt-0.1.1-py3-none-any.whl (27.0 kB view details)

Uploaded Python 3

File details

Details for the file krypt-0.1.1.tar.gz.

File metadata

  • Download URL: krypt-0.1.1.tar.gz
  • Upload date:
  • Size: 22.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for krypt-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c11d6cd7cd8486845fb9fc937abe2cfa3f1de0e520f5b35163e2e70775465527
MD5 aa970f20a2715828e0a0517c7aad28f0
BLAKE2b-256 0951ac1940c37e143de88d46283f71d3e47d07c984e9442db118e663c5c97914

See more details on using hashes here.

File details

Details for the file krypt-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: krypt-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 27.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for krypt-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 15cdb7eac471293d88855b3d8d6e6685a2daabf6f54b593715af94647c04723d
MD5 837d035560d2708a7357d8b58edd4f97
BLAKE2b-256 254e7ff8782b4b2efd9d48246b5137ba25f438bb158219c94db7f999a85b3593

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page