https://github.com/streamplace/wheelhouse
Swiss Army knife for Javascript + Kubernetes
https://github.com/streamplace/wheelhouse
Last synced: about 1 year ago
JSON representation
Swiss Army knife for Javascript + Kubernetes
- Host: GitHub
- URL: https://github.com/streamplace/wheelhouse
- Owner: streamplace
- Created: 2017-04-22T23:13:32.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2018-04-02T02:00:06.000Z (over 8 years ago)
- Last Synced: 2025-04-18T01:47:31.779Z (about 1 year ago)
- Language: JavaScript
- Size: 1.02 MB
- Stars: 9
- Watchers: 6
- Forks: 3
- Open Issues: 25
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Wheelhouse
[](https://travis-ci.org/streamplace/wheelhouse)
Wheelhouse is a development environment optimized for deploying sophisticated full-stack Javascript applications to Kubernetes.
To achieve these goals, it uses:
- [Lerna](https://lernajs.io) for managing npm packages,
- [Docker](https://www.docker.com/) for building containers,
- and [Helm](https://github.com/kubernetes/helm) for release management.
It draws heavy inspiration from the one-command development processes in projects like
[Meteor](https://www.meteor.com/) and
[create-react-app](https://github.com/facebookincubator/create-react-app).
## Installing
You need:
* node 4+
* npm 5+ (`npm install -g npm`)
* Docker (tested on Ubuntu 14.04 and macOS 10.11)
```
npm install -g wheelhouse
```
## Commands
### wheelhouse install
Installs all dependencies in all `package.json` files.
### wheelhouse link
Link local `node_modules` dependencies together. Usually you don't need to run this yourself.
`wheelhouse start` does it before it does anything else.
### wheelhouse start (alias run, dev)
Boots up your local development environment.
You can run certain apps on startup with `-a`, e.g. `wheelhouse start -a example-app`
### wheelhouse lint
NYI
### wheelhouse build
Build all of your Javascript modules, Docker containers, and Helm charts.
### wheelhouse deploy
Deploy all your Helm charts to a Kubernetes cluster.
## Known Issues
* On occasion `wheelhouse install` will run into a cache corruption issue that manifests as `TypeError: Cannot read property 'find' of undefined`. This is a known npm issue: [npm/npm#16677](https://github.com/npm/npm/issues/16677)
* Workaround: `npm cache verify`.
## Development
Clone the repo, and then:
```
npm install
npm run dev
```
This will globally link your local version of Wheelhouse as `wh-dev` so that it doesn't conflict
with any global versions of Wheelhouse.
## Changelog
### 0.2.0
* Run packages on startup with `-a`
* Added `wheelhouse --version`
* Added `wheelhouse link`
* Removed yarn dependency, added npm5 dependency
* Added `--disable-kube` flag
* Tabs with the frontend open now auto-reconnect when the server comes back
* Misc polish, including sorting apps consistently for display
### 0.1
First usable version.
## Credits
Wheelhouse is being jointly developed by
[Streamplace](https://stream.place) and
[C-SATS](https://www.csats.com).
## License
MIT