mytools

module
v0.10.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2026 License: MIT

README

mytools

publish-docker-image CI Coverage Code to Test Ratio Test Execution Time Ask DeepWiki

A monorepo containing various utility tools written in Go.

Included Tools

1. sarif-to-codequality

A CLI tool that converts SARIF (Static Analysis Results Interchange Format) files into GitLab Code Quality format. It helps you merge security and analysis results into GitLab's code quality UI within CI pipelines.

2. nip05

A standalone server for managing, generating, and serving .well-known/nostr.json files for Nostr's NIP-05 (user identifier and domain verification).

3. wsl-keyring

A D-Bus Secret Service provider daemon that exposes the org.freedesktop.secrets interface and integrates with 1Password (op.exe) as the storage backend. Designed for WSL environments.

4. nostr-relay

A minimal Nostr relay built on fiatjaf.com/nostr/khatru, supporting NIP-01 relay flow and NIP-11 relay metadata with in-memory storage.

5. herdr-plugin-tabinfo

A Herdr plugin that rewrites tab labels with live tab information through the Herdr Socket API.

6. ff

A feed filtering proxy server that allows filtering and modifying RSS/Atom feeds via URL query parameters.

7. litestream-controller

A Kubernetes controller and admission webhook that runs Litestream alongside your application Pods, restoring and continuously replicating SQLite databases without baking Litestream into your application's image.

Development and Build

This repository uses aqua to manage development tools (Go, GolangCI-Lint, GoReleaser, etc.).

Setup Dependencies
aqua i
Build

Build all tools and output binaries under the dist/ directory.

make build
# or
go build -o ./dist/ ./cmd/...
Run Tests

The integration tests use controller-runtime's envtest assets. Set KUBEBUILDER_ASSETS before running the test suite:

envtest_version="$(go list -m -f '{{.Version}}' sigs.k8s.io/controller-runtime)"
envtest_k8s_version="$(go list -m -f '{{.Version}}' k8s.io/api | sed -E 's/^v[0-9]+\.([0-9]+)\..*$/1.\1/')"
export KUBEBUILDER_ASSETS="$(
  go run sigs.k8s.io/controller-runtime/tools/setup-envtest@"${envtest_version}" \
    use -p path "${envtest_k8s_version}"
)"

make test
# or
go test ./...
Run Linter
make lint
# or
golangci-lint run ./...

Docker Integration

You can build Docker images for individual tools or for the entire monorepo.

Build Tool-Specific Image
# For sarif-to-codequality only
docker build --target sarif-to-codequality -t sarif-to-codequality .

# For nip05 only
docker build --target nip05 -t nip05 .

# For wsl-keyring only
docker build --target wsl-keyring -t wsl-keyring .

# For nostr-relay only
docker build --target nostr-relay -t nostr-relay .

# For ff only
docker build --target ff -t ff .

# For litestream-controller only
docker build --target litestream-controller -t litestream-controller .
Build All Tools Image
docker build --target mytools -t mytools .

Directories

Path Synopsis
api
litestream/v1alpha1
Package v1alpha1 contains API Schema definitions for the Litestream v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the Litestream v1alpha1 API group.
cmd
ff command
litestream-controller command
Command litestream-controller runs the Litestream controller manager: the LitestreamReconciler that renders Litestream resources into ConfigMaps, and the /mutate-v1-pod admission webhook that injects Litestream into annotated Pods at creation.
Command litestream-controller runs the Litestream controller manager: the LitestreamReconciler that renders Litestream resources into ConfigMaps, and the /mutate-v1-pod admission webhook that injects Litestream into annotated Pods at creation.
nip05 command
nostr-bridge command
nostr-bridge/bluesky
Package bluesky provides authenticated reads from the Bluesky API.
Package bluesky provides authenticated reads from the Bluesky API.
nostr-bridge/mastodon
Package mastodon implements Mastodon source integration.
Package mastodon implements Mastodon source integration.
nostr-bridge/nostrmap
Package nostrmap maps provider-neutral source records to signed Nostr events.
Package nostrmap maps provider-neutral source records to signed Nostr events.
nostr-bridge/oauth
Package oauth implements the AT Protocol confidential-client OAuth flow.
Package oauth implements the AT Protocol confidential-client OAuth flow.
nostr-bridge/owner
Package owner coordinates provider snapshots into events owned by the bridge.
Package owner coordinates provider snapshots into events owned by the bridge.
nostr-bridge/secretbox
Package secretbox encrypts provider credentials for persistence.
Package secretbox encrypts provider credentials for persistence.
nostr-bridge/source
Package source defines provider-neutral values consumed by the Nostr mapper.
Package source defines provider-neutral values consumed by the Nostr mapper.
nostr-bridge/store
Package store persists nostr-bridge state.
Package store persists nostr-bridge state.
nostr-bridge/syncer
Package syncer synchronizes Bluesky timeline records through a durable outbox.
Package syncer synchronizes Bluesky timeline records through a durable outbox.
nostr-relay command
wsl-keyring command
example
internal
litestream/controller
Package controller reconciles Litestream custom resources into the non-secret ConfigMaps that carry their rendered configuration, and reports rendering outcomes through status conditions and events.
Package controller reconciles Litestream custom resources into the non-secret ConfigMaps that carry their rendered configuration, and reports rendering outcomes through status conditions and events.
litestream/litestreamconfig
Package litestreamconfig renders a typed v1alpha1.Litestream resource into non-secret ConfigMap data (Litestream YAML and restore scripts) plus the stable Secret bindings the webhook must project into Pods.
Package litestreamconfig renders a typed v1alpha1.Litestream resource into non-secret ConfigMap data (Litestream YAML and restore scripts) plus the stable Secret bindings the webhook must project into Pods.
litestream/resolver
Package resolver resolves LitestreamReplica resources into the pure input consumed by rendering and injection.
Package resolver resolves LitestreamReplica resources into the pure input consumed by rendering and injection.
litestream/webhook
Package webhook injects Litestream restore init containers and a replication sidecar into annotated Pods.
Package webhook injects Litestream restore init containers and a replication sidecar into annotated Pods.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL