Oshinko-webui is a web-based console for deploying and managing Apache Spark clusters within OpenShift environments. Written primarily in JavaScript, the project provides a Node.js application that runs in an OpenShift Pod and delivers a browser-based user interface for controlling the complete lifecycle of Spark clusters, including creation, updates, and deletion operations.
The application is designed for two distinct user groups. End users can quickly deploy oshinko-webui into their OpenShift project and immediately begin managing Spark clusters through the web interface. Developers can extend and modify the codebase by setting up a local development environment with Node.js, npm, and bower dependencies, then running the application locally with an OpenShift proxy connection.
Installation for users follows a straightforward two-step process. First, users create a service account and template by applying a resources configuration file from radanalytics.io, which grants oshinko-webui the necessary edit permissions to interact with OpenShift and manage Spark resources. Second, they deploy the application using OpenShift's template system. The process assumes users have access to an OpenShift cluster, the oc command-line tool, and sufficient privileges to create the required components.
For developers, the setup process requires a working OpenShift cluster, the oc command-line tool, and the oshinko-cli application. The development workflow involves installing Node.js dependencies through npm and bower, then running a local proxy to the OpenShift API server before launching the application. The project includes comprehensive testing infrastructure with unit tests managed through Karma and end-to-end tests executed via a dedicated shell script.
The end-to-end testing framework is particularly robust, offering extensive configuration through environment variables. Developers can control test behavior including Xvfb display server initialization, test image selection from local or external registries, registry authentication, and secure webui testing with custom credentials. The test infrastructure automatically creates necessary OpenShift resources including service accounts, templates, and configmaps within a dedicated test project.
According to GitGenius activity classification, oshinko-webui operates across multiple technical domains including Apache Spark cluster management, Kubernetes integration, deployment automation, resource scaling, and cloud computing infrastructure. The project functions as both a dashboard and user interface layer for complex distributed computing operations, enabling non-technical users to manage sophisticated Spark deployments without direct command-line interaction.
The repository demonstrates active development patterns focused on cluster lifecycle management and OpenShift integration. The codebase supports both standard and secure deployment configurations, with the latter requiring authentication credentials. The project's architecture separates concerns between the web interface layer and the underlying OpenShift API interactions, allowing the webui to function as a thin client that translates user actions into OpenShift resource operations.