diambra

package
v0.0.17 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 10, 2024 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultEnvRegistry  = "docker.io"
	DefaultEnvImageName = "diambra/engine"
	DefaultEnvImageTag  = "latest"
)
View Source
const (
	ContainerPort = "50051/tcp"
)
View Source
const DiambraArenaPyPiJSONURL = "https://pypi.org/pypi/diambra-arena/json"
View Source
const LoginBanner = `` /* 222-byte string literal not displayed */

Variables

View Source
var ErrInvalidArgs = errors.New("either image, manifest path or submission id must be provided")

Functions

func EnsureCredentials added in v0.0.11

func EnsureCredentials(logger log.Logger, credPath string) error

func GetInstalledPackageVersion added in v0.0.13

func GetInstalledPackageVersion(packageName string) ([]string, error)

Use pyarena script find package versions. Use for finding env image and generating requirements.txt

func GetLatestDiambraArenaVersion added in v0.0.9

func GetLatestDiambraArenaVersion() ([]string, error)

func Login added in v0.0.11

func Login(dc *client.Client, credPath string) error

Types

type AppArgs

type AppArgs struct {
	RandomSeed int
	Render     bool
	LockFPS    bool
	Sound      bool
}

func (AppArgs) Args

func (a AppArgs) Args() []string

type Args

type Args []string

func (*Args) Bool

func (a *Args) Bool(k string, v bool)

func (*Args) Int

func (a *Args) Int(k string, v int)

type Diambra

type Diambra struct {
	log.Logger

	container.Runner
	Envs []*Env
	// contains filtered or unexported fields
}

func NewDiambra

func NewDiambra(logger log.Logger, console console.Console, runner container.Runner, config *EnvConfig) (*Diambra, error)

func (*Diambra) Cleanup

func (e *Diambra) Cleanup() error

func (*Diambra) EnvsString

func (e *Diambra) EnvsString() (string, error)

FIXME: check errors earlier so we don't have to here

func (*Diambra) EnvsStringContainer

func (e *Diambra) EnvsStringContainer() (string, error)

FIXME: Merge with above

func (*Diambra) RandInt

func (d *Diambra) RandInt() (int, error)

func (*Diambra) RunAgentContainer added in v0.0.11

func (e *Diambra) RunAgentContainer(c *container.Container) (int, error)

func (*Diambra) RunAgentImage

func (e *Diambra) RunAgentImage(image string, args []string) error

func (*Diambra) Start

func (d *Diambra) Start() error

type Difficulty added in v0.0.11

type Difficulty string
const (
	DifficultyEasy   Difficulty = "easy"
	DifficultyMedium Difficulty = "medium"
	DifficultyHard   Difficulty = "hard"
)

type Env

type EnvConfig

type EnvConfig struct {
	AppArgs AppArgs

	Scale       int
	AutoRemove  bool
	AgentImage  string
	NoPullImage bool

	RomsPath string
	CredPath string
	Image    string

	User           string
	SeccompProfile string
	Output         *os.File
	Tty            bool   // stdin is a terminal
	Interactive    bool   // interaction requested
	Host           string // address to listen on
	UseContainerIP bool   // use container IP and container port instead of localhost:hostPort

	Home     string
	Hostname string
	Mounts   []*container.BindMount

	PreallocatePort bool

	InitImage string
	// contains filtered or unexported fields
}

func NewConfig

func NewConfig(logger log.Logger) (*EnvConfig, error)

func (*EnvConfig) AddFlags

func (c *EnvConfig) AddFlags(flags *pflag.FlagSet)

func (*EnvConfig) AddRomsPathFlag

func (c *EnvConfig) AddRomsPathFlag(flags *pflag.FlagSet)

func (*EnvConfig) Validate

func (c *EnvConfig) Validate() error

type SubmissionConfig added in v0.0.11

type SubmissionConfig struct {
	Mode          string
	Difficulty    string
	EnvVars       map[string]string
	Sources       map[string]string
	Secrets       map[string]string
	SecretsFrom   string
	ArgsIsCommand bool
	ManifestPath  string
	SubmissionID  int
	// contains filtered or unexported fields
}

func (*SubmissionConfig) AddFlags added in v0.0.11

func (c *SubmissionConfig) AddFlags(flags *pflag.FlagSet)

func (*SubmissionConfig) RegisterCredentialsProvider added in v0.0.17

func (c *SubmissionConfig) RegisterCredentialsProvider(name string, provider secretsources.CredentialProvider)

func (*SubmissionConfig) RegisterCredentialsProviders added in v0.0.17

func (c *SubmissionConfig) RegisterCredentialsProviders()

func (*SubmissionConfig) Submission added in v0.0.11

func (c *SubmissionConfig) Submission(config *EnvConfig, args []string) (*client.Submission, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL