Files
gluetun/internal/alpine/alpine.go

29 lines
717 B
Go
Raw Normal View History

2021-02-06 16:26:23 +00:00
// Package alpine defines a configurator to interact with the Alpine operating system.
package alpine
import (
2021-05-19 14:30:43 +00:00
"context"
"os/user"
)
type Configurator interface {
2020-12-27 00:36:39 +00:00
CreateUser(username string, uid int) (createdUsername string, err error)
2021-05-19 14:30:43 +00:00
Version(ctx context.Context) (version string, err error)
}
type configurator struct {
alpineReleasePath string
passwdPath string
lookupID func(uid string) (*user.User, error)
lookup func(username string) (*user.User, error)
}
func NewConfigurator() Configurator {
return &configurator{
alpineReleasePath: "/etc/alpine-release",
passwdPath: "/etc/passwd",
lookupID: user.LookupId,
lookup: user.Lookup,
}
}