Documentation ¶
Index ¶
- Constants
- Variables
- func EnsureCredentials(logger log.Logger, credPath string) error
- func GetInstalledPackageVersion(packageName string) ([]string, error)
- func GetLatestDiambraArenaVersion() ([]string, error)
- func Login(dc *client.Client, credPath string) error
- type AppArgs
- type Args
- type Diambra
- func (e *Diambra) Cleanup() error
- func (e *Diambra) EnvsString() (string, error)
- func (e *Diambra) EnvsStringContainer() (string, error)
- func (d *Diambra) RandInt() (int, error)
- func (e *Diambra) RunAgentContainer(c *container.Container) (int, error)
- func (e *Diambra) RunAgentImage(image string, args []string) error
- func (d *Diambra) Start() error
- type Difficulty
- type Env
- type EnvConfig
- type SubmissionConfig
- func (c *SubmissionConfig) AddFlags(flags *pflag.FlagSet)
- func (c *SubmissionConfig) RegisterCredentialsProvider(name string, provider secretsources.CredentialProvider)
- func (c *SubmissionConfig) RegisterCredentialsProviders()
- func (c *SubmissionConfig) Submission(config *EnvConfig, args []string) (*client.Submission, error)
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 GetInstalledPackageVersion ¶ added in v0.0.13
Use pyarena script find package versions. Use for finding env image and generating requirements.txt
func GetLatestDiambraArenaVersion ¶ added in v0.0.9
Types ¶
type Diambra ¶
type Diambra struct { log.Logger container.Runner Envs []*Env // contains filtered or unexported fields }
func NewDiambra ¶
func (*Diambra) EnvsString ¶
FIXME: check errors earlier so we don't have to here
func (*Diambra) EnvsStringContainer ¶
FIXME: Merge with above
func (*Diambra) RunAgentContainer ¶ added in v0.0.11
type Difficulty ¶ added in v0.0.11
type Difficulty string
const ( DifficultyEasy Difficulty = "easy" DifficultyMedium Difficulty = "medium" DifficultyHard Difficulty = "hard" )
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 (*EnvConfig) AddRomsPathFlag ¶
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)
Click to show internal directories.
Click to hide internal directories.