nifi-operator

command module
v0.0.0-...-dbb2713 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

README

RedHat Ecosystem Application Engineering Apache Nifi Operator

Project Status: Under development!

The API, spec, status and other aspects of the operator could change in future versions.

Overview

This operator pretends to provide a Kubernetes/Openshift deployment of Apache Nifi instances and cluster deployments.

Operator Deployment

To run the operator locally you will need to have kubectl or oc CLIs already configured and with a login session. To start, run the following commands:

make install run

Run the following to deploy the operator. This will also install the RBAC manifests from config/rbac.

make deploy

Nifi Deployment

If you are using Openshift, please go to Openshift Nifi Prepare before to start, some pre-steps should be performed. This includes to create a ServiceAccount which binds with the correct permissions and SCC to be able to create the Pods. If you are on Kubernetes, go directly to Nifi example deployment.

Openshift Nifi prepare

Please run the following steps before to start:

  1. Define your Namespace where you're going to deploy Nifi.
export NIFI_NAMESPACE=<your-namespace>
kubectl create ns $NIFI_NAMESPACE
  1. Create the nifi ServiceAccount.
kubectl apply -f - << _EOF_
kind: ServiceAccount
apiVersion: v1
metadata:
  name: nifi
  namespace: $NIFI_NAMESPACE

_EOF_
  1. Assign the correct role
kubectl apply -f - << _EOF_
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: nifi
  namespace: $NIFI_NAMESPACE
subjects:
  - kind: ServiceAccount
    name: nifi
    namespace: $NIFI_NAMESPACE
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: admin

_EOF_
Nifi example deployment

To deploy a Nifi instance start from the following example. This provides a simple Nifi instance with HTTPS protocol enabled and the default admin user credentials.

kubectl apply -f - << _EOF_
apiVersion: bigdata.quay.io/v1alpha1
kind: Nifi
metadata:
  name: nifi-example
  namespace: $NIFI_NAMESPACE
spec:
  replicas: 1
  useDefaultCredentials: true
  console:
    expose: true
    protocol: "https"

_EOF_

The default credentials are (WARNING: This mode should be only used for development purposes.):

  • Admin user: administrator
  • Admin password: administrator

Nifi Spec

This section explains every field in the Nifi's spec:

Parameter Description Values
spec.replicas Number of Nifi instances to be deployed. Cluster features under development. Still using 1. Integer >= 0
spec.useDefaultCredentials Configure Nifi with the default admin user credentials. If not, check the Nifi's logs to figure out the default credentials provisioned by Nifi Boolean (true, false)
spec.console Nifi Console Spec struct
spec.console.expose Creates a Openshift route if it sets to 'true' Boolean (true, false)
spec.console.protocol Enables the HTTPS protocol at Nifi's instance with a self-signed certificate, or deploy it using HTTP "https", "http"

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the bigdata v1alpha1 API group +kubebuilder:object:generate=true +groupName=bigdata.quay.io
Package v1alpha1 contains API Schema definitions for the bigdata v1alpha1 API group +kubebuilder:object:generate=true +groupName=bigdata.quay.io

Jump to

Keyboard shortcuts

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