You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SmbCommonConfig allows certain, non-share specific, parameters to be
specified. Unlike SmbSecurityConfig these are not related to share
security. Like SmbSecurityConfig, the values here help act as a template
for the resources the operator will create and manage.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Copy file name to clipboardExpand all lines: docs/design/crd-proposal-phase1.md
+56-6Lines changed: 56 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,19 +19,26 @@ The following CRD types are proposed for Phase 1:
19
19
single share
20
20
* SmbSecurityConfig - A CR that encapsulates the knowledge needed to define
21
21
"local" users or become part of an Active Directory domain
22
+
* SmbCommonConfig - A optional CR that helps define properties common across
23
+
many shares. For example, if shares should be "exported" outside of the
24
+
kuberntes cluster.
22
25
23
26
The operator will take the SmbShare and SmbSecurityConfig resources as inputs
24
27
and create as many smbd, winbind, or other backing services as needed. Users
25
28
will have limited input into what backing services the operator will create.
26
29
The operator may, or may not, combine one or more share into a single smbd
27
30
instance.
28
31
29
-
One or more SmbSecurityConfig resources can be defined in the cluster. Each
30
-
SmbShare CR can refer to one of those SmbSecurityConfig resources, or rely on
31
-
the default settings of the operator. The SmbSecurityConfig reference will
32
-
define the security properties of the smbd instance that hosts the share. If
33
-
two SmbShare CRs are defined and each one refers to different SmbSecurityConfig
34
-
they must not be combined using one smbd.
32
+
One or more SmbSecurityConfig resources can be defined in the cluster. One or
33
+
more SmbCommonConfig resources can be defined in the cluster. Each SmbShare CR
34
+
can refer to one SmbSecurityConfig resource and one SmbCommonConfig resource.
35
+
The operator will provide a mechanism for marking SmbSecurityConfig and
36
+
SmbCommonConfig resources as "default". If an SmbShare does not name a specifc
37
+
config resource the operator will use settings from the "default" resources, or
38
+
if no defaults are set rely on the default settings of the operator. The
39
+
SmbSecurityConfig reference will define the security properties of the smbd
40
+
instance that hosts the share. If two SmbShare CRs are defined and each one
41
+
refers to different SmbSecurityConfig they must not be combined using one smbd.
35
42
36
43
The listings below are not meant to be entirely complete but they outline
37
44
the general direction to make the operator a fully-fledged tool to
@@ -73,6 +80,15 @@ Spec Options:
73
80
mode="active-directory"; configures if server instances created by the
74
81
operator should register IP addresses with AD DNS.
75
82
83
+
## SmbCommonConfig
84
+
85
+
Spec Options:
86
+
*`network` - subsection - Settings pertaining to current and possible future
87
+
pod/service/etc networking config.
88
+
*`publish` - enumerated string - "cluster", "external" - Controls if the smb
89
+
services should be set up for in-cluster use or made available to systems
90
+
external to the Kubernetes cluster.
91
+
76
92
77
93
## SmbShare
78
94
@@ -90,6 +106,8 @@ Spec Options:
90
106
* TBD - Any other more custom storage back-ends if needed
91
107
*`securityConfig` - string - The name of the SmbSecurityConfig CR associated
92
108
with this share
109
+
*`commonConfig` - string - The name of the SmbCommonConfig CR associated
110
+
with this share
93
111
*`scaling` - mapping - Settings pertaining to how resources (servers) managed
94
112
by the operator may be scaled
95
113
*`groupMode` - string - Optional string. May be one of `never` or `basic`.
@@ -250,5 +268,37 @@ spec:
250
268
```
251
269
252
270
271
+
An AD enabled share, configured to be accessed outside the kubernetes cluster:
272
+
```yaml
273
+
---
274
+
apiVersion: samba-operator.samba.org/v1alpha1
275
+
kind: SmbSecurityConfig
276
+
metadata:
277
+
name: "rad-domain"
278
+
spec:
279
+
mode: "active-directory"
280
+
realm: "my-rad-ad.int.example.org"
281
+
---
282
+
apiVersion: samba-operator.samba.org/v1alpha1
283
+
kind: SmbCommonConfig
284
+
metadata:
285
+
name: "public1"
286
+
spec:
287
+
network:
288
+
publish: external
289
+
---
290
+
apiVersion: samba-operator.samba.org/v1alpha1
291
+
kind: SmbShare
292
+
metadata:
293
+
name: "documents"
294
+
spec:
295
+
securityConfig: "rad-domain"
296
+
commonConfig: "public1"
297
+
storage:
298
+
pvc:
299
+
name: "docs"
300
+
```
301
+
302
+
253
303
254
304
[1] - This option doesn't currently combine all that well with using an embedded PVC spec as there'd be no way of loading data into the PVC. However, with a named PVC one could pre-load data onto it.
0 commit comments