Compare commits

...

9 Commits

Author SHA1 Message Date
lash
cd575c2edb Merge remote-tracking branch 'urdt' into lash/purify-more 2025-01-06 08:46:01 +00:00
f3d4f35718 Merge pull request 'Factor out db dump formatting' (#243) from lash/dump-format into master
Reviewed-on: urdt/ussd#243
2025-01-06 09:44:29 +01:00
52787bdb4d Merge branch 'master' into lash/dump-format 2025-01-06 09:42:26 +01:00
824d39908b
ci: fix missing ssh dir
Some checks failed
release / docker (push) Has been cancelled
2025-01-06 11:19:36 +03:00
a312ea5b84
feat: inject build string in ssh binary, expose default ssh port
Some checks failed
release / docker (push) Has been cancelled
2025-01-06 11:09:51 +03:00
4836162f40
ci: add ssh build
Some checks failed
release / docker (push) Has been cancelled
2025-01-06 10:51:20 +03:00
lash
83857026d3 Merge branch 'master' into lash/dump-format 2025-01-04 10:00:25 +00:00
lash
daec816a3e
Move store devtools location 2025-01-03 17:21:52 +00:00
lash
ac0c43cb43
Factor out formatting method 2025-01-03 17:18:23 +00:00
5 changed files with 30 additions and 15 deletions

View File

@ -1,5 +1,6 @@
/** /**
!/cmd/africastalking !/cmd/africastalking
!/cmd/ssh
!/common !/common
!/config !/config
!/initializers !/initializers

View File

@ -19,6 +19,7 @@ WORKDIR /build
RUN echo "Building on $BUILDPLATFORM, building for $TARGETPLATFORM" RUN echo "Building on $BUILDPLATFORM, building for $TARGETPLATFORM"
RUN go mod download RUN go mod download
RUN go build -tags logtrace -o ussd-africastalking -ldflags="-X main.build=${BUILD} -s -w" cmd/africastalking/main.go RUN go build -tags logtrace -o ussd-africastalking -ldflags="-X main.build=${BUILD} -s -w" cmd/africastalking/main.go
RUN go build -tags logtrace -o ussd-ssh -ldflags="-X main.build=${BUILD} -s -w" cmd/ssh/main.go
FROM debian:bookworm-slim FROM debian:bookworm-slim
@ -30,6 +31,7 @@ RUN apt-get clean && rm -rf /var/lib/apt/lists/*
WORKDIR /service WORKDIR /service
COPY --from=build /build/ussd-africastalking . COPY --from=build /build/ussd-africastalking .
COPY --from=build /build/ussd-ssh .
COPY --from=build /build/LICENSE . COPY --from=build /build/LICENSE .
COPY --from=build /build/README.md . COPY --from=build /build/README.md .
COPY --from=build /build/services ./services COPY --from=build /build/services ./services
@ -37,5 +39,6 @@ COPY --from=build /build/.env.example .
RUN mv .env.example .env RUN mv .env.example .env
EXPOSE 7123 EXPOSE 7123
EXPOSE 7122
CMD ["./ussd-africastalking"] CMD ["./ussd-africastalking"]

View File

@ -4,9 +4,9 @@ import (
"context" "context"
"flag" "flag"
"fmt" "fmt"
"path"
"os" "os"
"os/signal" "os/signal"
"path"
"sync" "sync"
"syscall" "syscall"
@ -18,10 +18,12 @@ import (
) )
var ( var (
wg sync.WaitGroup wg sync.WaitGroup
keyStore db.Db keyStore db.Db
logg = logging.NewVanilla() logg = logging.NewVanilla()
scriptDir = path.Join("services", "registration") scriptDir = path.Join("services", "registration")
build = "dev"
) )
func main() { func main() {
@ -76,7 +78,7 @@ func main() {
fmt.Fprintf(os.Stderr, "keystore file open error: %v", err) fmt.Fprintf(os.Stderr, "keystore file open error: %v", err)
os.Exit(1) os.Exit(1)
} }
defer func () { defer func() {
logg.TraceCtxf(ctx, "shutdown auth key store reached") logg.TraceCtxf(ctx, "shutdown auth key store reached")
err = authKeyStore.Close() err = authKeyStore.Close()
if err != nil { if err != nil {
@ -90,14 +92,14 @@ func main() {
signal.Notify(cterm, os.Interrupt, syscall.SIGTERM) signal.Notify(cterm, os.Interrupt, syscall.SIGTERM)
runner := &ssh.SshRunner{ runner := &ssh.SshRunner{
Cfg: cfg, Cfg: cfg,
Debug: engineDebug, Debug: engineDebug,
FlagFile: pfp, FlagFile: pfp,
DbDir: dbDir, DbDir: dbDir,
ResourceDir: resourceDir, ResourceDir: resourceDir,
SrvKeyFile: sshKeyFile, SrvKeyFile: sshKeyFile,
Host: host, Host: host,
Port: port, Port: port,
} }
go func() { go func() {
select { select {
@ -109,7 +111,7 @@ func main() {
if err != nil { if err != nil {
logg.ErrorCtxf(ctx, "runner stop error", "err", err) logg.ErrorCtxf(ctx, "runner stop error", "err", err)
} }
}() }()
runner.Run(ctx, authKeyStore) runner.Run(ctx, authKeyStore)
} }

View File

@ -25,6 +25,15 @@ func init() {
} }
func formatItem(k []byte, v []byte) (string, error) {
o, err := debug.FromKey(k)
if err != nil {
return "", err
}
s := fmt.Sprintf("%vValue: %v\n\n", o, string(v))
return s, nil
}
func main() { func main() {
config.LoadConfig() config.LoadConfig()
@ -75,12 +84,12 @@ func main() {
if k == nil { if k == nil {
break break
} }
o, err := debug.FromKey(k) r, err := formatItem(k, v)
if err != nil { if err != nil {
fmt.Fprintf(os.Stderr, err.Error()) fmt.Fprintf(os.Stderr, "format db item error: %v", err)
os.Exit(1) os.Exit(1)
} }
fmt.Printf("%vValue: %v\n\n", o, string(v)) fmt.Printf(r)
} }
err = store.Close() err = store.Close()