@@ -8,7 +8,7 @@ use crate::config::{
88 merge:: Merge ,
99} ;
1010
11- use derivative :: Derivative ;
11+ use educe :: Educe ;
1212use schemars:: JsonSchema ;
1313use serde:: { Deserialize , Serialize } ;
1414
@@ -46,21 +46,21 @@ use serde::{Deserialize, Serialize};
4646///
4747/// let logging = product_logging::spec::default_logging::<Container>();
4848/// ```
49- #[ derive( Clone , Debug , Derivative , Eq , Fragment , JsonSchema , PartialEq ) ]
50- #[ derivative ( Default ( bound = "" ) ) ]
49+ #[ derive( Clone , Debug , Eq , Fragment , JsonSchema , PartialEq , Educe ) ]
50+ #[ educe ( Default ) ]
5151#[ fragment( path_overrides( fragment = "crate::config::fragment" ) ) ]
5252#[ fragment_attrs(
5353 derive(
5454 Clone ,
5555 Debug ,
56- Derivative ,
5756 Deserialize ,
5857 JsonSchema ,
5958 Merge ,
6059 PartialEq ,
61- Serialize
60+ Serialize ,
61+ Educe ,
6262 ) ,
63- derivative ( Default ( bound = "" ) ) ,
63+ educe ( Default ) ,
6464 merge( path_overrides( merge = "crate::config::merge" ) ) ,
6565 serde(
6666 bound( serialize = "T: Serialize" , deserialize = "T: Deserialize<'de>" , ) ,
7575{
7676 /// Wether or not to deploy a container with the Vector log agent.
7777 pub enable_vector_agent : bool ,
78+
7879 /// Log configuration per container.
7980 #[ fragment_attrs( serde( default ) ) ]
8081 pub containers : BTreeMap < T , ContainerLogConfig > ,
@@ -119,25 +120,27 @@ pub struct ContainerLogConfig {
119120/// Custom or automatic log configuration
120121///
121122/// The custom log configuration takes precedence over the automatic one.
122- #[ derive( Clone , Debug , Derivative , Eq , JsonSchema , PartialEq ) ]
123- #[ derivative ( Default ) ]
123+ #[ derive( Clone , Debug , Eq , JsonSchema , PartialEq , Educe ) ]
124+ #[ educe ( Default ) ]
124125pub enum ContainerLogConfigChoice {
125126 /// Custom log configuration provided in a ConfigMap
126127 Custom ( CustomContainerLogConfig ) ,
128+
127129 /// Automatic log configuration according to the given values
128- #[ derivative ( Default ) ]
130+ #[ educe ( Default ) ]
129131 Automatic ( AutomaticContainerLogConfig ) ,
130132}
131133
132- #[ derive( Clone , Debug , Derivative , Deserialize , JsonSchema , Merge , PartialEq , Serialize ) ]
133- #[ derivative ( Default ) ]
134+ #[ derive( Clone , Debug , Deserialize , JsonSchema , Merge , PartialEq , Serialize , Educe ) ]
135+ #[ educe ( Default ) ]
134136#[ merge( path_overrides( merge = "crate::config::merge" ) ) ]
135137#[ serde( untagged) ]
136138pub enum ContainerLogConfigChoiceFragment {
137139 /// Custom log configuration provided in a ConfigMap
138140 Custom ( CustomContainerLogConfigFragment ) ,
139- # [ derivative ( Default ) ]
141+
140142 /// Automatic log configuration according to the given values
143+ #[ educe( Default ) ]
141144 Automatic ( AutomaticContainerLogConfigFragment ) ,
142145}
143146
@@ -306,7 +309,7 @@ pub struct AppenderConfig {
306309 Clone ,
307310 Copy ,
308311 Debug ,
309- Derivative ,
312+ Default ,
310313 Deserialize ,
311314 Eq ,
312315 JsonSchema ,
@@ -316,11 +319,10 @@ pub struct AppenderConfig {
316319 Serialize ,
317320 strum:: Display ,
318321) ]
319- #[ derivative( Default ) ]
320322pub enum LogLevel {
321323 TRACE ,
322324 DEBUG ,
323- #[ derivative ( Default ) ]
325+ #[ default ]
324326 INFO ,
325327 WARN ,
326328 ERROR ,
0 commit comments