{"id":18368666,"url":"https://github.com/radanalyticsio/oshinko-webui","last_synced_at":"2025-04-06T17:31:48.156Z","repository":{"id":11174372,"uuid":"56718581","full_name":"radanalyticsio/oshinko-webui","owner":"radanalyticsio","description":"Web console for a spark cluster management app","archived":false,"fork":false,"pushed_at":"2024-12-09T07:03:53.000Z","size":12523,"stargazers_count":28,"open_issues_count":13,"forks_count":17,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-03-22T04:02:09.806Z","etag":null,"topics":["openshift","oshinko-webui"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/radanalyticsio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-20T20:24:42.000Z","updated_at":"2023-11-20T14:33:30.000Z","dependencies_parsed_at":"2024-11-05T23:29:03.767Z","dependency_job_id":"b4204024-350e-4189-8da5-1aec38b9a52b","html_url":"https://github.com/radanalyticsio/oshinko-webui","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radanalyticsio%2Foshinko-webui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radanalyticsio%2Foshinko-webui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radanalyticsio%2Foshinko-webui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radanalyticsio%2Foshinko-webui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/radanalyticsio","download_url":"https://codeload.github.com/radanalyticsio/oshinko-webui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247522391,"owners_count":20952540,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openshift","oshinko-webui"],"created_at":"2024-11-05T23:26:56.075Z","updated_at":"2025-04-06T17:31:47.423Z","avatar_url":"https://github.com/radanalyticsio.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build status](https://travis-ci.org/radanalyticsio/oshinko-webui.svg?branch=master)](https://travis-ci.org/radanalyticsio/oshinko-webui)\n[![Docker build](https://img.shields.io/docker/automated/radanalyticsio/oshinko-webui.svg)](https://hub.docker.com/r/radanalyticsio/oshinko-webui)\n[![Known Vulnerabilities](https://snyk.io/test/github/radanalyticsio/oshinko-webui/badge.svg)](https://snyk.io/test/github/radanalyticsio/oshinko-webui)\n\n# oshinko-webui\n\nThis project provides a solution for deploying and managing Apache Spark\nclusters in an OpenShift environment. The oshinko-webui is deployed into a\nproject within OpenShift, and then can create, update, and destroy Apache\nSpark clusters in that project. Once installed, it consists of a Node.JS\napplication that is contained within a Pod and provides a web browser based\nuser interface for controlling the lifecycle of Spark clusters.\n\n## Installation\n\nIn general, there are two main audiences for a discussion of installing the\noshinko-webui: users and developers. If you are interested in running as a\nuser, or to test drive the application, please see the\n[Step-by-step quickstart](https://github.com/radanalyticsio/oshinko-webui#step-by-step-quickstart)\ninstructions. If you would like to get started hacking on oshinko-webui please\nsee the\n[Developer instructions](https://github.com/radanalyticsio/oshinko-webui#running-the-app-during-development)\nsection.\n\n### Step-by-step quickstart\n\nThese instructions assume that you have access to an OpenShift cluster and\nthe `oc` command line tool. Although these instructions will help you to\ninstall the oshinko-webui into your OpenShift project, it is possible in\nsome circumstances that you will not have enough privileges to run the\ninstallation. In the event that you are unable to create the necessary\ncomponents to install the application, please consult with your OpenShift\nadministrator.\n\nBefore performing the following instructions, you must be logged in to\nyour account and project using the `oc` tool.\n\n**Step 1. Create the service account and template**\n\nFor oshinko-webui to interact with OpenShift and control the Spark resources\nyou will create, it needs a service account in your project. The service account\nis created with edit permissions along with the oshinko-webui template by issuing\nthe following command:\n\n    oc create -f https://radanalytics.io/resources.yaml\n\n**Step 2. Run oshinko-webui**\n\n    oc new-app --template=oshinko-webui\n\n## Developer instructions\n\nIf you are interested in developing the code for oshinko-webui or hacking on\nits internals, the following instructions will help you to deploy, run, and\ntest the code.\n\nBefore getting started you will need to have access to an OpenShift cluster,\nthe `oc` command line application, and the\n[oshinko-cli](https://github.com/radanalyticsio/oshinko-cli) command line\napplication.\n\n### Running the app during development\n\nYou'll need to have a node environment installed (developed using NodeJS v6.3.1).\nYou might prefer to use nvm (https://github.com/creationix/nvm)\nto manage your node environment.\nOnce that is set up, you can run the following:\n\n    $ npm install\n    $ npm install -g bower\n    $ bower install\n\nNow you're ready to run the oshinko-webui server.\n\nNote, a working local \"oc\" binary is expected.\nTo run locally, you'll need a proxy to the api server running.\nThe following will run a basic proxy, see oc proxy --help if you require\nsomething more specific.\n\n    $ oc proxy --disable-filter=true --api-prefix=/proxy \u0026\n\nEdit the exports in scripts/launch-local.sh to match your environment.\n\nChange to the scripts directory and run\n\n    $ ./launch-local.sh\n     \n\nYou can pick one of these options:\n\n* install node.js and run `node server.js`\n\nThen navigate your browser to `http://localhost:\u003cport\u003e` to see the app running in\nyour browser.\n\n\n### Running unit tests\nTo run the unit tests:\n\n    $ npm install -g karma-cli\n    $ karma start test/karma.conf.js\n\n\n### End to end testing\n\nThe end to end tests can be run using the `test/e2e.sh` script.\nThis script assumes a current login to an OpenShift instance\nand it runs the test in the current project (it's recommended\nto create a fresh project for the test run). It also assumes\nthat the local oshinko-webui repository has been setup (ie all\nthe dependencies have been installed and the webui components\nhave been installed with `npm` and `bower` as noted above).\n\nThe `test/e2e.sh` script will create a serviceaccount,\ntemplates, a configmap, etc in the current project as part\nof the test.\n\nAs a convenience, the *test-e2e* and *test-e2e-secure* make\ntargets can be used to run the test. These targets will\nfirst create a new OpenShift project with prefix *webui-*,\n build a local image and then run the test with defaults.\nFor example:\n\n```sh\n$ make test-e2e\n...\n$\n$ make test-e2e-secure\n...\n```\n\nThe environment variables below can be set for the call\nto make, for example:\n\n```sh\n$ WEBUI_START_XVFB=false make test-e2e\n```\n\n#### Environment variables for test configuration\n\nThere are several enviroment variables that you can set\nto configure the tests:\n\n``WEBUI_START_XVFB`` (default is true)\n\n  This causes the test to start an Xvfb server running\n  for display 99 if it's not already running (required).\n\n``WEBUI_TEST_IMAGE`` (default is oshinko-webui:latest if WEBUI_TEST_LOCAL_IMAGE is true or docker.io/radanalyticsio/oshinko-webui otherwise)\n\n  The image to use for testing. The defaults are set up to\n  reference an image from the local docker host (ie, one that has just been\n  built) but this setting can be used to reference an image from an arbitrary\n  docker registry.\n\n``WEBUI_TEST_LOCAL_IMAGE`` (default is true)\n\n  This indicates that the s2i images to be tested are local, that is they\n  are available from the local docker daemon but not in an external registry\n  like docker hub.\n\n  If this is set to \"false\", the test image is assumed to be in an external\n  registy. **WEBUI_TEST_INTEGRATED_REGISTRY** and **WEBUI_TEST_EXTERNAL_REGISTRY**\n  will be ignored because there will be no need to push local images to\n  a registry.\n\n``WEBUI_TEST_INTEGRATED_REGISTRY``\n\n  This is the IP address of the integrated registry. Use this setting when:\n  * running the test using local images\n  * running the test on a host where the integrated registry is reachable (like the OpenShift master)\n  * using an OpenShift instance that was not created with `oc cluster up`\n\n```sh\n$ WEBUI_TEST_INTEGRATED_REGISTRY=172.123.456.89:5000 test/e2e.sh\n```\n\n``WEBUI_TEST_EXTERNAL_REGISTRY``\n\n  This is the IP address of a docker registry. If this is set then\n  **WEBUI_TEST_EXTERNAL_USER** and **WEBUI_TEST_EXTERNAL_PASSWORD** must also\n  be set so that the tests can log in to the registry.\n  Use this setting when:\n  * running the test using local images\n  * running the test from a host where the integrated registry is not reachable\n  * using an OpenShift instance that was not created with `oc cluster up`\n\n``WEBUI_TEST_SECURE`` (default is false)\n\n  Use the template for a secure webui. If this is set to true\n  and the OpenShift instance was not created with `oc cluster up`,\n  then **WEBUI_TEST_SECURE_USER** and **WEBUI_TEST_SECURE_PASSWORD**\n  should be used to set login credentials for the webui.\n\n``WEBUI_TEST_SECURE_USER`` (default is \"developer\")\n\n  Username to use for a secure webui test\n\n``WEBUI_TEST_SECURE_PASSWORD`` (default is \"deverloperpass\")\n\n  Password to use for a secure webui test\n\n``WEBUI_TEST_RESOURCES`` (default is local tools/resources.yaml)\n\n  The resources.yaml file used to set up test resources. The value\n  may be a file path, or it may be a url such as\n  https://radanalytics.io/resources.yaml.\n\n#### Dependencies for end to end tests\n\nThe end to end tests require a number of dependencies.\nThe `test/e2e-setup.sh` script has been provided to install\nthe dependencies and setup an oshinko-webui repository\nfor testing. This is especially helpful when setting up\na clean machine.\n\nNote, `test/e2e-setup.sh` assumes passwordless sudo.\n\nYou can look through the script and see what it installs\nand make sure those things are installed yourself or you\ncan do this:\n\n```bash\n$ test/e2e-setup.sh  # from the oshinko-webui main directory\n```\n\nThe script should be idempotent.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradanalyticsio%2Foshinko-webui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradanalyticsio%2Foshinko-webui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradanalyticsio%2Foshinko-webui/lists"}