Operators deliver the automation advantages of cloud services like provisioning, scaling, and backup/restore while being able to run anywhere that Kubernetes can run.
In order to build and run the web application in the same way as it does in production follow the next steps.
$ pushd frontend
npm install
npm run build
popd
$ pushd backend
npm install
npm run build
In server directory
$ npm run server
Other way to do this is to use Docker image in the repo root folder
$ docker build -t operatorhub .
docker run operatorhub
This is prefered way when working on front end code. You do not have to care about backend data and front end web server is running in watch mode - it updates when any of the source files is modified and saved.
$ cd frontend
npm install
npm start
http://0.0.0.0:9060/
Adhering to the following process is the best way to get your work included in the project:
- Fork the project, clone your fork, and configure the remotes:
# Clone your fork of the repo into the current directory
git clone https://github.com/<your-username>/operatorhub.io.git
# Navigate to the newly cloned directory
cd operatorhub.io
# Assign the original repo to a remote called "upstream"
git remote add upstream https://github.com/operator-framework/operatorhub.io.git
- Create a branch:
$ git checkout -b my-branch -t upstream/master
- Make your changes and commit to your local branch
Verify there are no lint errors
$ npm run lint
Add and Commit your files
$ git add <files to be committed>
$ git commit
- Rebase
Use git rebase
(not git merge
) to sync your work from time to time. Ensure all commits related to a single
issue have been squashed.
$ git fetch upstream
$ git rebase upstream/master
- Push
$ git push origin my-branch
- Create a Pull Request
Open a pull request with a clear title and description against
the dev
branch.
The dev
branch is used to validate in pre-production mode before moving to the final production servers. Once the
changes are validated on the pre-production servers, the maintainers will merge your changes to master
and onto the
production servers.
Licensed under the Apache License 2.0.