Skip to content

Commit 8c2da78

Browse files
committed
restructure
1 parent 6df60f9 commit 8c2da78

File tree

19 files changed

+114
-108
lines changed

19 files changed

+114
-108
lines changed

cmd/docker-slim-sensor/artifacts.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ import (
1717
"syscall"
1818

1919
"github.com/docker-slim/docker-slim/messages"
20+
"github.com/docker-slim/docker-slim/pkg/utils/errutils"
21+
"github.com/docker-slim/docker-slim/pkg/utils/fsutils"
2022
"github.com/docker-slim/docker-slim/report"
21-
"github.com/docker-slim/docker-slim/utils"
2223

2324
log "github.com/Sirupsen/logrus"
2425
)
@@ -239,7 +240,7 @@ func (p *artifactStore) saveArtifacts() {
239240
//TODO: use exludePaths to filter discovered links
240241
for linkName, linkProps := range p.linkMap {
241242
linkPath := fmt.Sprintf("%s/files%s", p.storeLocation, linkName)
242-
linkDir := utils.FileDir(linkPath)
243+
linkDir := fsutils.FileDir(linkPath)
243244
err := os.MkdirAll(linkDir, 0777)
244245
if err != nil {
245246
log.Warn("saveArtifacts - dir error => ", err)
@@ -264,7 +265,7 @@ func (p *artifactStore) saveArtifacts() {
264265
for inPath, isDir := range includePaths {
265266
dstPath := fmt.Sprintf("%s/files%s", p.storeLocation, inPath)
266267
if isDir {
267-
err, errs := utils.CopyDir(inPath, dstPath, true, true, nil, nil, nil)
268+
err, errs := fsutils.CopyDir(inPath, dstPath, true, true, nil, nil, nil)
268269
if err != nil {
269270
log.Warnf("CopyDir(%v,%v) error: %v", inPath, dstPath, err)
270271
}
@@ -273,7 +274,7 @@ func (p *artifactStore) saveArtifacts() {
273274
log.Warnf("CopyDir(%v,%v) copy errors: %+v", inPath, dstPath, errs)
274275
}
275276
} else {
276-
if err := utils.CopyFile(inPath, dstPath, true); err != nil {
277+
if err := fsutils.CopyFile(inPath, dstPath, true); err != nil {
277278
log.Warnf("CopyFile(%v,%v) error: %v", inPath, dstPath, err)
278279
}
279280
}
@@ -301,17 +302,17 @@ func (p *artifactStore) saveReport() {
301302
if os.IsNotExist(err) {
302303
os.MkdirAll(artifactDirName, 0777)
303304
_, err = os.Stat(artifactDirName)
304-
utils.FailOn(err)
305+
errutils.FailOn(err)
305306
}
306307

307308
reportFilePath := filepath.Join(artifactDirName, reportName)
308309
log.Debug("sensor: monitor - saving report to ", reportFilePath)
309310

310311
reportData, err := json.MarshalIndent(creport, "", " ")
311-
utils.FailOn(err)
312+
errutils.FailOn(err)
312313

313314
err = ioutil.WriteFile(reportFilePath, reportData, 0644)
314-
utils.FailOn(err)
315+
errutils.FailOn(err)
315316
}
316317

317318
func getFileHash(artifactFileName string) (string, error) {
@@ -357,7 +358,7 @@ func cpFile(src, dst string) error {
357358
}
358359
defer s.Close()
359360

360-
dstDir := utils.FileDir(dst)
361+
dstDir := fsutils.FileDir(dst)
361362
err = os.MkdirAll(dstDir, 0777)
362363
if err != nil {
363364
log.Warnln("sensor: monitor - dir error =>", err)
@@ -400,7 +401,7 @@ func cpFile(src, dst string) error {
400401
}
401402

402403
//note: need to do the same for symlinks too
403-
if err := utils.UpdateFileTimes(dst, sysStat.Atim, sysStat.Mtim); err != nil {
404+
if err := fsutils.UpdateFileTimes(dst, sysStat.Atim, sysStat.Mtim); err != nil {
404405
log.Warnln("sensor: cpFile - UpdateFileTimes error =>", dst)
405406
return err
406407
}
@@ -476,7 +477,7 @@ func createDummyFile(src, dst string) error {
476477
}
477478

478479
//note: need to do the same for symlinks too
479-
if err := utils.UpdateFileTimes(dst, sysStat.Mtim, sysStat.Atim); err != nil {
480+
if err := fsutils.UpdateFileTimes(dst, sysStat.Mtim, sysStat.Atim); err != nil {
480481
log.Warnln("sensor: createDummyFile - UpdateFileTimes error =>", dst)
481482
return err
482483
}

cmd/docker-slim-sensor/main.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import (
66
"time"
77

88
"github.com/docker-slim/docker-slim/messages"
9+
"github.com/docker-slim/docker-slim/pkg/utils/errutils"
910
"github.com/docker-slim/docker-slim/report"
1011
"github.com/docker-slim/docker-slim/sensor/ipc"
1112
"github.com/docker-slim/docker-slim/sensor/monitors/fanotify"
1213
"github.com/docker-slim/docker-slim/sensor/monitors/pevent"
1314
"github.com/docker-slim/docker-slim/sensor/monitors/ptrace"
14-
"github.com/docker-slim/docker-slim/utils"
1515

1616
log "github.com/Sirupsen/logrus"
1717
"github.com/cloudimmunity/system"
@@ -88,7 +88,7 @@ func main() {
8888
log.Infof("sensor: args => %#v", os.Args)
8989

9090
dirName, err := os.Getwd()
91-
utils.WarnOn(err)
91+
errutils.WarnOn(err)
9292
log.Debugf("sensor: cwd => %#v", dirName)
9393

9494
initSignalHandlers()
@@ -101,10 +101,10 @@ func main() {
101101
doneChan = make(chan struct{})
102102

103103
err = ipc.InitChannels()
104-
utils.FailOn(err)
104+
errutils.FailOn(err)
105105

106106
cmdChan, err := ipc.RunCmdServer(doneChan)
107-
utils.FailOn(err)
107+
errutils.FailOn(err)
108108

109109
monDoneChan := make(chan bool, 1)
110110
monDoneAckChan := make(chan bool)

cmd/docker-slim/cli.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88

99
"github.com/docker-slim/docker-slim/master/commands"
1010
"github.com/docker-slim/docker-slim/master/config"
11-
"github.com/docker-slim/docker-slim/utils"
11+
"github.com/docker-slim/docker-slim/pkg/version"
1212

1313
log "github.com/Sirupsen/logrus"
1414
"github.com/codegangsta/cli"
@@ -24,7 +24,7 @@ var app *cli.App
2424

2525
func init() {
2626
app = cli.NewApp()
27-
app.Version = utils.CurrentVersion()
27+
app.Version = version.Current()
2828
app.Name = AppName
2929
app.Usage = AppUsage
3030
app.CommandNotFound = func(ctx *cli.Context, command string) {

master/builder/image_builder.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66

77
"github.com/docker-slim/docker-slim/master/config"
88
"github.com/docker-slim/docker-slim/master/docker/dockerfile"
9-
"github.com/docker-slim/docker-slim/utils"
9+
"github.com/docker-slim/docker-slim/pkg/utils/fsutils"
1010

1111
//log "github.com/Sirupsen/logrus"
1212
"github.com/cloudimmunity/go-dockerclientx"
@@ -58,7 +58,7 @@ func NewImageBuilder(client *docker.Client,
5858
}
5959

6060
dataDir := filepath.Join(artifactLocation, "files")
61-
builder.HasData = utils.IsDir(dataDir)
61+
builder.HasData = fsutils.IsDir(dataDir)
6262

6363
return builder, nil
6464
}

master/commands/build.go

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ import (
1212
"github.com/docker-slim/docker-slim/master/inspectors/container"
1313
"github.com/docker-slim/docker-slim/master/inspectors/container/probes/http"
1414
"github.com/docker-slim/docker-slim/master/inspectors/image"
15-
"github.com/docker-slim/docker-slim/utils"
15+
"github.com/docker-slim/docker-slim/pkg/utils/errutils"
16+
"github.com/docker-slim/docker-slim/pkg/utils/fsutils"
17+
"github.com/docker-slim/docker-slim/pkg/version"
1618

1719
log "github.com/Sirupsen/logrus"
1820
"github.com/dustin/go-humanize"
@@ -44,7 +46,7 @@ func OnBuild(doDebug bool,
4446
client := dockerclient.New(clientConfig)
4547

4648
imageInspector, err := image.NewInspector(client, imageRef)
47-
utils.FailOn(err)
49+
errutils.FailOn(err)
4850

4951
if imageInspector.NoImage() {
5052
fmt.Println("docker-slim: [build] target image not found -", imageRef)
@@ -53,9 +55,9 @@ func OnBuild(doDebug bool,
5355

5456
log.Info("docker-slim: inspecting 'fat' image metadata...")
5557
err = imageInspector.Inspect()
56-
utils.FailOn(err)
58+
errutils.FailOn(err)
5759

58-
localVolumePath, artifactLocation := utils.PrepareSlimDirs(statePath, imageInspector.ImageInfo.ID)
60+
localVolumePath, artifactLocation := fsutils.PrepareSlimDirs(statePath, imageInspector.ImageInfo.ID)
5961
imageInspector.ArtifactLocation = artifactLocation
6062

6163
log.Infof("docker-slim: [%v] 'fat' image size => %v (%v)",
@@ -65,7 +67,7 @@ func OnBuild(doDebug bool,
6567

6668
log.Info("docker-slim: processing 'fat' image info...")
6769
err = imageInspector.ProcessCollectedData()
68-
utils.FailOn(err)
70+
errutils.FailOn(err)
6971

7072
containerInspector, err := container.NewInspector(client,
7173
imageInspector,
@@ -76,11 +78,11 @@ func OnBuild(doDebug bool,
7678
excludePaths,
7779
includePaths,
7880
doDebug)
79-
utils.FailOn(err)
81+
errutils.FailOn(err)
8082

8183
log.Info("docker-slim: starting instrumented 'fat' container...")
8284
err = containerInspector.RunContainer()
83-
utils.FailOn(err)
85+
errutils.FailOn(err)
8486

8587
log.Info("docker-slim: watching container monitor...")
8688

@@ -90,7 +92,7 @@ func OnBuild(doDebug bool,
9092

9193
if doHTTPProbe {
9294
probe, err := http.NewCustomProbe(containerInspector, httpProbeCmds)
93-
utils.FailOn(err)
95+
errutils.FailOn(err)
9496
probe.Start()
9597
continueAfter.ContinueChan = probe.DoneChan()
9698
}
@@ -113,24 +115,24 @@ func OnBuild(doDebug bool,
113115
<-continueAfter.ContinueChan
114116
fmt.Println("docker-slim: HTTP probe is done...")
115117
default:
116-
utils.Fail("unknown continue-after mode")
118+
errutils.Fail("unknown continue-after mode")
117119
}
118120

119121
containerInspector.FinishMonitoring()
120122

121123
log.Info("docker-slim: shutting down 'fat' container...")
122124
err = containerInspector.ShutdownContainer()
123-
utils.WarnOn(err)
125+
errutils.WarnOn(err)
124126

125127
if !containerInspector.HasCollectedData() {
126128
imageInspector.ShowFatImageDockerInstructions()
127-
fmt.Printf("docker-slim: [build] no data collected (no minified image generated) - done. (version: %v)\n", utils.CurrentVersion())
129+
fmt.Printf("docker-slim: [build] no data collected (no minified image generated) - done. (version: %v)\n", version.Current())
128130
return
129131
}
130132

131133
log.Info("docker-slim: processing instrumented 'fat' container info...")
132134
err = containerInspector.ProcessCollectedData()
133-
utils.FailOn(err)
135+
errutils.FailOn(err)
134136

135137
if customImageTag == "" {
136138
customImageTag = imageInspector.SlimImageRepo
@@ -143,21 +145,21 @@ func OnBuild(doDebug bool,
143145
artifactLocation,
144146
imageOverrides,
145147
overrides)
146-
utils.FailOn(err)
148+
errutils.FailOn(err)
147149

148150
if !builder.HasData {
149151
log.Info("docker-slim: WARNING - no data artifacts")
150152
}
151153

152154
err = builder.Build()
153-
utils.FailOn(err)
155+
errutils.FailOn(err)
154156

155157
log.Infoln("docker-slim: created new image:", builder.RepoName, "( has data artifacts:", builder.HasData, ")")
156158

157159
if doRmFileArtifacts {
158160
log.Info("docker-slim: removing temporary artifacts...")
159-
err = utils.RemoveArtifacts(artifactLocation) //TODO: remove only the "files" subdirectory
160-
utils.WarnOn(err)
161+
err = fsutils.Remove(artifactLocation) //TODO: remove only the "files" subdirectory
162+
errutils.WarnOn(err)
161163
}
162164

163165
fmt.Println("docker-slim: [build] done.")

master/commands/info.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import (
66
"github.com/docker-slim/docker-slim/master/config"
77
"github.com/docker-slim/docker-slim/master/docker/dockerclient"
88
"github.com/docker-slim/docker-slim/master/inspectors/image"
9-
"github.com/docker-slim/docker-slim/utils"
9+
"github.com/docker-slim/docker-slim/pkg/utils/errutils"
10+
"github.com/docker-slim/docker-slim/pkg/utils/fsutils"
1011

1112
log "github.com/Sirupsen/logrus"
1213
"github.com/dustin/go-humanize"
@@ -20,7 +21,7 @@ func OnInfo(statePath string, clientConfig *config.DockerClient, imageRef string
2021
client := dockerclient.New(clientConfig)
2122

2223
imageInspector, err := image.NewInspector(client, imageRef)
23-
utils.FailOn(err)
24+
errutils.FailOn(err)
2425

2526
if imageInspector.NoImage() {
2627
fmt.Println("docker-slim: [info] target image not found -", imageRef)
@@ -29,9 +30,9 @@ func OnInfo(statePath string, clientConfig *config.DockerClient, imageRef string
2930

3031
log.Info("docker-slim: inspecting 'fat' image metadata...")
3132
err = imageInspector.Inspect()
32-
utils.FailOn(err)
33+
errutils.FailOn(err)
3334

34-
_, artifactLocation := utils.PrepareSlimDirs(statePath, imageInspector.ImageInfo.ID)
35+
_, artifactLocation := fsutils.PrepareSlimDirs(statePath, imageInspector.ImageInfo.ID)
3536
imageInspector.ArtifactLocation = artifactLocation
3637

3738
log.Infof("docker-slim: [%v] 'fat' image size => %v (%v)",
@@ -41,7 +42,7 @@ func OnInfo(statePath string, clientConfig *config.DockerClient, imageRef string
4142

4243
log.Info("docker-slim: processing 'fat' image info...")
4344
err = imageInspector.ProcessCollectedData()
44-
utils.FailOn(err)
45+
errutils.FailOn(err)
4546

4647
fmt.Println("docker-slim: [info] done.")
4748
}

0 commit comments

Comments
 (0)