Skip to content

Commit 1406c91

Browse files
committed
test
1 parent 42084aa commit 1406c91

3 files changed

Lines changed: 161 additions & 55 deletions

File tree

.github/workflows/poc_ebpf.yml

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
name: eBPF PoC Pipeline
2+
3+
# Runs on push to feat/poc_ebpf_package branch and can be triggered manually
4+
5+
on:
6+
workflow_dispatch:
7+
push:
8+
branches:
9+
- feat/poc_ebpf_package
10+
- main
11+
pull_request:
12+
branches:
13+
- feat/poc_ebpf_package
14+
- main
15+
schedule:
16+
# Scheduled to run at 4 a.m on every day-of-week from Monday through Friday.
17+
- cron: "0 4 * * 1-5"
18+
19+
permissions:
20+
contents: read
21+
22+
jobs:
23+
build-packages:
24+
name: Build packages
25+
uses: ./.github/workflows/component_packages.yml
26+
with:
27+
pre-release: false
28+
tag_name: 0.100.${{ github.run_id }}
29+
secrets:
30+
gh_token: ${{ secrets.GITHUB_TOKEN }}
31+
gpg_private_key_base64: ${{ secrets.OHAI_GPG_PRIVATE_KEY_BASE64 }}
32+
gpg_passphrase: ${{ secrets.OHAI_GPG_PASSPHRASE }}
33+
pfx_certificate_base64: ${{ secrets.OHAI_PFX_CERTIFICATE_BASE64 }}
34+
pfx_passphrase: ${{ secrets.OHAI_PFX_PASSPHRASE }}
35+
36+
build-image:
37+
name: Build and Push nightly image
38+
uses: ./.github/workflows/component_image.yml
39+
with:
40+
# the packages are created with 0.100.run_id, however we still push the image with nightly
41+
image-tag: nightly
42+
ac-version: nightly
43+
push: true
44+
secrets: inherit
45+
46+
security-image:
47+
name: Security scan
48+
needs: [ build-image ]
49+
uses: ./.github/workflows/component_image_security.yml
50+
with:
51+
# the packages are created with 0.100.run_id, however we still push the image with nightly
52+
image-tag: nightly
53+
secrets: inherit
54+
55+
security-source-code:
56+
uses: ./.github/workflows/component_security.yml
57+
58+
# This is currently required for canaries
59+
upload-packages-s3:
60+
runs-on: ubuntu-latest
61+
needs: [ build-packages ]
62+
name: Upload packages to testing bucket
63+
steps:
64+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
65+
with:
66+
fetch-depth: 0
67+
68+
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
69+
with:
70+
name: built-binaries-0.100.${{ github.run_id }}
71+
path: ./
72+
73+
- name: Publish deb to S3 action
74+
uses: newrelic/infrastructure-publish-action@26d9d8604b2cf2e7343dc287c958e8bbc1a3f750 # v1
75+
with:
76+
tag: 0.100.${{ github.run_id }}
77+
app_name: "newrelic-agent-control"
78+
repo_name: ${{ github.repository }}
79+
schema: "custom-local"
80+
schema_path: "/srv/build/upload-schema-linux-deb-nightly.yml"
81+
aws_access_key_id: ${{ secrets.OHAI_AWS_ACCESS_KEY_ID_TESTING }}
82+
aws_secret_access_key: ${{ secrets.OHAI_AWS_SECRET_ACCESS_KEY_TESTING }}
83+
aws_s3_bucket_name: "nr-downloads-ohai-testing"
84+
aws_s3_lock_bucket_name: "onhost-ci-lock-testing"
85+
access_point_host: "testing"
86+
run_id: ${{ github.run_id }}
87+
aws_region: "us-east-1"
88+
aws_role_session_name: ${{ secrets.OHAI_AWS_ROLE_SESSION_NAME_TESTING }}
89+
aws_role_arn: ${{ secrets.OHAI_AWS_ROLE_ARN_TESTING }}
90+
# used for signing package stuff
91+
gpg_passphrase: ${{ secrets.OHAI_GPG_PASSPHRASE }}
92+
gpg_private_key_base64: ${{ secrets.OHAI_GPG_PRIVATE_KEY_BASE64 }} # base64 encoded
93+
disable_lock: false
94+
dest_prefix: "poc_ebpf/"
95+
local_packages_path: "/srv/dist/"
96+
apt_skip_mirror: true
97+

agent-control/agent-type-registry/newrelic/host-linux-com.newrelic.ebpf-0.1.0.yaml

Lines changed: 63 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ variables:
1111
type: string
1212
required: true
1313
OTLP_ENDPOINT:
14-
description: "Endpoint to export data to Newrelic."
14+
description: "Endpoint to export data to New Relic. US: otlp.nr-data.net:443, EU: otlp.eu01.nr-data.net:443, Staging: staging-otlp.nr-data.net:443."
1515
type: string
1616
required: false
17-
default: otlp.nr-data.net:4317
17+
default: otlp.nr-data.net:443
1818
LOG_LEVEL:
1919
description: "To configure the log level in increasing order of verboseness."
2020
type: string
@@ -195,6 +195,36 @@ variables:
195195
type: string
196196
required: false
197197
default: ""
198+
PROXY_URL:
199+
description: "Full proxy URL for exporting data to New Relic (format '<scheme>://<user>:<pass>@<host>:<port>'). Empty = no proxy. Maps to NEW_RELIC_PROXY_URL."
200+
type: string
201+
required: false
202+
default: ""
203+
LABELS:
204+
description: "Custom labels applied to all entities. Format 'key1:value1;key2:value2'. Maps to NEW_RELIC_LABELS."
205+
type: string
206+
required: false
207+
default: ""
208+
REPORT_APM_DATA:
209+
description: "eBPF APM data reporting: 'true' (always), 'false' (never), or 'auto' (only if no APM/OTel agent detected)."
210+
type: string
211+
required: false
212+
default: "true"
213+
REPORT_NETWORK_METRICS:
214+
description: "Network metrics reporting: 'true', 'false', or 'auto'."
215+
type: string
216+
required: false
217+
default: "true"
218+
JVM_METRICS_REPORTING:
219+
description: "Enable/disable JVM metrics collection and reporting."
220+
type: string
221+
required: false
222+
default: "true"
223+
REPORT_AI_METRICS:
224+
description: "AI monitoring: 'true' (always), 'false' (never), or 'auto' (only if no APM/OTel agent detected)."
225+
type: string
226+
required: false
227+
default: "false"
198228
backoff_delay:
199229
description: "seconds until next retry if agent fails to start"
200230
type: string
@@ -205,63 +235,35 @@ variables:
205235
type: bool
206236
required: false
207237
default: false
238+
oci:
239+
repository:
240+
description: "Package repository name"
241+
type: string
242+
required: false
243+
default: jcoscolla75954/ebpf-agent-artifacts
244+
variants:
245+
ac_config_field: "oci_repository_urls"
246+
values: [ "jcoscolla75954/ebpf-agent-artifacts" ]
247+
version:
248+
description: "Agent version"
249+
type: string
250+
required: true
208251
deployment:
209-
health:
210-
interval: 60s
211-
initial_delay: 0s
212-
timeout: 15s
213-
checks:
214-
- kind: Process
215252
enable_file_logging: ${nr-var:enable_file_logging}
253+
packages:
254+
ebpf-agent:
255+
download:
256+
oci:
257+
repository: ${nr-var:oci.repository}
258+
version: ${nr-var:version}
259+
public_key_url: https://publickeys.newrelic.com/g/agent-control-oci/global/nrebpfagent/jwks.json
260+
post_download_hook:
261+
path: /bin/bash
262+
args:
263+
- post_download.sh
216264
executables:
217-
- id: nr-ebpf-agent-client
218-
path: /usr/bin/nr-ebpf-agent-client
219-
env:
220-
NEW_RELIC_LICENSE_KEY: "${nr-env:NEW_RELIC_LICENSE_KEY}"
221-
DEPLOYMENT_NAME: "${nr-var:config_agent.DEPLOYMENT_NAME}"
222-
OTLP_ENDPOINT: "${nr-var:config_agent.OTLP_ENDPOINT}"
223-
NEW_RELIC_LOG_LEVEL: "${nr-var:config_agent.LOG_LEVEL}"
224-
NEW_RELIC_LOG_FILE_PATH: "${nr-var:config_agent.LOG_FILE_PATH}"
225-
DROP_DATA_FOR_ENTITY: "${nr-var:config_agent.DROP_DATA_FOR_ENTITY}"
226-
TLS_ENABLED: "${nr-var:config_agent.TLS_ENABLED}"
227-
TLS_AUTOGENERATE_CERT_ENABLED: "${nr-var:config_agent.TLS_AUTOGENERATE_CERT_ENABLED}"
228-
TLS_CERT_PATH: "${nr-var:config_agent.TLS_CERT_PATH}"
229-
TLS_CERT_FILE: "${nr-var:config_agent.TLS_CERT_FILE}"
230-
TLS_KEY_FILE: "${nr-var:config_agent.TLS_KEY_FILE}"
231-
TLS_CA_FILE: "${nr-var:config_agent.TLS_CA_FILE}"
232-
TABLE_STORE_DATA_LIMIT_MB: "${nr-var:config_agent.TABLE_STORE_DATA_LIMIT_MB}"
233-
PROTOCOLS_HTTP_ENABLED: "${nr-var:config_agent.PROTOCOLS_HTTP_ENABLED}"
234-
PROTOCOLS_HTTP_SPANS_ENABLED: "${nr-var:config_agent.PROTOCOLS_HTTP_SPANS_ENABLED}"
235-
PROTOCOLS_HTTP_SPANS_SAMPLING_LATENCY: "${nr-var:config_agent.PROTOCOLS_HTTP_SPANS_SAMPLING_LATENCY}"
236-
PROTOCOLS_HTTP_SPANS_SAMPLING_ERROR_RATE: "${nr-var:config_agent.PROTOCOLS_HTTP_SPANS_SAMPLING_ERROR_RATE}"
237-
PROTOCOLS_MYSQL_ENABLED: "${nr-var:config_agent.PROTOCOLS_MYSQL_ENABLED}"
238-
PROTOCOLS_MYSQL_SPANS_ENABLED: "${nr-var:config_agent.PROTOCOLS_MYSQL_SPANS_ENABLED}"
239-
PROTOCOLS_MYSQL_SPANS_SAMPLING_LATENCY: "${nr-var:config_agent.PROTOCOLS_MYSQL_SPANS_SAMPLING_LATENCY}"
240-
PROTOCOLS_PGSQL_ENABLED: "${nr-var:config_agent.PROTOCOLS_PGSQL_ENABLED}"
241-
PROTOCOLS_PGSQL_SPANS_ENABLED: "${nr-var:config_agent.PROTOCOLS_PGSQL_SPANS_ENABLED}"
242-
PROTOCOLS_PGSQL_SPANS_SAMPLING_LATENCY: "${nr-var:config_agent.PROTOCOLS_PGSQL_SPANS_SAMPLING_LATENCY}"
243-
PROTOCOLS_CASS_ENABLED: "${nr-var:config_agent.PROTOCOLS_CASS_ENABLED}"
244-
PROTOCOLS_CASS_SPANS_ENABLED: "${nr-var:config_agent.PROTOCOLS_CASS_SPANS_ENABLED}"
245-
PROTOCOLS_CASS_SPANS_SAMPLING_LATENCY: "${nr-var:config_agent.PROTOCOLS_CASS_SPANS_SAMPLING_LATENCY}"
246-
PROTOCOLS_REDIS_ENABLED: "${nr-var:config_agent.PROTOCOLS_REDIS_ENABLED}"
247-
PROTOCOLS_REDIS_SPANS_ENABLED: "${nr-var:config_agent.PROTOCOLS_REDIS_SPANS_ENABLED}"
248-
PROTOCOLS_REDIS_SPANS_SAMPLING_LATENCY: "${nr-var:config_agent.PROTOCOLS_REDIS_SPANS_SAMPLING_LATENCY}"
249-
PROTOCOLS_MONGODB_ENABLED: "${nr-var:config_agent.PROTOCOLS_MONGODB_ENABLED}"
250-
PROTOCOLS_MONGODB_SPANS_ENABLED: "${nr-var:config_agent.PROTOCOLS_MONGODB_SPANS_ENABLED}"
251-
PROTOCOLS_MONGODB_SPANS_SAMPLING_LATENCY: "${nr-var:config_agent.PROTOCOLS_MONGODB_SPANS_SAMPLING_LATENCY}"
252-
PROTOCOLS_KAFKA_SPANS_ENABLED: "${nr-var:config_agent.PROTOCOLS_KAFKA_SPANS_ENABLED}"
253-
PROTOCOLS_KAFKA_SPANS_SAMPLING_LATENCY: "${nr-var:config_agent.PROTOCOLS_KAFKA_SPANS_SAMPLING_LATENCY}"
254-
PROTOCOLS_AMQP_SPANS_ENABLED: "${nr-var:config_agent.PROTOCOLS_AMQP_SPANS_ENABLED}"
255-
PROTOCOLS_AMQP_SPANS_SAMPLING_LATENCY: "${nr-var:config_agent.PROTOCOLS_AMQP_SPANS_SAMPLING_LATENCY}"
256-
PROTOCOLS_DNS_ENABLED: "${nr-var:config_agent.PROTOCOLS_DNS_ENABLED}"
257-
PROTOCOLS_DNS_SPANS_ENABLED: "${nr-var:config_agent.PROTOCOLS_DNS_SPANS_ENABLED}"
258-
PROTOCOLS_DNS_SPANS_SAMPLING_LATENCY: "${nr-var:config_agent.PROTOCOLS_DNS_SPANS_SAMPLING_LATENCY}"
259-
restart_policy:
260-
backoff_strategy:
261-
type: fixed
262-
backoff_delay: ${nr-var:backoff_delay}
263265
- id: nr-ebpf-agent
264-
path: /usr/bin/nr-ebpf-agent
266+
path: ${nr-sub:packages.ebpf-agent.dir}/nr-ebpf-agent
265267
env:
266268
NEW_RELIC_LICENSE_KEY: "${nr-env:NEW_RELIC_LICENSE_KEY}"
267269
DEPLOYMENT_NAME: "${nr-var:config_agent.DEPLOYMENT_NAME}"
@@ -302,6 +304,12 @@ deployment:
302304
PROTOCOLS_DNS_ENABLED: "${nr-var:config_agent.PROTOCOLS_DNS_ENABLED}"
303305
PROTOCOLS_DNS_SPANS_ENABLED: "${nr-var:config_agent.PROTOCOLS_DNS_SPANS_ENABLED}"
304306
PROTOCOLS_DNS_SPANS_SAMPLING_LATENCY: "${nr-var:config_agent.PROTOCOLS_DNS_SPANS_SAMPLING_LATENCY}"
307+
NEW_RELIC_PROXY_URL: "${nr-var:config_agent.PROXY_URL}"
308+
NEW_RELIC_LABELS: "${nr-var:config_agent.LABELS}"
309+
REPORT_APM_DATA: "${nr-var:config_agent.REPORT_APM_DATA}"
310+
REPORT_NETWORK_METRICS: "${nr-var:config_agent.REPORT_NETWORK_METRICS}"
311+
JVM_METRICS_REPORTING: "${nr-var:config_agent.JVM_METRICS_REPORTING}"
312+
REPORT_AI_METRICS: "${nr-var:config_agent.REPORT_AI_METRICS}"
305313
restart_policy:
306314
backoff_strategy:
307315
type: fixed

build/upload-schema-linux-deb-nightly.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
src_repo: "{access_point_host}/preview/linux/apt"
1313
dest: "{dest_prefix}linux/apt/"
1414
os_version:
15+
- resolute
1516
- jammy
1617

1718
#########################

0 commit comments

Comments
 (0)