Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
af67508
Chore(deps): Bump the deps group across 1 directory with 4 updates
dependabot[bot] Dec 8, 2025
caaf63e
Chore(deps): Bump the deps group across 1 directory with 4 updates
dependabot[bot] Dec 19, 2025
353c856
Update README with new repository link and text changes
bdk38 Mar 4, 2026
e8fe5f6
Merge branch 'deps-220'
bdk38 Mar 5, 2026
806a7d4
Merge branch 'deps-219'
bdk38 Mar 5, 2026
0e15515
docs: Update badges to reference community fork
bdk38 Mar 5, 2026
e49d12b
Update badge links in README.md
bdk38 Mar 5, 2026
38faf36
Initial plan
Copilot Mar 6, 2026
adca16c
Modernize heffalump package: use any, math/rand/v2
Copilot Mar 6, 2026
37bac3e
Merge pull request #1 from bdk38/copilot/modernize-heffalump-package
bdk38 Mar 6, 2026
8200fa9
Initial plan
Copilot Mar 6, 2026
c1b0290
Replace squish.UnpackStr with stdlib gzip+base64 helpers, remove exte…
Copilot Mar 6, 2026
520978c
Merge pull request #2
bdk38 Mar 6, 2026
777bd42
Initial plan
Copilot Mar 6, 2026
bfc82ce
Update module path from yunginnanet/HellPot to bdk38/HellPot
Copilot Mar 6, 2026
39457ae
Merge pull request #5
bdk38 Mar 6, 2026
0432e61
Initial plan
Copilot Mar 6, 2026
74a485e
Upgrade koanf parsers/toml and providers/env to v2
Copilot Mar 6, 2026
e1b8fe8
Initial plan
Copilot Mar 6, 2026
6c9a029
Merge pull request #6 from bdk38/copilot/update-koanf-modules-to-v2
bdk38 Mar 6, 2026
b0f8430
Fix go vet warning: replace fmt.Fprintf with ctx.WriteString in robot…
Copilot Mar 6, 2026
9822500
Merge pull request #7 from bdk38/copilot/fix-go-vet-warning
bdk38 Mar 6, 2026
3f4d920
Initial plan
Copilot Mar 6, 2026
f31f534
Fix --help flag and TOML config generation sections
Copilot Mar 6, 2026
9b1bd36
Merge pull request #8 from bdk38/copilot/fix-help-flag-toml-config
bdk38 Mar 6, 2026
2192f0a
Initial plan
Copilot Mar 6, 2026
3418521
Fix TOML config generation: change defOpts type and remove unnecessar…
Copilot Mar 6, 2026
cae2bf8
Merge pull request #9 from bdk38/copilot/fix-toml-config-generation-i…
bdk38 Mar 6, 2026
e7081c2
Initial plan
Copilot Mar 6, 2026
86be09b
Replace dynamic TOML generation with embedded static file
Copilot Mar 6, 2026
d14d79b
Add default_config.toml and update .gitignore to track it
Copilot Mar 6, 2026
c452b84
Add comment explaining architectural shift in PR #10
bdk38 Mar 6, 2026
e1da7c9
Merge pull request #10 from bdk38/copilot/replace-dynamic-toml-genera…
bdk38 Mar 6, 2026
cca0841
Simplify comment in pull request 10
bdk38 Mar 6, 2026
628fddc
Initial plan
Copilot Mar 6, 2026
0c580cd
Remove config auto-generation, add clear error messages, fix help tex…
Copilot Mar 6, 2026
1714367
Remove stale /home/kayos log directory path from README Configuration…
Copilot Mar 6, 2026
25d5c8c
Merge pull request #11
bdk38 Mar 6, 2026
cc919a0
Initial plan
Copilot Mar 6, 2026
4c19189
Fix missing file existence check for user config directory
Copilot Mar 6, 2026
5c32c04
Merge pull request #12 from bdk38/copilot/fix-missing-config-check
bdk38 Mar 6, 2026
1a49caa
Add files via upload
bdk38 Mar 7, 2026
6c7fc30
Initial plan
Copilot Mar 7, 2026
7d2eaaa
Update banner and version for fork identity (v0.6.0)
Copilot Mar 7, 2026
d43600b
Merge pull request #13 from bdk38/copilot/update-banner-and-version
bdk38 Mar 7, 2026
fcc774a
Initial plan
Copilot Mar 7, 2026
9c52749
Add automated release workflow (.github/workflows/release.yml)
Copilot Mar 7, 2026
1f06059
Fix stale Docker image names and repo references (yunginnanet → bdk38)
Copilot Mar 7, 2026
76f16dc
Rename to HellPot-Community convention to distinguish from upstream fork
Copilot Mar 7, 2026
896c3b9
Merge pull request #14
bdk38 Mar 7, 2026
81c0b62
Initial plan
Copilot Mar 7, 2026
30ad39b
fix: update workflow action versions to stable releases
Copilot Mar 7, 2026
26b2195
fix: pin gosec to v2.22.0 and suppress G110 false positive for Go 1.2…
Copilot Mar 7, 2026
4bec395
Merge pull request #15 from bdk38/copilot/update-go-workflow-versions
bdk38 Mar 7, 2026
9799c28
Initial plan
Copilot Mar 7, 2026
7a46d1a
fix: use line comment for gosec G110 nosec directive in markov.go
Copilot Mar 7, 2026
7bc7503
Merge pull request #16 from bdk38/copilot/fix-gosec-g110-comment-format
bdk38 Mar 7, 2026
656e2d4
Initial plan
Copilot Mar 7, 2026
3135013
Remove gzip compression from markov corpus
Copilot Mar 7, 2026
101328e
Fix gosec G115: safe uintptr→int conversion for terminal fd check
Copilot Mar 7, 2026
7240a66
Merge pull request #18 from bdk38/copilot/remove-gzip-compression-mar…
bdk38 Mar 7, 2026
68b522f
Update README with latest release and Go version
bdk38 Mar 7, 2026
8850ae3
Update Go base image version to 1.24
bdk38 Mar 7, 2026
df7d792
Fix Dockerfile label formatting
bdk38 Mar 7, 2026
e4c342f
Update Dockerfile for Go version and base image
bdk38 Mar 7, 2026
c8ecd4e
Merge pull request #20 from bdk38/bdk38-patch-1-dockerfile
bdk38 Mar 7, 2026
d524a6e
Add initial docker-compose configuration for hellpot
bdk38 Mar 7, 2026
45c10df
Merge pull request #21 from bdk38/bdk38-patch-1-docker-compose
bdk38 Mar 7, 2026
933ee92
Update Docker Hub login to use secrets
bdk38 Mar 8, 2026
a0e9ce3
Add debug step for Docker Hub secrets
bdk38 Mar 8, 2026
94d679f
Refactor Docker login steps in release workflow
bdk38 Mar 8, 2026
127caa6
Add files via upload
bdk38 Mar 8, 2026
8cc287e
Revise README for clarity and formatting
bdk38 Mar 8, 2026
6797a2a
Merge pull request #22 from bdk38/bdk38-patch-1-readme
bdk38 Mar 8, 2026
bccc8ee
Chore(deps): Bump the deps group with 3 updates
dependabot[bot] Mar 8, 2026
e81b49c
Chore(deps): Bump the deps group with 11 updates
dependabot[bot] Mar 8, 2026
c582992
Revise security policy in SECURITY.md
bdk38 Mar 8, 2026
d9e723c
Merge pull request #23 from bdk38/dependabot/go_modules/deps-dfc7daeacf
bdk38 Mar 8, 2026
75551af
Merge pull request #24 from bdk38/dependabot/github_actions/deps-812a…
bdk38 Mar 8, 2026
54ff8c8
Refactor argument parsing to use flag package
bdk38 Mar 8, 2026
cabc863
Potential fix for code scanning alert no. 1: Workflow does not contai…
bdk38 Mar 8, 2026
e2fa6b5
Merge pull request #26 from bdk38/alert-autofix-1
bdk38 Mar 8, 2026
d8b2245
Potential fix for code scanning alert no. 3: Workflow does not contai…
bdk38 Mar 8, 2026
b6a804f
Merge pull request #27 from bdk38/alert-autofix-3
bdk38 Mar 8, 2026
a4a1628
Potential fix for code scanning alert no. 4: Workflow does not contai…
bdk38 Mar 8, 2026
ccb14ac
Merge pull request #28 from bdk38/alert-autofix-4
bdk38 Mar 8, 2026
281c897
Merge pull request #25 from bdk38/bdk38-patch-1-arguments
bdk38 Mar 8, 2026
51f8a2c
Replace viper with koanf for configuration management
bdk38 Mar 8, 2026
b95c24a
Merge pull request #29 from bdk38/bdk38-patch-1-config
bdk38 Mar 8, 2026
d6927eb
Update CHANGELOG for version 0.6.1 fixes
bdk38 Mar 8, 2026
e591faf
Merge pull request #30 from bdk38/bdk38-patch-1-changelog
bdk38 Mar 8, 2026
0472115
Initial plan
Copilot Mar 8, 2026
4e50c64
ci: remove GHCR pushes and drop 386 builds from release workflow
Copilot Mar 8, 2026
391c0f6
Merge pull request #32 from bdk38/copilot/update-release-command-yml
bdk38 Mar 8, 2026
d2fa26b
Update Docker configuration with new logger and performance settings
bdk38 Mar 9, 2026
8d29009
Merge pull request #34 from bdk38/bdk38-patch-1-docker_config
bdk38 Mar 9, 2026
da17cb2
Update Go base image version to 1.25.8
bdk38 Mar 11, 2026
e9b4ec0
Merge pull request #35 from bdk38/bdk38-patch-1
bdk38 Mar 11, 2026
53f5f72
Initial plan
Copilot Mar 11, 2026
e855b9b
chore: update Go version to 1.25.8 (CVE-2026-27142, CVE-2026-25679, C…
Copilot Mar 11, 2026
7e8616e
fix: run go mod tidy to resolve Vibe Check CI failure
Copilot Mar 11, 2026
1975db2
Merge pull request #37 from bdk38/copilot/update-go-version-to-1-25-8
bdk38 Mar 11, 2026
b985824
Chore(deps): Bump golang.org/x/term in the deps group
dependabot[bot] Mar 11, 2026
1e26568
Merge pull request #38 from bdk38/dependabot/go_modules/deps-a98db8910e
bdk38 Mar 13, 2026
c554525
Add replace directives for dependencies
bdk38 Mar 18, 2026
9ef7462
Update copystructure dependency version to v1.2.2
bdk38 Mar 18, 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
10 changes: 6 additions & 4 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
name: Vibe Check
permissions:
contents: read

on:
push:
Expand All @@ -9,17 +11,17 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version: 1.24
go-version: 1.25.8
- name: go vet -v ./...
run: go vet -v ./...
- name: gosec ./...
run: | # https://github.com/securego/gosec/issues/469
export PATH=$PATH:$(go env GOPATH)/bin
go install github.com/securego/gosec/v2/cmd/gosec@latest
go install github.com/securego/gosec/v2/cmd/gosec@v2.22.0
gosec ./...
- name: go test -race -v ./...
run: go test -race -v ./...
Expand Down
46 changes: 20 additions & 26 deletions .github/workflows/release-command.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# GHCR pushes removed; 386 builds removed
name: Build and Release

on:
Expand All @@ -8,18 +9,25 @@ on:
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
strategy:
matrix:
goos: [linux, windows, darwin, freebsd]
goarch: ["386", amd64, arm64]
goarch: [amd64, arm64]
exclude:
- goarch: "386"
goos: darwin
- goarch: arm64
goos: windows
steps:
- uses: actions/checkout@v4
- uses: wangyoucao577/go-release-action@v1.53
- name: Check required secrets
if: github.event_name != 'pull_request'
run: |
if [ -z "${{ secrets.DOCKERHUB_USERNAME }}" ] || [ -z "${{ secrets.DOCKERHUB_TOKEN }}" ]; then
echo "Error: DOCKERHUB_USERNAME and DOCKERHUB_TOKEN secrets are required for publishing."
exit 1
fi
- uses: actions/checkout@v6
- uses: wangyoucao577/go-release-action@v1.55
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
goos: ${{ matrix.goos }}
Expand All @@ -36,18 +44,12 @@ jobs:
md5sum: FALSE
sha256sum: TRUE
overwrite: TRUE

docker:
runs-on: ubuntu-latest
steps:
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
uses: docker/metadata-action@v6
with:
images: |
yunginnanet/hellpot
ghcr.io/yunginnanet/hellpot
# generate Docker tags based on the following events/attributes
bdk38/hellpot-community
tags: |
type=ref,event=branch
type=ref,event=pr
Expand All @@ -58,27 +60,19 @@ jobs:

- name: Login to Docker Hub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
username: ${{ github.repository_owner }}
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Login to GHCR
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.PAT }}

