ccb-operator

module
v0.0.0-...-5231612 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2024 License: GPL-3.0

README

Table of Contents

About The Project

This cloud computing base operator that consists of many different components designed with a microservices architecture, can be deployed in an Openshift cluster in order to run different kinds of calculations that require a total consumption of the resources of specific worker nodes.

Currently, it is being used to calculate a model that gives us a synthetic spectrum of uniformly rotating stars that is a far better representation of the observed data than a synthetic spectrum of non-rotating stars. This result will be compared to the data acquired by the ESA Hipparcos and ESA Gaia space missions, as well as those carried out by ground-based observatories.

A non-detailed design looks like: design

Components

The operator consists of different components, each responsible for trivial but specific tasks.

  • Dispatcher
  • Worker
  • Result-collector
  • Janitor
Dispatcher

The dispatcher is responsible for creating the calculations and assign them to workers. A calculation can be created either from adding a value in the database (Redis is currently used) or by creating a new one from the dashboard.

Worker

This component is a deamonset that will choose a specific labeled node to run, with the purpose of executing the given commands. Currently each execution will run the atlas12 and synspec commands.

Result-collector

This component is responsible for gathering the results of each completed calculation and organize them in an NFS storage.

Janitor

Because of the big amount of calculations that can be created in the cluster, this component is responsible for deleting any of the calculations that passed the retention time.

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

  • Openshift 4.x cluster
  • Network file server (NFS)

Installation

  1. Clone the repo and go to the folder
git clone https://github.com/vega-project/ccb-operator.git
cd ccb-operator
  1. Start the deployment using your nfs IP
make deploy NFS_SERVER_IP=0.0.0.0

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNU General Public License v3.0. See LICENSE for more information.

Contact

Nikolaos Moraitis - @droslean - nmoraiti@redhat.com

Vega Project Link: https://github.com/vega-project/

Directories

Path Synopsis
cmd
apiserver/docs
Package docs GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
Package docs GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
pkg
apis/calculationbulk/v1
+groupName=vegaproject.io
+groupName=vegaproject.io
apis/calculationbulkfactory/v1
+groupName=vegaproject.io
+groupName=vegaproject.io
apis/calculations/v1
+groupName=vegaproject.io
+groupName=vegaproject.io
apis/workers/v1
+groupName=vegaproject.io
+groupName=vegaproject.io

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL