Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
dba8fda
remove npm token
marle3003 Jan 24, 2026
7168336
fix typo in names
marle3003 Jan 25, 2026
a2f6fbb
change Kafka group displaying in dashboard
marle3003 Jan 25, 2026
8aabfa8
change Kafka group displaying in dashboard
marle3003 Jan 25, 2026
cea074b
improve Kafka dashboard for groups and clients
marle3003 Jan 25, 2026
2019b91
change Leader handling simplified:
marle3003 Jan 25, 2026
3247494
fix remove dynamic doc entry
marle3003 Jan 25, 2026
bb2b50e
fix responsiveness
marle3003 Jan 25, 2026
4ad8cb7
fix responsiveness
marle3003 Jan 25, 2026
0845efd
fix responsiveness
marle3003 Jan 25, 2026
9ca0727
fix CLI reading config file
marle3003 Jan 26, 2026
eb750a5
fix CLI reading config file
marle3003 Jan 26, 2026
40b665d
fix add old style of index format in dynamic flags
marle3003 Jan 26, 2026
39c57f9
add producer's clientId to kafka message log
marle3003 Jan 26, 2026
3557ed7
Merge remote-tracking branch 'origin/develop' into develop
marle3003 Jan 26, 2026
6019a8e
adjust test
marle3003 Jan 26, 2026
096912a
fix test
marle3003 Jan 26, 2026
7e4da42
change view of kafka cluster for better UX
marle3003 Jan 27, 2026
b25fa8d
add support of channel tags
marle3003 Jan 27, 2026
fac1c87
add support of channel tags
marle3003 Jan 27, 2026
efe2c93
fix concurrent map read/write
marle3003 Jan 27, 2026
fb53f62
improve tab click event
marle3003 Jan 27, 2026
85ac6cf
Merge remote-tracking branch 'origin/develop' into develop
marle3003 Jan 27, 2026
e63a5db
add logging Kafka request JoinGroup and displaying in dashboard (WIP)
marle3003 Jan 27, 2026
f6c8dac
fix displaying Kafka messages in client view
marle3003 Jan 28, 2026
fd788c3
add join group response
marle3003 Jan 28, 2026
228ac68
fix data loading in dashboard
marle3003 Jan 28, 2026
2d6f448
fix data loading
marle3003 Jan 28, 2026
7026c9d
add ListOffsets logging
marle3003 Jan 29, 2026
b2630fd
add ListOffsets logging
marle3003 Jan 29, 2026
5d82429
add renaming kafka ListOffsets
marle3003 Jan 29, 2026
abc8c0e
improve test stability
marle3003 Jan 29, 2026
3d87a1a
add logging FindCoordinator
marle3003 Jan 29, 2026
4f516ef
add logging Kafka InitProducerId
marle3003 Jan 29, 2026
edd0cbf
add console logging
marle3003 Jan 29, 2026
2c66f42
add error handling to Kafka request logging
marle3003 Jan 30, 2026
7410c03
Bump github.com/blevesearch/bleve_index_api from 1.3.0 to 1.3.1
dependabot[bot] Jan 30, 2026
4e4225b
Bump @types/node from 25.0.10 to 25.1.0 in /webui
dependabot[bot] Jan 30, 2026
2161fad
Merge pull request #818 from marle3003/dependabot/npm_and_yarn/webui/…
github-actions[bot] Jan 30, 2026
c13863b
Bump vue-tsc from 3.2.3 to 3.2.4 in /webui
dependabot[bot] Jan 30, 2026
bbc07fc
Merge pull request #815 from marle3003/dependabot/npm_and_yarn/webui/…
github-actions[bot] Jan 30, 2026
36aaa9a
Bump nodemailer and @types/nodemailer in /webui
dependabot[bot] Jan 30, 2026
3a37f44
Merge pull request #819 from marle3003/dependabot/npm_and_yarn/webui/…
github-actions[bot] Jan 30, 2026
06bbe96
Bump vue-router from 4.6.4 to 5.0.0 in /webui
dependabot[bot] Jan 30, 2026
4503c12
Merge pull request #817 from marle3003/dependabot/npm_and_yarn/webui/…
github-actions[bot] Jan 30, 2026
2ae2dba
fix logging Kafka FindCoordinator
marle3003 Jan 30, 2026
a87ad78
Merge remote-tracking branch 'origin/develop' into develop
marle3003 Jan 30, 2026
8b3421f
fix Kafka API if group does not yet have a generation
marle3003 Jan 30, 2026
3e983a2
fix CLI setting value in correct order
marle3003 Jan 30, 2026
c9e13b8
improve error message
marle3003 Jan 30, 2026
2df2a0f
fix precedence of CLI flags
marle3003 Jan 30, 2026
3168aee
fix precedence of CLI flags
marle3003 Jan 30, 2026
ee60ea3
improve GIT clone performance
marle3003 Jan 30, 2026
906bc46
fix Kafka protocol after changed to simplified leader management
marle3003 Jan 31, 2026
88d5c95
fix tests
marle3003 Jan 31, 2026
76002dd
improve server view in dashboard
marle3003 Jan 31, 2026
ce110f9
improve server view in dashboard
marle3003 Jan 31, 2026
381374e
fix test
marle3003 Jan 31, 2026
2c1fe88
fix url
marle3003 Jan 31, 2026
09e273b
fix url
marle3003 Jan 31, 2026
1c0402d
fix url
marle3003 Jan 31, 2026
8144537
add Kafka server bindings to dashboard
marle3003 Feb 1, 2026
e112592
fix test
marle3003 Feb 1, 2026
aa0b453
refactor test books.spec.ts
marle3003 Feb 1, 2026
c9bfaa3
add build alpha release notes for dashboard
marle3003 Feb 1, 2026
bd141be
fix parameter
marle3003 Feb 1, 2026
19232c1
fix parameter
marle3003 Feb 1, 2026
2727899
fix fetch all tags
marle3003 Feb 1, 2026
f8fc6f5
fix fetch main branch
marle3003 Feb 1, 2026
bc112de
fix fetch main branch
marle3003 Feb 1, 2026
88d8e04
fix fetch main branch
marle3003 Feb 1, 2026
ec3554e
fix fetch main branch
marle3003 Feb 1, 2026
597aa22
fix fetch main branch
marle3003 Feb 1, 2026
6d1fe1f
add debug output
marle3003 Feb 1, 2026
cfb299f
fix git log filter
marle3003 Feb 1, 2026
bfd7e0a
remove git log filter
marle3003 Feb 1, 2026
afd2bd6
fix syntax error
marle3003 Feb 1, 2026
853d9e9
fix parameter name
marle3003 Feb 1, 2026
22c0d46
fix remove author filter
marle3003 Feb 1, 2026
a8d78fd
add remove author filter
marle3003 Feb 1, 2026
a9c9747
improve git log messages
marle3003 Feb 1, 2026
e874ee6
improve git log messages
marle3003 Feb 1, 2026
652f024
add release notes dialog
marle3003 Feb 1, 2026
cf2db28
add release notes dialog
marle3003 Feb 1, 2026
b4297db
add release notes to release build
marle3003 Feb 2, 2026
2a4c60b
Merge branch 'develop' into dependabot/go_modules/develop/github.com/…
marle3003 Feb 2, 2026
faad19f
fix pull-request build
marle3003 Feb 2, 2026
5c04f7c
Merge branch 'develop' into dependabot/go_modules/develop/github.com/…
marle3003 Feb 2, 2026
49a83d5
Merge pull request #816 from marle3003/dependabot/go_modules/develop/…
github-actions[bot] Feb 2, 2026
a283aa7
remove commits containing 'test' in release notes
marle3003 Feb 2, 2026
f80dee0
fix opening release notes
marle3003 Feb 2, 2026
f95d7db
move shortcuts view to app
marle3003 Feb 2, 2026
fbc4cd3
fix Kafka FindCoordinator and Metadata preferring host from spec by port
marle3003 Feb 2, 2026
5c150b8
Merge branch 'main' into develop
marle3003 Feb 2, 2026
4bc690f
add test
marle3003 Feb 2, 2026
0f33424
fix checkout
marle3003 Feb 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/actions/build-alpha-release-notes/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: build-alpha-release-notes
description: build-alpha-release-notes
inputs:
version:
required: true
description: The alpha version
latest-tag:
description: The latest tag or empty
runs:
using: composite
steps:
- name: Generate alpha release notes
if: inputs.latest-tag != ''
shell: bash
run: |
{
echo "# Mokapi Release ${{ inputs.version }}"
echo
echo "⚠️ Automatically generated alpha build."
echo
echo "- Alpha version: ${{ inputs.version }}"
echo "- Commit: $(git rev-parse --short HEAD)"
echo "- Built at: $(date -u +"%Y-%m-%d %H:%M:%S UTC")"
echo
echo "## Changes since ${{ inputs.latest-tag }}"
echo
git log "${{ inputs.latest-tag }}..HEAD" \
--oneline \
--no-merges |
grep -v -E 'github-actions\[bot\]|dependabot\[bot\]|test|Bump' |
sed 's/^[a-f0-9]\{7,40\} //' | # remove SHA prefix
awk '!seen[$0]++' |
sed 's/^/- /'
} > docs/release.md
- name: Upload UI artifact
uses: actions/upload-artifact@v4
with:
name: release-notes
path: docs/release.md
18 changes: 18 additions & 0 deletions .github/actions/build-cli-flags-doc/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: "Build Mokapi CLI Flags doc"
runs:
using: composite
steps:
- name: Create directory and file
shell: bash
run: |
mkdir -p webui/dist
touch webui/dist/.tmp
- name: Build CLI doc
shell: bash
run: go run ./cmd/internal/gen-cli-docs/main.go
- name: Add CLI Flags nav entry
working-directory: ./docs
shell: bash
run: |
jq '.Configuration.items.Static.items["CLI Flags"] = "configuration/static/mokapi.md"' ./config.json > ./tmp.json
mv ./tmp.json ./config.json
24 changes: 8 additions & 16 deletions .github/actions/build-mokapi-image/action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
name: "Build Mokapi image"
description: "Builds and deploys the React frontend to AWS S3"
inputs:
image-name:
required: true
Expand All @@ -10,27 +9,20 @@ inputs:
version:
required: true
description: "The version of mokapi to build"
type: string
latest-tag:
required: true
description: "The latest tag"
runs:
using: "composite"
steps:
- uses: actions/setup-go@v5
with:
go-version: 1.25.5
- name: Create directory and file
run: |
mkdir -p webui/dist
touch webui/dist/.tmp
shell: bash
- name: Build CLI doc
run: go run ./cmd/internal/gen-cli-docs/main.go
shell: bash
- name: Add CLI Flags nav entry
run: |
jq '.Configuration.items.Static.items["CLI Flags"] = "configuration/static/mokapi.md"' ./config.json > ./tmp.json
mv ./tmp.json ./config.json
working-directory: ./docs
shell: bash
- uses: ./.github/actions/build-cli-flags-doc
- uses: ./.github/actions/build-alpha-release-notes
with:
version: ${{ inputs.version }}
latest-tag: ${{ inputs.latest-tag }}
- name: Build docker alpha image
run: docker build --build-arg VERSION=${{ inputs.version }} -t ${{ inputs.image-name }} -t mokapi/mokapi:alpha -f ./images/alpha.Dockerfile .
shell: bash
Expand Down
16 changes: 16 additions & 0 deletions .github/actions/build-release-notes/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: build-release-notes
description: build-release-notes
runs:
using: composite
steps:
- name: Write release notes
shell: bash
run: |
VERSION="${{ github.event.release.tag_name }}"
BODY="${{ github.event.release.body }}"
echo "# Mokapi ${VERSION}\n\n${BODY}" > docs/release.md
- name: Upload UI artifact
uses: actions/upload-artifact@v4
with:
name: release-notes
path: docs/release.md
8 changes: 7 additions & 1 deletion .github/workflows/alpha.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,15 @@ jobs:
outputs:
version: ${{ steps.get_version.outputs.version }}
image-name: ${{ steps.get_version.outputs.image-name }}
latest-tag: ${{ steps.get_version.outputs.latest_tag }}
steps:
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Ensure all tags are fetched
- name: Fetch main
shell: bash
run: git fetch origin main --tags --force
- name: get version
id: get_version
shell: bash
Expand All @@ -40,8 +44,9 @@ jobs:
NEW_VERSION="$MAJOR.$MINOR.$PATCH"

