All Projects β†’ apache β†’ Nifi Registry

apache / Nifi Registry

Licence: apache-2.0
Apache NiFi Registry

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Nifi Registry

Homebrew Core
🍻 Default formulae for the missing package manager for macOS (or Linux)
Stars: ✭ 10,450 (+11383.52%)
Mutual labels:  hacktoberfest
Hapistrano
Deploy tool for Haskell applications, like Capistrano for Rails
Stars: ✭ 91 (+0%)
Mutual labels:  hacktoberfest
Trains.net
A simple 2D game written in C# with .NET Core. Development is streamed live on https://twitch.tv/davidwengier and past streams available on YouTube at http://bit.ly/trains-net-videos
Stars: ✭ 92 (+1.1%)
Mutual labels:  hacktoberfest
Openra
Open Source real-time strategy game engine for early Westwood games such as Command & Conquer: Red Alert written in C# using SDL and OpenGL. Runs on Windows, Linux, *BSD and Mac OS X.
Stars: ✭ 10,220 (+11130.77%)
Mutual labels:  hacktoberfest
Gr Recipes
Main GNU Radio recipe repository for use with PyBOMBS
Stars: ✭ 90 (-1.1%)
Mutual labels:  hacktoberfest
Vis Network
πŸ’« Display dynamic, automatically organised, customizable network views.
Stars: ✭ 1,311 (+1340.66%)
Mutual labels:  hacktoberfest
Tikv
Distributed transactional key-value database, originally created to complement TiDB
Stars: ✭ 10,403 (+11331.87%)
Mutual labels:  hacktoberfest
Editor
Editor/IDE for Vega and Vega-Lite
Stars: ✭ 92 (+1.1%)
Mutual labels:  hacktoberfest
Modulesync
Synchronize common files across your Git repositories.
Stars: ✭ 91 (+0%)
Mutual labels:  hacktoberfest
Gdrive Downloader
Download a gdrive folder or file easily, shell ftw.
Stars: ✭ 91 (+0%)
Mutual labels:  hacktoberfest
Qmk firmware
Open-source keyboard firmware for Atmel AVR and Arm USB families
Stars: ✭ 11,162 (+12165.93%)
Mutual labels:  hacktoberfest
Learninggit
This is a repo that walks you through getting hold on basic concepts of Git
Stars: ✭ 91 (+0%)
Mutual labels:  hacktoberfest
Cssbuttons
πŸš€ Pure HTML & CSS Buttons For Web Development
Stars: ✭ 91 (+0%)
Mutual labels:  hacktoberfest
Shepherd
Guide your users through a tour of your app
Stars: ✭ 9,457 (+10292.31%)
Mutual labels:  hacktoberfest
Ccsearch Browser Extension
Cross-Browser extension to search, filter and use images in the public domain and under Creative Commons licenses.
Stars: ✭ 92 (+1.1%)
Mutual labels:  hacktoberfest
Awesome Zsh Plugins
A collection of ZSH frameworks, plugins, themes and tutorials.
Stars: ✭ 10,129 (+11030.77%)
Mutual labels:  hacktoberfest
Evennia
Python MUD/MUX/MUSH/MU* development system
Stars: ✭ 1,309 (+1338.46%)
Mutual labels:  hacktoberfest
Music
Music player and library designed for elementary OS
Stars: ✭ 92 (+1.1%)
Mutual labels:  hacktoberfest
Dockerfile Image Update
A tool that helps you get security patches for Docker images into production as quickly as possible without breaking things
Stars: ✭ 92 (+1.1%)
Mutual labels:  hacktoberfest
Haskell
Stars: ✭ 91 (+0%)
Mutual labels:  hacktoberfest

Apache NiFi Registry

ci-workflow Docker pulls Version Slack

Registryβ€”a subproject of Apache NiFiβ€”is a complementary application that provides a central location for storage and management of shared resources across one or more instances of NiFi and/or MiNiFi.

Table of Contents

Getting Started

Requirements

  • Java 1.8 (above 1.8.0_45)
  • Maven 3.1.0, or newer
  • Recent git client
  1. Clone the repo

     git clone https://git-wip-us.apache.org/repos/asf/nifi-registry.git
     git checkout main
    
  2. Build the project

     cd nifi-registry
     mvn clean install
    

    If you wish to enable style and license checks, specify the contrib-check profile:

     mvn clean install -Pcontrib-check
    
  3. Start the application

     cd nifi-registry-assembly/target/nifi-registry-<VERSION>-bin/nifi-registry-<VERSION>/
     ./bin/nifi-registry.sh start
    

    Note that the application web server can take a while to load before it is accessible.

  4. Accessing the application web UI

    With the default settings, the application UI will be available at http://localhost:18080/nifi-registry

  5. Accessing the application REST API

    If you wish to test against the application REST API, you can access the REST API directly. With the default settings, the base URL of the REST API will be at http://localhost:18080/nifi-registry-api. A UI for testing the REST API will be available at http://localhost:18080/nifi-registry-api/swagger/ui.html

  6. Accessing the application logs

    Logs will be available in logs/nifi-registry-app.log

Database Testing

In order to ensure that NiFi Registry works correctly against different relational databases, the existing integration tests can be run against different databases by leveraging the Testcontainers framework.

Spring profiles are used to control the DataSource factory that will be made available to the Spring application context. DataSource factories are provided that use the Testcontainers framework to start a Docker container for a given database and create a corresponding DataSource. If no profile is specified then an H2 DataSource will be used by default and no Docker containers are required.

Assuming Docker is running on the system where the build is running, then the following commands can be run:

Target Database Build Command
All supported mvn verify -Ptest-all-dbs
H2 (default) mvn verify
PostgreSQL 9.x mvn verify -Dspring.profiles.active=postgres
PostgreSQL 10.x mvn verify -Dspring.profiles.active=postgres-10
MySQL 5.6 mvn verify -Pcontrib-check -Dspring.profiles.active=mysql-56
MySQL 5.7 mvn verify -Pcontrib-check -Dspring.profiles.active=mysql-57
MySQL 8 mvn verify -Pcontrib-check -Dspring.profiles.active=mysql-8

When one of the Testcontainer profiles is activated, the test output should show logs that indicate a container has been started, such as the following:

2019-05-15 16:14:45.078  INFO 66091 --- [           main] 🐳 [mysql:5.7]                           : Creating container for image: mysql:5.7
2019-05-15 16:14:45.145  INFO 66091 --- [           main] o.t.utility.RegistryAuthLocator          : Credentials not found for host (index.docker.io) when using credential helper/store (docker-credential-osxkeychain)
2019-05-15 16:14:45.646  INFO 66091 --- [           main] 🐳 [mysql:5.7]                           : Starting container with ID: ca85c8c5a1990d2a898fad04c5897ddcdb3a9405e695cc11259f50f2ebe67c5f
2019-05-15 16:14:46.437  INFO 66091 --- [           main] 🐳 [mysql:5.7]                           : Container mysql:5.7 is starting: ca85c8c5a1990d2a898fad04c5897ddcdb3a9405e695cc11259f50f2ebe67c5f
2019-05-15 16:14:46.479  INFO 66091 --- [           main] 🐳 [mysql:5.7]                           : Waiting for database connection to become available at jdbc:mysql://localhost:33051/test?useSSL=false&allowPublicKeyRetrieval=true using query 'SELECT 1'

The Flyway connection should also indicate the given database:

2019-05-15 16:15:02.114  INFO 66091 --- [           main] o.a.n.r.db.CustomFlywayConfiguration     : Determined database type is MYSQL
2019-05-15 16:15:02.115  INFO 66091 --- [           main] o.a.n.r.db.CustomFlywayConfiguration     : Setting migration locations to [classpath:db/migration/common, classpath:db/migration/mysql]
2019-05-15 16:15:02.373  INFO 66091 --- [           main] o.a.n.r.d.CustomFlywayMigrationStrategy  : First time initializing database...
2019-05-15 16:15:02.380  INFO 66091 --- [           main] o.f.c.internal.license.VersionPrinter    : Flyway Community Edition 5.2.1 by Boxfuse
2019-05-15 16:15:02.403  INFO 66091 --- [           main] o.f.c.internal.database.DatabaseFactory  : Database: jdbc:mysql://localhost:33051/test (MySQL 5.7)

For a full list of the available DataSource factories, consult the nifi-registry-test module.

License

Except as otherwise noted this software is licensed under the Apache License, Version 2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].