Skip to main content
Version: v1.17.0

NiFi Registry Client

NifiRegistryClient is the Schema for the NiFi registry client API. It supports connecting to a NiFi Registry server, a GitHub repository, or a GitLab repository as a flow storage backend.

Quick examples

NiFi Registry (default)

apiVersion: nifi.konpyutaika.com/v2alpha1
kind: NifiRegistryClient
metadata:
name: squidflow
spec:
clusterRef:
name: nc
namespace: nifikop
description: "Squidflow demo"
type: registry
registryClientConfig:
uri: "http://nifi-registry:18080"

GitHub

apiVersion: nifi.konpyutaika.com/v2alpha1
kind: NifiRegistryClient
metadata:
name: squidflow-github
spec:
clusterRef:
name: nc
namespace: nifikop
description: "Squidflow GitHub demo"
type: github
githubConfig:
repositoryOwner: "my-org"
repositoryName: "nifi-flows"
authenticationType: PERSONAL_ACCESS_TOKEN
personalAccessTokenSecretRef:
name: github-pat-secret
namespace: nifikop
data: token
defaultBranch: main

GitLab

apiVersion: nifi.konpyutaika.com/v2alpha1
kind: NifiRegistryClient
metadata:
name: squidflow-gitlab
spec:
clusterRef:
name: nc
namespace: nifikop
description: "Squidflow GitLab demo"
type: gitlab
gitlabConfig:
repositoryNamespace: "my-group/my-subgroup"
repositoryName: "nifi-flows"
authenticationType: ACCESS_TOKEN
accessTokenSecretRef:
name: gitlab-token-secret
namespace: nifikop
data: token
defaultBranch: main

NifiRegistryClient

FieldTypeDescriptionRequiredDefault
metadataObjectMetadataMetadata that all persisted resources must have, which includes all objects registry clients must create.Nonil
specNifiRegistryClientSpecDefines the desired state of NifiRegistryClient.Nonil
statusNifiRegistryClientStatusDefines the observed state of NifiRegistryClient.Nonil

NifiRegistryClientSpec

FieldTypeDescriptionRequiredDefault
descriptionstringDescribes the registry client.No-
typeEnum=registry;github;gitlabThe type of flow storage backend to use.Noregistry
clusterRefClusterReferenceContains the reference to the NifiCluster with which the registry client is linked.Yes-
registryClientConfigRegistryClientConfigConfiguration for a NiFi Registry backend. Required when type is registry.No-
githubConfigGitHubConfigConfiguration for a GitHub backend. Required when type is github.No-
gitlabConfigGitLabConfigConfiguration for a GitLab backend. Required when type is gitlab.No-
note

CEL validation rules on the CRD enforce that the matching config block is present for the chosen type. For example, setting type: github without a githubConfig block will be rejected by the API server.

RegistryClientConfig

Used when type is registry.

FieldTypeDescriptionRequiredDefault
uristringURI of the NiFi Registry server.Yes-

GitHubConfig

Used when type is github.

FieldTypeDescriptionRequiredDefault
apiUrl*stringURL of the GitHub API.Nohttps://api.github.com/
repositoryOwnerstringOwner of the repository (user or organization).Yes-
repositoryNamestringName of the repository.Yes-
authenticationTypeEnum=NONE;PERSONAL_ACCESS_TOKEN;APP_INSTALLATIONType of authentication to use.No-
personalAccessTokenSecretRefSecretConfigReferenceSecret containing the personal access token. Required when authenticationType is PERSONAL_ACCESS_TOKEN.No-
appId*stringIdentifier of the GitHub App. Required when authenticationType is APP_INSTALLATION.No-
appPrivateKeySecretRefSecretConfigReferenceSecret containing the RSA private key for the GitHub App. Required when authenticationType is APP_INSTALLATION.No-
defaultBranch*stringDefault branch of the repository.No-
repositoryPath*stringPath within the repository for storing data.NoRepository root
directoryFilterExclusion*stringRegex pattern for directories to exclude.No[.]*
parameterContextValuesEnum=RETAIN;REMOVE;IGNORE_CHANGESHow to handle parameter context values.No-

GitLabConfig

Used when type is gitlab.

FieldTypeDescriptionRequiredDefault
url*stringURL of the GitLab instance.Nohttps://gitlab.com/
apiVersionEnum=V4GitLab API version.No-
repositoryNamespacestringNamespace of the repository (user or group/subgroup path).Yes-
repositoryNamestringName of the repository.Yes-
authenticationTypeEnum=ACCESS_TOKENType of authentication to use.No-
accessTokenSecretRefSecretConfigReferenceSecret containing the access token. Required when authenticationType is ACCESS_TOKEN or not set.No-
connectTimeout*stringConnect timeout (e.g. "10 seconds").No-
readTimeout*stringRead timeout (e.g. "10 seconds").No-
defaultBranch*stringDefault branch of the repository.No-
repositoryPath*stringPath within the repository for storing data.NoRepository root
directoryFilterExclusion*stringRegex pattern for directories to exclude.No[.]*
parameterContextValuesEnum=RETAIN;REMOVE;IGNORE_CHANGESHow to handle parameter context values.No-

SecretConfigReference

References a Kubernetes Secret and a specific key within its data map.

FieldTypeDescriptionRequiredDefault
namestringName of the Kubernetes Secret.Yes-
namespacestringNamespace of the Secret.NoResource namespace
datastringKey within the Secret's data map.Yes-

NifiRegistryClientStatus

FieldTypeDescriptionRequiredDefault
idstringThe nifi registry client's id.Yes-
versionint64The last nifi registry client revision version.Yes-
latestSecretsResourceVersion[]SecretResourceVersionThe last observed resource versions of the referenced secrets.No-

SecretResourceVersion

FieldTypeDescriptionRequiredDefault
namestringName of the secret.Yes-
namespacestringNamespace of the secret.Yes-
resourceVersionstringResourceVersion of the secret at last sync.Yes-

RegistryClientReference

FieldTypeDescriptionRequiredDefault
namestringname of the NifiRegistryClient.Yes-
namespacestringthe NifiRegistryClient namespace location.Yes-