11//! Build the listener `Volume`/`PersistentVolumeClaim` exposing a rolegroup.
22
3+ use std:: str:: FromStr ;
4+
35use snafu:: { ResultExt , Snafu } ;
46use stackable_operator:: {
57 builder:: pod:: volume:: {
@@ -8,6 +10,13 @@ use stackable_operator::{
810 } ,
911 k8s_openapi:: api:: core:: v1:: { PersistentVolumeClaim , Volume } ,
1012 kvp:: Labels ,
13+ v2:: {
14+ builder:: pod:: volume:: {
15+ ListenerReference as TypedListenerReference ,
16+ listener_operator_volume_source_builder_build_pvc,
17+ } ,
18+ types:: kubernetes:: PersistentVolumeClaimName ,
19+ } ,
1120} ;
1221
1322use crate :: crd:: { AnyServiceConfig , HbaseRole , LISTENER_VOLUME_NAME } ;
@@ -18,11 +27,6 @@ pub enum Error {
1827 BuildListenerVolume {
1928 source : ListenerOperatorVolumeSourceBuilderError ,
2029 } ,
21-
22- #[ snafu( display( "failed to build listener pvc" ) ) ]
23- BuildListenerPvc {
24- source : ListenerOperatorVolumeSourceBuilderError ,
25- } ,
2630}
2731
2832type Result < T , E = Error > = std:: result:: Result < T , E > ;
@@ -62,17 +66,14 @@ pub fn build_listener_pvc(
6266 role : & HbaseRole ,
6367 merged_config : & AnyServiceConfig ,
6468 recommended_labels : & Labels ,
65- ) -> Result < Option < Vec < PersistentVolumeClaim > > > {
66- let pvc = match role {
69+ ) -> Option < Vec < PersistentVolumeClaim > > {
70+ match role {
6771 HbaseRole :: Master | HbaseRole :: RegionServer => None ,
68- HbaseRole :: RestServer => Some ( vec ! [
69- ListenerOperatorVolumeSourceBuilder :: new(
70- & ListenerReference :: ListenerClass ( merged_config. listener_class( ) . to_string( ) ) ,
71- recommended_labels,
72- )
73- . build_pvc( LISTENER_VOLUME_NAME . to_string( ) )
74- . context( BuildListenerPvcSnafu ) ?,
75- ] ) ,
76- } ;
77- Ok ( pvc)
72+ HbaseRole :: RestServer => Some ( vec ! [ listener_operator_volume_source_builder_build_pvc(
73+ & TypedListenerReference :: ListenerClass ( merged_config. listener_class( ) ) ,
74+ recommended_labels,
75+ & PersistentVolumeClaimName :: from_str( LISTENER_VOLUME_NAME )
76+ . expect( "LISTENER_VOLUME_NAME is a valid PersistentVolumeClaim name" ) ,
77+ ) ] ) ,
78+ }
7879}
0 commit comments