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

Refactor NifiCluster state management CRD Configuration #358

Open
mh013370 opened this issue Jan 11, 2024 · 2 comments
Open

Refactor NifiCluster state management CRD Configuration #358

mh013370 opened this issue Jan 11, 2024 · 2 comments
Labels
community enhancement New feature or request
Milestone

Comments

@mh013370
Copy link
Member

mh013370 commented Jan 11, 2024

Is your feature request related to a problem?

No

Describe the solution you'd like to see

With NiFi 2.0.0, the zookeeper configuration becomes optional with the addition of kubernetes-based cluster state management. Update the NifiCluster CRD to:

  1. Make zookeeper configuration optional
  2. Consolidate cluster state management configuration in the CRD

The following changes should be made to v2alpha1/NifiCluster:

apiVersion: nifi.konpyutaika.com/v2alpha1
kind: NifiCluster
metadata:
  name: nifi-cluster
spec:
  stateManagement:
    kubernetes:
      identifier: my-cluster
    zookeeper:
      zkPath: /my-cluster
      zkAddress: zookeeper.zookeeper:2181

One of kubernetes or zookeeper should be configured and this should be enforced by the operator.

Update all documentation to reflect these changes.

Describe alternatives you've considered

No response

Additional context

This issue requires #359 to be completed first.

@mh013370 mh013370 added enhancement New feature or request community labels Jan 11, 2024
@mh013370 mh013370 added this to the Release 2.0.0 milestone Jan 11, 2024
@juldrixx
Copy link
Contributor

A field should exist to chose which one (zk or k8s) you want to use, no?

@mh013370
Copy link
Member Author

mh013370 commented Jan 11, 2024

I should give two examples. I believe it can be an either/or. So you'd configure either:

apiVersion: nifi.konpyutaika.com/v2alpha1
kind: NifiCluster
metadata:
  name: nifi-cluster
spec:
  stateManagement:
    zookeeper:
      zkPath: /my-cluster
      zkAddress: zookeeper.zookeeper:2181

OR

apiVersion: nifi.konpyutaika.com/v2alpha1
kind: NifiCluster
metadata:
  name: nifi-cluster
spec:
  stateManagement:
    kubernetes:
      identifier: my-cluster

And the existence of one or the other is how nifikop will know which to configure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants