<!DOCTYPE html>
<html class="no-js" lang="en">
    <head>
        <title>Apache NiFi Registry</title>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <link rel="shortcut icon" href="/assets/images/nifi16.ico"/>
        <link rel="stylesheet" href="/stylesheets/app.min.92da7048339401bf53463b01188254399d9c8a2138949712827fee24e79c12e4.css">
        <link rel="stylesheet" href="/assets/stylesheets/font-awesome.min.css">
        <script src="/assets/js/modernizr.js"></script>
        <script src="/assets/js/webfontloader.js"></script>
        <script>
  var _paq = window._paq = window._paq || [];
  _paq.push(['disableCookies']);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var baseUri = "//matomo.privacy.apache.org/";
    _paq.push(['setTrackerUrl', baseUri + 'matomo.php']);
    _paq.push(['setSiteId', '28']);
    var trackerElement = document.createElement('script');
    var firstScriptElement = document.getElementsByTagName('script')[0];
    trackerElement.async = true;
    trackerElement.src = baseUri + 'matomo.js';
    var firstScriptElement = document.getElementsByTagName('script')[0];
    if (window.location.host === 'nifi.apache.org') {
      firstScriptElement.parentNode.insertBefore(trackerElement, firstScriptElement);
    }
  })();
</script>
</head>
    <body><div class="sticky contain-to-grid">
    <nav class="top-bar" data-topbar role="navigation">
        <ul class="title-area">
            <li class="name">
                <h1>
                    <a href="index.html">
                        <img id="logo-top-bar" src="/assets/images/nifi-drop-white.svg" alt="Apache NiFi"/>
                    </a>
                </h1>
            </li>
            
            <li class="toggle-topbar menu-icon"><a href="#"><span></span></a></li>
        </ul>

        <section class="top-bar-section">
            
            <ul class="right">
                <li class="has-dropdown">
                    <a href="#">Project</a>
                    <ul class="dropdown">
                        <li><a href="index.html">Home</a></li>
                        <li><a href="https://blogs.apache.org/nifi/"><i class="fa fa-external-link external-link"></i>Apache NiFi Blog</a></li>
                        <li><a href="https://www.apache.org/licenses/"><i class="fa fa-external-link external-link"></i>License</a></li>
                    </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">Documentation</a>
                    <ul class="dropdown">
                        <li><a href="faq.html">FAQ</a></li>
                        <li><a href="videos.html">Videos</a></li>
                        <li><a href="docs.html">NiFi Docs</a></li>
                        <li><a href="https://cwiki.apache.org/confluence/display/NIFI"><i class="fa fa-external-link external-link"></i>Wiki</a></li>
                        <li><a href="security.html">NiFi Security Reports</a></li>
                        <li><a href="registry-security.html">NiFi Registry Security Reports</a></li>
                    </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">Downloads</a>
                    <ul class="dropdown">
                        <li><a href="download.html">Download NiFi</a></li>
                        <li><a href="https://cwiki.apache.org/confluence/display/NIFI/Release+Notes"><i class="fa fa-external-link external-link"></i>Release Notes</a></li>
                    </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">Community</a>
                    <ul class="dropdown">
                        <li><a href="https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide"><i class="fa fa-external-link external-link"></i>Contributor Guide</a></li>
                        <li><a href="mailing_lists.html">Mailing Lists &amp; Chat</a></li>
                        <li><a href="people.html">People</a></li>
                        <li><a href="powered-by-nifi.html">Powered by NiFi</a></li>
                    </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">Development</a>
                    <ul class="dropdown">
                        <li><a href="quickstart.html">Quickstart</a></li>
                        <li><a href="release-guide.html">Release Guide</a></li>
                        <li><a href="gpg.html">GPG Guide</a></li>
                        <li><a href="fds-release-guide.html">FDS Release Guide</a></li>
                        <li><a href="licensing-guide.html">Licensing Guide</a></li>
                        <li><a href="developer-guide.html">Developer Guide</a></li>
                        <li><a href="https://gitbox.apache.org/repos/asf/nifi.git"><i class="fa fa-external-link external-link"></i>Source</a></li>
                        <li><a href="https://issues.apache.org/jira/browse/NIFI"><i class="fa fa-external-link external-link"></i>Issues</a></li>
                        <li><a href="https://github.com/apache/nifi"><i class="fa fa-external-link external-link"></i>GitHub</a></li>
                    </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">ASF Links</a>
                    <ul class="dropdown">
                        <li><a href="https://www.apache.org"><i class="fa fa-external-link external-link"></i>Apache Software Foundation</a></li>
                        <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html"><i class="fa fa-external-link external-link"></i>Privacy Policy</a></li>
                        <li><a href="https://www.apache.org/foundation/sponsorship.html"><i class="fa fa-external-link external-link"></i>Sponsorship</a></li>
                        <li><a href="https://www.apache.org/security/"><i class="fa fa-external-link external-link"></i>Security</a></li>
                        <li><a href="https://www.apache.org/foundation/thanks.html"><i class="fa fa-external-link external-link"></i>Thanks</a></li>
                    </ul>
                </li>
                <li class="has-dropdown">
                    <a href="#">Subprojects</a>
                    <ul class="dropdown">
                        <li><a href="minifi/index.html">MiNiFi</a></li>
                        <li><a href="registry.html">Registry</a></li>
                        <li><a href="fds.html">FDS</a></li>
                    </ul>
                </li>
            </ul>
        </section>
    </nav>
