@@ -3,15 +3,13 @@ package specs
3
3
import (
4
4
"context"
5
5
"fmt"
6
- "io/ioutil"
7
-
8
- "os"
9
6
"path/filepath"
10
7
11
8
"github.com/go-kit/kit/log"
12
9
"github.com/go-kit/kit/log/level"
13
10
"github.com/pkg/errors"
14
11
"github.com/replicatedcom/ship/pkg/api"
12
+ "github.com/replicatedcom/ship/pkg/lifecycle/render/state"
15
13
"github.com/replicatedcom/ship/pkg/logger"
16
14
"github.com/spf13/viper"
17
15
"gopkg.in/yaml.v2"
@@ -36,6 +34,7 @@ type Selector struct {
36
34
type Resolver struct {
37
35
Logger log.Logger
38
36
Client * GraphQLClient
37
+ StateManager * state.StateManager
39
38
StudioFile string
40
39
StudioChannelName string
41
40
StudioChannelIcon string
@@ -50,6 +49,7 @@ func ResolverFromViper(v *viper.Viper) (*Resolver, error) {
50
49
return & Resolver {
51
50
Logger : logger .FromViper (v ),
52
51
Client : graphql ,
52
+ StateManager : state .ManagerFromViper (v ),
53
53
StudioFile : v .GetString ("studio-file" ),
54
54
StudioChannelName : v .GetString ("studio-channel-name" ),
55
55
StudioChannelIcon : v .GetString ("studio-channel-icon" ),
@@ -98,7 +98,7 @@ func (r *Resolver) resolveStudioRelease() (*ShipRelease, error) {
98
98
debug := level .Debug (log .With (r .Logger , "method" , "resolveStudioSpec" ))
99
99
debug .Log ("phase" , "load-specs" , "from" , "studio-file" , "file" , r .StudioFile )
100
100
101
- specYAML , err := ioutil .ReadFile (r .StudioFile )
101
+ specYAML , err := r . StateManager . FS .ReadFile (r .StudioFile )
102
102
if err != nil {
103
103
return nil , errors .Wrapf (err , "read specs from %s" , r .StudioFile )
104
104
}
@@ -136,11 +136,11 @@ func (r *Resolver) resolveCloudRelease(customerID, installationID string) (*Ship
136
136
137
137
// persistSpec persists last-used YAML to disk at .ship/release.yml
138
138
func (r * Resolver ) persistSpec (specYAML []byte ) error {
139
- if err := os .MkdirAll (filepath .Dir (ReleasePath ), 0700 ); err != nil {
139
+ if err := r . StateManager . FS .MkdirAll (filepath .Dir (ReleasePath ), 0700 ); err != nil {
140
140
return errors .Wrap (err , "mkdir yaml" )
141
141
}
142
142
143
- if err := ioutil .WriteFile (ReleasePath , specYAML , 0644 ); err != nil {
143
+ if err := r . StateManager . FS .WriteFile (ReleasePath , specYAML , 0644 ); err != nil {
144
144
return errors .Wrap (err , "write yaml file" )
145
145
}
146
146
return nil
0 commit comments