Giter VIP home page Giter VIP logo

sealed-secrets-ui's Introduction

Sealed Secrets UI

License Artifact Hub

image

Introduction

This application is designed to provide a web-based GUI for encrypting values for use with Bitnami Sealed Secrets.

This application currently supports:

  • All Kubeseal scopes (strict, namespace-wide, and cluster-wide)
  • Context selection
    • Multiple Kubeconfig files
    • Automatic context discovery from Kubeconfig files
  • Encryption of raw text (kubeseal --raw equivilent)
  • Whole file encryption (kubeseal --raw --from-file equivilent) with in-browser file uploads
  • Kubeconfig authentication against GKE (gke-gcloud-auth-plugin)
  • Direct API calls to seal secrets

This application currently does not support:

  • Converting Kubernetes Secret manifests to SealedSecret manifests (yet)
  • Any sort of authentication to the API or web UI
  • Setting the namespace that the Sealed Secrets operator is installed to (must be kube-system)
  • Authentication against any cloud provider (excluding Google) that require an authentication plugin

Install With Helm

View the chart docs for installation instructions and parameters.

Running Locally

Developed and tested with Python 3.10, not guarenteed to work with other versions.

  1. Create a Python virtual environment.
python -m venv ./venv
  1. Activate the virtual environment.
source venv/bin/activate
  1. Setup the Kubeconfig directory.
export KUBECONF_DIR="/path/to/my/kubeconfigs"
  1. Install requirements.
pip install -r requirements.txt
  1. Run in local development mode.
python main.py
  1. UI should be reachable at http://localhost:5000/ by default.

API Usage

For API usage information, please see API.md.

sealed-secrets-ui's People

Contributors

actions-user avatar noahburrell0 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

sealed-secrets-ui's Issues

feat: Add helm chart

To improve the deployment process of the application, a Helm chart should be created.

The helm chart, outside of the basics, should include:

  • The ability to add one or more kubeconfig files via secret or sealed secret
    • This should also support adding from an existing secret
  • Include "deploy extra" type functionality for including additional kubernetes manifests
  • Ability to set all required and optional settings in a config map

feat: add download button for encrypted value

It may be desirable, particularly with larger secrets, to have the ability to easily download a copy of the encrypted secret.

A simple download button, similar to the copy button, on the encrypted value text area would probably be the best way to handle this.

feat: add functionality to convert a secret to a sealed secret

The functionality to convert a Kubernetes secret manifest to a sealed secret manifest should be added. This functionality is specifically in relation to the "From Secret" mode dropdown option in the web interface which is currently greyed out.

A whole secret manifest should be able to be pasted in, and once sealed, a while sealed secret manifest should be returned.

feat: line numbers on textarea

Adding line numbers to the unencrypted input field should help to reduce potential white-space/newline related errors when sealing a secret.

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.