Skip to content

Commit 54c317b

Browse files
committed
dockerfile rename
1 parent 0adb617 commit 54c317b

File tree

5 files changed

+63
-50
lines changed

5 files changed

+63
-50
lines changed

Dockerfile

+7-20
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,23 @@
1-
FROM golang:1.20-alpine AS builder
1+
FROM golang AS builder
22
MAINTAINER Ugo Landini <[email protected]>
33

44
ARG VERSION=0.2.1
55
ARG USER=$(id -u -n)
66
ARG TIME=$(date)
77

8-
RUN apk update \
9-
&& apk add --no-cache git \
10-
&& apk add --no-cache ca-certificates \
11-
&& apk add --update gcc musl-dev libssl3\
12-
&& update-ca-certificates
13-
14-
RUN adduser \
15-
--disabled-password \
16-
--gecos "" \
17-
--home "/home/jr" \
18-
--shell "/bin/sh" \
19-
--uid "100001" \
20-
"jr-user"
8+
RUN useradd jr
219

2210
WORKDIR /go/src/github.com/ugol/jr
2311
COPY . .
24-
2512
RUN go get -u -d -v
26-
RUN CGO_ENABLED=1 GOOS=linux go build -tags musl -v -ldflags="-X 'github.com/ugol/jr/cmd.Version=${VERSION}' -X 'github.com/ugol/jr/cmd.BuildUser=${USER}' -X 'github.com/ugol/jr/cmd.BuildTime=${TIME}'" -o build/jr jr.go
13+
RUN CGO_ENABLED=1 GOOS=linux go build -tags static_all -v -ldflags="-X 'github.com/ugol/jr/cmd.Version=${VERSION}' -X 'github.com/ugol/jr/cmd.BuildUser=${USER}' -X 'github.com/ugol/jr/cmd.BuildTime=${TIME}'" -o build/jr jr.go
2714

28-
FROM alpine
15+
FROM registry.access.redhat.com/ubi9/ubi-micro
16+
2917
COPY --from=builder /etc/passwd /etc/passwd
30-
COPY --from=builder /etc/group /etc/group
3118
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
3219
COPY --from=builder /go/src/github.com/ugol/jr/templates/ /home/jr/.jr/templates/
33-
COPY --from=builder /go/src/github.com/ugol/jr/producers/kafka/*.examples /home/jr/.jr/kafka/
20+
COPY --from=builder /go/src/github.com/ugol/jr/producers/kafka/*.example /home/jr/.jr/kafka/
3421
COPY --from=builder /go/src/github.com/ugol/jr/build/jr /bin
3522

36-
USER jr-user:jr-user
23+
USER jr

Dockerfile.alpine

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
FROM golang:1.20-alpine AS builder
2+
MAINTAINER Ugo Landini <[email protected]>
3+
4+
ARG VERSION=0.2.1
5+
ARG USER=$(id -u -n)
6+
ARG TIME=$(date)
7+
8+
RUN apk update \
9+
&& apk add --no-cache git \
10+
&& apk add --no-cache ca-certificates \
11+
&& apk add --update gcc musl-dev libssl3\
12+
&& update-ca-certificates
13+
14+
RUN adduser \
15+
--disabled-password \
16+
--gecos "" \
17+
--home "/home/jr" \
18+
--shell "/bin/sh" \
19+
--uid "100001" \
20+
"jr-user"
21+
22+
WORKDIR /go/src/github.com/ugol/jr
23+
COPY . .
24+
25+
RUN go get -u -d -v
26+
RUN CGO_ENABLED=1 GOOS=linux go build -tags musl -v -ldflags="-X 'github.com/ugol/jr/cmd.Version=${VERSION}' -X 'github.com/ugol/jr/cmd.BuildUser=${USER}' -X 'github.com/ugol/jr/cmd.BuildTime=${TIME}'" -o build/jr jr.go
27+
28+
FROM alpine
29+
COPY --from=builder /etc/passwd /etc/passwd
30+
COPY --from=builder /etc/group /etc/group
31+
COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
32+
COPY --from=builder /go/src/github.com/ugol/jr/templates/ /home/jr/.jr/templates/
33+
COPY --from=builder /go/src/github.com/ugol/jr/producers/kafka/*.examples /home/jr/.jr/kafka/
34+
COPY --from=builder /go/src/github.com/ugol/jr/build/jr /bin
35+
36+
USER jr-user:jr-user

Dockerfile.ubi9

-23
This file was deleted.

cmd/run.go

+14-4
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,16 @@ type Producer interface {
4545
}
4646

4747
type MetaData struct {
48+
Name string `json:"name"`
4849
Topic string `json:"topic"`
4950
Key string `json:"key"`
51+
AutoCreate bool `json:"autocreate"`
52+
Schema string `json:"schema"`
5053
Relationships []RelationshipMeta `json:"relationships,omitempty"`
5154
}
5255

5356
type RelationshipMeta struct {
54-
Topic string `json:"topic"`
57+
Name string `json:"name"`
5558
ParentField string `json:"parent_field"`
5659
ChildField string `json:"child_field"`
5760
RecordsPer int `json:"records_per"`
@@ -137,14 +140,21 @@ jr run --templateFileName ~/.jr/templates/net_device.tpl
137140
if err != nil {
138141
log.Fatal(err)
139142
}
140-
143+
meta := make([]*MetaData, len(args))
144+
metaT := make([]*template.Template, len(args))
141145
value := make([]*template.Template, len(args))
142146
for i := range args {
147+
143148
m, v := functions.ExtractMetaFrom(string(valueTemplate[i]))
149+
metaT[i], err = template.New("value").Funcs(functions.FunctionsMap()).Parse(m)
150+
var buffer bytes.Buffer
151+
err := metaT[i].Execute(&buffer, functions.JrContext)
152+
if err != nil {
153+
log.Println(err)
154+
}
144155

145-
var meta MetaData
146156
if m != "" {
147-
err = json.Unmarshal([]byte(m), &meta)
157+
err = json.Unmarshal(buffer.Bytes(), &meta[i])
148158
if err != nil {
149159
log.Fatal(err)
150160
}

templates/userm.tpl

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
{
22
"_meta":{
3+
"name": "user",
34
"topic": "users",
4-
"key": "id",
5+
"key": "guid",
6+
"autocreate": true,
7+
"schema": "user.avsc",
58
"relationships": [
69
{
7-
"topic": "purchases",
8-
"parent_field": "id",
10+
"name": "purchase",
11+
"parent_field": "guid",
912
"child_field": "user_id",
1013
"records_per": 4
1114
}

0 commit comments

Comments
 (0)