Giter VIP home page Giter VIP logo

vscode-sops's Introduction

VSCode SOPS extension

Info

The homepage of VSCode extension is located on https://github.com/signageos/vscode-sops

Extension for VSCode is available on market place https://marketplace.visualstudio.com/items?itemName=signageos.signageos-vscode-sops Additionally, it's available on Open VSX market place https://open-vsx.org/extension/signageos/signageos-vscode-sops

Features

VSCode extension with underlying SOPS supports:

  • Realtime editing of encrypted yaml, json, dotenv, plaintext, binary and ini files in-place in your project.
  • Create new encrypted yaml/json file using .sops.yaml config creation_rules if available.

This extension works with binaries sops / age / ... installed via aquaproj/aqua.

Requirements

Make sure that sops is available in $PATH environment variable

Extension Settings

  • sops.enable: enable/disable this extension (default: true)
  • sops.beta: enable/disable beta release without reloading VSCode or enabling/disabling extensions (default: false)
  • sops.binPath: Path to SOPS binary (default: executables from $PATH)
  • sops.configPath: Path (absolute or relative) to the configuration for this extension (empty: defaults to .sopsrc in root of project) See Config file section.
  • sops.defaults.awsProfile: Default AWS profile name which will be used for sops command --aws-profile (empty: defaults to environment variable $AWS_PROFILE)
  • sops.defaults.gcpCredentialsPath: Default path used to find GCP credentials. Overrides the $GOOGLE_APPLICATION_CREDENTIALS environment variable (empty: defaults to environment variable $GOOGLE_APPLICATION_CREDENTIALS)
  • sops.defaults.ageKeyFile: Default path used to find AGE key file. Overwrites the $SOPS_AGE_KEY_FILE environment variable (default: uses from environment variable $SOPS_AGE_KEY_FILE)
  • sops.creationEnabled: enable/disable this extension to try encrypt files included in .sops.yaml path_regex when is not encrypted yet (default: false)

Config file

Named .sopsrc in project root by default and is in YAML format.

awsProfile: my-profile-1
gcpCredentialsPath: /home/user/Downloads/my-key.json
ageKeyFile: /home/user/age.txt

Beta releases

The new features are published immediately into different extension package https://marketplace.visualstudio.com/items?itemName=signageos.signageos-vscode-sops-beta

The beta extension package is installed automatically and is disabled by default.

If you'd like to try new features, just enable configuration "sops.beta": true in global (or workspace) config file and changes are applied immediately.

You can switch beta configuration globally easily using commands sops.enable_beta/sops.disable_beta.

I recommend to have enabled beta release to test everything as soon as possible. If something went wrong in beta release, just easily rollback to "sops.beta" false and report an issue here: https://github.com/signageos/vscode-sops/issues

The reason is that vscode doesn't support beta releases built-in. See and vote for microsoft/vscode#15756

SOPS differ

Optionally, you can add following file .gitattributes into your project

encrypted/*.{yaml,json,ini,env} diff=sopsdiffer

and run following command for global git settings

git config --global diff.sopsdiffer.textconv "sops -d --config /dev/null"

to see the git diff in decrypted format.

Known Issues

See https://github.com/signageos/vscode-sops/issues

Release Notes

See https://github.com/signageos/vscode-sops/blob/master/CHANGELOG.md file.


Enjoy!

vscode-sops's People

Contributors

dependabot[bot] avatar jeffj254 avatar misak113 avatar nikitacoeur avatar tumido avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.