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

Optional services #20

Closed
nmarcetic opened this issue Feb 28, 2020 · 6 comments · Fixed by #50
Closed

Optional services #20

nmarcetic opened this issue Feb 28, 2020 · 6 comments · Fixed by #50
Assignees
Labels
question Further information is requested

Comments

@nmarcetic
Copy link
Contributor

Is there a way to do the optional installation of some services? For example, I don't want WS adapter or CoAP so they can be optional during helm install.

@nmarcetic nmarcetic added the question Further information is requested label Feb 28, 2020
@drasko drasko added this to To do in 0.12 via automation May 24, 2020
@blokovi blokovi moved this from To do to In progress in 0.12 Jun 23, 2020
@blokovi
Copy link
Contributor

blokovi commented Jun 23, 2020

Let's start with making non-core services optional. For now, that are influxdb reader & writer (and influxdb database itself). All non-core services we will add later should be optional also.
Influx services will be enabled with --set influxdb.enabled=true

@nmarcetic
Copy link
Contributor Author

nmarcetic commented Jun 24, 2020

@blokovi Great! I saw PR #50 Can we do the same for Twins (must-have) and OPC-UA (nice to have) later?

@blokovi
Copy link
Contributor

blokovi commented Jun 25, 2020

On second thought, bootstrap and ui are also non-core, they must be optional also if we follow this rule, I will make them optional in PR #50
Twins and opcua are work-in-progress, and PR will be sent today, but that is another issue - #21

@nmarcetic
Copy link
Contributor Author

@blokovi Agree, that make sense. Not sure about UI, maybe is good idea to have it as part of Core (its not add-on, it's just in another repository). Although I think Mainflux should stay lightwate and client agnostic I think it would be good to run UI as part of Core in helm chart.

@nmarcetic
Copy link
Contributor Author

nmarcetic commented Jun 25, 2020

@blokovi I am also thinking about chart dependencies and umbrella charts. Thing to think about in for #later or next stage of refactoring,

We can scope Core services and make mainflux/core chart as the main chart. Creat micro charts for each add-on that we have and mark them with a condition: optional, then import them in core chart. Each micro chart will have mainflux/core marked as a dependency (you can't run grafana add-on without core).
This way we will avoid hardcoded conditions like if/else in the chart, which grows all the time and will become hard to maintain.
We also get tagging and version management simpler.
People get install only core or upgrade only add-ons without touching core release. It's much more flexible.
It will be much easier to maintain and develop if we decouple it.
If you agree, maybe we can open an issue, market it as enhancement, and continue the conversation there?

@blokovi
Copy link
Contributor

blokovi commented Jun 25, 2020

I agree, umbrella charts sounds good. I have already make add-ons (influxdb and bootstrap) optional in PR #50 that will close this issue when it's merged. We will continue conversation about umbrella charts in new issue.

0.12 automation moved this from In progress to Done Jun 25, 2020
@dborovcanin dborovcanin removed this from Done in 0.12 Mar 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants