Skip to content

Commit f2817b6

Browse files
committed
Avoid requesting CM/secret data entirely
Instead of requesting it but throwing it away.
1 parent 2fe80f7 commit f2817b6

File tree

1 file changed

+14
-11
lines changed

1 file changed

+14
-11
lines changed

rust/operator-binary/src/restart_controller/statefulset.rs

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ use stackable_operator::kube::runtime::controller::{
1818
trigger_self, trigger_with, Action, ReconcileRequest,
1919
};
2020
use stackable_operator::kube::runtime::reflector::{ObjectRef, Store};
21-
use stackable_operator::kube::runtime::{applier, reflector, watcher, Config, WatchStreamExt};
21+
use stackable_operator::kube::runtime::{
22+
applier, metadata_watcher, reflector, watcher, Config, WatchStreamExt,
23+
};
2224
use stackable_operator::kube::{Resource, ResourceExt};
2325
use stackable_operator::logging::controller::{report_controller_reconciled, ReconcilerError};
2426
use stackable_operator::namespace::WatchNamespace;
@@ -70,11 +72,11 @@ impl ReconcilerError for Error {
7072

7173
pub async fn start(client: &Client, watch_namespace: &WatchNamespace) {
7274
let stses = watch_namespace.get_api::<DeserializeGuard<StatefulSet>>(client);
73-
let cms = watch_namespace.get_api::<PartialObjectMeta<ConfigMap>>(client);
74-
let secrets = watch_namespace.get_api::<PartialObjectMeta<Secret>>(client);
75+
let cms = watch_namespace.get_api::<ConfigMap>(client);
76+
let secrets = watch_namespace.get_api::<Secret>(client);
7577
let sts_store = reflector::store::Writer::<DeserializeGuard<StatefulSet>>::new(());
76-
let cm_store = reflector::store::Writer::new(());
77-
let secret_store = reflector::store::Writer::new(());
78+
let cm_store = reflector::store::Writer::<PartialObjectMeta<ConfigMap>>::new(());
79+
let secret_store = reflector::store::Writer::<PartialObjectMeta<Secret>>::new(());
7880
let cms_inited = Arc::new(AtomicBool::from(false));
7981
let secrets_inited = Arc::new(AtomicBool::from(false));
8082

@@ -92,17 +94,18 @@ pub async fn start(client: &Client, watch_namespace: &WatchNamespace) {
9294
stream::select(
9395
stream::select(
9496
trigger_all(
95-
reflector(cm_store, watcher(cms, watcher::Config::default()))
97+
reflector(cm_store, metadata_watcher(cms, watcher::Config::default()))
9698
.inspect(|_| cms_inited.store(true, std::sync::atomic::Ordering::SeqCst))
9799
.touched_objects(),
98100
sts_store.as_reader(),
99101
),
100102
trigger_all(
101-
reflector(secret_store, watcher(secrets, watcher::Config::default()))
102-
.inspect(|_| {
103-
secrets_inited.store(true, std::sync::atomic::Ordering::SeqCst)
104-
})
105-
.touched_objects(),
103+
reflector(
104+
secret_store,
105+
metadata_watcher(secrets, watcher::Config::default()),
106+
)
107+
.inspect(|_| secrets_inited.store(true, std::sync::atomic::Ordering::SeqCst))
108+
.touched_objects(),
106109
sts_store.as_reader(),
107110
),
108111
),

0 commit comments

Comments
 (0)