Giter Site home page Giter Site logo

hkrpavan / kubeseal-webgui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jaydee94/kubeseal-webgui

0.0 0.0 0.0 17.73 MB

This is a simple web ui for Bitnami Sealed Secrets.

License: Apache License 2.0

Shell 10.38% JavaScript 4.11% Python 40.97% HTML 1.35% Vue 40.54% Mustache 2.65%

kubeseal-webgui's Introduction

Web-Gui for Bitnami Sealed-Secrets

made-with-python License DeepSource CodeQL

Description

This is a python based webapp for using Bitnami-Sealed-Secrets in a web-gui.

This app uses the kubeseal binary of the original project: https://github.com/bitnami-labs/sealed-secrets

Currently using version 0.19.1 of the kubeseal-binary.

The docker images can be found here:

Demo

KubeSeal WebGui Demo

Prerequisites

To use this Web-Gui you have to install Bitnami-Sealed-Secrets in your cluster first!

Installation

You can use the helm chart which is included inside this repository to install kubseal-webgui.

helm repo add kubesealwebgui https://jaydee94.github.io/kubeseal-webgui/
helm repo update

# Make sure to configure all required values (with helm's --set argument) documented in our helm Chart before installing.
helm install kubesealwebgui/kubeseal-webgui --set example_required_value="foobar"

Usage

Mount the public certificate of your sealed secrets controller to /kubeseal-webgui/cert/kubeseal-cert.pem in the Docker container.

Please use the helm chart which is included in this repository.

Upgrade from 2.0.X to 2.1.0

When upgrading to 2.1.0 make sure that you also update the helm chart for installing kubeseal-webgui. The application reads namespaces from current kubernetes cluster and needs to have access to list them. If your default serviceaccount has this RBAC rule already you could disable serviceaccount.create in the values.yaml of the helm chart.

Upgrade from 2.0.X to 3.0.X

When upgrading to 3.0.X you dont need to deploy a ingress route to the api. The nginx serving the ui will proxy the requests to the api. You can use the new helm chart located inside the chart folder to deploy the new kubseal-webgui version.

Get Public-Cert from sealed-secrets controller

(Login to your kubernetes cluster first)

kubeseal --fetch-cert --controller-name <your-sealed-secrets-controller> --controller-namespace <your-sealed-secrets-controller-namespace> > kubeseal-cert.pem

Contribute

Working on the API

Requirements

  • Make sure you have Python 3.9 installed.

Setup API

  • Clone this repository and run cd api.
  • python3 -m venv venv (to create a virtual environment called venv that doesn't interfere with other projects)
  • source venv/bin/activate (to activate the virtual environment)
  • python -m pip install . (to install all required packages for this project)
  • pytest (should run all tests successfully)

Local API testing

  • Running uvicorn server

    MOCK_ENABLED=true uvicorn kubeseal_webgui_api.app:app

    or use a container and set the environment variables there

    docker build -t api -f Dockerfile.api .
    docker run --rm -t \
     -p 5000:5000 \
     -e MOCK_ENABLED=TRUE \
     -e KUBESEAL_CERT=/tmp/cert.pem \
     api

Working on the UI

Setup UI

  • Clone this repository and run cd ui.
  • You can either use yarn or npm for the following commands.
  • yarn install to install all dependencies
  • npm install to install all dependencies

Local UI testing

  • yarn serve to compile and start HTTP server on port 8080 with hot-reloads for development
  • npm run serve to compile and start HTTP server on port 8080 with hot-reloads for development

kubeseal-webgui's People

Contributors

jaydee94 avatar therealjsie avatar fschumacher avatar renovate[bot] avatar uip9av6y avatar dependabot[bot] avatar cz4rny avatar datreeio[bot] 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.