Skip to content

Commit af61d00

Browse files
jeremymillallamand
andauthored
Release changes for 1.4.3 (#563)
Update api extensions to v1 Add preserveUnknownFields to CRDs Bump CRD patches to apiextensions v1 Update helm chart to 1.4.3 Pre_upgrade_check Add Validations (#564) Co-authored-by: Sebastien Allamand <[email protected]>
1 parent 47b09b5 commit af61d00

28 files changed

+7007
-6319
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ IMAGE ?= $(REPO):$(VERSION)
99
PREVIEW=false
1010

1111
# Produce CRDs that work back to Kubernetes 1.11 (no version conversion)
12-
CRD_OPTIONS ?= "crd:trivialVersions=true,crdVersions=v1beta1"
12+
CRD_OPTIONS ?= "crd:trivialVersions=true,crdVersions=v1"
1313

1414
# app mesh aws-sdk-go override in case we need to build against a custom version
1515
APPMESH_SDK_OVERRIDE ?= "n"

apis/appmesh/v1beta2/gatewayroute_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,7 @@ type GatewayRouteStatus struct {
270270
// +kubebuilder:subresource:status
271271
// +kubebuilder:printcolumn:name="ARN",type="string",JSONPath=".status.gatewayRouteARN",description="The AppMesh GatewayRoute object's Amazon Resource Name"
272272
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
273+
// +kubebuilder:pruning:PreserveUnknownFields
273274
// GatewayRoute is the Schema for the gatewayroutes API
274275
type GatewayRoute struct {
275276
metav1.TypeMeta `json:",inline"`

apis/appmesh/v1beta2/mesh_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ type MeshStatus struct {
102102
// +kubebuilder:subresource:status
103103
// +kubebuilder:printcolumn:name="ARN",type="string",JSONPath=".status.meshARN",description="The AppMesh Mesh object's Amazon Resource Name"
104104
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
105+
// +kubebuilder:pruning:PreserveUnknownFields
105106
// Mesh is the Schema for the meshes API
106107
type Mesh struct {
107108
metav1.TypeMeta `json:",inline"`

apis/appmesh/v1beta2/virtualgateway_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,7 @@ type VirtualGatewayStatus struct {
365365
// +kubebuilder:subresource:status
366366
// +kubebuilder:printcolumn:name="ARN",type="string",JSONPath=".status.virtualGatewayARN",description="The AppMesh VirtualGateway object's Amazon Resource Name"
367367
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
368+
// +kubebuilder:pruning:PreserveUnknownFields
368369
// VirtualGateway is the Schema for the virtualgateways API
369370
type VirtualGateway struct {
370371
metav1.TypeMeta `json:",inline"`

apis/appmesh/v1beta2/virtualnode_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,7 @@ type VirtualNodeStatus struct {
452452
// +kubebuilder:subresource:status
453453
// +kubebuilder:printcolumn:name="ARN",type="string",JSONPath=".status.virtualNodeARN",description="The AppMesh VirtualNode object's Amazon Resource Name"
454454
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
455+
// +kubebuilder:pruning:PreserveUnknownFields
455456
// VirtualNode is the Schema for the virtualnodes API
456457
type VirtualNode struct {
457458
metav1.TypeMeta `json:",inline"`

apis/appmesh/v1beta2/virtualrouter_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,7 @@ type VirtualRouterStatus struct {
315315
// +kubebuilder:subresource:status
316316
// +kubebuilder:printcolumn:name="ARN",type="string",JSONPath=".status.virtualRouterARN",description="The AppMesh VirtualRouter object's Amazon Resource Name"
317317
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
318+
// +kubebuilder:pruning:PreserveUnknownFields
318319
// VirtualRouter is the Schema for the virtualrouters API
319320
type VirtualRouter struct {
320321
metav1.TypeMeta `json:",inline"`

apis/appmesh/v1beta2/virtualservice_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ type VirtualServiceStatus struct {
114114
// +kubebuilder:subresource:status
115115
// +kubebuilder:printcolumn:name="ARN",type="string",JSONPath=".status.virtualServiceARN",description="The AppMesh VirtualService object's Amazon Resource Name"
116116
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
117+
// +kubebuilder:pruning:PreserveUnknownFields
117118
// VirtualService is the Schema for the virtualservices API
118119
type VirtualService struct {
119120
metav1.TypeMeta `json:",inline"`

config/crd/bases/appmesh.k8s.aws_gatewayroutes.yaml

Lines changed: 669 additions & 650 deletions
Large diffs are not rendered by default.

config/crd/bases/appmesh.k8s.aws_meshes.yaml

Lines changed: 137 additions & 135 deletions
Original file line numberDiff line numberDiff line change
@@ -1,162 +1,164 @@
11

22
---
3-
apiVersion: apiextensions.k8s.io/v1beta1
3+
apiVersion: apiextensions.k8s.io/v1
44
kind: CustomResourceDefinition
55
metadata:
66
annotations:
77
controller-gen.kubebuilder.io/version: v0.4.1
88
creationTimestamp: null
99
name: meshes.appmesh.k8s.aws
1010
spec:
11-
additionalPrinterColumns:
12-
- JSONPath: .status.meshARN
13-
description: The AppMesh Mesh object's Amazon Resource Name
14-
name: ARN
15-
type: string
16-
- JSONPath: .metadata.creationTimestamp
17-
name: AGE
18-
type: date
1911
group: appmesh.k8s.aws
2012
names:
2113
kind: Mesh
2214
listKind: MeshList
2315
plural: meshes
2416
singular: mesh
2517
scope: Cluster
26-
subresources:
27-
status: {}
28-
validation:
29-
openAPIV3Schema:
30-
description: Mesh is the Schema for the meshes API
31-
properties:
32-
apiVersion:
33-
description: 'APIVersion defines the versioned schema of this representation
34-
of an object. Servers should convert recognized schemas to the latest
35-
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
36-
type: string
37-
kind:
38-
description: 'Kind is a string value representing the REST resource this
39-
object represents. Servers may infer this from the endpoint the client
40-
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
41-
type: string
42-
metadata:
43-
type: object
44-
spec:
45-
description: MeshSpec defines the desired state of Mesh refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_MeshSpec.html
46-
properties:
47-
awsName:
48-
description: AWSName is the AppMesh Mesh object's name. If unspecified
49-
or empty, it defaults to be "${name}" of k8s Mesh
50-
type: string
51-
egressFilter:
52-
description: The egress filter rules for the service mesh. If unspecified,
53-
default settings from AWS API will be applied. Refer to AWS Docs for
54-
default settings.
55-
properties:
56-
type:
57-
description: The egress filter type.
58-
enum:
59-
- ALLOW_ALL
60-
- DROP_ALL
61-
type: string
62-
required:
63-
- type
64-
type: object
65-
meshOwner:
66-
description: The AWS IAM account ID of the service mesh owner. Required
67-
if the account ID is not your own.
68-
type: string
69-
namespaceSelector:
70-
description: "NamespaceSelector selects Namespaces using labels to designate
71-
mesh membership. This field follows standard label selector semantics:
72-
\tif present but empty, it selects all namespaces. \tif absent, it
73-
selects no namespace."
74-
properties:
75-
matchExpressions:
76-
description: matchExpressions is a list of label selector requirements.
77-
The requirements are ANDed.
78-
items:
79-
description: A label selector requirement is a selector that contains
80-
values, a key, and an operator that relates the key and values.
81-
properties:
82-
key:
83-
description: key is the label key that the selector applies
84-
to.
85-
type: string
86-
operator:
87-
description: operator represents a key's relationship to a
88-
set of values. Valid operators are In, NotIn, Exists and
89-
DoesNotExist.
90-
type: string
91-
values:
92-
description: values is an array of string values. If the operator
93-
is In or NotIn, the values array must be non-empty. If the
94-
operator is Exists or DoesNotExist, the values array must
95-
be empty. This array is replaced during a strategic merge
96-
patch.
97-
items:
98-
type: string
99-
type: array
100-
required:
101-
- key
102-
- operator
103-
type: object
104-
type: array
105-
matchLabels:
106-
additionalProperties:
107-
type: string
108-
description: matchLabels is a map of {key,value} pairs. A single
109-
{key,value} in the matchLabels map is equivalent to an element
110-
of matchExpressions, whose key field is "key", the operator is
111-
"In", and the values array contains only "value". The requirements
112-
are ANDed.
113-
type: object
114-
type: object
115-
type: object
116-
status:
117-
description: MeshStatus defines the observed state of Mesh
118-
properties:
119-
conditions:
120-
description: The current Mesh status.
121-
items:
18+
versions:
19+
- additionalPrinterColumns:
20+
- description: The AppMesh Mesh object's Amazon Resource Name
21+
jsonPath: .status.meshARN
22+
name: ARN
23+
type: string
24+
- jsonPath: .metadata.creationTimestamp
25+
name: AGE
26+
type: date
27+
name: v1beta2
28+
schema:
29+
openAPIV3Schema:
30+
description: Mesh is the Schema for the meshes API
31+
properties:
32+
apiVersion:
33+
description: 'APIVersion defines the versioned schema of this representation
34+
of an object. Servers should convert recognized schemas to the latest
35+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
36+
type: string
37+
kind:
38+
description: 'Kind is a string value representing the REST resource this
39+
object represents. Servers may infer this from the endpoint the client
40+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
41+
type: string
42+
metadata:
43+
type: object
44+
spec:
45+
description: MeshSpec defines the desired state of Mesh refers to https://docs.aws.amazon.com/app-mesh/latest/APIReference/API_MeshSpec.html
46+
properties:
47+
awsName:
48+
description: AWSName is the AppMesh Mesh object's name. If unspecified
49+
or empty, it defaults to be "${name}" of k8s Mesh
50+
type: string
51+
egressFilter:
52+
description: The egress filter rules for the service mesh. If unspecified,
53+
default settings from AWS API will be applied. Refer to AWS Docs
54+
for default settings.
12255
properties:
123-
lastTransitionTime:
124-
description: Last time the condition transitioned from one status
125-
to another.
126-
format: date-time
127-
type: string
128-
message:
129-
description: A human readable message indicating details about
130-
the transition.
131-
type: string
132-
reason:
133-
description: The reason for the condition's last transition.
134-
type: string
135-
status:
136-
description: Status of the condition, one of True, False, Unknown.
137-
type: string
13856
type:
139-
description: Type of mesh condition.
57+
description: The egress filter type.
58+
enum:
59+
- ALLOW_ALL
60+
- DROP_ALL
14061
type: string
14162
required:
142-
- status
14363
- type
14464
type: object
145-
type: array
146-
meshARN:
147-
description: MeshARN is the AppMesh Mesh object's Amazon Resource Name
148-
type: string
149-
observedGeneration:
150-
description: The generation observed by the Mesh controller.
151-
format: int64
152-
type: integer
153-
type: object
154-
type: object
155-
version: v1beta2
156-
versions:
157-
- name: v1beta2
65+
meshOwner:
66+
description: The AWS IAM account ID of the service mesh owner. Required
67+
if the account ID is not your own.
68+
type: string
69+
namespaceSelector:
70+
description: "NamespaceSelector selects Namespaces using labels to
71+
designate mesh membership. This field follows standard label selector
72+
semantics: \tif present but empty, it selects all namespaces. \tif
73+
absent, it selects no namespace."
74+
properties:
75+
matchExpressions:
76+
description: matchExpressions is a list of label selector requirements.
77+
The requirements are ANDed.
78+
items:
79+
description: A label selector requirement is a selector that
80+
contains values, a key, and an operator that relates the key
81+
and values.
82+
properties:
83+
key:
84+
description: key is the label key that the selector applies
85+
to.
86+
type: string
87+
operator:
88+
description: operator represents a key's relationship to
89+
a set of values. Valid operators are In, NotIn, Exists
90+
and DoesNotExist.
91+
type: string
92+
values:
93+
description: values is an array of string values. If the
94+
operator is In or NotIn, the values array must be non-empty.
95+
If the operator is Exists or DoesNotExist, the values
96+
array must be empty. This array is replaced during a strategic
97+
merge patch.
98+
items:
99+
type: string
100+
type: array
101+
required:
102+
- key
103+
- operator
104+
type: object
105+
type: array
106+
matchLabels:
107+
additionalProperties:
108+
type: string
109+
description: matchLabels is a map of {key,value} pairs. A single
110+
{key,value} in the matchLabels map is equivalent to an element
111+
of matchExpressions, whose key field is "key", the operator
112+
is "In", and the values array contains only "value". The requirements
113+
are ANDed.
114+
type: object
115+
type: object
116+
type: object
117+
status:
118+
description: MeshStatus defines the observed state of Mesh
119+
properties:
120+
conditions:
121+
description: The current Mesh status.
122+
items:
123+
properties:
124+
lastTransitionTime:
125+
description: Last time the condition transitioned from one status
126+
to another.
127+
format: date-time
128+
type: string
129+
message:
130+
description: A human readable message indicating details about
131+
the transition.
132+
type: string
133+
reason:
134+
description: The reason for the condition's last transition.
135+
type: string
136+
status:
137+
description: Status of the condition, one of True, False, Unknown.
138+
type: string
139+
type:
140+
description: Type of mesh condition.
141+
type: string
142+
required:
143+
- status
144+
- type
145+
type: object
146+
type: array
147+
meshARN:
148+
description: MeshARN is the AppMesh Mesh object's Amazon Resource
149+
Name
150+
type: string
151+
observedGeneration:
152+
description: The generation observed by the Mesh controller.
153+
format: int64
154+
type: integer
155+
type: object
156+
type: object
157+
x-kubernetes-preserve-unknown-fields: true
158158
served: true
159159
storage: true
160+
subresources:
161+
status: {}
160162
status:
161163
acceptedNames:
162164
kind: ""

0 commit comments

Comments
 (0)