- name: Set up QEMU
uses: docker/setup-qemu-action@v3
uses: docker/setup-qemu-action@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4

- name: Build and push
uses: docker/build-push-action@v6
uses: docker/build-push-action@v7
with:
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
Expand Down
124 changes: 124 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
name: Release

on:
push:
tags:
- 'v*'
workflow_dispatch:

permissions:
contents: write

jobs:
build:
name: Build for ${{ matrix.os }}-${{ matrix.arch }}
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- os: linux
arch: amd64
runner: ubuntu-latest
- os: linux
arch: arm64
runner: ubuntu-latest
- os: linux
arch: arm
runner: ubuntu-latest
- os: windows
arch: amd64
runner: ubuntu-latest
- os: darwin
arch: amd64
runner: macos-latest
- os: darwin
arch: arm64
runner: macos-latest

steps:
- name: Checkout code
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v6
with:
go-version: stable

- name: Build binary
env:
GOOS: ${{ matrix.os }}
GOARCH: ${{ matrix.arch }}
CGO_ENABLED: 0
run: |
VERSION="${GITHUB_REF#refs/tags/}"

BINARY_NAME="HellPot-Community-${VERSION}-${{ matrix.os }}-${{ matrix.arch }}"
if [ "${{ matrix.os }}" = "windows" ]; then
BINARY_NAME="${BINARY_NAME}.exe"
fi

go build -trimpath \
-ldflags "-s -w -X main.version=${VERSION}" \
-o "${BINARY_NAME}" \
./cmd/HellPot

- name: Generate checksum
run: |
VERSION="${GITHUB_REF#refs/tags/}"
BINARY_NAME="HellPot-Community-${VERSION}-${{ matrix.os }}-${{ matrix.arch }}"
if [ "${{ matrix.os }}" = "windows" ]; then
BINARY_NAME="${BINARY_NAME}.exe"
fi
sha256sum "${BINARY_NAME}" > "${BINARY_NAME}.sha256"

- name: Upload artifacts
uses: actions/upload-artifact@v7
with:
name: HellPot-Community-${{ matrix.os }}-${{ matrix.arch }}
path: |
HellPot-Community-*

release:
name: Create Release
needs: build
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Download all artifacts
uses: actions/download-artifact@v8
with:
path: ./binaries

- name: Prepare release assets
run: |
mkdir -p release-assets
find ./binaries -type f -exec mv {} ./release-assets/ \;
cd release-assets
find . -name 'HellPot-*' ! -name '*.sha256' -exec sha256sum {} \; > checksums.sha256.txt

- name: Create Release
uses: softprops/action-gh-release@v2
with:
draft: false
generate_release_notes: true
files: ./release-assets/*
body: |
## HellPot Community ${{ github.ref_name }}

### 📦 Downloads
Download the appropriate binary for your platform below.

### 🔒 Verify Checksums
```bash
sha256sum -c checksums.sha256.txt
```

### 📝 Release Notes
See below for detailed changes.
6 changes: 4 additions & 2 deletions .github/workflows/trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,20 @@ on:
types: [created]
jobs:
slashCommandDispatch:
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- name: Slash Command Dispatch
id: scd
uses: peter-evans/slash-command-dispatch@v4
uses: peter-evans/slash-command-dispatch@v5
with:
token: ${{ secrets.PAT }}
commands: |
release
dispatch-type: workflow
permission: admin
repository: yunginnanet/HellPot
repository: bdk38/HellPot
static-args: |
repository=${{ github.repository }}
comment-id=${{ github.event.comment.id }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,7 @@ HellPot
.idea/
*.save
*.toml
!internal/config/default_config.toml
!config.toml
*.yaml
.backups/
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## [0.6.1] - 2026-03-08
### Fixed
- `logger.debug` and `logger.trace` in config.toml now actually work
- CLI flag parsing rewritten with Go's standard `flag` package (more reliable)
- Debug/trace override logic now correctly defaults to INFO level
64 changes: 49 additions & 15 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,25 +1,59 @@
FROM golang:1.23 AS build
# ==============================================================================
# Build Stage: Compile the Go source and prepares the filesystem
# ==============================================================================
#
# use newer golang because that's what I'm building with currently
FROM golang:1.25.8 AS build
#
# set the primary directory for build commands
WORKDIR /go/src/app

#
# cache dependencies
COPY go.* .
RUN go mod download

#
# copy source
COPY . .

#
# quality control
RUN go vet -v ./...
RUN go test -v ./...
RUN \
CGO_ENABLED=0 \
VERSION=`git tag --sort=-version:refname | head -n 1` \
#
# build binary with versioning and optimization outputting directly to /app for simplicity
RUN CGO_ENABLED=0 \
VERSION=$(git tag --sort=-version:refname | head -n 1 || echo "dev") \
go build -trimpath \
-ldflags "-s -w -X main.version=$VERSION" \
-o /app \
cmd/HellPot/*.go


FROM gcr.io/distroless/static-debian11
LABEL org.opencontainers.image.source https://github.com/yunginnanet/HellPot

COPY --from=build /go/src/app/HellPot /app
COPY --from=build /go/src/app/docker_config.toml /config
#
# prepare Workspace and create directories
RUN mkdir -p /config /logs && \
cp docker_config.toml /config/config.toml
#
# ==============================================================================
# Final Stage: Minimal production image with a zero-privilege security profile
# ==============================================================================
#
# upgrade distro for lts
FROM gcr.io/distroless/static-debian13
#
# changed repo url
LABEL org.opencontainers.image.source="https://github.com/bdk38/HellPot"
#
# copy the binary and directories with non-root user
COPY --from=build --chown=65532:65532 /app /app
COPY --from=build --chown=65532:65532 /config /config
COPY --from=build --chown=65532:65532 /logs /logs
#
# add volumes for config and log files
VOLUME ["/config", "/logs"]
#
# expose default port
EXPOSE 8080
ENTRYPOINT ["/app", "-c", "/config"]
#
# run as non-root user
USER 65532
#
# execute the binary with the configuration flag as the default container process
ENTRYPOINT ["/app", "-c", "/config/config.toml"]
Loading