1package config23import (4 "errors"56 "github.com/charmbracelet/keygen"7)89var (10 // ErrNilConfig is returned when a nil config is passed to a function.11 ErrNilConfig = errors.New("nil config")1213 // ErrEmptySSHKeyPath is returned when the SSH key path is empty.14 ErrEmptySSHKeyPath = errors.New("empty SSH key path")15)1617// KeyPair returns the server's SSH key pair.18func KeyPair(cfg *Config) (*keygen.SSHKeyPair, error) {19 if cfg == nil {20 return nil, ErrNilConfig21 }2223 if cfg.SSH.KeyPath == "" {24 return nil, ErrEmptySSHKeyPath25 }2627 return keygen.New(cfg.SSH.KeyPath, keygen.WithKeyType(keygen.Ed25519))28}