grim/convey

Add a .reviewboardrc file

2022-03-26, Gary Kramlich
8fea0c778f8e
Add a .reviewboardrc file
package podman
import (
"strings"
log "github.com/sirupsen/logrus"
"keep.imfreedom.org/grim/convey/environment"
"keep.imfreedom.org/grim/convey/exec"
"keep.imfreedom.org/grim/convey/runtime"
)
type Login struct {
Registry string `yaml:"registry"`
Username string `yaml:"username"`
Password string `yaml:"password"`
}
func (l *Login) Execute(name string, logger *log.Entry, stageEnv environment.Environment, rt *runtime.Runtime) error {
env := stageEnv.Copy().Merge(rt.Environment)
registry := env.Expand(l.Registry)
username := env.Expand(l.Username)
stdin := strings.NewReader(env.Expand(l.Password))
generator := exec.NewGenerator(
"podman",
"login",
"--username", username,
"--password-stdin",
registry,
)
return exec.RunWithStdin(name, generator.Command(), stdin, rt.Timeout)
}
func (l *Login) New() runtime.Task {
return &Login{}
}
func (l *Login) Valid() error {
if l.Registry == "" {
return ErrNoRegistry
}
if l.Username == "" {
return ErrNoUsername
}
if l.Password == "" {
return ErrNoPassword
}
return nil
}
func (l *Login) Deprecated() error {
return nil
}