Skip to content

Commit cc339aa

Browse files
committed
[distributions/gateway] add gateway distribution
1 parent fd75933 commit cc339aa

16 files changed

+767
-1
lines changed

.chloggen/gateway.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Use this changelog template to create an entry for release notes.
2+
3+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
4+
change_type: new_component
5+
6+
# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
7+
component: otelcol-gateway
8+
9+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
10+
note: Add a new distribution for gateways
11+
12+
# One or more tracking issues or pull requests related to the change
13+
issues: []
14+
15+
# (Optional) One or more lines of additional information to render under the primary note.
16+
# These lines will be padded with 2 spaces and then inserted directly into the document.
17+
# Use pipe (|) for multiline entries.
18+
subtext:
19+
20+
# Optional: The change log or logs in which this entry should be included.
21+
# e.g. '[user]' or '[user, api]'
22+
# Include 'user' if the change is relevant to end users.
23+
# Include 'api' if there is a change to a library API.
24+
# Default: '[user]'
25+
change_logs: []
26+

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ TOOLS_BIN_NAMES := $(addprefix $(TOOLS_BIN_DIR)/, $(notdir $(shell echo $(TOOLS_
1616
CHLOGGEN := $(TOOLS_BIN_DIR)/chloggen
1717
CHLOGGEN_CONFIG := .chloggen/config.yaml
1818

19-
DISTRIBUTIONS ?= "otelcol,otelcol-contrib,otelcol-k8s,otelcol-otlp"
19+
DISTRIBUTIONS ?= "otelcol,otelcol-contrib,otelcol-k8s,otelcol-otlp,otelcol-gateway"
2020

2121
ci: check build
2222
check: ensure-goreleaser-up-to-date validate-components

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Current list of distributions:
1818
- [OpenTelemetry Collector Contrib (also known as "otelcol-contrib")](./distributions/otelcol-contrib)
1919
- [OpenTelemetry Collector for Kubernetes (also known as "otelcol-k8s")](./distributions/otelcol-k8s)
2020
- [OpenTelemetry Collector OTLP (also known as "otelcol-otlp")](./distributions/otelcol-otlp)
21+
- [OpenTelemetry Collector Gateway (also known as "otelcol-gateway")](./distributions/otelcol-gateway)
2122

2223
## Community
2324

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
version: 2
2+
project_name: opentelemetry-collector-releases
3+
env:
4+
- COSIGN_YES=true
5+
- LD_FLAGS=-s -w
6+
- CGO_ENABLED=0
7+
- BUILD_FLAGS=-trimpath
8+
builds:
9+
- id: otelcol-gateway-linux
10+
goos:
11+
- linux
12+
goarch:
13+
- "386"
14+
- amd64
15+
- arm
16+
- arm64
17+
- ppc64le
18+
- s390x
19+
goarm:
20+
- "7"
21+
dir: _build
22+
binary: otelcol-gateway
23+
ldflags:
24+
- '{{ .Env.LD_FLAGS }}'
25+
flags:
26+
- '{{ .Env.BUILD_FLAGS }}'
27+
- id: otelcol-gateway-darwin
28+
goos:
29+
- darwin
30+
goarch:
31+
- amd64
32+
- arm64
33+
dir: _build
34+
binary: otelcol-gateway
35+
ldflags:
36+
- '{{ .Env.LD_FLAGS }}'
37+
flags:
38+
- '{{ .Env.BUILD_FLAGS }}'
39+
- id: otelcol-gateway-windows
40+
goos:
41+
- windows
42+
goarch:
43+
- "386"
44+
- amd64
45+
- arm64
46+
- ppc64le
47+
dir: _build
48+
binary: otelcol-gateway
49+
ldflags:
50+
- '{{ .Env.LD_FLAGS }}'
51+
flags:
52+
- '{{ .Env.BUILD_FLAGS }}'
53+
archives:
54+
- formats:
55+
- binary
56+
monorepo:
57+
tag_prefix: v
58+
partial:
59+
by: target
Lines changed: 284 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,284 @@
1+
version: 2
2+
project_name: opentelemetry-collector-releases
3+
env:
4+
- COSIGN_YES=true
5+
- LD_FLAGS=-s -w
6+
- CGO_ENABLED=0
7+
- BUILD_FLAGS=-trimpath
8+
msi:
9+
- id: otelcol-gateway
10+
name: otelcol-gateway_{{ .Version }}_{{ .Os }}_{{ .MsiArch }}
11+
wxs: windows-installer.wxs
12+
extra_files:
13+
- opentelemetry.ico
14+
- config.yaml
15+
builds:
16+
- id: otelcol-gateway-linux
17+
goos:
18+
- linux
19+
goarch:
20+
- "386"
21+
- amd64
22+
- arm
23+
- arm64
24+
- ppc64le
25+
- s390x
26+
goarm:
27+
- "7"
28+
goppc64:
29+
- power8
30+
dir: _build
31+
binary: otelcol-gateway
32+
builder: prebuilt
33+
prebuilt:
34+
path: artifacts/otelcol-gateway-linux_{{ .Target }}/otelcol-gateway
35+
- id: otelcol-gateway-darwin
36+
goos:
37+
- darwin
38+
goarch:
39+
- amd64
40+
- arm64
41+
goarm:
42+
- "7"
43+
goppc64:
44+
- power8
45+
dir: _build
46+
binary: otelcol-gateway
47+
builder: prebuilt
48+
prebuilt:
49+
path: artifacts/otelcol-gateway-darwin_{{ .Target }}/otelcol-gateway
50+
- id: otelcol-gateway-windows
51+
goos:
52+
- windows
53+
goarch:
54+
- "386"
55+
- amd64
56+
- arm64
57+
- ppc64le
58+
goarm:
59+
- "7"
60+
goppc64:
61+
- power8
62+
dir: _build
63+
binary: otelcol-gateway
64+
builder: prebuilt
65+
prebuilt:
66+
path: artifacts/otelcol-gateway-windows_{{ .Target }}/otelcol-gateway.exe
67+
archives:
68+
- id: otelcol-gateway
69+
builds:
70+
- otelcol-gateway-linux
71+
- otelcol-gateway-darwin
72+
- otelcol-gateway-windows
73+
name_template: '{{ .Binary }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}{{ if .Mips }}_{{ .Mips }}{{ end }}'
74+
nfpms:
75+
- package_name: otelcol-gateway
76+
contents:
77+
- src: otelcol-gateway.service
78+
dst: /lib/systemd/system/otelcol-gateway.service
79+
- src: otelcol-gateway.conf
80+
dst: /etc/otelcol-gateway/otelcol-gateway.conf
81+
type: config|noreplace
82+
- src: config.yaml
83+
dst: /etc/otelcol-gateway/config.yaml
84+
type: config|noreplace
85+
scripts:
86+
preinstall: preinstall.sh
87+
postinstall: postinstall.sh
88+
preremove: preremove.sh
89+
overrides:
90+
rpm:
91+
dependencies:
92+
- /bin/sh
93+
id: otelcol-gateway
94+
builds:
95+
- otelcol-gateway-linux
96+
formats:
97+
- deb
98+
- rpm
99+
maintainer: The OpenTelemetry Collector maintainers <[email protected]>
100+
description: OpenTelemetry Collector - otelcol-gateway
101+
license: Apache 2.0
102+
checksum:
103+
name_template: '{{ .ProjectName }}_otelcol-gateway_checksums.txt'
104+
dockers:
105+
- goos: linux
106+
goarch: "386"
107+
dockerfile: Dockerfile
108+
image_templates:
109+
- otel/opentelemetry-collector-gateway:{{ .Version }}-386
110+
- otel/opentelemetry-collector-gateway:latest-386
111+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}-386
112+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest-386
113+
extra_files:
114+
- config.yaml
115+
build_flag_templates:
116+
- --pull
117+
- --platform=linux/386
118+
- --label=org.opencontainers.image.created={{.Date}}
119+
- --label=org.opencontainers.image.name={{.ProjectName}}
120+
- --label=org.opencontainers.image.revision={{.FullCommit}}
121+
- --label=org.opencontainers.image.version={{.Version}}
122+
- --label=org.opencontainers.image.source={{.GitURL}}
123+
- --label=org.opencontainers.image.licenses=Apache-2.0
124+
use: buildx
125+
- goos: linux
126+
goarch: amd64
127+
dockerfile: Dockerfile
128+
image_templates:
129+
- otel/opentelemetry-collector-gateway:{{ .Version }}-amd64
130+
- otel/opentelemetry-collector-gateway:latest-amd64
131+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}-amd64
132+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest-amd64
133+
extra_files:
134+
- config.yaml
135+
build_flag_templates:
136+
- --pull
137+
- --platform=linux/amd64
138+
- --label=org.opencontainers.image.created={{.Date}}
139+
- --label=org.opencontainers.image.name={{.ProjectName}}
140+
- --label=org.opencontainers.image.revision={{.FullCommit}}
141+
- --label=org.opencontainers.image.version={{.Version}}
142+
- --label=org.opencontainers.image.source={{.GitURL}}
143+
- --label=org.opencontainers.image.licenses=Apache-2.0
144+
use: buildx
145+
- goos: linux
146+
goarch: arm
147+
goarm: "7"
148+
dockerfile: Dockerfile
149+
image_templates:
150+
- otel/opentelemetry-collector-gateway:{{ .Version }}-armv7
151+
- otel/opentelemetry-collector-gateway:latest-armv7
152+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}-armv7
153+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest-armv7
154+
extra_files:
155+
- config.yaml
156+
build_flag_templates:
157+
- --pull
158+
- --platform=linux/arm/v7
159+
- --label=org.opencontainers.image.created={{.Date}}
160+
- --label=org.opencontainers.image.name={{.ProjectName}}
161+
- --label=org.opencontainers.image.revision={{.FullCommit}}
162+
- --label=org.opencontainers.image.version={{.Version}}
163+
- --label=org.opencontainers.image.source={{.GitURL}}
164+
- --label=org.opencontainers.image.licenses=Apache-2.0
165+
use: buildx
166+
- goos: linux
167+
goarch: arm64
168+
dockerfile: Dockerfile
169+
image_templates:
170+
- otel/opentelemetry-collector-gateway:{{ .Version }}-arm64
171+
- otel/opentelemetry-collector-gateway:latest-arm64
172+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}-arm64
173+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest-arm64
174+
extra_files:
175+
- config.yaml
176+
build_flag_templates:
177+
- --pull
178+
- --platform=linux/arm64
179+
- --label=org.opencontainers.image.created={{.Date}}
180+
- --label=org.opencontainers.image.name={{.ProjectName}}
181+
- --label=org.opencontainers.image.revision={{.FullCommit}}
182+
- --label=org.opencontainers.image.version={{.Version}}
183+
- --label=org.opencontainers.image.source={{.GitURL}}
184+
- --label=org.opencontainers.image.licenses=Apache-2.0
185+
use: buildx
186+
- goos: linux
187+
goarch: ppc64le
188+
dockerfile: Dockerfile
189+
image_templates:
190+
- otel/opentelemetry-collector-gateway:{{ .Version }}-ppc64le
191+
- otel/opentelemetry-collector-gateway:latest-ppc64le
192+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}-ppc64le
193+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest-ppc64le
194+
extra_files:
195+
- config.yaml
196+
build_flag_templates:
197+
- --pull
198+
- --platform=linux/ppc64le
199+
- --label=org.opencontainers.image.created={{.Date}}
200+
- --label=org.opencontainers.image.name={{.ProjectName}}
201+
- --label=org.opencontainers.image.revision={{.FullCommit}}
202+
- --label=org.opencontainers.image.version={{.Version}}
203+
- --label=org.opencontainers.image.source={{.GitURL}}
204+
- --label=org.opencontainers.image.licenses=Apache-2.0
205+
use: buildx
206+
- goos: linux
207+
goarch: s390x
208+
dockerfile: Dockerfile
209+
image_templates:
210+
- otel/opentelemetry-collector-gateway:{{ .Version }}-s390x
211+
- otel/opentelemetry-collector-gateway:latest-s390x
212+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}-s390x
213+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest-s390x
214+
extra_files:
215+
- config.yaml
216+
build_flag_templates:
217+
- --pull
218+
- --platform=linux/s390x
219+
- --label=org.opencontainers.image.created={{.Date}}
220+
- --label=org.opencontainers.image.name={{.ProjectName}}
221+
- --label=org.opencontainers.image.revision={{.FullCommit}}
222+
- --label=org.opencontainers.image.version={{.Version}}
223+
- --label=org.opencontainers.image.source={{.GitURL}}
224+
- --label=org.opencontainers.image.licenses=Apache-2.0
225+
use: buildx
226+
docker_manifests:
227+
- name_template: otel/opentelemetry-collector-gateway:{{ .Version }}
228+
image_templates:
229+
- otel/opentelemetry-collector-gateway:{{ .Version }}-386
230+
- otel/opentelemetry-collector-gateway:{{ .Version }}-amd64
231+
- otel/opentelemetry-collector-gateway:{{ .Version }}-armv7
232+
- otel/opentelemetry-collector-gateway:{{ .Version }}-arm64
233+
- otel/opentelemetry-collector-gateway:{{ .Version }}-ppc64le
234+
- otel/opentelemetry-collector-gateway:{{ .Version }}-s390x
235+
- name_template: otel/opentelemetry-collector-gateway:latest
236+
image_templates:
237+
- otel/opentelemetry-collector-gateway:latest-386
238+
- otel/opentelemetry-collector-gateway:latest-amd64
239+
- otel/opentelemetry-collector-gateway:latest-armv7
240+
- otel/opentelemetry-collector-gateway:latest-arm64
241+
- otel/opentelemetry-collector-gateway:latest-ppc64le
242+
- otel/opentelemetry-collector-gateway:latest-s390x
243+
- name_template: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}
244+
image_templates:
245+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}-386
246+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}-amd64
247+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}-armv7
248+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}-arm64
249+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}-ppc64le
250+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:{{ .Version }}-s390x
251+
- name_template: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest
252+
image_templates:
253+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest-386
254+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest-amd64
255+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest-armv7
256+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest-arm64
257+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest-ppc64le
258+
- ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-gateway:latest-s390x
259+
signs:
260+
- cmd: cosign
261+
args:
262+
- sign-blob
263+
- --output-signature
264+
- ${artifact}.sig
265+
- --output-certificate
266+
- ${artifact}.pem
267+
- ${artifact}
268+
signature: ${artifact}.sig
269+
artifacts: all
270+
certificate: ${artifact}.pem
271+
docker_signs:
272+
- args:
273+
- sign
274+
- ${artifact}
275+
artifacts: all
276+
sboms:
277+
- id: archive
278+
artifacts: archive
279+
- id: package
280+
artifacts: package
281+
monorepo:
282+
tag_prefix: v
283+
partial:
284+
by: target

0 commit comments

Comments
 (0)