Skip to main content

A Python utility to ensure your files are securely encrypted with SOPS. Integrates seamlessly into your pre-commit workflow, providing automated validation for SOPS-encrypted files, enhancing security and compliance in your development process.

Project description

Validate-SOPS

Overview

validate-sops is a Python utility designed by Vladimir Zhukov to validate that specified files are encrypted using Mozilla SOPS (Secrets OPerationS). It ensures that sensitive files committed to your repository are securely encrypted, preventing accidental exposure of secrets.

Features

  • Validates multiple files for SOPS encryption.
  • Easily integrated into pre-commit hooks for automated validation.
  • Provides clear error messages for non-compliant files.

Usage

To use validate-sops as a pre-commit hook in your projects, add the following configuration to your .pre-commit-config.yaml file:

repos:
-  repo: https://github.com/voldy/validate-sops
    rev: 'v0.1.0'  # Use the latest commit SHA or tag
    hooks:
    -   id: validate-sops
        files: '.*\/secrets\/encrypted\.(yaml|yml|json|env)$' # Adjust based on your file(s) location and type(s)

Local Development Setup

The following instructions are intended for contributors and developers working on the validate-sops utility itself.

Installation

This project uses Poetry for dependency management and package handling. Ensure you have Poetry installed on your system.

To set up validate-sops for local development, follow these steps:

  1. Clone the repository:
git clone https://github.com/voldy/validate-sops.git
cd validate-sops
  1. Install dependencies using Poetry:
poetry install
  1. Set up the pre-commit hooks: After configuring .pre-commit-config.yaml in your project, run the following command to set up the git hook scripts:
pre-commit install
  1. To manually execute all configured pre-commit hooks on all files, run:
poetry run pre-commit run --all-files

This step is useful for testing the hooks before committing.

Running Tests

To run the unit tests for validate-sops, use the following command:

poetry run pytest

Contributing

Contributions to validate-sops are welcome! Please feel free to submit pull requests or open issues to suggest improvements or report bugs.

Author

Vladimir Zhukov

License

validate-sops is licensed under the MIT License. See the LICENSE file in the project root for the full license text.

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

validate_sops-0.1.0.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distribution

validate_sops-0.1.0-py3-none-any.whl (5.1 kB view hashes)

Uploaded Python 3

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