Skip to content

Commit 5e8da3d

Browse files
Merge pull request #295 from exdx/feat/support-v1-crds-in-index
Bug 1829945: support v1 CRDs in bundles and indexes
2 parents e4773b9 + dd85624 commit 5e8da3d

File tree

151 files changed

+11875
-5399
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

151 files changed

+11875
-5399
lines changed

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ require (
3131
github.com/opencontainers/image-spec v1.0.2-0.20190823105129-775207bd45b6
3232
github.com/opencontainers/runc v1.0.0-rc9 // indirect
3333
github.com/opencontainers/runtime-spec v0.1.2-0.20190618234442-a950415649c7 // indirect
34-
github.com/operator-framework/api v0.1.1
34+
github.com/operator-framework/api v0.3.4
3535
github.com/otiai10/copy v1.0.2
3636
github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2
3737
github.com/pkg/errors v0.9.1
@@ -45,10 +45,10 @@ require (
4545
google.golang.org/grpc v1.26.0
4646
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
4747
gopkg.in/yaml.v2 v2.2.8
48-
k8s.io/api v0.18.0
49-
k8s.io/apiextensions-apiserver v0.18.0
50-
k8s.io/apimachinery v0.18.0
51-
k8s.io/client-go v0.18.0
48+
k8s.io/api v0.18.2
49+
k8s.io/apiextensions-apiserver v0.18.2
50+
k8s.io/apimachinery v0.18.2
51+
k8s.io/client-go v0.18.2
5252
k8s.io/klog v1.0.0
5353
k8s.io/kubectl v0.18.0
5454
)

go.sum

Lines changed: 59 additions & 0 deletions
Large diffs are not rendered by default.

pkg/lib/bundle/testdata/validate/invalid_manifests_bundle/invalid_v1_crd/manifests/lib-bucket-provisioner.v1.0.0.clusterserviceversion.yaml

Lines changed: 192 additions & 0 deletions
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
apiVersion: apiextensions.k8s.io/v1beta1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
name: objectbucketclaims.objectbucket.io
5+
spec:
6+
version: v1alpha1
7+
versions:
8+
- name: v1alpha1
9+
served: true
10+
storage: true
11+
group: objectbucket.io
12+
names:
13+
kind: ObjectBucketClaim
14+
listKind: ObjectBucketClaimList
15+
plural: objectbucketclaims
16+
singular: objectbucketclaim
17+
shortNames:
18+
- obc
19+
- obcs
20+
scope: Namespaced
21+
subresources:
22+
status: {}
23+
additionalPrinterColumns:
24+
- JSONPath: .spec.storageClassName
25+
description: StorageClass
26+
name: Storage-Class
27+
type: string
28+
- JSONPath: .status.phase
29+
description: Phase
30+
name: Phase
31+
type: string
32+
- JSONPath: .metadata.creationTimestamp
33+
name: Age
34+
type: date
35+
validation:
36+
openAPIV3Schema:
37+
properties:
38+
apiVersion:
39+
description: 'APIVersion defines the versioned schema of this representation
40+
of an object. Servers should convert recognized schemas to the latest
41+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
42+
type: string
43+
kind:
44+
description: 'Kind is a string value representing the REST resource this
45+
object represents. Servers may infer this from the endpoint the client
46+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
47+
type: string
48+
metadata:
49+
description: Standard object metadata.
50+
type: object
51+
spec:
52+
description: Specification of the desired behavior of the claim.
53+
properties:
54+
storageClassName:
55+
description: StorageClass names the StorageClass object representing the
56+
desired provisioner and parameters
57+
type: string
58+
bucketName:
59+
description: BucketName (not recommended) the name of the bucket. Caution!
60+
In-store bucket names may collide across namespaces. If you define
61+
the name yourself, try to make it as unique as possible.
62+
type: string
63+
generateBucketName:
64+
description: GenerateBucketName (recommended) a prefix for a bucket name to be
65+
followed by a hyphen and 5 random characters. Protects against
66+
in-store name collisions.
67+
type: string
68+
additionalConfig:
69+
description: AdditionalConfig gives providers a location to set
70+
proprietary config values (tenant, namespace, etc)
71+
additionalProperties:
72+
type: string
73+
type: object
74+
required:
75+
- storageClassName
76+
type: object
77+
status:
78+
description: Most recently observed status of the claim.
79+
properties:
80+
phase:
81+
description: ObjectBucketClaimStatusPhase is set by the controller to save the state of the provisioning process
82+
enum:
83+
- "pending"
84+
- "bound"
85+
- "released"
86+
- "failed"
87+
type: string
88+
type: object
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
apiVersion: apiextensions.k8s.io/v1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
name: objectbuckets.objectbucket.io
5+
spec:
6+
version: v1alpha1
7+
versions:
8+
- name: v1alpha1
9+
served: true
10+
storage: true
11+
group: objectbucket.io
12+
names:
13+
kind: ObjectBucket
14+
listKind: ObjectBucketList
15+
plural: objectbuckets
16+
singular: objectbucket
17+
shortNames:
18+
- ob
19+
- obs
20+
scope: Cluster
21+
subresources:
22+
status: {}
23+
additionalPrinterColumns:
24+
- JSONPath: .spec.storageClassName
25+
description: StorageClass
26+
name: Storage-Class
27+
type: string
28+
- JSONPath: .spec.claimRef.namespace
29+
description: ClaimNamespace
30+
name: Claim-Namespace
31+
type: string
32+
- JSONPath: .spec.claimRef.name
33+
description: ClaimName
34+
name: Claim-Name
35+
type: string
36+
- JSONPath: .spec.reclaimPolicy
37+
description: ReclaimPolicy
38+
name: Reclaim-Policy
39+
type: string
40+
- JSONPath: .status.phase
41+
description: Phase
42+
name: Phase
43+
type: string
44+
- JSONPath: .metadata.creationTimestamp
45+
name: Age
46+
type: date
47+
validation:
48+
openAPIV3Schema:
49+
properties:
50+
apiVersion:
51+
description: 'APIVersion defines the versioned schema of this representation
52+
of an object. Servers should convert recognized schemas to the latest
53+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
54+
type: string
55+
kind:
56+
description: 'Kind is a string value representing the REST resource this
57+
object represents. Servers may infer this from the endpoint the client
58+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
59+
type: string
60+
metadata:
61+
description: Standard object metadata.
62+
type: object
63+
spec:
64+
description: Specification of the desired behavior of the bucket.
65+
properties:
66+
storageClassName:
67+
description: StorageClass names the StorageClass object representing the
68+
desired provisioner and parameters
69+
type: string
70+
reclaimPolicy:
71+
description: Describes a policy for end-of-life maintenance of ObjectBucket.
72+
enum:
73+
- "Delete"
74+
- "Retain"
75+
- "Recycle"
76+
type: string
77+
claimRef:
78+
description: ObjectReference to ObjectBucketClaim
79+
type: object
80+
endpoint:
81+
description: Endpoint contains all connection relevant data that an app may
82+
require for accessing the bucket
83+
properties:
84+
bucketHost:
85+
description: Bucket address hostname
86+
type: string
87+
bucketPort:
88+
description: Bucket address port
89+
type: integer
90+
bucketName:
91+
description: Bucket name
92+
type: string
93+
region:
94+
description: Bucket region
95+
type: string
96+
subRegion:
97+
description: Bucket sub-region
98+
type: string
99+
additionalConfig:
100+
description: AdditionalConfig gives providers a location to set
101+
proprietary config values (tenant, namespace, etc)
102+
additionalProperties:
103+
type: string
104+
type: object
105+
type: object
106+
additionalState:
107+
description: additionalState gives providers a location to set
108+
proprietary config values (tenant, namespace, etc)
109+
additionalProperties:
110+
type: string
111+
type: object
112+
required:
113+
- storageClassName
114+
type: object
115+
status:
116+
description: Most recently observed status of the bucket.
117+
properties:
118+
phase:
119+
description: ObjectBucketStatusPhase is set by the controller to save the
120+
state of the provisioning process
121+
enum:
122+
- "bound"
123+
- "released"
124+
- "failed"
125+
type: string
126+
type: object
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
annotations:
2+
operators.operatorframework.io.bundle.channel.default.v1: alpha
3+
operators.operatorframework.io.bundle.channels.v1: alpha
4+
operators.operatorframework.io.bundle.manifests.v1: manifests/
5+
operators.operatorframework.io.bundle.mediatype.v1: registry+v1
6+
operators.operatorframework.io.bundle.metadata.v1: metadata/
7+
operators.operatorframework.io.bundle.package.v1: lib-bucket-provisioner

0 commit comments

Comments
 (0)