<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#" 
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You 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.
-->
  <Project rdf:about="https://knox.apache.org">
    <created>2014-06-12</created>
    <license rdf:resource="https://www.apache.org/licenses/LICENSE-2.0"/>
    <name>Apache Knox</name>
    <homepage rdf:resource="https://knox.apache.org" />
    <asfext:pmc rdf:resource="https://knox.apache.org" />
    <shortdesc>A REST API Gateway for Hadoop Services</shortdesc>
    <description>The Apache Knox Gateway is a REST API Gateway for interacting with Hadoop clusters.

The Knox Gateway provides a single access point for all REST interactions with Hadoop clusters.

In this capacity, the Knox Gateway is able to provide valuable functionality to aid in the control,
integration, monitoring and automation of critical administrative and analytical needs of the enterprise.

Authentication (LDAP and Active Directory Authentication Provider)
Federation/SSO (HTTP Header Based Identity Federation)
Authorization (Service Level Authorization)
Auditing
While there are a number of benefits for unsecured Hadoop clusters,
the Knox Gateway also complements the kerberos secured cluster quite nicely.

Coupled with proper network isolation of a Kerberos secured Hadoop cluster,
the Knox Gateway provides the enterprise with a solution that:

Integrates well with enterprise identity management solutions
Protects the details of the Hadoop cluster deployment (hosts and ports are hidden from endusers)
Simplifies the number of services that clients need to interact with</description>
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/KNOX" />
    <mailing-list rdf:resource="https://knox.apache.org/mail-lists.html" />
    <download-page rdf:resource="https://cwiki.apache.org/confluence/display/KNOX/Release+1.2.0" />
    <programming-language>Java</programming-language>
    <category rdf:resource="https://projects.apache.org/category/big-data" />
    <repository>
      <GitRepository>
        <location rdf:resource="https://gitbox.apache.org/repos/asf/knox.git"/>
      </GitRepository>
    </repository>
    <maintainer>
      <foaf:Person>
        <foaf:name>Apache Knox Team</foaf:name>
          <foaf:mbox rdf:resource="mailto:dev@knox.apache.org"/>
      </foaf:Person>
    </maintainer>
    <release>
      <Version>
        <name>Apache Knox Gateway 1.2.0</name>
        <created>2018/12/18</created>
        <revision>1.2.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 1.1.0</name>
        <created>2018/07/30</created>
        <revision>1.1.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 1.0.0</name>
        <created>2018/02/07</created>
        <revision>1.0.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.14.0</name>
        <created>2017/12/14</created>
        <revision>0.14.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.13.0</name>
        <created>2017/08/19</created>
        <revision>0.13.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.12.0</name>
        <created>2017/03/20</created>
        <revision>0.12.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.11.0</name>
        <created>2016/12/28</created>
        <revision>0.11.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.10.0</name>
        <created>2016/11/07</created>
        <revision>0.10.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.9.1</name>
        <created>2016/08/04</created>
        <revision>0.9.1</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.9.0</name>
        <created>2016/04/24</created>
        <revision>0.9.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.8.0</name>
        <created>2016/02/04</created>
        <revision>0.8.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.7.0</name>
        <created>2015/12/23</created>
        <revision>0.7.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.6.0</name>
        <created>2015/04/30</created>
        <revision>0.6.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.5.0</name>
        <created>2014/11/06</created>
        <revision>0.5.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.4.0</name>
        <created>2014/04/15</created>
        <revision>0.4.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.3.0</name>
        <created>2013/10/22</created>
        <revision>0.3.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.2.0</name>
        <created>2013/04/23</created>
        <revision>0.2.0</revision>
      </Version>
    </release>
    <release>
      <Version>
        <name>Apache Knox Gateway 0.1.0</name>
        <created>2012/12/30</created>
        <revision>0.1.0</revision>
      </Version>
    </release>
  </Project>
</rdf:RDF>