echo "New version: $NEW_VERSION"
echo "version=$NEW_VERSION" >> $GITHUB_OUTPUT
echo "version=$NEW_VERSION-alpha" >> $GITHUB_OUTPUT
echo "image-name=mokapi/mokapi:$NEW_VERSION-alpha" >> $GITHUB_OUTPUT
echo "latest_tag=$LATEST_TAG" >> $GITHUB_OUTPUT

build-alpha:
needs: setup
Expand All @@ -52,6 +57,7 @@ jobs:
artifact-test-report: playwright-report
report-publish-path: reports/${{ github.ref_name }}
version: ${{ needs.setup.outputs.version }}
latest-tag: ${{ needs.setup.outputs.latest-tag }}

publish-image:
name: Publish docker image
Expand Down
83 changes: 60 additions & 23 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,49 @@ permissions:
contents: write

jobs:
release-linux:
name: Release
build-dashboard:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-go@v5
with:
go-version: 1.25.5
- uses: ./.github/actions/build-cli-flags-doc
- uses: ./.github/actions/build-release-notes
- uses: actions/setup-node@v4
with:
node-version: 23
registry-url: 'https://registry.npmjs.org'
- run: npm install
working-directory: ./webui
- name: Install taskfile
run: sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin
- name: Build
run: task build-vue-app
env:
CGO_ENABLED: 0
- name: Upload UI artifact
uses: actions/upload-artifact@v4
with:
name: dashboard
path: webui/dist