</div>

          <div class="row">
            <div class="large-12 columns">
              <div class="large-space"></div>
	<div class="large-6">
  <img id="registry-logo" src="/assets/images/registry-logo.png" alt="Registry logo" />
</div>
<p class="description">A subproject of Apache NiFi to store and manage shared resources.</p>
<h1 id="features">Features</h1>
<p>Registry - a subproject of Apache NiF - is a complementary application that provides a central location for storage and
management of shared resources across one or more instances of NiFi or MiNiFi.</p>
<p>Apache NiFi Registry provides the following features:</p>
<ul>
<li>Implementation of a Flow Registry for storing and managing versioned flows</li>
<li>Integration with NiFi to allow storing, retrieving, and upgrading versioned flows from a Flow Registry</li>
<li>Administration of the Registry for defining users, groups, and policies</li>
</ul>
<h2 id="releases">Releases</h2>
<p>Apache NiFi <a href="https://downloads.apache.org/nifi/KEYS">Project Keys</a> can be used to
<a href="https://www.apache.org/info/verification.html">verify downloads</a>.</p>
<p>Please allow up to 24 hours for mirrors to synchronize following the release of a new version.</p>
<h3 id="hahahugoshortcode-s0-hbhb">1.19.0</h3>
<ul>
<li><a href="https://cwiki.apache.org/confluence/display/NIFI/Release+Notes#ReleaseNotes-Version1.19.0">Release Notes</a></li>
<li>Sources
<ul>
<li><a href="https://www.apache.org/dyn/closer.lua?path=/nifi/1.19.0/nifi-1.19.0-source-release.zip">Apache NiFi Sources 1.19.0</a>
[<a href="https://downloads.apache.org/nifi/1.19.0/nifi-1.19.0-source-release.zip.asc">OpenPGP</a>]
[<a href="https://downloads.apache.org/nifi/1.19.0/nifi-1.19.0-source-release.zip.sha256">SHA-256</a>]
[<a href="https://downloads.apache.org/nifi/1.19.0/nifi-1.19.0-source-release.zip.sha512">SHA-512</a>]
</li>
</ul>
</li>
<li>Binaries
<ul>
<li><a href="https://www.apache.org/dyn/closer.lua?path=/nifi/1.19.0/nifi-registry-1.19.0-bin.zip">Apache NiFi Registry 1.19.0</a>
[<a href="https://downloads.apache.org/nifi/1.19.0/nifi-registry-1.19.0-bin.zip.asc">OpenPGP</a>]
[<a href="https://downloads.apache.org/nifi/1.19.0/nifi-registry-1.19.0-bin.zip.sha256">SHA-256</a>]
[<a href="https://downloads.apache.org/nifi/1.19.0/nifi-registry-1.19.0-bin.zip.sha512">SHA-512</a>]
</li>
</ul>
</li>
</ul>
<h2 id="sources">Sources</h2>
<ul>
<li><a href="https://gitbox.apache.org/repos/asf?p=nifi.git">Apache Gitbox</a></li>
<li><a href="https://github.com/apache/nifi">GitHub</a></li>
</ul>
<h2 id="documentation">Documentation</h2>
<ul>
<li><a href="docs/nifi-registry-docs/index.html">Apache NiFi Registry Documentation</a></li>
<li><a href="https://cwiki.apache.org/confluence/display/NIFIREG">Apache NiFi Registry Wiki</a></li>
</ul>
<h2 id="videos">Videos</h2>
<ul>
<li><a href="#" data-reveal-id="youtube-X_qhRVChjZY">Getting Started with Apache NiFi Registry</a>
<div id="youtube-X_qhRVChjZY" class="reveal-modal medium" data-reveal>
  <h2>Getting Started with Apache NiFi Registry</h2>
  <div class="flex-video widescreen" style="display: block;">
    <iframe width="560" height="315" src="https://www.youtube.com/embed/X_qhRVChjZY" frameborder="0" allowfullscreen></iframe>
  </div>
  <a class="close-reveal-modal">&#215;</a>
