File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed
crates/stackable-operator/src/builder/pod Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,37 @@ pub enum Error {
23
23
PeriodIsZero { } ,
24
24
}
25
25
26
+ /// Kubernetes [`Probe`] builder.
27
+ ///
28
+ /// The upstream [`Probe`] struct does not prevent invalid probe configurations
29
+ /// which leads to surprises at runtime which can be deeply hidden.
30
+ /// You need to specify at least an action and interval (in this order).
31
+ ///
32
+ /// ### Usage example
33
+ ///
34
+ /// ```
35
+ /// use stackable_operator::{
36
+ /// builder::pod::probe::ProbeBuilder,
37
+ /// time::Duration,
38
+ /// };
39
+ /// # use k8s_openapi::api::core::v1::HTTPGetAction;
40
+ /// # use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString;
41
+ ///
42
+ /// let probe = ProbeBuilder::default()
43
+ /// .with_http_get_action_helper(8080, None, None)
44
+ /// .with_period(Duration::from_secs(10))
45
+ /// .build()
46
+ /// .expect("failed to build probe");
47
+ ///
48
+ /// assert_eq!(
49
+ /// probe.http_get,
50
+ /// Some(HTTPGetAction {
51
+ /// port: IntOrString::Int(8080),
52
+ /// ..Default::default()
53
+ /// })
54
+ /// );
55
+ /// assert_eq!(probe.period_seconds, Some(10));
56
+ /// ```
26
57
#[ derive( Debug ) ]
27
58
pub struct ProbeBuilder < Action , Period > {
28
59
// Mandatory field
You can’t perform that action at this time.
0 commit comments