Skip to content

k8s-operatorhub/operatorhub.io

Repository files navigation

OperatorHub.IO

Welcome to OperatorHub

Operators deliver the automation advantages of cloud services like provisioning, scaling, and backup/restore while being able to run anywhere that Kubernetes can run.

Releasing OperatorHub.io

One needs to checkout main branch

git checkout main

Then one can create tag. It is increased by one version nummber each time. In this example v9

git tag -a -m "Release v9" v9
git push --tags

Then test when page is ok. If it is fine then one have to create latest tag to point to v9 so pipeline from https://github.com/k8s-operatorhub/community-operators will trigger it next time new operator is merged.

To create latest tag one have to delete it and then force push it. This is done by

git checkout v9
git tag -d latest
git tag -a -m "Release v9" latest
git push --tags --force

Build

In order to build and run the web application in the same way as it does in production follow the next steps.

Build Frontend
$ pushd frontend
npm install
npm run build
popd
Build Backend
$ pushd backend
npm install
npm run build

Running local server

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 -ti -p 8080:8080 operatorhub

Contributing

Running in Development Mode

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.

Running the local UI in dev mode
$ cd frontend
npm install
npm start
http://0.0.0.0:9060/
Contributing Code

Adhering to the following process is the best way to get your work included in the project:

  1. 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
  1. Create a branch:
$ git checkout -b my-branch -t upstream/master
  1. 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
  1. 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
  1. Push
$ git push origin my-branch
  1. 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.

License

Licensed under the Apache License 2.0.