# Copyright 2015 Hewlett-Packard Development Company, L.P.
#
# 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.
#
#
#
# ==============================================
# Designate DNS Driver Feature Capability Matrix
# ==============================================
#
# The 'status' field takes possible values
#
#  - mandatory - unconditionally required to be implemented
#  - optional  - optional to support, nice to have
#  - choice(group) - at least one of the options within the named group
#                    must be implemented
#  - conditional(cond) - required, if the referenced condition is met.
#
# The value against each 'driver-impl-XXXX' entry refers to the level
# of the implementation of the feature in that driver
#
#  - complete - fully implemented, expected to work at all times
#  - partial - implemented, but with caveats about when it will work
#              eg some configurations or hardware or guest OS may not
#              support it
#  - missing - not implemented at all
[DEFAULT]
repository=Designate Repository
maintainers=Designate Team
notes=None
type=xfr
in-tree=True


[backends]
backend-impl-bind9=Bind9
backend-impl-powerdns-mysql=Power DNS (MySQL)
backend-impl-pdns4=Power DNS 4
backend-impl-designate=Designate to Designate
backend-impl-dynect=DynECT
backend-impl-akamai=Akamai eDNS
backend-impl-infoblox-xfr=Infoblox (XFR)
backend-impl-nsd4=NSD4
backend-impl-agent=Agent
backend-impl-bind9-agent=Bind9 (Agent)
backend-impl-denominator=Denominator
backend-impl-knot2-agent=Knot2 (Agent)
backend-impl-djbdns-agent=Djbdns (Agent)
backend-impl-gdnsd-agent=Gdnsd (Agent)
backend-impl-msdns-agent=Microsoft DNS (Agent)


[backends.backend-impl-bind9]

[backends.backend-impl-pdns4]

[backends.backend-impl-powerdns-mysql]
notes=This has been replaced by the pdns4 backend for future releases

[backends.backend-impl-designate]

[backends.backend-impl-powerdns-pgsql]
status=untested

[backends.backend-impl-dynect]
maintainers=HP DNSaaS Team <dnsaas@hp.com>

[backends.backend-impl-akamai]
maintainers=HP DNSaaS Team <dnsaas@hp.com>

[backends.backend-impl-agent]

[backends.backend-impl-bind9-agent]
type=agent

[backends.backend-impl-knot2-agent]
type=agent

[backends.backend-impl-djbdns-agent]
type=agent

[backends.backend-impl-gdnsd-agent]
type=agent

[backends.backend-impl-infoblox-xfr]
status=release-compatible
maintainers=Infoblox OpenStack Team <openstack-maintainer@infoblox.com>

[backends.backend-impl-nsd4]

[backends.backend-impl-denominator]
type=agent

[backends.backend-impl-msdns-agent]
type=agent

[grades]
valid-grades=integrated,master-compatible,release-compatible,untested,failing,known-broken,experimental,deprecated

[grades.integrated]
title=Integrated
notes=Tested on every commit by the OpenStack CI Infrastructure, and maintained by designate developers as a reference backend
in-tree=True
css-class=success

[grades.master-compatible]
title=Master Compatible
notes=Tested on every commit by 3rd party testing, and has a person or group dedicated to maintaining compatibility on a regular basis
in-tree=optional
css-class=success

[grades.release-compatible]
title=Release Compatible
notes=Not necessarily tested on every commit, but has a maintainer committed to ensuring compatibility for each release
in-tree=optional
css-class=success

[grades.untested]
title=Untested
notes=All other backends in the designate repository
in-tree=optional
css-class=info

[grades.failing]
title=Failing
notes=Backends that were previously "Compatible", but tests are now failing on a regular basis.
in-tree=optional
css-class=warning

[grades.known-broken]
title=Known Broken
notes=Backends that do not work, and have been broken with no sign of any fixes
in-tree=optional
css-class=danger

[grades.experimental]
title=Experimental
notes=Backends that are under development, and may change at any time
in-tree=optional
css-class=warning

[grades.deprecated]
title=Deprecated
notes=Backends have been superseded, and will be removed in the future
in-tree=optional
css-class=warning
