@@ -83,16 +83,6 @@ func realMain(ctx context.Context) error {
83
83
defer oe .Close ()
84
84
logger .Infow ("observability exporter" , "config" , oeConfig )
85
85
86
- // Setup database
87
- db , err := config .Database .Load (ctx )
88
- if err != nil {
89
- return fmt .Errorf ("failed to load database config: %w" , err )
90
- }
91
- if err := db .Open (ctx ); err != nil {
92
- return fmt .Errorf ("failed to connect to database: %w" , err )
93
- }
94
- defer db .Close ()
95
-
96
86
// Setup cacher
97
87
// TODO(sethvargo): switch to HMAC
98
88
cacher , err := cache .CacherFor (ctx , & config .Cache , cache .MultiKeyFunc (
@@ -102,6 +92,16 @@ func realMain(ctx context.Context) error {
102
92
}
103
93
defer cacher .Close ()
104
94
95
+ // Setup database
96
+ db , err := config .Database .Load (ctx )
97
+ if err != nil {
98
+ return fmt .Errorf ("failed to load database config: %w" , err )
99
+ }
100
+ if err := db .OpenWithCacher (ctx , cacher ); err != nil {
101
+ return fmt .Errorf ("failed to connect to database: %w" , err )
102
+ }
103
+ defer db .Close ()
104
+
105
105
// Setup signer
106
106
signer , err := keys .KeyManagerFor (ctx , & config .Database .Keys )
107
107
if err != nil {
@@ -132,7 +132,7 @@ func realMain(ctx context.Context) error {
132
132
return fmt .Errorf ("failed to create renderer: %w" , err )
133
133
}
134
134
135
- r .Handle ("/health" , controller .HandleHealthz (ctx , h , & config .Database )).Methods ("GET" )
135
+ r .Handle ("/health" , controller .HandleHealthz (ctx , & config .Database , h )).Methods ("GET" )
136
136
137
137
// Setup API auth
138
138
requireAPIKey := middleware .RequireAPIKey (ctx , cacher , db , h , []database.APIUserType {
0 commit comments