release-unix:
needs: build-dashboard
runs-on: ubuntu-latest
env:
DOCKER_CLI_EXPERIMENTAL: "enabled"
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download dashboard
uses: actions/download-artifact@v4
with:
name: dashboard
path: webui/dist
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
Expand All @@ -31,17 +65,6 @@ jobs:
- uses: actions/setup-go@v5
with:
go-version: 1.25.5
- uses: actions/setup-node@v4
with:
node-version: 23
registry-url: 'https://registry.npmjs.org'
- run: sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin
- run: npm install
working-directory: ./webui
- name: Build
run: task build-vue-app
env:
CGO_ENABLED: 0
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
Expand All @@ -50,17 +73,19 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAP_GITHUB_TOKEN: ${{ secrets.TAP_GITHUB_TOKEN }}
- name: Publish npm
run: task publish-npm-package VERSION=${GITHUB_REF##*/v}
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

release-windows:
needs: build-dashboard
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download dashboard
uses: actions/download-artifact@v4
with:
name: dashboard
path: webui/dist
- uses: actions/setup-go@v5
with:
go-version: 1.25.5
Expand All @@ -69,12 +94,6 @@ jobs:
node-version: 23
registry-url: 'https://registry.npmjs.org'
- run: choco install go-task
- run: npm install
working-directory: ./webui
- name: Build
run: task build-vue-app
env:
CGO_ENABLED: 0
- name: Install goversioninfo
run: go install github.com/josephspurrier/goversioninfo/cmd/goversioninfo@v1.4.0
- name: Generate Windows metadata (.syso)
Expand Down Expand Up @@ -107,3 +126,21 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHOCOLATEY_API_KEY: ${{ secrets.CHOCOLATEY_API_KEY }}

release-npm:
needs: build-dashboard
runs-on: ubuntu-latest
steps:
- name: Download dashboard
uses: actions/download-artifact@v4
with:
name: dashboard
path: webui/dist
- name: Install taskfile
run: sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin
- name: Build
run: task build-vue-app
env:
CGO_ENABLED: 0
- name: Publish
run: task publish-npm-package VERSION=${GITHUB_REF##*/v}
13 changes: 10 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ on:
required: true
description: "The version of mokapi to build"
type: string
latest-tag:
description: "The latest tag"
type: string

jobs:
build:
Expand All @@ -26,11 +29,17 @@ jobs:
steps:
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Fetch main
run: git fetch origin main --tags --force
- uses: ./.github/actions/build-mokapi-image
with:
image-name: ${{ inputs.image-name }}
artifact-name: ${{ inputs.image-artifact-name }}
version: ${{ inputs.version }}
latest-tag: ${{ inputs.latest-tag }}

test:
name: Run UI tests
Expand All @@ -55,9 +64,7 @@ jobs:
steps:
- name: Check out code
uses: actions/checkout@v4
with:
path: src
- uses: ./src/.github/actions/publish-test-report
- uses: ./.github/actions/publish-test-report
with:
artifact-test-report: ${{ inputs.artifact-test-report }}
test-report-path: ${{ inputs.report-publish-path }}
2 changes: 2 additions & 0 deletions acceptance/mail_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ func (suite *MailSuite) SetupSuite() {
}

func (suite *MailSuite) TestSendMail() {
time.Sleep(2 * time.Second)

ca := cert.DefaultRootCert()

err := smtptest.SendMail("from@foo.bar",
Expand Down
10 changes: 6 additions & 4 deletions acceptance/petstore_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,12 @@ func (suite *PetStoreSuite) TestApi() {
"description": "",
"servers": []interface{}{
map[string]interface{}{
"description": "",
"host": "127.0.0.1:19092",
"name": "broker",
"protocol": "kafka",
"title": "",
"summary": "",
"description": "",
},
},

Expand Down Expand Up @@ -120,8 +122,8 @@ func (suite *PetStoreSuite) TestApi() {
},
"name": "petstore.order-event",
"partitions": []interface{}{
map[string]interface{}{"id": float64(0), "leader": map[string]interface{}{"addr": "127.0.0.1:19092", "name": "broker"}, "offset": float64(1), "segments": float64(1), "startOffset": float64(0)},
map[string]interface{}{"id": float64(1), "leader": map[string]interface{}{"addr": "127.0.0.1:19092", "name": "broker"}, "offset": float64(0), "segments": float64(0), "startOffset": float64(0)},
map[string]interface{}{"id": float64(0), "offset": float64(1), "segments": float64(1), "startOffset": float64(0)},
map[string]interface{}{"id": float64(1), "offset": float64(0), "segments": float64(0), "startOffset": float64(0)},
},
}},
}
Expand Down Expand Up @@ -172,7 +174,7 @@ func (suite *PetStoreSuite) TestJsHttpHandler() {

// test http metrics
try.GetRequest(suite.T(), fmt.Sprintf("http://127.0.0.1:%d/api/metrics/http?path=/pet/{petId}", suite.cfg.Api.Port), nil,
try.BodyContains(`http_requests_total{service=\"Swagger Petstore\",endpoint=\"/pet/{petId}\"}","value":4}`),
try.BodyContains(`http_requests_total{service=\"Swagger Petstore\",endpoint=\"/pet/{petId}\",method=\"GET\"}","value":4}`),
)
}

Expand Down
6 changes: 5 additions & 1 deletion api/handler_events_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ func TestHandler_KafkaEvents(t *testing.T) {
fn: func(t *testing.T, h http.Handler, sm *events.StoreManager) {
sm.SetStore(1, events.NewTraits().WithNamespace("kafka"))

err := sm.Push(&store.KafkaLog{
err := sm.Push(&store.KafkaMessageLog{
Offset: 123,
Key: store.LogValue{},
Message: store.LogValue{},
Expand All @@ -283,6 +283,8 @@ func TestHandler_KafkaEvents(t *testing.T) {
ProducerId: 3,
ProducerEpoch: 1,
SequenceNumber: 2,
ClientId: "foo",
ScriptFile: "123-123",
}, events.NewTraits().WithNamespace("kafka"))
require.NoError(t, err)

Expand Down Expand Up @@ -315,6 +317,8 @@ func TestHandler_KafkaEvents(t *testing.T) {
"producerId": float64(3),
"schemaId": float64(0),
"sequenceNumber": float64(2),
"clientId": "foo",
"script": "123-123",
},
m[0]["data"])
}))
Expand Down
Loading
Loading