Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

stackabletech/stackable-cockpit

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stackable Logo

Stackable Cockpit

PRs Welcome Apache License 2.0

Stackable Data Platform | Platform Docs | Discussions | Discord

This repository contains the Stackable library stackable-cockpit, the Stackable CLI tool stackablectl, the Stackable Cockpit server stackable-cockpitd, and the web-based admin user interface.

Components

  • stackable-cockpit: The underlying library for all actions related to the Stackable Data Platform
  • stackablectl: CLI tool to interact with local and remote deployments of the data platform
  • stackable-cockpitd: API server used by frontends to interact with the data platform
  • stackable-cockpit-web: The web-based admin UI powered by SolidJS, TypeScript and Vite

Developer Setup

Prerequisites

  • A working (and up2date) NodeJS installation, with Yarn as the preferred package manager
  • A working (and up2date) Rust installation including rustc, clippy, and cargo
  • Optional, but strongly advised: a working pre-commit installation

Getting started

git clone git@github.com:stackabletech/stackable-cockpit.git
cd stackable-cockpit

The admin UI is registered as a crate and is part of the build process, as the HTML/CSS/JS bundle is included in the final stackable-cockpitd binary. To get the build process running, first execute yarn install to install all required NodeJS dependencies in the node_modules folder.


Each component can be build separately like this:

cargo build --release -p stackablectl                     # Builds stackablectl
cargo build --release -p stackable-cockpitd               # Builds the Stackable Cockpit API server
cargo build --release -p stackable-cockpitd --features ui # Builds the Stackable Cockpit API server bundled with the admin UI
cd web && yarn run build && cd -                          # Builds the admin UI

Pre-commit hooks and xtasks

This repository uses multiple pre-commit hooks to run checks, formatting and code-generation on different files. The hooks are:

  • trailing-whitespace: Trims trailing whitespace in all files
  • end-of-file-fixer: Files need to end with newlines
  • detect-aws-credentials: Detect AWS secrets
  • detect-private-key: Detect private keys
  • yamllint: Runs linting on all YAML files
  • markdownlint: Runs linting on all Markdown files
  • prettier: Runs prettier on files located in web
  • cargo clippy --all-targets --all-features -- -D warnings: Runs Clippy on all files and errors on warnings
  • cargo fmt -- --check: Checks if Rust code needs formatting
  • cargo xtask gen-comp: Runs shell completions generation for stackablectl
  • cargo xtask gen-man: Runs man page generation for stackablectl
  • cargo xtask gen-openapi: Runs OpenAPI spec generation to connect backend with frontend
  • cargo xtask gen-ctl-readme: Generates and inserts stackablectl help text into README

About

Home of stackable-cockpit, stackablectl and stackable-cockpitd

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 16

Morty Proxy This is a proxified and sanitized view of the page, visit original site.