Skip to content

Commit

Permalink
Update api-conventions.md
Browse files Browse the repository at this point in the history
  • Loading branch information
bgrant0607 authored Mar 8, 2017
1 parent 1b0abf4 commit fa558a4
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion contributors/devel/api-conventions.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
API Conventions
===============

Updated: 2/23/2017
Updated: 3/7/2017

*This document is oriented at users who want a deeper understanding of the
Kubernetes API structure, and developers wanting to extend the Kubernetes API.
Expand Down Expand Up @@ -1463,6 +1463,19 @@ be less than 256", "must be greater than or equal to 0". Do not use words
like "larger than", "bigger than", "more than", "higher than", etc.
* When specifying numeric ranges, use inclusive ranges when possible.

## Backward compatibility gotchas

* A single feature/property cannot be represented using multiple spec fields in the same API version
simultaneously. Only one field can be populated in any resource at a time, and the client
needs to be able to specify which field they expect to use (typically via API version),
on both mutation and read. Old clients must continue to function properly while only manipulating
the old field. New clients must be able to function properly while only manipulating the new
field.
* Validation rules on spec fields can be relaxed but not strengthened -- any requests that
previously worked must continue to work. The opposite is true for status fields. Note that changing
any validation rules always has the potential of breaking some client, since it changes the
assumptions about part of the API, similar to adding new enum values.

<!-- BEGIN MUNGE: GENERATED_ANALYTICS -->
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/devel/api-conventions.md?pixel)]()
<!-- END MUNGE: GENERATED_ANALYTICS -->

0 comments on commit fa558a4

Please sign in to comment.