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-