Skip to content

Commit 98fcce1

Browse files
authored
Merge pull request #156 from tr-aheiev/fix-cs-namespaceless
Removing unnecessary 'namespace' references to clear code and resolve error log messages
2 parents 416e2f6 + e72c128 commit 98fcce1

File tree

9 files changed

+11
-34
lines changed

9 files changed

+11
-34
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
conformance/__pycache__/
12
src/__pycache__/
23
src/tests/__pycache__/
34
yaml/Object_example/debug-*

charts/cluster-secret/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ name: cluster-secret
33
description: ClusterSecret Operator
44
kubeVersion: '>= 1.25.0-0'
55
type: application
6-
version: 0.5.0
6+
version: 0.5.1
77
icon: https://clustersecret.com/assets/csninjasmall.png
88
sources:
99
- https://github.com/zakkg3/ClusterSecret
10-
appVersion: "0.0.13"
10+
appVersion: "0.0.14"
1111
maintainers:
1212
1313
name: zakkg3

charts/cluster-secret/README.md

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ Here is how it looks like:
1818
kind: ClusterSecret
1919
apiVersion: clustersecret.io/v1
2020
metadata:
21-
namespace: clustersecret
2221
name: default-wildcard-certifiate
2322
matchNamespace:
2423
- prefix_ns-*

conformance/cluster-secrets.yaml

+1-4
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,14 @@ apiVersion: clustersecret.io/v1
22
kind: ClusterSecret
33
metadata:
44
name: basic-cluster-secret
5-
namespace: example-1
65
data:
76
username: MTIzNDU2Cg==
87
password: MTIzNDU2Cg==
98
---
10-
kind: ClusterSecret
119
apiVersion: clustersecret.io/v1
10+
kind: ClusterSecret
1211
metadata:
1312
name: typed-secret
14-
namespace: example-1
1513
type: kubernetes.io/tls
1614
data:
1715
tls.crt: MTIzNDU2Cg==
@@ -21,7 +19,6 @@ apiVersion: clustersecret.io/v1
2119
kind: ClusterSecret
2220
metadata:
2321
name: basic-cluster-secret
24-
namespace: example-1
2522
avoidNamespaces:
2623
- example-3
2724
---

conformance/k8s_utils.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,7 @@ def update_data_cluster_secret(
153153

154154
def delete_cluster_secret(
155155
self,
156-
name: str,
157-
namespace: str
156+
name: str
158157
):
159158
self.custom_objects_api.delete_cluster_custom_object(
160159
name=name,

conformance/tests.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,7 @@ def test_simple_cluster_secret_deleted(self):
180180
)
181181

182182
self.cluster_secret_manager.delete_cluster_secret(
183-
name=name,
184-
namespace=USER_NAMESPACES[0],
183+
name=name
185184
)
186185

187186
# We expect the secret to be in NO namespaces

src/handlers.py

+2-9
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ def on_field_match_namespace(
5555
old: Optional[List[str]],
5656
new: List[str],
5757
name: str,
58-
namespace: str,
5958
body,
6059
uid: str,
6160
logger: logging.Logger,
@@ -91,13 +90,12 @@ def on_field_match_namespace(
9190
csecs_cache.set_cluster_secret(BaseClusterSecret(
9291
uid=uid,
9392
name=name,
94-
namespace=namespace,
9593
body=body,
9694
synced_namespace=updated_matched,
9795
))
9896

9997
# Patch synced_ns field
100-
logger.debug(f'Patching clustersecret {name} in namespace {namespace}')
98+
logger.debug(f'Patching clustersecret {name}')
10199
patch_clustersecret_status(
102100
logger=logger,
103101
name=name,
@@ -113,7 +111,6 @@ def on_field_data(
113111
body: Dict[str, Any],
114112
meta: kopf.Meta,
115113
name: str,
116-
namespace: Optional[str],
117114
uid: str,
118115
logger: logging.Logger,
119116
**_,
@@ -166,7 +163,7 @@ def on_field_data(
166163

167164
if updated_syncedns != syncedns:
168165
# Patch synced_ns field
169-
logger.debug(f'Patching clustersecret {name} in namespace {namespace}')
166+
logger.debug(f'Patching clustersecret {name}')
170167
body = patch_clustersecret_status(
171168
logger=logger,
172169
name=name,
@@ -178,7 +175,6 @@ def on_field_data(
178175
csecs_cache.set_cluster_secret(BaseClusterSecret(
179176
uid=uid,
180177
name=name,
181-
namespace=namespace or "",
182178
body=body,
183179
synced_namespace=updated_syncedns,
184180
))
@@ -190,7 +186,6 @@ async def create_fn(
190186
logger: logging.Logger,
191187
uid: str,
192188
name: str,
193-
namespace: str,
194189
body: Dict[str, Any],
195190
**_
196191
):
@@ -211,7 +206,6 @@ async def create_fn(
211206
csecs_cache.set_cluster_secret(BaseClusterSecret(
212207
uid=uid,
213208
name=name,
214-
namespace=namespace or "",
215209
body=body,
216210
synced_namespace=matchedns,
217211
))
@@ -283,7 +277,6 @@ async def startup_fn(logger: logging.Logger, **_):
283277
BaseClusterSecret(
284278
uid=metadata.get('uid'),
285279
name=metadata.get('name'),
286-
namespace=metadata.get('namespace', ''),
287280
body=item,
288281
synced_namespace=item.get('status', {}).get('create_fn', {}).get('syncedns', []),
289282
)

src/models.py

-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,5 @@
66
class BaseClusterSecret(BaseModel):
77
uid: str
88
name: str
9-
namespace: str
109
body: Dict[str, Any]
1110
synced_namespace: List[str]

src/tests/test_handlers.py

+3-13
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ def test_on_field_data_cache(self):
2626
csec = BaseClusterSecret(
2727
uid="mysecretuid",
2828
name="mysecret",
29-
namespace="",
3029
body={"metadata": {"name": "mysecret", "uid": "mysecretuid"}, "data": {"key": "oldvalue"}},
3130
synced_namespace=[],
3231
)
@@ -42,7 +41,6 @@ def test_on_field_data_cache(self):
4241
body=new_body,
4342
meta=kopf.Meta({"metadata": {"name": "mysecret"}}),
4443
name="mysecret",
45-
namespace=None,
4644
uid="mysecretuid",
4745
logger=self.logger,
4846
)
@@ -75,7 +73,6 @@ def test_on_field_data_sync(self):
7573
csec = BaseClusterSecret(
7674
uid="mysecretuid",
7775
name="mysecret",
78-
namespace="",
7976
body={
8077
"metadata": {"name": "mysecret", "uid": "mysecretuid"},
8178
"data": {"key": "oldvalue"},
@@ -100,7 +97,6 @@ def test_on_field_data_sync(self):
10097
body=new_body,
10198
meta=kopf.Meta({"metadata": {"name": "mysecret"}}),
10299
name="mysecret",
103-
namespace=None,
104100
uid="mysecretuid",
105101
logger=self.logger,
106102
)
@@ -203,7 +199,6 @@ def read_namespace(name, **kwargs):
203199
csec = BaseClusterSecret(
204200
uid="mysecretuid",
205201
name="mysecret",
206-
namespace="",
207202
body={
208203
"metadata": {"name": "mysecret", "uid": "mysecretuid"},
209204
"data": {"key": "oldvalue"},
@@ -229,7 +224,6 @@ def read_namespace(name, **kwargs):
229224
body=new_body,
230225
meta=kopf.Meta({"metadata": {"name": "mysecret"}}),
231226
name="mysecret",
232-
namespace=None,
233227
uid="mysecretuid",
234228
logger=self.logger,
235229
)
@@ -265,7 +259,6 @@ def test_create_fn(self):
265259
body = {
266260
"metadata": {
267261
"name": "mysecret",
268-
"namespace": "myclustersecretnamespace",
269262
"uid": "mysecretuid"
270263
},
271264
"data": {"key": "value"}
@@ -284,15 +277,14 @@ def test_create_fn(self):
284277
logger=self.logger,
285278
uid="mysecretuid",
286279
name="mysecret",
287-
namespace="myclustersecretnamespace",
288280
body=body,
289281
)
290282
)
291283

292-
# ClusterSecret with a correct namespace should be in the cache.
284+
# The secrets should be in all namespaces of the cache.
293285
self.assertEqual(
294-
csecs_cache.get_cluster_secret("mysecretuid").namespace,
295-
"myclustersecretnamespace",
286+
csecs_cache.get_cluster_secret("mysecretuid").synced_namespace,
287+
["default", "myns"],
296288
)
297289

298290
def test_ns_create(self):
@@ -312,7 +304,6 @@ def test_ns_create(self):
312304
csec = BaseClusterSecret(
313305
uid="mysecretuid",
314306
name="mysecret",
315-
namespace="",
316307
body={"metadata": {"name": "mysecret"}, "data": "mydata"},
317308
synced_namespace=["default"],
318309
)
@@ -358,7 +349,6 @@ def test_startup_fn(self):
358349
csec = BaseClusterSecret(
359350
uid="mysecretuid",
360351
name="mysecret",
361-
namespace="",
362352
body={"metadata": {"name": "mysecret", "uid": "mysecretuid"}, "data": "mydata"},
363353
synced_namespace=[],
364354
)

0 commit comments

Comments
 (0)