Repository navigation
Expand file tree
/
Copy pathpiper.cue
More file actions
92 lines (76 loc) · 1.65 KB
/
Copy pathpiper.cue
File metadata and controls
92 lines (76 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package main
import (
"strings"
"piper.octohelm.tech/wd"
"piper.octohelm.tech/client"
"piper.octohelm.tech/container"
"github.com/octohelm/piper/cuepkg/golang"
"github.com/octohelm/piper/cuepkg/containerutil"
)
hosts: local: wd.#Local & {}
pkg: {
_ver: client.#RevInfo & {}
version: _ver.version
}
actions: go: X = golang.#Project & {
cwd: hosts.local.dir
main: "./internal/cmd/postgres-operator"
version: pkg.version
goos: [
"linux",
]
goarch: [
"amd64",
"arm64",
]
ldflags: [
"-s", "-w",
"-X", "\(X.module)/internal/version.version=\(X.version)",
]
}
actions: ship: {
for pgVersion, pgImageTag in {
"16": "16.11"
"18": "18.1"
} {
"postgres-\(pgVersion)": containerutil.#Ship & {
name: "ghcr.io/innoai-tech/postgres-operator"
tag: "v\(pgImageTag).0-" + strings.Replace(pkg.version, "v0.0.0-", "", -1)
from: "docker.io/library/postgres:\(pgImageTag)"
steps: [
{
input: _
_bin: container.#SourceFile & {
file: actions.go.build[input.platform].file
}
_copy: container.#Copy & {
"input": input
contents: _bin.output
source: "/"
include: ["postgres-operator"]
dest: "/usr/local/bin"
}
output: _copy.output
},
container.#Set & {
config: {
label: "org.opencontainers.image.source": "https://github.com/innoai-tech/postgres-operator"
entrypoint: ["/usr/local/bin/postgres-operator"]
}
},
]
}
}
}
settings: {
_env: client.#Env & {
GH_USERNAME!: string
GH_PASSWORD!: client.#Secret
}
registry: container.#Config & {
auths: "ghcr.io": {
username: _env.GH_USERNAME
secret: _env.GH_PASSWORD
}
}
}