Commit d1278528 authored by Adnan Abdulhussein's avatar Adnan Abdulhussein Committed by GitHub

Merge pull request #2107 from prydonius/feat/1963-deprecated-field

feat(proto): add deprecated field
parents 24eb6011 8210dc78
......@@ -73,4 +73,7 @@ message Metadata {
// The version of the application enclosed inside of this chart.
string appVersion = 13;
// Whether or not this chart is deprecated
bool deprecated = 14;
}
......@@ -54,6 +54,7 @@ maintainers: # (optional)
engine: gotpl # The name of the template engine (optional, defaults to gotpl)
icon: A URL to an SVG or PNG image to be used as an icon (optional).
appVersion: The version of the app that this contains (optional). This needn't be SemVer.
deprecated: Whether or not this chart is deprecated (optional, boolean)
```
If you are familiar with the `Chart.yaml` file format for Helm Classic, you will
......@@ -100,6 +101,21 @@ chart may have an `appVersion: 8.2.1`, indicating that the version of Drupal
included in the chart (by default) is `8.2.1`. This field is informational, and
has no impact on chart version calculations.
### Deprecating Charts
When managing charts in a Chart Repository, it is sometimes necessary to
deprecate a chart. The optional `deprecated` field in `Chart.yaml` can be used
to mark a chart as deprecated. If the **latest** version of a chart in the
repository is marked as deprecated, then the chart as a whole is considered to
be deprecated. The chart name can later be reused by publishing a newer version
that is not marked as deprecated. The workflow for deprecating charts, as
followed by the [kubernetes/charts](https://github.com/kubernetes/charts)
project is:
- Update chart's `Chart.yaml` to mark the chart as deprecated, bumping the
version
- Release the new chart version in the Chart Repository
- Remove the chart from the source repository (e.g. git)
## Chart LICENSE, README and NOTES
Charts can also contain files that describe the installation, configuration, usage and license of a
......@@ -214,19 +230,19 @@ team.
#### Tags and Condition fields in requirements.yaml
In addition to the other fields above, each requirements entry may contain
In addition to the other fields above, each requirements entry may contain
the optional fields `tags` and `condition`.
All charts are loaded by default. If `tags` or `condition` fields are present,
they will be evaluated and used to control loading for the chart(s) they are applied to.
All charts are loaded by default. If `tags` or `condition` fields are present,
they will be evaluated and used to control loading for the chart(s) they are applied to.
Condition - The condition field holds one or more YAML paths (delimited by commas).
If this path exists in the top parent's values and resolves to a boolean value,
the chart will be enabled or disabled based on that boolean value. Only the first
Condition - The condition field holds one or more YAML paths (delimited by commas).
If this path exists in the top parent's values and resolves to a boolean value,
the chart will be enabled or disabled based on that boolean value. Only the first
valid path found in the list is evaluated and if no paths exist then the condition has no effect.
Tags - The tags field is a YAML list of labels to associate with this chart.
In the top parent's values, all charts with tags can be enabled or disabled by
Tags - The tags field is a YAML list of labels to associate with this chart.
In the top parent's values, all charts with tags can be enabled or disabled by
specifying the tag and a boolean value.
````
......@@ -239,7 +255,7 @@ dependencies:
tags:
- front-end
- subchart1
- name: subchart2
repository: http://localhost:10191
version: 0.1.0
......@@ -257,14 +273,14 @@ subchart1:
tags:
front-end: false
back-end: true
````
````
In the above example all charts with the tag `front-end` would be disabled but since the
`subchart1.enabled` path evaluates to 'true' in the parent's values, the condition will override the
In the above example all charts with the tag `front-end` would be disabled but since the
`subchart1.enabled` path evaluates to 'true' in the parent's values, the condition will override the
`front-end` tag and `subchart1` will be enabled.
Since `subchart2` is tagged with `back-end` and that tag evaluates to `true`, `subchart2` will be
enabled. Also note that although `subchart2` has a condition specified in `requirements.yaml`, there
Since `subchart2` is tagged with `back-end` and that tag evaluates to `true`, `subchart2` will be
enabled. Also note that although `subchart2` has a condition specified in `requirements.yaml`, there
is no corresponding path and value in the parent's values so that condition has no effect.
##### Using the CLI with Tags and Conditions
......@@ -279,11 +295,11 @@ helm install --set tags.front-end=true --set subchart2.enabled=false
##### Tags and Condition Resolution
* **Conditions (when set in values) always override tags.** The first condition
* **Conditions (when set in values) always override tags.** The first condition
path that exists wins and subsequent ones for that chart are ignored.
* Tags are evaluated as 'if any of the chart's tags are true then enable the chart'.
* Tags and conditions values must be set in the top parent's values.
* The `tags:` key in values must be a top level key. Globals and nested `tags:` tables
* The `tags:` key in values must be a top level key. Globals and nested `tags:` tables
are not currently supported.
## Templates and Values
......
......@@ -77,6 +77,8 @@ type Metadata struct {
Tags string `protobuf:"bytes,12,opt,name=tags" json:"tags,omitempty"`
// The version of the application enclosed inside of this chart.
AppVersion string `protobuf:"bytes,13,opt,name=appVersion" json:"appVersion,omitempty"`
// Whether or not this chart is deprecated
Deprecated bool `protobuf:"varint,14,opt,name=deprecated" json:"deprecated,omitempty"`
}
func (m *Metadata) Reset() { *m = Metadata{} }
......@@ -100,26 +102,27 @@ func init() {
func init() { proto.RegisterFile("hapi/chart/metadata.proto", fileDescriptor2) }
var fileDescriptor2 = []byte{
// 321 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x91, 0x5f, 0x4b, 0xc3, 0x30,
0x14, 0xc5, 0x9d, 0x5d, 0xdb, 0xf5, 0x56, 0x61, 0x5c, 0x64, 0x44, 0x11, 0x29, 0x7b, 0xda, 0x53,
0x07, 0x0a, 0xe2, 0xb3, 0x20, 0x3e, 0xe8, 0x36, 0x19, 0xfe, 0x01, 0xdf, 0x62, 0x1b, 0xb6, 0xa0,
0x4d, 0x4a, 0x12, 0x15, 0xbf, 0x8c, 0x9f, 0x55, 0x72, 0xdb, 0x6e, 0x7b, 0xf0, 0xed, 0x9e, 0x73,
0x7a, 0x4f, 0xf3, 0x4b, 0xe0, 0x78, 0xcd, 0x6b, 0x39, 0x2d, 0xd6, 0xdc, 0xb8, 0x69, 0x25, 0x1c,
0x2f, 0xb9, 0xe3, 0x79, 0x6d, 0xb4, 0xd3, 0x08, 0x3e, 0xca, 0x29, 0x1a, 0x5f, 0x02, 0xcc, 0xb8,
0x54, 0x8e, 0x4b, 0x25, 0x0c, 0x22, 0xf4, 0x15, 0xaf, 0x04, 0xeb, 0x65, 0xbd, 0x49, 0xb2, 0xa4,
0x19, 0x8f, 0x20, 0x14, 0x15, 0x97, 0x1f, 0x6c, 0x9f, 0xcc, 0x46, 0x8c, 0x7f, 0x03, 0x18, 0xcc,
0xda, 0xda, 0x7f, 0xd7, 0x10, 0xfa, 0x6b, 0x5d, 0x89, 0x76, 0x8b, 0x66, 0x64, 0x10, 0x5b, 0xfd,
0x69, 0x0a, 0x61, 0x59, 0x90, 0x05, 0x93, 0x64, 0xd9, 0x49, 0x9f, 0x7c, 0x09, 0x63, 0xa5, 0x56,
0xac, 0x4f, 0x0b, 0x9d, 0xc4, 0x0c, 0xd2, 0x52, 0xd8, 0xc2, 0xc8, 0xda, 0xf9, 0x34, 0xa4, 0x74,
0xd7, 0xc2, 0x13, 0x18, 0xbc, 0x8b, 0x9f, 0x6f, 0x6d, 0x4a, 0xcb, 0x22, 0xaa, 0xdd, 0x68, 0xbc,
0x82, 0xb4, 0xda, 0xe0, 0x59, 0x16, 0x67, 0xc1, 0x24, 0x3d, 0x1f, 0xe5, 0xdb, 0x0b, 0xc8, 0xb7,
0xf4, 0xcb, 0xdd, 0x4f, 0x71, 0x04, 0x91, 0x50, 0x2b, 0xa9, 0x04, 0x1b, 0xd0, 0x2f, 0x5b, 0xe5,
0xb9, 0x64, 0xa1, 0x15, 0x4b, 0x1a, 0x2e, 0x3f, 0xe3, 0x19, 0x00, 0xaf, 0xe5, 0x73, 0x0b, 0x00,
0x94, 0xec, 0x38, 0x78, 0x0a, 0x49, 0xa1, 0x55, 0x29, 0x89, 0x20, 0xa5, 0x78, 0x6b, 0xf8, 0x46,
0xc7, 0x57, 0x96, 0x1d, 0x34, 0x8d, 0x7e, 0x6e, 0x1a, 0xeb, 0xae, 0xf1, 0xb0, 0x6b, 0xec, 0x9c,
0x71, 0x06, 0xd1, 0x4d, 0x73, 0x9e, 0x14, 0xe2, 0xa7, 0xf9, 0xdd, 0x7c, 0xf1, 0x32, 0x1f, 0xee,
0x61, 0x02, 0xe1, 0xed, 0xe2, 0xf1, 0xe1, 0x7e, 0xd8, 0xbb, 0x8e, 0x5f, 0x43, 0x02, 0x7c, 0x8b,
0xe8, 0xd1, 0x2f, 0xfe, 0x02, 0x00, 0x00, 0xff, 0xff, 0x89, 0xc5, 0x76, 0x7c, 0x11, 0x02, 0x00,
0x00,
// 339 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x92, 0x4f, 0x4b, 0xeb, 0x40,
0x14, 0xc5, 0x5f, 0x5e, 0x9a, 0x7f, 0x37, 0xef, 0x3d, 0xca, 0xf0, 0x28, 0xa3, 0x88, 0x84, 0xae,
0xb2, 0x4a, 0x41, 0x41, 0x5c, 0x0b, 0xe2, 0x42, 0xdb, 0x4a, 0xf0, 0x0f, 0xb8, 0x1b, 0x93, 0x4b,
0x3b, 0x68, 0x66, 0xc2, 0xcc, 0xa8, 0xf8, 0xe5, 0xfc, 0x6c, 0x32, 0x93, 0xa4, 0xcd, 0xc2, 0xdd,
0x3d, 0xe7, 0x97, 0x7b, 0x92, 0x73, 0x09, 0x1c, 0x6c, 0x59, 0xcb, 0x17, 0xd5, 0x96, 0x29, 0xb3,
0x68, 0xd0, 0xb0, 0x9a, 0x19, 0x56, 0xb4, 0x4a, 0x1a, 0x49, 0xc0, 0xa2, 0xc2, 0xa1, 0xf9, 0x19,
0xc0, 0x92, 0x71, 0x61, 0x18, 0x17, 0xa8, 0x08, 0x81, 0x89, 0x60, 0x0d, 0x52, 0x2f, 0xf3, 0xf2,
0xa4, 0x74, 0x33, 0xf9, 0x0f, 0x01, 0x36, 0x8c, 0xbf, 0xd2, 0xdf, 0xce, 0xec, 0xc4, 0xfc, 0xcb,
0x87, 0x78, 0xd9, 0xc7, 0xfe, 0xb8, 0x46, 0x60, 0xb2, 0x95, 0x0d, 0xf6, 0x5b, 0x6e, 0x26, 0x14,
0x22, 0x2d, 0xdf, 0x54, 0x85, 0x9a, 0xfa, 0x99, 0x9f, 0x27, 0xe5, 0x20, 0x2d, 0x79, 0x47, 0xa5,
0xb9, 0x14, 0x74, 0xe2, 0x16, 0x06, 0x49, 0x32, 0x48, 0x6b, 0xd4, 0x95, 0xe2, 0xad, 0xb1, 0x34,
0x70, 0x74, 0x6c, 0x91, 0x43, 0x88, 0x5f, 0xf0, 0xf3, 0x43, 0xaa, 0x5a, 0xd3, 0xd0, 0xc5, 0xee,
0x34, 0x39, 0x87, 0xb4, 0xd9, 0xd5, 0xd3, 0x34, 0xca, 0xfc, 0x3c, 0x3d, 0x99, 0x15, 0xfb, 0x03,
0x14, 0xfb, 0xf6, 0xe5, 0xf8, 0x51, 0x32, 0x83, 0x10, 0xc5, 0x86, 0x0b, 0xa4, 0xb1, 0x7b, 0x65,
0xaf, 0x6c, 0x2f, 0x5e, 0x49, 0x41, 0x93, 0xae, 0x97, 0x9d, 0xc9, 0x31, 0x00, 0x6b, 0xf9, 0x43,
0x5f, 0x00, 0x1c, 0x19, 0x39, 0xe4, 0x08, 0x92, 0x4a, 0x8a, 0x9a, 0xbb, 0x06, 0xa9, 0xc3, 0x7b,
0xc3, 0x26, 0x1a, 0xb6, 0xd1, 0xf4, 0x4f, 0x97, 0x68, 0xe7, 0x2e, 0xb1, 0x1d, 0x12, 0xff, 0x0e,
0x89, 0x83, 0x63, 0x79, 0x8d, 0xad, 0xc2, 0x8a, 0x19, 0xac, 0xe9, 0xbf, 0xcc, 0xcb, 0xe3, 0x72,
0xe4, 0xcc, 0x33, 0x08, 0x2f, 0xbb, 0xef, 0x4d, 0x21, 0xba, 0x5f, 0x5d, 0xaf, 0xd6, 0x8f, 0xab,
0xe9, 0x2f, 0x92, 0x40, 0x70, 0xb5, 0xbe, 0xbb, 0xbd, 0x99, 0x7a, 0x17, 0xd1, 0x53, 0xe0, 0x0e,
0xf0, 0x1c, 0xba, 0x9f, 0xe2, 0xf4, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x08, 0xf3, 0xcc, 0x66, 0x31,
0x02, 0x00, 0x00,
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment