grim/convey
Clone
Summary
Browse
Changes
Graph
Merge the redux branch into default.
2021-12-20, Gary Kramlich
6b1dbda836d9
Merge the redux branch into default.
This officials abandons the 0.14.0 release and moves right on to 0.15.0 which
includes replacing docker with podman and simplifying many things.
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"
"keep.imfreedom.org/grim/convey/tasks"
)
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
()
tasks
.
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
}