Skip to content

Commit ffd1223

Browse files
authored
🚚 release (#353)
2 parents 87a8464 + 2c4e13b commit ffd1223

40 files changed

+1049
-724
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
* @leoparente @ltucker @mfiedorowicz
1+
* @jajeffries @leoparente @ltucker @mfiedorowicz

.github/golangci.yaml

Lines changed: 38 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,46 @@
1+
version: "2"
12
run:
2-
timeout: 5m
33
modules-download-mode: readonly
4-
54
output:
6-
formats: colored-line-number
7-
5+
formats:
6+
text:
7+
path: stdout
8+
color: true
89
linters:
910
enable:
10-
- revive
11-
- errcheck
12-
- unused
13-
- staticcheck
14-
- ineffassign
15-
- govet
16-
- gosimple
1711
- bodyclose
12+
- revive
13+
exclusions:
14+
generated: lax
15+
rules:
16+
- linters:
17+
- revive
18+
path: /*.go
19+
text: 'package-comments: should have a package comment'
20+
- path: /*.go
21+
text: 'SA1019: filter.DataType is deprecated'
22+
- path: /*.go
23+
text: 'SA1019: g.client.RetrieveIngestionLogs is deprecated'
24+
paths:
25+
- third_party$
26+
- builtin$
27+
- examples$
28+
severity:
29+
default: error
30+
formatters:
31+
enable:
1832
- gci
1933
- gofumpt
20-
21-
issues:
22-
exclude-use-default: false
23-
exclude-rules:
24-
- path: /*.go
25-
text: "package-comments: should have a package comment"
26-
linters:
27-
- revive
28-
- path: /*.go
29-
text: 'SA1019: filter.DataType is deprecated'
30-
- path: /*.go
31-
text: 'SA1019: g.client.RetrieveIngestionLogs is deprecated'
32-
33-
severity:
34-
default-severity: error
35-
36-
linters-settings:
37-
gci:
38-
sections:
39-
- standard
40-
- default
41-
- prefix(github.com/netboxlabs/diode)
42-
custom-order: true
43-
go-fumpt:
44-
extra-rules: true
34+
settings:
35+
gci:
36+
sections:
37+
- standard
38+
- default
39+
- prefix(github.com/netboxlabs/diode)
40+
custom-order: true
41+
exclusions:
42+
generated: lax
43+
paths:
44+
- third_party$
45+
- builtin$
46+
- examples$

.github/workflows/go-test.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- name: Setup Go
3333
uses: actions/setup-go@v5
3434
with:
35-
go-version: '1.23.x'
35+
go-version: '1.24.x'
3636
check-latest: true
3737
- name: Run go build
3838
run: go build ./...
@@ -56,6 +56,7 @@ jobs:
5656
body-includes: Go test coverage
5757
- name: Post comment
5858
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
59+
if: github.event.pull_request.head.repo.full_name == github.repository
5960
with:
6061
comment-id: ${{ steps.existing-comment.outputs.comment-id }}
6162
issue-number: ${{ github.event.pull_request.number }}

.github/workflows/golangci-lint.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ jobs:
2121
- name: Setup Go
2222
uses: actions/setup-go@v5
2323
with:
24-
go-version: '1.23.x'
24+
go-version: '1.24.x'
2525
check-latest: true
2626
- name: Lint
27-
uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6
27+
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 #v8.0.0
2828
with:
29-
version: v1.62
29+
version: v2.1
3030
working-directory: diode-server
3131
args: --config ../.github/golangci.yaml

.github/workflows/helm-release.yaml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,16 @@ jobs:
3131
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
3232
- name: Setup Helm
3333
uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4
34-
- name: Update helm dependencies
34+
- name: Extract Helm repo dependencies from Chart.yaml
35+
id: extract_repos
36+
uses: mikefarah/yq@b534aa9ee5d38001fba3cd8fe254a037e4847b37 # v4.45.4
37+
with:
38+
cmd: yq -o=tsv '.dependencies[] | [.name, .repository] | @tsv' charts/diode/Chart.yaml
39+
- name: Add Helm repos from dependencies
3540
run: |
36-
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
37-
helm repo add jetstack https://charts.jetstack.io
38-
helm repo add bitnami https://charts.bitnami.com/bitnami
39-
helm repo add ory https://k8s.ory.sh/helm/charts
41+
echo "${{ steps.extract_repos.outputs.result }}" | while IFS=$'\t' read -r name repo; do
42+
helm repo add "$name" "$repo"
43+
done
4044
- name: Run chart-releaser
4145
uses: helm/chart-releaser-action@a917fd15b20e8b64b94d9158ad54cd6345335584 # v1.6.0
4246
env:

.github/workflows/server-develop.yaml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: Server - build and push develop
2+
on:
3+
workflow_dispatch:
4+
push:
5+
branches: [ develop ]
6+
paths:
7+
- "diode-server/**"
8+
- "!diode-server/docker/**"
9+
- "!diode-server/Makefile"
10+
- "!diode-server/README.md"
11+
12+
concurrency:
13+
group: ${{ github.workflow }}
14+
cancel-in-progress: false
15+
16+
env:
17+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
18+
GO_VERSION: '1.24'
19+
20+
permissions:
21+
contents: write
22+
issues: write
23+
pull-requests: write
24+
id-token: write
25+
26+
jobs:
27+
setup:
28+
name: Setup
29+
runs-on: ubuntu-latest
30+
outputs:
31+
apps: ${{ steps.apps.outputs.apps }}
32+
steps:
33+
- name: Get apps
34+
id: apps
35+
run: |
36+
echo 'apps=["auth", "ingester", "reconciler"]' >> "$GITHUB_OUTPUT"
37+
38+
build:
39+
name: Build - ${{ matrix.app }}
40+
needs: [ setup ]
41+
runs-on: ubuntu-latest
42+
strategy:
43+
fail-fast: false
44+
matrix:
45+
app: ${{ fromJSON(needs.setup.outputs.apps) }}
46+
env:
47+
BUILD_VERSION: 0.0.0
48+
BUILD_COMMIT: ${{ github.sha }}
49+
steps:
50+
- name: Checkout
51+
uses: actions/checkout@v4
52+
53+
- name: Set up QEMU
54+
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3
55+
56+
- name: Set up Docker Buildx
57+
uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3
58+
59+
- name: Set build info
60+
run: |
61+
echo $BUILD_COMMIT > ./diode-server/version/BUILD_COMMIT.txt
62+
echo $BUILD_VERSION > ./diode-server/version/BUILD_VERSION.txt
63+
64+
- name: Setup JFrog CLI
65+
id: setup-jfrog-cli
66+
uses: jfrog/setup-jfrog-cli@ff5cb544114ffc152db9cea1cd3d5978d5074946 # v4.5.11
67+
env:
68+
JF_URL: https://netboxlabs.jfrog.io
69+
JF_PROJECT: obs
70+
with:
71+
oidc-provider-name: platform-setup-jfrog-cli
72+
73+
- name: Login to JFrog Artifactory
74+
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 #v3
75+
with:
76+
registry: netboxlabs.jfrog.io
77+
username: ${{ steps.setup-jfrog-cli.outputs.oidc-user }}
78+
password: ${{ steps.setup-jfrog-cli.outputs.oidc-token }}
79+
80+
- name: Build image and push
81+
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6
82+
with:
83+
context: diode-server
84+
file: diode-server/docker/Dockerfile-build.${{ matrix.app }}
85+
platforms: linux/amd64,linux/arm64
86+
push: true
87+
cache-from: type=gha
88+
cache-to: type=gha,mode=max
89+
tags: |
90+
netboxlabs.jfrog.io/obs-builds/diode-${{ matrix.app }}:develop
91+
build-args: |
92+
GO_VERSION=${{ env.GO_VERSION }}
93+
SVC=${{ matrix.app }}

.github/workflows/server-release.yaml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ concurrency:
1616
env:
1717
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1818
SEMANTIC_RELEASE_PACKAGE: ${{ github.repository }}
19-
GO_VERSION: '1.23'
19+
GO_VERSION: '1.24'
2020

2121
permissions:
2222
contents: write
2323
issues: write
2424
pull-requests: write
25+
id-token: write
2526

2627
jobs:
2728
setup:
@@ -76,6 +77,22 @@ jobs:
7677
username: ${{ secrets.DOCKERHUB_USERNAME }}
7778
password: ${{ secrets.DOCKERHUB_TOKEN }}
7879

80+
- name: Setup JFrog CLI
81+
id: setup-jfrog-cli
82+
uses: jfrog/setup-jfrog-cli@ff5cb544114ffc152db9cea1cd3d5978d5074946 # v4.5.11
83+
env:
84+
JF_URL: https://netboxlabs.jfrog.io
85+
JF_PROJECT: obs
86+
with:
87+
oidc-provider-name: platform-setup-jfrog-cli
88+
89+
- name: Login to JFrog Artifactory
90+
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 #v3
91+
with:
92+
registry: netboxlabs.jfrog.io
93+
username: ${{ steps.setup-jfrog-cli.outputs.oidc-user }}
94+
password: ${{ steps.setup-jfrog-cli.outputs.oidc-token }}
95+
7996
- name: Set build info
8097
run: |
8198
echo $BUILD_COMMIT > ./diode-server/version/BUILD_COMMIT.txt
@@ -93,6 +110,8 @@ jobs:
93110
tags: |
94111
netboxlabs/diode-${{ matrix.app }}:latest
95112
netboxlabs/diode-${{ matrix.app }}:${{ env.BUILD_VERSION }}
113+
netboxlabs.jfrog.io/obs-builds/diode-${{ matrix.app }}:latest
114+
netboxlabs.jfrog.io/obs-builds/diode-${{ matrix.app }}:${{ env.BUILD_VERSION }}
96115
build-args: |
97116
GO_VERSION=${{ env.GO_VERSION }}
98117
SVC=${{ matrix.app }}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ for missing information, which means even fragmented information about the netwo
1616
## Project status
1717

1818
The Diode project is currently in the _Public Preview_ stage. Please
19-
see [NetBox Labs Product and Feature Lifecycle](https://docs.netboxlabs.com/product_feature_lifecycle/) for more
19+
see [NetBox Labs Product and Feature Lifecycle](https://netboxlabs.com/docs/console/product_feature_lifecycle/) for more
2020
details. We actively welcome feedback to help identify and prioritize bugs, new features and areas of improvement.
2121

2222
## Get started

charts/diode/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/charts/*.tgz

charts/diode/Chart.lock

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
dependencies:
2+
- name: common
3+
repository: https://charts.bitnami.com/bitnami
4+
version: 2.31.1
25
- name: redis
36
repository: https://charts.bitnami.com/bitnami
47
version: 20.11.5
@@ -14,5 +17,5 @@ dependencies:
1417
- name: cert-manager
1518
repository: https://charts.jetstack.io
1619
version: v1.12.0
17-
digest: sha256:befc72d9e6eedfe03a16a502fecb33478a4e8bc94acc2497d12b758405561f6e
18-
generated: "2025-05-16T17:12:36.330502+02:00"
20+
digest: sha256:61907df8f8ab4bd2fd67195670bb6f920392f6af0655f22dce06a68fd381a1ba
21+
generated: "2025-05-30T12:44:47.769834-04:00"

0 commit comments

Comments
 (0)