-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
priority:mediumMedium priority issueMedium priority issuestatus:readyReady to be worked onReady to be worked ontype:docsImprovements or additions to documentationImprovements or additions to documentation
Description
Summary
Create comprehensive documentation for bssh-server and bssh-keygen, including configuration manual, man pages, and deployment guides.
Parent Epic
- Implement bssh-server with SFTP/SCP support #123 - bssh-server 추가 구현
- Depends on: All previous server issues
Documentation Requirements
1. Configuration Manual (Markdown)
Create docs/server-configuration.md:
# bssh-server Configuration Guide
## Overview
bssh-server is a lightweight SSH server designed for container environments...
## Configuration File
### Location
- Default: `/etc/bssh/server.yaml`
- Alternative: `./bssh-server.yaml`
- Override with: `--config <path>`
### Complete Reference
#### Server Settings
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `server.bind_address` | string | `0.0.0.0` | Address to bind to |
| `server.port` | integer | `22` | Port to listen on |
| `server.host_keys` | list | - | Paths to host key files |
| ... | ... | ... | ... |
(Include all configuration options with descriptions)
## Example Configurations
### Minimal Configuration
...
### Container Deployment
...
### High Security
...2. Man Pages
Create man pages in roff format:
bssh-server(8):
.TH BSSH-SERVER 8 "2024" "bssh-server 1.0" "System Administration"
.SH NAME
bssh-server \- Backend.AI SSH Server
.SH SYNOPSIS
.B bssh-server
[\fIOPTIONS\fR]
[\fICOMMAND\fR]
.SH DESCRIPTION
bssh-server is a lightweight SSH server designed for container environments.
It provides SSH, SFTP, and SCP functionality with built-in audit logging
and file transfer filtering.
.SH COMMANDS
.TP
.B run
Start the SSH server (default)
.TP
.B gen-config
Generate a configuration template
.TP
.B hash-password
Hash a password for configuration
.TP
.B check-config
Validate configuration file
.TP
.B gen-host-key
Generate host key files
.SH OPTIONS
.TP
.BR \-c ", " \-\-config " " \fIFILE\fR
Configuration file path
.TP
.BR \-p ", " \-\-port " " \fIPORT\fR
Port to listen on
...
.SH FILES
.TP
.I /etc/bssh/server.yaml
Default configuration file
.TP
.I /etc/bssh/ssh_host_*_key
Host key files
.SH SEE ALSO
.BR bssh (1),
.BR bssh-keygen (1),
.BR sshd (8)
.SH AUTHORS
Lablup Inc.bssh-keygen(1):
.TH BSSH-KEYGEN 1 "2024" "bssh-keygen 1.0" "User Commands"
.SH NAME
bssh-keygen \- SSH key generation tool
.SH SYNOPSIS
.B bssh-keygen
[\fB\-t\fR \fItype\fR]
[\fB\-b\fR \fIbits\fR]
[\fB\-f\fR \fIfile\fR]
[\fB\-C\fR \fIcomment\fR]
.SH DESCRIPTION
bssh-keygen generates SSH key pairs in OpenSSH format.
...3. Container Deployment Guide
Create docs/container-deployment.md:
# Container Deployment Guide
## Docker
### Dockerfile
\`\`\`dockerfile
FROM debian:bookworm-slim
COPY bssh-server /usr/local/bin/
COPY bssh-keygen /usr/local/bin/
RUN bssh-keygen -t ed25519 -f /etc/bssh/ssh_host_ed25519_key -y
EXPOSE 22
ENTRYPOINT ["bssh-server"]
\`\`\`
### docker-compose.yml
\`\`\`yaml
services:
ssh:
image: bssh-server:latest
ports:
- "2222:22"
volumes:
- ./config.yaml:/etc/bssh/server.yaml:ro
- ./authorized_keys:/etc/bssh/authorized_keys:ro
environment:
- BSSH_PORT=22
\`\`\`
## Kubernetes
### Deployment
...4. Quick Start Guide
Create docs/quick-start.md:
# Quick Start
## Installation
### From Binary
\`\`\`bash
curl -LO https://github.com/lablup/bssh/releases/latest/download/bssh-server
chmod +x bssh-server
sudo mv bssh-server /usr/local/bin/
\`\`\`
## First Run
1. Generate host keys:
\`\`\`bash
sudo mkdir -p /etc/bssh
sudo bssh-server gen-host-key -t ed25519 -o /etc/bssh/ssh_host_ed25519_key
\`\`\`
2. Create configuration:
\`\`\`bash
bssh-server gen-config | sudo tee /etc/bssh/server.yaml
\`\`\`
3. Add a user:
\`\`\`bash
bssh-server hash-password # Enter password, copy hash
# Edit /etc/bssh/server.yaml to add user
\`\`\`
4. Start server:
\`\`\`bash
sudo bssh-server run
\`\`\`Files to Create
| File | Description |
|---|---|
docs/server-configuration.md |
Complete configuration reference |
docs/container-deployment.md |
Docker/Kubernetes deployment |
docs/quick-start.md |
Getting started guide |
docs/security.md |
Security considerations |
docs/audit-logging.md |
Audit logging setup |
man/bssh-server.8 |
Man page for bssh-server |
man/bssh-keygen.1 |
Man page for bssh-keygen |
Documentation Requirements
- All configuration options documented
- All CLI arguments documented
- Example configurations for common use cases
- Troubleshooting section
- Security best practices
- Integration examples (OTEL, Logstash)
Man Page Installation
Add to Makefile or build script:
install -Dm644 man/bssh-server.8 /usr/share/man/man8/bssh-server.8
install -Dm644 man/bssh-keygen.1 /usr/share/man/man1/bssh-keygen.1Acceptance Criteria
- Configuration reference with all options
- Man page for bssh-server(8)
- Man page for bssh-keygen(1)
- Container deployment guide (Docker)
- Kubernetes deployment guide
- Quick start guide
- Security documentation
- Audit logging documentation
- Example configurations
- Troubleshooting guide
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
priority:mediumMedium priority issueMedium priority issuestatus:readyReady to be worked onReady to be worked ontype:docsImprovements or additions to documentationImprovements or additions to documentation