Skip to content

Conversation

@vpuhoff
Copy link
Owner

@vpuhoff vpuhoff commented May 22, 2025

This commit introduces a Helm chart for deploying the keylocker Python application to Kubernetes. The chart is designed to facilitate debugging and running keylocker as a CLI tool or for Python applications using the keylocker library.

Key changes include:

  1. Dockerfile: Added a Dockerfile to containerize the keylocker application and its dependencies.
  2. Helm Chart (keylocker-chart/):
    • Generated a standard Helm chart structure.
    • Customized values.yaml to provide flexible configuration for the
      image, command/arguments, secret management (KEYLOCKER_SECRET_KEY,
      VAULT_ADDR, VAULT_TOKEN via Kubernetes Secrets), and mounting of
      custom configuration files or Python scripts via ConfigMaps.
    • Modified templates/deployment.yaml to dynamically configure the
      deployment based on values.yaml, including environment variables,
      secret sourcing, command overrides, and volume mounts.
    • Significantly rewrote templates/NOTES.txt to offer detailed
      guidance on chart installation, configuration, secret management,
      and usage examples for keylocker.
    • Removed unused templates like service.yaml, ingress.yaml, and
      hpa.yaml which are not relevant for a CLI tool by default.
    • Updated templates/tests/test-connection.yaml with a more
      appropriate test for a CLI application (verifies keylocker --help).
    • Ensured helm lint passes for the chart.
    • A basic README.md for the chart is intended (content prepared).

This chart allows you to run keylocker in your Kubernetes environment for processing YAML files with !SEC, !ENV, and !VAULT tags, or for running your own Python scripts that leverage the keylocker library for secret management.

This commit introduces a Helm chart for deploying the keylocker Python application
to Kubernetes. The chart is designed to facilitate debugging and running keylocker
as a CLI tool or for Python applications using the keylocker library.

Key changes include:

1.  **Dockerfile**: Added a Dockerfile to containerize the keylocker application
    and its dependencies.
2.  **Helm Chart (`keylocker-chart/`)**:
    *   Generated a standard Helm chart structure.
    *   Customized `values.yaml` to provide flexible configuration for the
        image, command/arguments, secret management (KEYLOCKER_SECRET_KEY,
        VAULT_ADDR, VAULT_TOKEN via Kubernetes Secrets), and mounting of
        custom configuration files or Python scripts via ConfigMaps.
    *   Modified `templates/deployment.yaml` to dynamically configure the
        deployment based on `values.yaml`, including environment variables,
        secret sourcing, command overrides, and volume mounts.
    *   Significantly rewrote `templates/NOTES.txt` to offer detailed
        guidance on chart installation, configuration, secret management,
        and usage examples for keylocker.
    *   Removed unused templates like `service.yaml`, `ingress.yaml`, and
        `hpa.yaml` which are not relevant for a CLI tool by default.
    *   Updated `templates/tests/test-connection.yaml` with a more
        appropriate test for a CLI application (verifies `keylocker --help`).
    *   Ensured `helm lint` passes for the chart.
    *   A basic `README.md` for the chart is intended (content prepared).

This chart allows you to run keylocker in your Kubernetes environment for
processing YAML files with !SEC, !ENV, and !VAULT tags, or for running your
own Python scripts that leverage the keylocker library for secret management.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants