File tree Expand file tree Collapse file tree
core/tedge_mapper/src/c8y
extensions/c8y_mapper_ext/src Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -42,6 +42,7 @@ use tedge_timer_ext::TimerActor;
4242use tedge_uploader_ext:: UploaderActor ;
4343use tedge_utils:: file:: change_mode;
4444use tedge_utils:: file:: change_user_and_group;
45+ use tedge_utils:: file:: create_directory_with_user_group;
4546use tedge_watch_ext:: WatchActorBuilder ;
4647use tracing:: warn;
4748use yansi:: Paint ;
@@ -336,9 +337,15 @@ pub async fn bridge_rules(
336337 tedge_config : & TEdgeConfig ,
337338 cloud_profile : Option < & ProfileName > ,
338339) -> anyhow:: Result < BridgeConfig > {
339- let bridge_config_dir = tedge_config
340- . mapper_config_dir :: < C8yMapperSpecificConfig > ( cloud_profile)
341- . join ( "bridge" ) ;
340+ let mapper_config_dir =
341+ tedge_config. mapper_config_dir :: < C8yMapperSpecificConfig > ( cloud_profile) ;
342+ if let Err ( err) =
343+ create_directory_with_user_group ( mapper_config_dir. clone ( ) , "tedge" , "tedge" , 0o755 ) . await
344+ {
345+ warn ! ( "failed to set file ownership for '{mapper_config_dir}': {err}" ) ;
346+ }
347+
348+ let bridge_config_dir = mapper_config_dir. join ( "bridge" ) ;
342349
343350 // Persist the built-in bridge configuration templates
344351 persist_bridge_config_file (
Original file line number Diff line number Diff line change @@ -5,13 +5,20 @@ use tedge_flows::FlowRegistryExt;
55use tedge_flows:: UpdateFlowRegistryError ;
66use tedge_mqtt_ext:: TopicFilter ;
77use tedge_utils:: file:: create_directory_with_defaults;
8+ use tracing:: error;
89
910impl C8yMapperBuilder {
1011 pub async fn flow_registry (
1112 & self ,
1213 flows_dir : impl AsRef < Utf8Path > ,
1314 ) -> Result < ConnectedFlowRegistry , UpdateFlowRegistryError > {
14- create_directory_with_defaults ( flows_dir. as_ref ( ) ) . await ?;
15+ if let Err ( err) = create_directory_with_defaults ( flows_dir. as_ref ( ) ) . await {
16+ error ! (
17+ "failed to create flow directory '{}': {err}" ,
18+ flows_dir. as_ref( )
19+ ) ;
20+ return Err ( err) ?;
21+ } ;
1522 let mut flows = ConnectedFlowRegistry :: new ( flows_dir) ;
1623
1724 let mapper_topic_id = self . config . service_topic_id . clone ( ) ;
You can’t perform that action at this time.
0 commit comments