grim/hgkeeper

dc46af0b583b
Spit out a warning if we find a duplicated key.

We're going to continue the existing behavior of overwriting the keys to not
break potential set ups for the time being.

Fixes HGKEEPER-22
package main
import (
"os"
"github.com/alecthomas/kong"
log "github.com/sirupsen/logrus"
"keep.imfreedom.org/grim/hgkeeper/authorized_keys"
"keep.imfreedom.org/grim/hgkeeper/globals"
"keep.imfreedom.org/grim/hgkeeper/once"
"keep.imfreedom.org/grim/hgkeeper/serve"
"keep.imfreedom.org/grim/hgkeeper/setup"
"keep.imfreedom.org/grim/hgkeeper/version"
)
type commands struct {
globals.Globals
AuthorizedKeys authorized_keys.Command `kong:"cmd,help='output an sshd authorized keys file'"`
Once once.Command `kong:"cmd,help='run hgkeeper for one transaction. This is used when integrating with a system ssh server'"`
Serve serve.Command `kong:"cmd,help='run the ssh server'"`
Setup setup.Command `kong:"cmd,help='inital setup for the server'"`
Version version.Command `kong:"cmd,help='display the version and exit'"`
}
func init() {
log.SetOutput(os.Stdout)
log.SetLevel(log.DebugLevel)
fmter := &log.TextFormatter{
FullTimestamp: true,
}
switch os.Getenv("TERM") {
case "win":
fallthrough
case "dumb":
fmter.DisableColors = true
}
log.SetFormatter(fmter)
}
func main() {
cmd := commands{}
ctx := kong.Parse(&cmd)
if err := ctx.Run(&cmd.Globals); err != nil {
ctx.FatalIfErrorf(err)
}
}