Skip to content

Commit

Permalink
Add a unique identifier to each feature (kubernetes#88)
Browse files Browse the repository at this point in the history
* Add a unique identifier to each fature

* Change IDs to strings

* Update feature IDs
  • Loading branch information
brian-avery committed Jul 28, 2021
1 parent 127bf56 commit ee4a3ee
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 2 deletions.
2 changes: 1 addition & 1 deletion FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ features:
next: "1.10"
area: Observability
```

* **id** is a unique, machine readable identifier for the feature.
* **name** indicates the name of the feature.
* **area** indicates the area of the feature.
* **link** indicates a primary link that users can navigate to in order to find out more about a feature. This link may be provided to users by tooling consuming features.yaml.
Expand Down
47 changes: 47 additions & 0 deletions features.yaml
Original file line number Diff line number Diff line change
@@ -1,79 +1,92 @@
features:
- name: "Protocols:HTTP1.1/HTTP2/gRPC/TCP"
id: "traffic.http_protocols"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Traffic Management
- name: "Protocols:Websockets/MongoDB"
id: "traffic.websocket_protocols"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Traffic Management
- name: "Traffic Control: label/content based routing, traffic shifting"
id: "traffic.control"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Traffic Management
- name: "Resilience features: timeouts, retries, connection pools, outlier detection"
id: "traffic.resilience"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Traffic Management
- name: "Gateway: Ingress, Egress for all protocols"
id: "traffic.ingress_gateway"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Traffic Management
- name: "Gateway Injection"
id: :"traffic.gateway_injection"
level:
checklist: features/gateway_injection.md
maturity: Alpha
nextExpectedPromotion: "1.11"
area: Traffic Management
- name: "TLS termination and SNI Support in Gateways"
id: "traffic.tls_termination"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Traffic Management
- name: "SNI (multiple certs) at ingress"
id: "traffic.multi_cert_ingress_sni"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Traffic Management
- name: "Locality load balancing"
id: "traffic.locality_load_balancing"
link: "/docs/tasks/traffic-management/locality-load-balancing/"
level:
checklist: ""
maturity: Beta
nextExpectedPromotion: ""
area: Traffic Management
- name: "Enabling custom filters in Envoy"
id: "traffic.custom_envoy_filters"
level:
checklist: ""
maturity: Alpha
nextExpectedPromotion: ""
area: Traffic Management
- name: "CNI container interface"
id: "traffic.cni"
level:
checklist: features/cni.md
maturity: Alpha
nextExpectedPromotion: ""
area: Traffic Management
- name: "Sidecar API"
id: "traffic.sidecar"
link: "/docs/reference/config/networking/sidecar/"
level:
checklist: ""
maturity: Beta
nextExpectedPromotion: ""
area: Traffic Management
- name: "DNS Proxying"
id: "traffic.dns_proxying"
link: "/docs/ops/configuration/traffic-management/dns-proxy/"
level:
checklist: ""
Expand All @@ -87,213 +100,245 @@ features:
maturity: Alpha
nextExpectedPromotion: ""
area: Traffic Management
id: "traffic.k8s_gateway_apis"
- name: "Gateway Network Topology Configuration"
id: "traffic.gateway_topology"
level:
checklist: features/configuring_gateway_network_topology.md
maturity: Alpha
nextExpectedPromotion: ""
area: Traffic Management
- name: "Kubernetes Multi-Cluster Service (MCS) Discovery"
id: :"traffic.kubernetes_mcs"
level:
checklist: features/kubernetes_mcs.md
maturity: Experimental
nextExpectedPromotion: "1.11"
area: Traffic Management
- name: "Prometheus Integration"
id: "traffic.prometheus"
link: "/docs/tasks/observability/metrics/querying-metrics/"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Observability
- name: "Service Dashboard in Grafana"
id: "observability.grafana"
link: "/docs/tasks/observability/metrics/using-istio-dashboard/"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Observability
- name: "Distributed Tracing"
id: "observability.distributed_tracing"
link: "/docs/tasks/observability/distributed-tracing/"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Observability
- name: "Stackdriver Integration"
id: "observability.stackdriver"
link: "/docs/reference/config/proxy_extensions/stackdriver/"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Observability
- name: "Distributed Tracing to Zipkin/Jaeger"
id: "observability.distributed_zipkin_tracing"
link: "/docs/tasks/observability/distributed-tracing/"
level:
checklist: ""
maturity: Beta
nextExpectedPromotion: ""
area: Observability
- name: "Trace Sampling"
id: "observability.trace_sampling"
link: "/docs/tasks/observability/distributed-tracing/configurability/#trace-sampling"
level:
checklist: ""
maturity: Beta
nextExpectedPromotion: ""
area: Observability
- name: "Request Classification"
id: "observability.request_classification"
link: "/docs/tasks/observability/metrics/classify-metrics/"
level:
checklist: ""
maturity: Beta
nextExpectedPromotion: ""
area: Observability
- name: "WebAssembly Extension"
id: "observability.webassembly"
level:
checklist: ""
maturity: Alpha
nextExpectedPromotion: ""
area: Extensibility
- name: "Service-to-service Mutual TLS"
id: "extensability.mtls"
link: "/docs/concepts/security/#mutual-tls-authentication"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Security and policy enforcement
- name: "Kubernetes: Service Credential Distribution"
id: "observabilility.service_credential_distribution"
link: "/docs/concepts/security/#pki"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Security and policy enforcement
- name: "Certificate management on Ingress Gateway"
id: "security.ingress_cert_management"
link: "/docs/tasks/traffic-management/ingress/secure-ingress"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Security and policy enforcement
- name: "Pluggable Key/Cert Support for istio CA"
id: "security.istioca_pluggable_cert_support"
link: "/docs/tasks/security/cert-management/plugin-ca-cert/"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Security and policy enforcement
- name: "Authorization"
id: "security.authorization"
link: "/docs/concepts/security/#authorization"
level:
checklist: ""
maturity: Beta
nextExpectedPromotion: ""
area: Security and policy enforcement
- name: "End User (JWT) Authentication"
id: "security.jwt_authentication"
link: "/docs/concepts/security/#authentication"
level:
checklist: ""
maturity: Beta
nextExpectedPromotion: ""
area: Security and policy enforcement
- name: "Automatic mutual TLS"
id: "security.automatic_mtls"
link: "/docs/tasks/security/authentication/authn-policy/#auto-mutual-tls"
level:
checklist: features/auto_mtls.md
maturity: Beta
nextExpectedPromotion: ""
area: Security and policy enforcement
- name: "VM: Service Credential Distribution"
id: "security.vm_credential_distribution"
link: "/docs/concepts/security/#pki"
level:
checklist: ""
maturity: Beta
nextExpectedPromotion: ""
area: Security and policy enforcement
- name: "Mutual TLS Migration"
id: "security.mtls_migration"
link: "/docs/tasks/security/authentication/mtls-migration"
level:
checklist: ""
maturity: Beta
nextExpectedPromotion: ""
area: Security and policy enforcement
- name: "In-Cluster Operator"
id: "core.in_cluster_operator"
link: "/docs/setup/install/operator/"
level:
checklist: ""
maturity: Beta
nextExpectedPromotion: ""
area: Core
- name: "Kubernetes: Envoy Installation and Traffic Interception"
id: "core.envoy_installation"
link: "/docs/setup/"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Core
- name: "Kubernetes: Istio Control Plane Installation"
id: "core.control_plane_installation"
link: "/docs/setup/"
level:
checklist: ""
maturity: Stable
nextExpectedPromotion: ""
area: Core
- name: "Multicluster Mesh"
id: "core.multicluster"
link: "/docs/setup/install/multicluster/"
level:
checklist: features/Multi-cluster support.md
maturity: Beta
nextExpectedPromotion: ""
area: Core
- name: "External Control Plane"
id: "core.external_control_plane"
link: "/docs/setup/install/external-controlplane/"
level:
checklist: features/external_istiod.md
maturity: Alpha
nextExpectedPromotion: ""
area: Core
- name: "Kubernetes: Istio In-Place Control Plane Upgrade"
id: "core.in_place_upgrade"
link: "/docs/setup/upgrade/in-place"
level:
checklist: ""
maturity: Beta
nextExpectedPromotion: ""
area: Core
- name: "Basic Configuration Resource Validation"
id: "core.config_resource_validation"
level:
checklist: ""
maturity: Beta
nextExpectedPromotion: ""
area: Core
- name: "Istio CNI Plugin"
id: "core.cni"
link: "/docs/setup/additional-setup/cni/"
level:
checklist: ""
maturity: Alpha
nextExpectedPromotion: ""
area: Core
- name: "IPv6 Support for Kubernetes"
id: "core.ipv6"
level:
checklist: ""
maturity: Alpha
maturityNotes: Dual-stack IPv4 and IPv6 is not supported.
nextExpectedPromotion: ""
area: Core
- name: "Distroless Base Images for Istio"
id: "core.distroless"
link: "/docs/ops/configuration/security/harden-docker-images/"
level:
checklist: features/distroless_images.md
maturity: Alpha
nextExpectedPromotion: ""
area: Core
- name: "Virtual Machine Integration"
id: "core.vm_integration"
link: "/docs/setup/install/virtual-machine/"
level:
checklist: features/virtual_machines.md
maturity: Beta
nextExpectedPromotion: ""
area: Core
- name: "Helm Based Installation"
id: "core.helm_installation"
link: "/docs/setup/install/helm/"
level:
checklist: features/helm_v3_support.md
Expand All @@ -307,10 +352,12 @@ features:
maturity: Alpha
nextExpectedPromotion: ""
area: Core
id: "core.revision_based_upgrade"
- name: "Revision Tags"
link: "/docs/setup/upgrade/canary/#stable-revision-labels-experimental"
level:
checklist: features/revision_tags.md
maturity: Alpha
nextExpectedPromotion: ""
area: Core
id: "core.revision_tags"
7 changes: 6 additions & 1 deletion features_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description":"A unique machine-readable identifier for the feature"
},
"name": {
"type": "string",
"description": "The name of the feature."
Expand Down Expand Up @@ -97,7 +101,8 @@
"required": [
"name",
"level",
"area"
"area",
"id"
]
}
}
Expand Down

0 comments on commit ee4a3ee

Please sign in to comment.