All Projects → CARV-ICS-FORTH → karvdash

CARV-ICS-FORTH / karvdash

Licence: Apache-2.0 license
Knot provides a complete environment for unleashing your productivity on Kubernetes

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
Smarty
1635 projects
javascript
184084 projects - #8 most used programming language
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to karvdash

charts
Deploy Kubernetes Helm Charts for Check Point CloudGuard
Stars: ✭ 18 (-40%)
Mutual labels:  helm
auth
Go library for generating JWT Tokens, authorizing HTTP requests, etc.
Stars: ✭ 31 (+3.33%)
Mutual labels:  helm
monokle
🧐 Monokle streamlines the process of creating, analyzing, and deploying Kubernetes configurations by providing a unified visual tool for authoring YAML manifests, validating policies, and managing live clusters.
Stars: ✭ 795 (+2550%)
Mutual labels:  helm
helm-lsp
lsp-mode ❤️ helm
Stars: ✭ 80 (+166.67%)
Mutual labels:  helm
yaml-update-action
Update YAML property with dynamic values
Stars: ✭ 81 (+170%)
Mutual labels:  helm
helm-pass
Moved to gitlab
Stars: ✭ 22 (-26.67%)
Mutual labels:  helm
alfresco-identity-service
Repository for the Alfresco Identity Service
Stars: ✭ 33 (+10%)
Mutual labels:  helm
drone-gcloud-helm
Drone 0.5 plugin to create and deploy Helm charts for Kubernetes in Google Cloud.
Stars: ✭ 13 (-56.67%)
Mutual labels:  helm
datahub
JupyterHubs for use by Berkeley enrolled students
Stars: ✭ 40 (+33.33%)
Mutual labels:  helm
camunda-cloud-helm
Camunda Platform 8 Self-Managed Helm charts
Stars: ✭ 41 (+36.67%)
Mutual labels:  helm
kubernetes-apim
Kubernetes and Helm resources for WSO2 API Manager
Stars: ✭ 66 (+120%)
Mutual labels:  helm
presto-chart
Highly configurable Helm Presto Chart
Stars: ✭ 23 (-23.33%)
Mutual labels:  helm
moadsd-ng
The MOADSD-NG project does provide a simple way to setup a hybrid cloud security demo, playground and learning environment within the clouds.
Stars: ✭ 13 (-56.67%)
Mutual labels:  helm
clearml-server-helm
ClearML Server for Kubernetes Clusters Using Helm
Stars: ✭ 18 (-40%)
Mutual labels:  helm
action-setup-kube-tools
Github Action that setup Kubernetes tools (kubectl, kustomize, helm, kubeconform, conftest, yq, rancher, tilt, skaffold) very fast and cache them on the runner. Please [✩Star] if you're using it!
Stars: ✭ 45 (+50%)
Mutual labels:  helm
helm-certgen
Helm plugin for generation of TLS certificates
Stars: ✭ 15 (-50%)
Mutual labels:  helm
helm-charts
Community maintained Helm charts for Flux
Stars: ✭ 66 (+120%)
Mutual labels:  helm
helm-charts
OpenSourced Helm charts
Stars: ✭ 38 (+26.67%)
Mutual labels:  helm
kube-opennebula
Helm chart and OpenNebula images ready to deploy on Kubernetes
Stars: ✭ 43 (+43.33%)
Mutual labels:  helm
zammad-helm
Zammad Helm chart for Kubernetes
Stars: ✭ 42 (+40%)
Mutual labels:  helm

Knot logo

Knot is a complete environment for doing actual work on Kubernetes. It includes a complete set of web-based tools to help you unleash your productivity, without ever needing to use the command line. At its core, the Knot dashboard supplies the landing page for users, allowing them to launch notebooks and other services, design workflows, and specify parameters related to execution through a user-friendly interface. The dashboard manages users, wires up relevant storage to the appropriate paths inside running containers, securely provisions multiple services under one externally-accessible HTTPS endpoint, while keeping them isolated in per-user namespaces at the Kubernetes level, and provides an identity service for OAuth 2.0/OIDC-compatible applications.

Knot services screen

The Knot installation includes JupyterHub, Argo Workflows, Harbor, and Grafana/Prometheus, all accessible through the dashboard. Behind the scenes, other popular tools are automatically installed to help with the integration, such as cert-manager, the NGINX Ingress Controller, Vouch Proxy, and the NFS CSI Driver. Knot also uses Helm charts internally for implementing service templates.

Check out the documentation (also available in the Knot dashboard under "Documentation" at the user menu), which includes installation instructions, a user guide, and technical notes on how Knot works internally. The Knot dashboard is written in Python using Django.

Deployment

To deploy Knot you need a typical Kubernetes installation, Helm, the Helm diff plugin, and Helmfile installed. We develop, test, and run Knot on Kubernetes 1.22.x.

For quickly trying out Knot, apply the the latest Knot helmfile.yaml with:

export KNOT_HOST=example.com
helmfile -f git::https://github.com/CARV-ICS-FORTH/[email protected] sync

The variable KNOT_HOST is necessary. By default, we use cert-manager to self-sign a wildcard certificate for the given host. You need to make sure that at the DNS level, both the domain name and its wildcard point to your server (i.e., both example.com and *.example.com). If you already know your external IP address, you can use a nip.io name (i.e., set KNOT_HOST to <your IP address>.nip.io).

For storage, Knot uses two persistent volume claims: one for internal state (shared by all services) and one for user files. You can use helmfile variables to setup Knot on top of existing PVCs, or skip the storage controller and directly use local storage (useful for single-server, bare metal setups).

Deployment options are discussed in the deployment chapter of the documentation. To customize deployment values like volume sizes and OAuth secrets, you can create easily create a custom helmfile that extends the default.

Development

To develop Knot in a local Kubernetes environment, like the one provided by Docker Desktop for macOS (tested with versions >= 4.3.x, <= 4.7.x which use Kubernetes 1.22.x), first create and populate the Python virtual environment with:

make prepare-develop

Then install Knot in a special configuration, where all requests to the dashboard are forwarded locally:

make deploy-sync

Start the local server and async task worker with:

make develop

When done, point your browser to https://<your IP address>.nip.io and login as "admin".

Building images

Container images for the Knot dashboard are available.

To build your own locally, run:

make container

To change the version, edit VERSION. Other variables, like the kubectl version and the container registry name are set in the Makefile.

To test the container in a local Kubernetes environment, run:

make test-sync

Then point your browser to https://<your IP address>.nip.io and login.

To build and push the container image, run:

make container-push

We use buildx to build the Knot container for multiple architectures (linux/amd64 and linux/arm64) automatically when a new version tag is pushed. This also triggers publishing the corresponding Knot dashboard Helm chart.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].