Skip to content
This repository was archived by the owner on Dec 2, 2020. It is now read-only.

Commit 1ce6f40

Browse files
committed
Move stuff into packages
1 parent b577b4b commit 1ce6f40

File tree

13,376 files changed

+33
-23
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

13,376 files changed

+33
-23
lines changed

Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ ROOT := $(shell pwd)
22

33
all: build
44

5-
SOURCEDIR := ./
5+
SOURCEDIR := ./img2lambda
6+
BINARY_NAME=img2lambda
67
SOURCES := $(shell find $(SOURCEDIR) -name '*.go')
78
LOCAL_BINARY := bin/local/img2lambda
89
LINUX_BINARY := bin/linux-amd64/img2lambda
@@ -82,4 +83,5 @@ GITCOMMIT_SHA: $(GITFILES)
8283
.PHONY: clean
8384
clean:
8485
- rm -rf ./bin
86+
- rm -rf ./output
8587
- rm -f GITCOMMIT_SHA
File renamed without changes.
File renamed without changes.

main.go renamed to img2lambda/cli/main.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import (
66
"log"
77
"os"
88

9+
"github.com/awslabs/aws-lambda-container-image-converter/img2lambda/extract"
10+
"github.com/awslabs/aws-lambda-container-image-converter/img2lambda/publish"
11+
"github.com/awslabs/aws-lambda-container-image-converter/img2lambda/version"
912
"github.com/urfave/cli"
1013
)
1114

@@ -23,7 +26,7 @@ func createApp() (*cli.App, *cmdOptions) {
2326
app := cli.NewApp()
2427
app.EnableBashCompletion = true
2528
app.Name = "img2lambda"
26-
app.Version = VersionString()
29+
app.Version = version.VersionString()
2730
app.Usage = "Repackages a container image into AWS Lambda layers and publishes them to Lambda"
2831
app.Action = func(c *cli.Context) error {
2932
validateCliOptions(&opts, c)
@@ -74,7 +77,7 @@ func validateCliOptions(opts *cmdOptions, context *cli.Context) {
7477
}
7578

7679
func repackImageAction(opts *cmdOptions) error {
77-
layers, err := RepackImage("docker-daemon:"+opts.image, opts.outputDir)
80+
layers, err := extract.RepackImage("docker-daemon:"+opts.image, opts.outputDir)
7881
if err != nil {
7982
return err
8083
}
@@ -84,7 +87,7 @@ func repackImageAction(opts *cmdOptions) error {
8487
}
8588

8689
if !opts.dryRun {
87-
err := PublishLambdaLayers(opts.image, layers, opts.region, opts.layerNamespace, opts.outputDir)
90+
err := publish.PublishLambdaLayers(opts.image, layers, opts.region, opts.layerNamespace, opts.outputDir)
8891
if err != nil {
8992
return err
9093
}

repack_image.go renamed to img2lambda/extract/repack_image.go

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package main
1+
package extract
22

33
import (
44
"context"
@@ -7,20 +7,16 @@ import (
77
"os"
88
"path/filepath"
99

10+
"github.com/awslabs/aws-lambda-container-image-converter/img2lambda/types"
1011
"github.com/containers/image/image"
1112
"github.com/containers/image/pkg/blobinfocache"
1213
"github.com/containers/image/transports/alltransports"
13-
"github.com/containers/image/types"
14+
imgtypes "github.com/containers/image/types"
1415
"github.com/pkg/errors"
1516
)
1617

17-
type LambdaLayer struct {
18-
Digest string
19-
File string
20-
}
21-
2218
// Converts container image to Lambda layer archive files
23-
func RepackImage(imageName string, layerOutputDir string) (layers []LambdaLayer, retErr error) {
19+
func RepackImage(imageName string, layerOutputDir string) (layers []types.LambdaLayer, retErr error) {
2420
log.Printf("Parsing the docker image %s", imageName)
2521

2622
// Get image's layer data from image name
@@ -29,7 +25,7 @@ func RepackImage(imageName string, layerOutputDir string) (layers []LambdaLayer,
2925
return nil, err
3026
}
3127

32-
sys := &types.SystemContext{}
28+
sys := &imgtypes.SystemContext{}
3329

3430
ctx := context.Background()
3531

@@ -74,15 +70,15 @@ func RepackImage(imageName string, layerOutputDir string) (layers []LambdaLayer,
7470
}
7571
defer layerStream.Close()
7672

77-
fileCreated, err := RepackLayer(lambdaLayerFilename, layerStream)
73+
fileCreated, err := repackLayer(lambdaLayerFilename, layerStream)
7874
if err != nil {
7975
return nil, err
8076
}
8177

8278
if fileCreated {
8379
log.Printf("Created Lambda layer file %s from image layer %s", lambdaLayerFilename, string(layerInfo.Digest))
8480
lambdaLayerNum++
85-
layers = append(layers, LambdaLayer{Digest: string(layerInfo.Digest), File: lambdaLayerFilename})
81+
layers = append(layers, types.LambdaLayer{Digest: string(layerInfo.Digest), File: lambdaLayerFilename})
8682
} else {
8783
log.Printf("Did not create a Lambda layer file from image layer %s (no relevant files found)", string(layerInfo.Digest))
8884
}

repack_layer.go renamed to img2lambda/extract/repack_layer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package main
1+
package extract
22

33
import (
44
"archive/tar"
@@ -16,7 +16,7 @@ import (
1616
// Converts container image layer archive (tar) to Lambda layer archive (zip).
1717
// Filters files from the source and only writes a new archive if at least
1818
// one file in the source matches the filter (i.e. does not create empty archives).
19-
func RepackLayer(outputFilename string, layerContents io.Reader) (created bool, retError error) {
19+
func repackLayer(outputFilename string, layerContents io.Reader) (created bool, retError error) {
2020
t := archiver.NewTar()
2121

2222
err := t.Open(layerContents, 0)

publish_layers.go renamed to img2lambda/publish/publish_layers.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package main
1+
package publish
22

33
import (
44
"encoding/json"
@@ -11,9 +11,10 @@ import (
1111
"github.com/aws/aws-sdk-go/aws"
1212
"github.com/aws/aws-sdk-go/aws/session"
1313
"github.com/aws/aws-sdk-go/service/lambda"
14+
"github.com/awslabs/aws-lambda-container-image-converter/img2lambda/types"
1415
)
1516

16-
func PublishLambdaLayers(sourceImageName string, layers []LambdaLayer, region string, layerPrefix string, resultsDir string) error {
17+
func PublishLambdaLayers(sourceImageName string, layers []types.LambdaLayer, region string, layerPrefix string, resultsDir string) error {
1718
layerArns := []string{}
1819

1920
sess := session.Must(session.NewSessionWithOptions(session.Options{

img2lambda/types/types.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package types
2+
3+
type LambdaLayer struct {
4+
Digest string
5+
File string
6+
}

0 commit comments

Comments
 (0)