# 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
docs=None
config=None

[backends]
backend-impl-bind9=Bind9
backend-impl-pdns4=Power DNS 4
backend-impl-designate=Designate to Designate
backend-impl-dynect=DynECT
backend-impl-akamai=Akamai eDNS
backend-impl-akamai_v2=Akamai DNS v2
backend-impl-infoblox-xfr=Infoblox (XFR)
backend-impl-nsd4=NSD4
backend-impl-ns1=NS1 DNS

[backends.backend-impl-bind9]
docs=bind9_backend_docs
config=backends/sample_yaml_snippets/bind.yaml

[backends.backend-impl-pdns4]

[backends.backend-impl-designate]
status=untested

[backends.backend-impl-dynect]
status=untested

[backends.backend-impl-akamai]
status=end-of-life
in-tree=False
notes=Akamai has turned off the eDNS API - see https://community.akamai.com/customers/s/article/Big-Changes-Coming-to-Fast-DNS-in-2018

[backends.backend-impl-akamai_v2]
docs=akamai_v2_backend_docs

[backends.backend-impl-ns1]
docs=ns1_backend_docs
status=untested
config=backends/sample_yaml_snippets/ns1.yaml

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

[backends.backend-impl-nsd4]

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

[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

[grades.end-of-life]
title=End of Life
notes=A backend that has reached it's end of life and has been removed from the code.
in-tree=optional
css-class=danger