</div></li>
<li><a href="#" data-reveal-id="youtube-qD03ao3R-a4">Setting Up a Secure Apache NiFi Registry</a>
<div id="youtube-qD03ao3R-a4" class="reveal-modal medium" data-reveal>
  <h2>Setting Up a Secure Apache NiFi Registry</h2>
  <div class="flex-video widescreen" style="display: block;">
    <iframe width="560" height="315" src="https://www.youtube.com/embed/qD03ao3R-a4" frameborder="0" allowfullscreen></iframe>
  </div>
  <a class="close-reveal-modal">&#215;</a>
</div></li>
<li><a href="#" data-reveal-id="youtube-DSO12fhnZ90">Setting Up a Secure NiFi to Integrate with a Secure NiFi Registry</a>
<div id="youtube-DSO12fhnZ90" class="reveal-modal medium" data-reveal>
  <h2>Setting Up a Secure NiFi to Integrate with a Secure NiFi Registry</h2>
  <div class="flex-video widescreen" style="display: block;">
    <iframe width="560" height="315" src="https://www.youtube.com/embed/DSO12fhnZ90" frameborder="0" allowfullscreen></iframe>
  </div>
  <a class="close-reveal-modal">&#215;</a>
</div></li>
<li><a href="#" data-reveal-id="youtube-kK7eVppg9Aw">Storing Versioned Flows in a Git Repository</a>
<div id="youtube-kK7eVppg9Aw" class="reveal-modal medium" data-reveal>
  <h2>Storing Versioned Flows in a Git Repository</h2>
  <div class="flex-video widescreen" style="display: block;">
    <iframe width="560" height="315" src="https://www.youtube.com/embed/kK7eVppg9Aw" frameborder="0" allowfullscreen></iframe>
  </div>
  <a class="close-reveal-modal">&#215;</a>
</div></li>
</ul>

</div>
          </div>
        <div class="row">
    <div class="large-12 columns footer">
        <a href="https://www.apache.org">
            <img id="asf-logo" alt="Apache Software Foundation" src="/assets/images/asf_logo.png" width="200" style="margin:0px 10px" />
        </a>
        <a  href="https://www.apache.org/events/current-event.html">
            <img src="https://www.apache.org/events/current-event-234x60.png" style="margin:0px 10px" />
        </a>
        <div id="copyright">
            <p>Copyright &#169; 2022 The Apache Software Foundation, Licensed under the <a
                    href="https://www.apache.org/licenses/">Apache License, Version 2.0</a>.<br/>Apache, the
                Apache feather logo, NiFi, Apache NiFi and the project logo are trademarks of The Apache Software
                Foundation.</p>
        </div>
    </div>
</div>
        <script src="/assets/js/jquery.min.js"></script>
        <script src="/assets/js/foundation.js"></script>
        <script src="/assets/js/app.js"></script>
    </body>
</html>