Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework kobs architecture #346

Merged
merged 64 commits into from
Jun 12, 2022
Merged

Rework kobs architecture #346

merged 64 commits into from
Jun 12, 2022

Conversation

ricoberger
Copy link
Member

ricoberger and others added 30 commits April 25, 2022 11:04
We decided to rework the kobs architecture, by splitting it into two
components. A "satellite" which can run in each Kubernetes cluster which
should be manageable via kobs and a "hub" which provides access to the
"satellites" and which serves the UI.

This should allow us to run a single kobs instance in the future, where
we do not have to expose the services behind plugins to the public.
Implement store as part of the hub
* Add watcher implementation

* Connect watcher with store
* Add bolt db as store option

* Rework CRDs

* Adjust store interface

* Add satellite to resources when it is not set

* Add mode flag for hub

* Adjust auth tests

* Improve satellites router

* Add secure options field for plugins

* Use interface for all servers

* Add sync for namespaces
* Improve frontend handling

* Use yarn workspaces and lerna for frontend
@codecov-commenter
Copy link

Codecov Report

Merging #346 (a4c779a) into main (6805715) will increase coverage by 1.32%.
The diff coverage is 26.53%.

❗ Current head a4c779a differs from pull request most recent head 97ac68a. Consider uploading reports for the commit 97ac68a to get more accurate results

@@            Coverage Diff             @@
##             main     #346      +/-   ##
==========================================
+ Coverage   44.89%   46.22%   +1.32%     
==========================================
  Files          96      126      +30     
  Lines        8156     9054     +898     
==========================================
+ Hits         3662     4185     +523     
- Misses       4462     4783     +321     
- Partials       32       86      +54     
Impacted Files Coverage Δ
cmd/kobs/version/version.go 0.00% <0.00%> (ø)
pkg/app/app.go 0.00% <ø> (-8.34%) ⬇️
pkg/hub/api/applications/applications.go 100.00% <ø> (ø)
pkg/hub/api/clusters/clusters.go 100.00% <ø> (ø)
cmd/kobs/satellite/satellite.go 14.66% <14.66%> (ø)
cmd/kobs/hub/hub.go 20.51% <20.51%> (ø)
cmd/kobs/main.go 44.82% <44.82%> (ø)
cmd/kobs/hub/config/config.go 100.00% <100.00%> (ø)
cmd/kobs/satellite/config/config.go 100.00% <100.00%> (ø)
pkg/metrics/metrics.go 0.00% <0.00%> (-9.10%) ⬇️
... and 193 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9e16b7b...97ac68a. Read the comment docs.

Rework kobs architecture, by introducing a "hub" and "satellite"
component. This new architecture allows us to run the kobs "hub"
component in a central cluster and access clusters / services (plugins)
through the kobs "satellite" component.

The following tasks are still todo:

- We have to update the documentation with the new architecture.
- We have to update the plugin documentation.
- We have to adjust the demo.
@ricoberger ricoberger merged commit ff926a2 into main Jun 12, 2022
@ricoberger ricoberger deleted the rework-kobs-architecture branch June 12, 2022 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants