@@ -11,26 +11,41 @@ use tracing::debug;
1111/// Volume name for opencode data
1212pub const VOLUME_SESSION : & str = "opencode-data" ;
1313
14+ /// Volume name for opencode state
15+ pub const VOLUME_STATE : & str = "opencode-state" ;
16+
17+ /// Volume name for opencode cache
18+ pub const VOLUME_CACHE : & str = "opencode-cache" ;
19+
1420/// Volume name for project files
1521pub const VOLUME_PROJECTS : & str = "opencode-workspace" ;
1622
1723/// Volume name for opencode configuration
1824pub const VOLUME_CONFIG : & str = "opencode-config" ;
1925
2026/// All volume names as array for iteration
21- pub const VOLUME_NAMES : [ & str ; 3 ] = [ VOLUME_SESSION , VOLUME_PROJECTS , VOLUME_CONFIG ] ;
27+ pub const VOLUME_NAMES : [ & str ; 5 ] = [
28+ VOLUME_SESSION ,
29+ VOLUME_STATE ,
30+ VOLUME_CACHE ,
31+ VOLUME_PROJECTS ,
32+ VOLUME_CONFIG ,
33+ ] ;
2234
2335/// Mount point for opencode data inside container
24- pub const MOUNT_SESSION : & str = "/home/opencode/.local/share" ;
36+ pub const MOUNT_SESSION : & str = "/home/opencode/.local/share/opencode" ;
37+
38+ /// Mount point for opencode state inside container
39+ pub const MOUNT_STATE : & str = "/home/opencode/.local/state/opencode" ;
2540
26- /// Mount point for opencode app data inside container (XDG_DATA_HOME)
27- pub const MOUNT_APP_DATA : & str = "/home/opencode/.local/share/ opencode-cloud " ;
41+ /// Mount point for opencode cache inside container
42+ pub const MOUNT_CACHE : & str = "/home/opencode/.cache/ opencode" ;
2843
2944/// Mount point for project files inside container
3045pub const MOUNT_PROJECTS : & str = "/home/opencode/workspace" ;
3146
3247/// Mount point for configuration inside container
33- pub const MOUNT_CONFIG : & str = "/home/opencode/.config" ;
48+ pub const MOUNT_CONFIG : & str = "/home/opencode/.config/opencode " ;
3449
3550/// Ensure all required volumes exist
3651///
@@ -126,23 +141,28 @@ mod tests {
126141 #[ test]
127142 fn volume_constants_are_correct ( ) {
128143 assert_eq ! ( VOLUME_SESSION , "opencode-data" ) ;
144+ assert_eq ! ( VOLUME_STATE , "opencode-state" ) ;
145+ assert_eq ! ( VOLUME_CACHE , "opencode-cache" ) ;
129146 assert_eq ! ( VOLUME_PROJECTS , "opencode-workspace" ) ;
130147 assert_eq ! ( VOLUME_CONFIG , "opencode-config" ) ;
131148 }
132149
133150 #[ test]
134151 fn volume_names_array_has_all_volumes ( ) {
135- assert_eq ! ( VOLUME_NAMES . len( ) , 3 ) ;
152+ assert_eq ! ( VOLUME_NAMES . len( ) , 5 ) ;
136153 assert ! ( VOLUME_NAMES . contains( & VOLUME_SESSION ) ) ;
154+ assert ! ( VOLUME_NAMES . contains( & VOLUME_STATE ) ) ;
155+ assert ! ( VOLUME_NAMES . contains( & VOLUME_CACHE ) ) ;
137156 assert ! ( VOLUME_NAMES . contains( & VOLUME_PROJECTS ) ) ;
138157 assert ! ( VOLUME_NAMES . contains( & VOLUME_CONFIG ) ) ;
139158 }
140159
141160 #[ test]
142161 fn mount_points_are_correct ( ) {
143- assert_eq ! ( MOUNT_SESSION , "/home/opencode/.local/share" ) ;
144- assert_eq ! ( MOUNT_APP_DATA , "/home/opencode/.local/share/opencode-cloud" ) ;
162+ assert_eq ! ( MOUNT_SESSION , "/home/opencode/.local/share/opencode" ) ;
163+ assert_eq ! ( MOUNT_STATE , "/home/opencode/.local/state/opencode" ) ;
164+ assert_eq ! ( MOUNT_CACHE , "/home/opencode/.cache/opencode" ) ;
145165 assert_eq ! ( MOUNT_PROJECTS , "/home/opencode/workspace" ) ;
146- assert_eq ! ( MOUNT_CONFIG , "/home/opencode/.config" ) ;
166+ assert_eq ! ( MOUNT_CONFIG , "/home/opencode/.config/opencode " ) ;
147167 }
148168}
0 commit comments