Name | validate-sops JSON |
Version |
0.1.1
JSON |
| download |
home_page | https://github.com/voldy/validate-sops |
Summary | 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. |
upload_time | 2024-02-20 16:36:19 |
maintainer | |
docs_url | None |
author | Vladimir Zhukov |
requires_python | >=3.11,<4.0 |
license | MIT |
keywords |
sops
pre-commit
hook
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Validate-SOPS
## Overview
`validate-sops` is a Python utility designed to validate that specified files are encrypted using [Mozilla SOPS (Secrets OPerationS)](https://github.com/mozilla/sops). It ensures that sensitive files committed to your repository are securely encrypted, preventing accidental exposure of secrets.
## Supported Formats
The utility supports validation for files in the following formats:
- JSON (.json)
- YAML (.yaml and .yml)
- Environment files (.env)
## 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](https://pre-commit.com/) hook in your projects, add the following configuration to your `.pre-commit-config.yaml` file:
```yaml
repos:
- repo: https://github.com/voldy/validate-sops
rev: 'v0.1.1' # Use the latest commit SHA or tag
hooks:
- id: validate-sops
# Adjust based on your file(s) location and type(s)
files: '.*\/secrets\/encrypted\.(yaml|yml|json|env)$'
```
Ensure that the file paths and types specified in the files regex pattern match the location and formats of the files you intend to validate in your project.
## Local Development Setup
The following instructions are intended for contributors and developers working on the `validate-sops` utility itself.
### Installation
This project uses [Poetry](https://python-poetry.org/) 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:
```bash
git clone https://github.com/voldy/validate-sops.git
cd validate-sops
```
2. Install dependencies using Poetry:
```bash
poetry install
```
3. 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:
```bash
pre-commit install
```
4. To manually execute all configured pre-commit hooks on all files, run:
```bash
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:
```bash
poetry run pytest
```
### Testing Changes Locally in Another Project
If you're making changes to `validate-sops` and want to test these changes within the context of another project that uses `validate-sops` as a pre-commit hook, you can leverage the `pre-commit try-repo` command. This allows you to run your locally modified version of `validate-sops` directly in the consuming project without needing to commit or push your changes.
Here's how you can test your local changes to `validate-sops` in another project:
1. Navigate to the root directory of the project where `validate-sops` is integrated as a pre-commit hook.
2. Run the following command:
```bash
pre-commit try-repo /local/path/to/validate-sops validate-sops --verbose --all-files
```
Replace `/local/path/to/validate-sops` with the actual path to your local clone of the validate-sops repository.
**Note**: The `try-repo` command allows you to temporarily include your local version of `validate-sops` in the pre-commit configuration of the consuming project. This enables you to test uncommitted changes in `validate-sops` directly, making it easier to iterate on your development before finalizing your changes.
## 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.
Raw data
{
"_id": null,
"home_page": "https://github.com/voldy/validate-sops",
"name": "validate-sops",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11,<4.0",
"maintainer_email": "",
"keywords": "sops,pre-commit,hook",
"author": "Vladimir Zhukov",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/62/6f/7c03edfd30776d71aeacce66ed71dbaf9422369947efc7f401d1b244c2d1/validate_sops-0.1.1.tar.gz",
"platform": null,
"description": "# Validate-SOPS\n\n## Overview\n\n`validate-sops` is a Python utility designed to validate that specified files are encrypted using [Mozilla SOPS (Secrets OPerationS)](https://github.com/mozilla/sops). It ensures that sensitive files committed to your repository are securely encrypted, preventing accidental exposure of secrets.\n\n## Supported Formats\n\nThe utility supports validation for files in the following formats:\n\n- JSON (.json)\n- YAML (.yaml and .yml)\n- Environment files (.env)\n\n## Features\n\n- Validates multiple files for SOPS encryption.\n- Easily integrated into pre-commit hooks for automated validation.\n- Provides clear error messages for non-compliant files.\n\n## Usage\n\nTo use `validate-sops` as a [pre-commit](https://pre-commit.com/) hook in your projects, add the following configuration to your `.pre-commit-config.yaml` file:\n\n```yaml\nrepos:\n- repo: https://github.com/voldy/validate-sops\n rev: 'v0.1.1' # Use the latest commit SHA or tag\n hooks:\n - id: validate-sops\n # Adjust based on your file(s) location and type(s)\n files: '.*\\/secrets\\/encrypted\\.(yaml|yml|json|env)$'\n```\n\nEnsure that the file paths and types specified in the files regex pattern match the location and formats of the files you intend to validate in your project.\n\n## Local Development Setup\n\nThe following instructions are intended for contributors and developers working on the `validate-sops` utility itself.\n\n### Installation\n\nThis project uses [Poetry](https://python-poetry.org/) for dependency management and package handling. Ensure you have Poetry installed on your system.\n\nTo set up `validate-sops` for local development, follow these steps:\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/voldy/validate-sops.git\ncd validate-sops\n```\n\n2. Install dependencies using Poetry:\n\n```bash\npoetry install\n```\n\n3. Set up the pre-commit hooks:\nAfter configuring `.pre-commit-config.yaml` in your project, run the following command to set up the git hook scripts:\n\n```bash\npre-commit install\n```\n\n4. To manually execute all configured pre-commit hooks on all files, run:\n\n```bash\npoetry run pre-commit run --all-files\n```\n\nThis step is useful for testing the hooks before committing.\n\n### Running Tests\n\nTo run the unit tests for `validate-sops`, use the following command:\n\n```bash\npoetry run pytest\n```\n\n### Testing Changes Locally in Another Project\nIf you're making changes to `validate-sops` and want to test these changes within the context of another project that uses `validate-sops` as a pre-commit hook, you can leverage the `pre-commit try-repo` command. This allows you to run your locally modified version of `validate-sops` directly in the consuming project without needing to commit or push your changes.\n\nHere's how you can test your local changes to `validate-sops` in another project:\n\n1. Navigate to the root directory of the project where `validate-sops` is integrated as a pre-commit hook.\n2. Run the following command:\n\n```bash\npre-commit try-repo /local/path/to/validate-sops validate-sops --verbose --all-files\n```\n\nReplace `/local/path/to/validate-sops` with the actual path to your local clone of the validate-sops repository.\n\n**Note**: The `try-repo` command allows you to temporarily include your local version of `validate-sops` in the pre-commit configuration of the consuming project. This enables you to test uncommitted changes in `validate-sops` directly, making it easier to iterate on your development before finalizing your changes.\n\n## Contributing\n\nContributions to `validate-sops` are welcome! Please feel free to submit pull requests or open issues to suggest improvements or report bugs.\n\n## Author\n\nVladimir Zhukov\n\n## License\n\n`validate-sops` is licensed under the MIT License. See the `LICENSE` file in the project root for the full license text.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "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.",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/voldy/validate-sops",
"Repository": "https://github.com/voldy/validate-sops"
},
"split_keywords": [
"sops",
"pre-commit",
"hook"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2704e6e17072632d3a9eeea96fc602dee7dd6e730cfdd8bac8edf01f1622ab48",
"md5": "80c96301754a54cdf90f07c88b498961",
"sha256": "91f537b29403ded87eb5b682692335d71f3f218fd5109294536427858a8d5c88"
},
"downloads": -1,
"filename": "validate_sops-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "80c96301754a54cdf90f07c88b498961",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11,<4.0",
"size": 6304,
"upload_time": "2024-02-20T16:36:18",
"upload_time_iso_8601": "2024-02-20T16:36:18.075540Z",
"url": "https://files.pythonhosted.org/packages/27/04/e6e17072632d3a9eeea96fc602dee7dd6e730cfdd8bac8edf01f1622ab48/validate_sops-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "626f7c03edfd30776d71aeacce66ed71dbaf9422369947efc7f401d1b244c2d1",
"md5": "471a3fa8ef142e7be8bef0a61f7bc7fd",
"sha256": "81446b8c4158cc5c1be72b67633173416e9020d8fa9db0b95a14e722c415c469"
},
"downloads": -1,
"filename": "validate_sops-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "471a3fa8ef142e7be8bef0a61f7bc7fd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11,<4.0",
"size": 4619,
"upload_time": "2024-02-20T16:36:19",
"upload_time_iso_8601": "2024-02-20T16:36:19.446325Z",
"url": "https://files.pythonhosted.org/packages/62/6f/7c03edfd30776d71aeacce66ed71dbaf9422369947efc7f401d1b244c2d1/validate_sops-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-20 16:36:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "voldy",
"github_project": "validate-sops",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "validate-sops"
}