Skip to content

Commit d7e80d5

Browse files
committed
releaser: read config from files instead of variables
Signed-off-by: David Karlsson <[email protected]>
1 parent 50262b0 commit d7e80d5

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

_releaser/Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ARG GO_VERSION=1.19
55
FROM scratch AS sitedir
66

77
FROM golang:${GO_VERSION}-alpine AS base
8-
RUN apk add --no-cache jq openssl
8+
RUN apk add --no-cache openssl
99
ENV CGO_ENABLED=0
1010
WORKDIR /src
1111
COPY go.mod go.sum ./
@@ -42,13 +42,13 @@ FROM base AS aws-cloudfront-update
4242
ARG AWS_REGION
4343
ARG AWS_LAMBDA_FUNCTION
4444
ARG AWS_CLOUDFRONT_ID
45+
ARG AWS_LAMBDA_FUNCTION_FILE="cloudfront-lambda-redirects.js"
46+
ARG REDIRECTS_FILE="/site/redirects.json"
47+
ARG REDIRECTS_PREFIXES_FILE="redirects-prefixes.json"
4548
RUN --mount=type=bind,target=. \
4649
--mount=type=bind,from=sitedir,target=/site \
4750
--mount=type=bind,from=releaser,source=/out/releaser,target=/usr/bin/releaser \
4851
--mount=type=secret,id=AWS_ACCESS_KEY_ID \
4952
--mount=type=secret,id=AWS_SECRET_ACCESS_KEY \
5053
--mount=type=secret,id=AWS_SESSION_TOKEN \
51-
AWS_LAMBDA_FUNCTION_FILE=cloudfront-lambda-redirects.js \
52-
REDIRECTS_JSON=$(jq -c '.' /site/redirects.json) \
53-
REDIRECTS_PREFIXES_JSON=$(jq -c '.' redirects-prefixes.json) \
5454
releaser aws cloudfront-update

_releaser/aws.go

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,15 @@ type AwsCloudfrontUpdateCmd struct {
100100
Function string `kong:"name='lambda-function',env='AWS_LAMBDA_FUNCTION'"`
101101
FunctionFile string `kong:"name='lambda-function-file',env='AWS_LAMBDA_FUNCTION_FILE'"`
102102
CloudfrontID string `kong:"name='cloudfront-id',env='AWS_CLOUDFRONT_ID'"`
103-
RedirectsJSON string `kong:"name='redirects-json',env='REDIRECTS_JSON'"`
104-
RedirectsPrefixesJSON string `kong:"name='redirects-prefixes-json',env='REDIRECTS_PREFIXES_JSON'"`
103+
RedirectsFile string `kong:"name='redirects-file',env='REDIRECTS_FILE'"`
104+
RedirectsPrefixesFile string `kong:"name='redirects-prefixes-file',env='REDIRECTS_PREFIXES_FILE'"`
105105
}
106106

107107
func (s *AwsCloudfrontUpdateCmd) Run() error {
108108
var err error
109109
ver := time.Now().UTC().Format(time.RFC3339)
110110

111-
zipdt, err := getLambdaFunctionZip(s.FunctionFile, s.RedirectsJSON, s.RedirectsPrefixesJSON)
111+
zipdt, err := getLambdaFunctionZip(s.FunctionFile, s.RedirectsFile, s.RedirectsPrefixesFile)
112112
if err != nil {
113113
return fmt.Errorf("cannot create lambda function zip: %w", err)
114114
}
@@ -228,20 +228,30 @@ func (s *AwsCloudfrontUpdateCmd) Run() error {
228228
return nil
229229
}
230230

231-
func getLambdaFunctionZip(funcFilename string, redirectsJSON string, redirectsPrefixesJSON string) ([]byte, error) {
231+
func getLambdaFunctionZip(funcFilename, redirectsFile, redirectsPrefixesFile string) ([]byte, error) {
232232
funcdt, err := os.ReadFile(funcFilename)
233233
if err != nil {
234234
return nil, fmt.Errorf("failed to read lambda function file %q: %w", funcFilename, err)
235235
}
236236

237+
redirects, err := os.ReadFile(redirectsFile)
238+
if err != nil {
239+
return nil, fmt.Errorf("failed to read redirects file %q: %w", redirectsFile, err)
240+
}
241+
242+
redirectsPrefixes, err := os.ReadFile(redirectsPrefixesFile)
243+
if err != nil {
244+
return nil, fmt.Errorf("failed to read redirects prefixes file %q: %w", redirectsPrefixesFile, err)
245+
}
246+
237247
var funcbuf bytes.Buffer
238248
functpl := template.Must(template.New("").Parse(string(funcdt)))
239249
if err = functpl.Execute(&funcbuf, struct {
240250
RedirectsJSON string
241251
RedirectsPrefixesJSON string
242252
}{
243-
redirectsJSON,
244-
redirectsPrefixesJSON,
253+
string(redirects),
254+
string(redirectsPrefixes),
245255
}); err != nil {
246256
return nil, err
247257
}

0 commit comments

Comments
 (0)