71 lines
2.1 KiB
Go
71 lines
2.1 KiB
Go
package notmain
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/letsencrypt/boulder/cmd"
|
|
"github.com/letsencrypt/boulder/features"
|
|
)
|
|
|
|
type Config struct {
|
|
Revoker struct {
|
|
DB cmd.DBConfig
|
|
// Similarly, the Revoker needs a TLSConfig to set up its GRPC client
|
|
// certs, but doesn't get the TLS field from ServiceConfig, so declares
|
|
// its own.
|
|
TLS cmd.TLSConfig
|
|
|
|
RAService *cmd.GRPCClientConfig
|
|
SAService *cmd.GRPCClientConfig
|
|
|
|
Features features.Config
|
|
}
|
|
|
|
Syslog cmd.SyslogConfig
|
|
}
|
|
|
|
func main() {
|
|
if len(os.Args) == 1 {
|
|
fmt.Println("use `admin -h` to learn how to use the new admin tool")
|
|
os.Exit(1)
|
|
}
|
|
|
|
command := os.Args[1]
|
|
switch {
|
|
case command == "serial-revoke":
|
|
fmt.Println("use `admin -config path/to/cfg.json revoke-cert -serial deadbeef -reason X` instead")
|
|
|
|
case command == "batched-serial-revoke":
|
|
fmt.Println("use `admin -config path/to/cfg.json revoke-cert -serials-file path -reason X` instead")
|
|
|
|
case command == "reg-revoke":
|
|
fmt.Println("use `admin -config path/to/cfg.json revoke-cert -reg-id Y -reason X` instead")
|
|
|
|
case command == "malformed-revoke":
|
|
fmt.Println("use `admin -config path/to/cfg.json revoke-cert -serial deadbeef -reason X -malformed` instead")
|
|
|
|
case command == "list-reasons":
|
|
fmt.Println("use `admin -config path/to/cfg.json revoke-cert -h` instead")
|
|
|
|
case command == "private-key-revoke":
|
|
fmt.Println("use `admin -config path/to/cfg.json revoke-cert -private-key path -reason X` instead")
|
|
|
|
case command == "private-key-block":
|
|
fmt.Println("use `admin -config path/to/cfg.json block-key -private-key path -comment foo` instead")
|
|
|
|
case command == "incident-table-revoke":
|
|
fmt.Println("use `admin -config path/to/cfg.json revoke-cert -incident-table tablename -reason X` instead")
|
|
|
|
case command == "clear-email":
|
|
fmt.Println("use `admin -config path/to/cfg.json update-email -address foo@bar.org -clear` instead")
|
|
|
|
default:
|
|
fmt.Println("use `admin -h` to see a list of flags and subcommands for the new admin tool")
|
|
}
|
|
}
|
|
|
|
func init() {
|
|
cmd.RegisterCommand("admin-revoker", main, &cmd.ConfigValidator{Config: &Config{}})
|
|
}
|