Skip to content

Commit 4cc68ab

Browse files
authored
Merge pull request #226 from scothis/v1
Promote API servicebinding.io/v1beta1 -> v1
2 parents 35e6314 + e920e5a commit 4cc68ab

9 files changed

+310
-713
lines changed

README.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ rules:
254254

255255
# Service Binding
256256

257-
A Service Binding describes the connection between a [Provisioned Service](#provisioned-service) and a [Workload Projection](#workload-projection). It **MUST** be codified as a concrete resource type with API version `servicebinding.io/v1beta1` and kind `ServiceBinding`. An implementation **MAY** support other versions of this specification which define additional API versions. Multiple `ServiceBinding` objects can refer to the same service. Multiple `ServiceBinding` objects can refer to the same workload. For portability, the schema **MUST** comply to the exemplar CRD found [here][sb-crd].
257+
A Service Binding describes the connection between a [Provisioned Service](#provisioned-service) and a [Workload Projection](#workload-projection). It **MUST** be codified as a concrete resource type with API version `servicebinding.io/v1` and kind `ServiceBinding`. An implementation **MAY** support other versions of this specification which define additional API versions. Multiple `ServiceBinding` objects can refer to the same service. Multiple `ServiceBinding` objects can refer to the same workload. For portability, the schema **MUST** comply to the exemplar CRD found [here][sb-crd].
258258

259259
> Note: Restricting service binding to resources within the same namespace is strongly recommended. Implementations that choose to support cross-namespace service binding must provide a security model that prevents attacks like privilege escalation and secret enumeration, as well as a deterministic way to declare target namespaces.
260260

@@ -278,7 +278,7 @@ When updating the status of the `ServiceBinding`, the controller **MUST** set th
278278
## Resource Type Schema
279279

280280
```yaml
281-
apiVersion: servicebinding.io/v1beta1
281+
apiVersion: servicebinding.io/v1
282282
kind: ServiceBinding
283283
metadata:
284284
name: # string
@@ -312,7 +312,7 @@ status:
312312
## Minimal Example Resource
313313
314314
```yaml
315-
apiVersion: servicebinding.io/v1beta1
315+
apiVersion: servicebinding.io/v1
316316
kind: ServiceBinding
317317
metadata:
318318
name: account-service
@@ -337,7 +337,7 @@ status:
337337
## Label Selector Example Resource
338338
339339
```yaml
340-
apiVersion: servicebinding.io/v1beta1
340+
apiVersion: servicebinding.io/v1
341341
kind: ServiceBinding
342342
metadata:
343343
name: online-banking-frontend-to-account-service
@@ -366,7 +366,7 @@ status:
366366
## Environment Variables Example Resource
367367
368368
```yaml
369-
apiVersion: servicebinding.io/v1beta1
369+
apiVersion: servicebinding.io/v1
370370
kind: ServiceBinding
371371
metadata:
372372
name: account-service
@@ -428,7 +428,7 @@ When the `.spec.service.kind` attribute is `Secret` and `.spec.service.apiVersio
428428
## Direct Secret Reference Example Resource
429429

430430
```yaml
431-
apiVersion: servicebinding.io/v1beta1
431+
apiVersion: servicebinding.io/v1
432432
kind: ServiceBinding
433433
metadata:
434434
name: account-service
@@ -455,7 +455,7 @@ status:
455455

456456
# Workload Resource Mapping
457457

458-
A workload resource mapping describes how to apply [service binding](#service-binding) transformations to a [workload projection](#workload-projection). It **MUST** be codified as a concrete resource type (cluster scoped resource) with API version `servicebinding.io/v1beta1` and kind `ClusterWorkloadResourceMapping`. An implementation **MAY** support other versions of this specification which define additional API versions. For portability, the schema **MUST** comply to the exemplar CRD found [here][cwrm-crd].
458+
A workload resource mapping describes how to apply [service binding](#service-binding) transformations to a [workload projection](#workload-projection). It **MUST** be codified as a concrete resource type (cluster scoped resource) with API version `servicebinding.io/v1` and kind `ClusterWorkloadResourceMapping`. An implementation **MAY** support other versions of this specification which define additional API versions. For portability, the schema **MUST** comply to the exemplar CRD found [here][cwrm-crd].
459459

460460
A workload resource mapping **MUST** define its name using [CRD syntax][crd-syntax] (`<plural>.<group>`) for the resource that it defines a mapping for. A workload resource mapping **MUST** define a `.spec.versions` which is an array of `MappingTemplate` fragments.
461461

@@ -499,7 +499,7 @@ All other types and operators are disallowed, including but not limited to:
499499
## Resource Type Schema
500500

501501
```yaml
502-
apiVersion: servicebinding.io/v1beta1
502+
apiVersion: servicebinding.io/v1
503503
kind: ClusterWorkloadResourceMapping
504504
metadata:
505505
name: # string
@@ -520,7 +520,7 @@ spec:
520520
## Example Resource
521521

522522
```yaml
523-
apiVersion: servicebinding.io/v1beta1
523+
apiVersion: servicebinding.io/v1
524524
kind: ClusterWorkloadResourceMapping
525525
metadata:
526526
name: cronjobs.batch
@@ -543,7 +543,7 @@ spec:
543543
## `PodSpec`-able (Default) Example Resource
544544

545545
```yaml
546-
apiVersion: servicebinding.io/v1beta1
546+
apiVersion: servicebinding.io/v1
547547
kind: ClusterWorkloadResourceMapping
548548
metadata:
549549
name: deployments.apps

internal/go.mod

+35-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,40 @@
11
module github.com/servicebinding/spec/internal
22

3-
go 1.14
3+
go 1.21
44

55
require (
6-
k8s.io/apimachinery v0.20.0
7-
sigs.k8s.io/controller-runtime v0.7.0
8-
sigs.k8s.io/controller-tools v0.3.0
6+
k8s.io/apimachinery v0.29.1
7+
sigs.k8s.io/controller-runtime v0.17.1
8+
sigs.k8s.io/controller-tools v0.14.0
9+
)
10+
11+
require (
12+
github.com/fatih/color v1.16.0 // indirect
13+
github.com/go-logr/logr v1.4.1 // indirect
14+
github.com/gobuffalo/flect v1.0.2 // indirect
15+
github.com/gogo/protobuf v1.3.2 // indirect
16+
github.com/google/gofuzz v1.2.0 // indirect
17+
github.com/inconshreveable/mousetrap v1.1.0 // indirect
18+
github.com/json-iterator/go v1.1.12 // indirect
19+
github.com/mattn/go-colorable v0.1.13 // indirect
20+
github.com/mattn/go-isatty v0.0.20 // indirect
21+
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
22+
github.com/modern-go/reflect2 v1.0.2 // indirect
23+
github.com/spf13/cobra v1.8.0 // indirect
24+
github.com/spf13/pflag v1.0.5 // indirect
25+
golang.org/x/mod v0.14.0 // indirect
26+
golang.org/x/net v0.19.0 // indirect
27+
golang.org/x/sys v0.16.0 // indirect
28+
golang.org/x/text v0.14.0 // indirect
29+
golang.org/x/tools v0.16.1 // indirect
30+
gopkg.in/inf.v0 v0.9.1 // indirect
31+
gopkg.in/yaml.v2 v2.4.0 // indirect
32+
gopkg.in/yaml.v3 v3.0.1 // indirect
33+
k8s.io/api v0.29.0 // indirect
34+
k8s.io/apiextensions-apiserver v0.29.0 // indirect
35+
k8s.io/klog/v2 v2.110.1 // indirect
36+
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
37+
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
38+
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
39+
sigs.k8s.io/yaml v1.4.0 // indirect
940
)

0 commit comments

Comments
 (0)