tangled
alpha
login
or
join now
dunkirk.sh
/
battleship-arena
1
fork
atom
a geicko-2 based round robin ranking system designed to test c++ battleship submissions
battleship.dunkirk.sh
1
fork
atom
overview
issues
pulls
pipelines
feat: add config
dunkirk.sh
3 months ago
e7654ddb
34636947
verified
This commit was signed with the committer's
known signature
.
dunkirk.sh
SSH Key Fingerprint:
SHA256:DqcG0RXYExE26KiWo3VxJnsxswN1QNfTBvB+bdSpk80=
+24
-9
2 changed files
expand all
collapse all
unified
split
.env.example
internal
server
auth.go
+16
.env.example
···
1
1
+
# Battleship Arena Configuration
2
2
+
3
3
+
# Server Configuration
4
4
+
BATTLESHIP_HOST=0.0.0.0
5
5
+
BATTLESHIP_SSH_PORT=2222
6
6
+
BATTLESHIP_WEB_PORT=8081
7
7
+
8
8
+
# External URL (used in logs and user-facing messages)
9
9
+
BATTLESHIP_EXTERNAL_URL=http://localhost:8081
10
10
+
11
11
+
# Storage
12
12
+
BATTLESHIP_UPLOAD_DIR=./submissions
13
13
+
BATTLESHIP_RESULTS_DB=./results.db
14
14
+
15
15
+
# Admin passcode for batch uploads and testing
16
16
+
BATTLESHIP_ADMIN_PASSCODE=battleship-admin-override
+8
-9
internal/server/auth.go
···
4
4
"errors"
5
5
"fmt"
6
6
"log"
7
7
-
"os"
8
7
"strings"
9
8
10
9
"github.com/charmbracelet/ssh"
···
14
13
"battleship-arena/internal/storage"
15
14
)
16
15
17
17
-
var adminPasscode string
16
16
+
var (
17
17
+
adminPasscode string
18
18
+
externalURL string
19
19
+
)
18
20
19
19
-
func init() {
20
20
-
// Load admin passcode from environment variable
21
21
-
adminPasscode = os.Getenv("BATTLESHIP_ADMIN_PASSCODE")
22
22
-
if adminPasscode == "" {
23
23
-
adminPasscode = "battleship-admin-override" // Default fallback
24
24
-
log.Printf("⚠️ Using default admin passcode. Set BATTLESHIP_ADMIN_PASSCODE env var for security.")
25
25
-
}
21
21
+
func SetConfig(passcode, url string) {
22
22
+
adminPasscode = passcode
23
23
+
externalURL = url
24
24
+
log.Printf("✓ Config loaded: passcode=%s..., url=%s", passcode[:10], url)
26
25
}
27
26
28
27
func PublicKeyAuthHandler(ctx ssh.Context, key ssh.PublicKey) bool {