@@ -101,12 +101,17 @@ func (p *PgBackRestRestore) Create(ctx context.Context, rc *resource.Context) er
101101 return handleError (fmt .Errorf ("failed to get postgres service resource from state: %w" , err ))
102102 }
103103
104+ specResource , err := resource .FromContext [* PostgresServiceSpecResource ](rc , PostgresServiceSpecResourceIdentifier (p .InstanceID ))
105+ if err != nil {
106+ return handleError (fmt .Errorf ("failed to get postgres service spec resource from state: %w" , err ))
107+ }
108+
104109 err = p .stopPostgres (ctx , rc , dockerClient , fs , svcResource )
105110 if err != nil {
106111 return handleError (err )
107112 }
108113
109- containerID , err := p .runRestoreContainer (ctx , dockerClient , svcResource )
114+ containerID , err := p .runRestoreContainer (ctx , dockerClient , svcResource , specResource )
110115 if err != nil {
111116 return handleError (err )
112117 }
@@ -204,16 +209,13 @@ func (p *PgBackRestRestore) runRestoreContainer(
204209 ctx context.Context ,
205210 dockerClient * docker.Docker ,
206211 svcResource * PostgresService ,
212+ specResource * PostgresServiceSpecResource ,
207213) (string , error ) {
208- swarmService , err := dockerClient .ServiceInspect (ctx , svcResource .ServiceID )
209- if err != nil {
210- return "" , fmt .Errorf ("failed to inspect postgres service: %w" , err )
211- }
212214 var limits swarm.Limit
213- if swarmService .Spec .TaskTemplate .Resources != nil && swarmService .Spec .TaskTemplate .Resources .Limits != nil {
214- limits = * swarmService .Spec .TaskTemplate .Resources .Limits
215+ if specResource .Spec .TaskTemplate .Resources != nil && specResource .Spec .TaskTemplate .Resources .Limits != nil {
216+ limits = * specResource .Spec .TaskTemplate .Resources .Limits
215217 }
216- containerSpec := swarmService .Spec .TaskTemplate .ContainerSpec
218+ containerSpec := specResource .Spec .TaskTemplate .ContainerSpec
217219 restoreOptions := utils .BuildOptionArgs (p .RestoreOptions )
218220 opts := append ([]string {"--log-timestamp=n" }, restoreOptions ... )
219221 containerID , err := dockerClient .ContainerRun (ctx , docker.ContainerRunOptions {
0 commit comments