Documentation ¶
Index ¶
- Variables
- func FilterToExperimentIds(ctx context.Context, filters *apiv1.BulkExperimentFilters) ([]int32, error)
- func GetExperimentAndCheckCanDoActions(ctx context.Context, expID int, ...) (*model.Experiment, model.User, error)
- func ProtoStateDBCaseString(enumToValue map[string]int32, colName, serializedName, trimFromPrefix string) string
- func ToAPIResults(results []ExperimentActionResult) []*apiv1.ExperimentActionResult
- type ExperimentActionResult
- func ActivateExperiments(ctx context.Context, system *actor.System, experimentIds []int32, ...) ([]ExperimentActionResult, error)
- func ArchiveExperiments(ctx context.Context, system *actor.System, experimentIds []int32, ...) ([]ExperimentActionResult, error)
- func CancelExperiments(ctx context.Context, system *actor.System, experimentIds []int32, ...) ([]ExperimentActionResult, error)
- func DeleteExperiments(ctx context.Context, system *actor.System, experimentIds []int32, ...) ([]ExperimentActionResult, []*model.Experiment, error)
- func KillExperiments(ctx context.Context, system *actor.System, experimentIds []int32, ...) ([]ExperimentActionResult, error)
- func MoveExperiments(ctx context.Context, system *actor.System, experimentIds []int32, ...) ([]ExperimentActionResult, error)
- func PauseExperiments(ctx context.Context, system *actor.System, experimentIds []int32, ...) ([]ExperimentActionResult, error)
- func UnarchiveExperiments(ctx context.Context, system *actor.System, experimentIds []int32, ...) ([]ExperimentActionResult, error)
- type ExperimentAuthZ
- type ExperimentAuthZBasic
- func (a *ExperimentAuthZBasic) CanCreateExperiment(ctx context.Context, curUser model.User, proj *projectv1.Project) error
- func (a *ExperimentAuthZBasic) CanDeleteExperiment(ctx context.Context, curUser model.User, e *model.Experiment) error
- func (a *ExperimentAuthZBasic) CanEditExperiment(ctx context.Context, curUser model.User, e *model.Experiment) error
- func (a *ExperimentAuthZBasic) CanEditExperimentsMetadata(ctx context.Context, curUser model.User, e *model.Experiment) error
- func (a *ExperimentAuthZBasic) CanForkFromExperiment(ctx context.Context, curUser model.User, e *model.Experiment) error
- func (a *ExperimentAuthZBasic) CanGetExperiment(ctx context.Context, curUser model.User, e *model.Experiment) error
- func (a *ExperimentAuthZBasic) CanGetExperimentArtifacts(ctx context.Context, curUser model.User, e *model.Experiment) error
- func (a *ExperimentAuthZBasic) CanPreviewHPSearch(ctx context.Context, curUser model.User) error
- func (a *ExperimentAuthZBasic) CanRunCustomSearch(ctx context.Context, curUser model.User, e *model.Experiment) error
- func (a *ExperimentAuthZBasic) CanSetExperimentsCheckpointGCPolicy(ctx context.Context, curUser model.User, e *model.Experiment) error
- func (a *ExperimentAuthZBasic) CanSetExperimentsMaxSlots(ctx context.Context, curUser model.User, e *model.Experiment, slots int) error
- func (a *ExperimentAuthZBasic) CanSetExperimentsPriority(ctx context.Context, curUser model.User, e *model.Experiment, priority int) error
- func (a *ExperimentAuthZBasic) CanSetExperimentsWeight(ctx context.Context, curUser model.User, e *model.Experiment, weight float64) error
- func (a *ExperimentAuthZBasic) FilterExperimentLabelsQuery(ctx context.Context, curUser model.User, proj *projectv1.Project, ...) (*bun.SelectQuery, error)
- func (a *ExperimentAuthZBasic) FilterExperimentsQuery(ctx context.Context, curUser model.User, proj *projectv1.Project, ...) (*bun.SelectQuery, error)
Constants ¶
This section is empty.
Variables ¶
var AuthZProvider authz.AuthZProviderType[ExperimentAuthZ]
AuthZProvider is the authz registry for experiments.
var ExperimentsAddr = actor.Addr("experiments")
ExperimentsAddr is the address to direct experiment actions.
Functions ¶
func FilterToExperimentIds ¶
func FilterToExperimentIds(ctx context.Context, filters *apiv1.BulkExperimentFilters) ([]int32, error, )
FilterToExperimentIds applies a request's filters to get a list of matching experiment IDs.
func GetExperimentAndCheckCanDoActions ¶
func GetExperimentAndCheckCanDoActions( ctx context.Context, expID int, actions ...func(context.Context, model.User, *model.Experiment) error, ) (*model.Experiment, model.User, error)
GetExperimentAndCheckCanDoActions fetches an experiment and performs auth checks.
func ProtoStateDBCaseString ¶
func ProtoStateDBCaseString( enumToValue map[string]int32, colName, serializedName, trimFromPrefix string, ) string
ProtoStateDBCaseString helps bun extract the experiment state.
func ToAPIResults ¶
func ToAPIResults(results []ExperimentActionResult) []*apiv1.ExperimentActionResult
ToAPIResults converts ExperimentActionResult type with error object to error strings.
Types ¶
type ExperimentActionResult ¶
ExperimentActionResult contains an experiment's ID and associated error.
func ActivateExperiments ¶
func ActivateExperiments(ctx context.Context, system *actor.System, experimentIds []int32, filters *apiv1.BulkExperimentFilters, ) ([]ExperimentActionResult, error)
ActivateExperiments works on one or many experiments.
func ArchiveExperiments ¶
func ArchiveExperiments(ctx context.Context, system *actor.System, experimentIds []int32, filters *apiv1.BulkExperimentFilters, ) ([]ExperimentActionResult, error)
ArchiveExperiments works on one or many experiments.
func CancelExperiments ¶
func CancelExperiments(ctx context.Context, system *actor.System, experimentIds []int32, filters *apiv1.BulkExperimentFilters, ) ([]ExperimentActionResult, error)
CancelExperiments works on one or many experiments.
func DeleteExperiments ¶
func DeleteExperiments(ctx context.Context, system *actor.System, experimentIds []int32, filters *apiv1.BulkExperimentFilters, ) ([]ExperimentActionResult, []*model.Experiment, error)
DeleteExperiments works on one or many experiments.
func KillExperiments ¶
func KillExperiments(ctx context.Context, system *actor.System, experimentIds []int32, filters *apiv1.BulkExperimentFilters, ) ([]ExperimentActionResult, error)
KillExperiments works on one or many experiments.
func MoveExperiments ¶
func MoveExperiments(ctx context.Context, system *actor.System, experimentIds []int32, filters *apiv1.BulkExperimentFilters, destinationProjectID int32, ) ([]ExperimentActionResult, error)
MoveExperiments works on one or many experiments.
func PauseExperiments ¶
func PauseExperiments(ctx context.Context, system *actor.System, experimentIds []int32, filters *apiv1.BulkExperimentFilters, ) ([]ExperimentActionResult, error)
PauseExperiments works on one or many experiments.
func UnarchiveExperiments ¶
func UnarchiveExperiments(ctx context.Context, system *actor.System, experimentIds []int32, filters *apiv1.BulkExperimentFilters, ) ([]ExperimentActionResult, error)
UnarchiveExperiments works on one or many experiments.
type ExperimentAuthZ ¶
type ExperimentAuthZ interface { // GET /api/v1/experiments/:exp_id // GET /tasks CanGetExperiment( ctx context.Context, curUser model.User, e *model.Experiment, ) error // GET /api/v1/experiments/:exp_id/file_tree // POST /api/v1/experiments/{experimentId}/file // GET /experiments/:exp_id/file/download // GET /api/v1/experiments/:exp_id/model_def // GET /experiments/:exp_id/model_def // GET /api/v1/experiments/:exp_id/checkpoints // GET /experiments/:exp_id/preview_gc // GET /api/v1/experiments/:exp_id/validation_history // GET /api/v1/experiments/:exp_id/searcher/best_searcher_validation_metric // GET /api/v1/experiments/:exp_id/metrics-stream/metric-names // GET /api/v1/experiments/:exp_id/metrics-stream/batches // GET /api/v1/experiments/:exp_id/metrics-stream/trials-snapshot // GET /api/v1/experiments/:exp_id/metrics-stream/trials-sample // GET /api/v1/experiments/{experimentId}/hyperparameter-importance // GET /api/v1/trials/:trial_id/checkpoints // GET /api/v1/experiments/:trial_id/trials // GET /api/v1/trials/:trial_id // GET /api/v1/trials/:trial_id/summarize // GET /api/v1/trials/compare // GET /api/v1/trials/:trial_id/workloads // GET /api/v1/trials/:trial_id/profiler/metrics // GET /api/v1/trials/:trial_id/profiler/available_series // GET /api/v1/trials/:trial_id/searcher/operation // GET /api/v1/trials/:trial_id/logs // GET /api/v1/trials/:trial_id/logs/fields // GET /trials/:trial_id // GET /trials/:trial_id/metrics CanGetExperimentArtifacts(ctx context.Context, curUser model.User, e *model.Experiment) error // DELETE /api/v1/experiments/:exp_id CanDeleteExperiment(ctx context.Context, curUser model.User, e *model.Experiment) error // GET /api/v1/experiments // "proj" being nil indicates getting experiments from all projects. // WARN: query is expected to expose the "workspace_id" column. FilterExperimentsQuery( ctx context.Context, curUser model.User, proj *projectv1.Project, query *bun.SelectQuery, permissions []rbacv1.PermissionType, ) (*bun.SelectQuery, error) // GET /api/v1/experiments/labels // "proj" being nil indicates searching across all projects. FilterExperimentLabelsQuery( ctx context.Context, curUser model.User, proj *projectv1.Project, query *bun.SelectQuery, ) (*bun.SelectQuery, error) // POST /api/v1/preview-hp-search CanPreviewHPSearch(ctx context.Context, curUser model.User) error // POST /api/v1/experiments/:exp_id/activate // POST /api/v1/experiments // POST /api/v1/experiments/:exp_id/pause // POST /api/v1/experiments/:exp_id/kill // POST /api/v1/experiments/:exp_id/hyperparameter-importance // POST /api/v1/experiments/:exp_id/cancel // POST /api/v1/trials/:trial_id/kill // POST /api/v1/trials/profiler/metrics // POST /api/v1/trials/:trial_id/searcher/completed_operation // POST /api/v1/trials/:trial_id/early_exit // POST /api/v1/trials/:trial_id/progress // POST /api/v1/trials/:trial_id/training_metrics // POST /api/v1/trials/:trial_id/validation_metrics // POST /api/v1/trials/:trial_id/runner/metadata // POST /api/v1/allocations/:allocation_id/all_gather // POST /api/v1/allocations/:allocation_id/proxy_address // POST /api/v1/allocations/:allocation_id/waiting CanEditExperiment(ctx context.Context, curUser model.User, e *model.Experiment) error // POST /api/v1/experiments/:exp_id/archive // POST /api/v1/experiments/:exp_id/unarchive // PATCH /api/v1/experiments/:exp_id/ CanEditExperimentsMetadata(ctx context.Context, curUser model.User, e *model.Experiment) error // POST /api/v1/experiments CanCreateExperiment( ctx context.Context, curUser model.User, proj *projectv1.Project, ) error CanForkFromExperiment(ctx context.Context, curUser model.User, e *model.Experiment) error // PATCH /experiments/:exp_id CanSetExperimentsMaxSlots( ctx context.Context, curUser model.User, e *model.Experiment, slots int, ) error CanSetExperimentsWeight( ctx context.Context, curUser model.User, e *model.Experiment, weight float64, ) error CanSetExperimentsPriority( ctx context.Context, curUser model.User, e *model.Experiment, priority int, ) error CanSetExperimentsCheckpointGCPolicy( ctx context.Context, curUser model.User, e *model.Experiment, ) error // GET /api/v1/experiments/:exp_id/searcher_events // POST /api/v1/experiments/:exp_id/searcher_operations CanRunCustomSearch(ctx context.Context, curUser model.User, e *model.Experiment) error }
ExperimentAuthZ describes authz methods for experiments.
type ExperimentAuthZBasic ¶
type ExperimentAuthZBasic struct{}
ExperimentAuthZBasic is basic OSS controls.
func (*ExperimentAuthZBasic) CanCreateExperiment ¶
func (a *ExperimentAuthZBasic) CanCreateExperiment( ctx context.Context, curUser model.User, proj *projectv1.Project, ) error
CanCreateExperiment always returns a nil error.
func (*ExperimentAuthZBasic) CanDeleteExperiment ¶
func (a *ExperimentAuthZBasic) CanDeleteExperiment( ctx context.Context, curUser model.User, e *model.Experiment, ) error
CanDeleteExperiment returns an error if the experiment is not owned by the current user and the current user is not an admin.
func (*ExperimentAuthZBasic) CanEditExperiment ¶
func (a *ExperimentAuthZBasic) CanEditExperiment( ctx context.Context, curUser model.User, e *model.Experiment, ) error
CanEditExperiment always returns a nil error.
func (*ExperimentAuthZBasic) CanEditExperimentsMetadata ¶
func (a *ExperimentAuthZBasic) CanEditExperimentsMetadata( ctx context.Context, curUser model.User, e *model.Experiment, ) error
CanEditExperimentsMetadata always returns a nil error.
func (*ExperimentAuthZBasic) CanForkFromExperiment ¶
func (a *ExperimentAuthZBasic) CanForkFromExperiment( ctx context.Context, curUser model.User, e *model.Experiment, ) error
CanForkFromExperiment always returns a nil error.
func (*ExperimentAuthZBasic) CanGetExperiment ¶
func (a *ExperimentAuthZBasic) CanGetExperiment( ctx context.Context, curUser model.User, e *model.Experiment, ) error
CanGetExperiment always returns true and a nill error.
func (*ExperimentAuthZBasic) CanGetExperimentArtifacts ¶
func (a *ExperimentAuthZBasic) CanGetExperimentArtifacts( ctx context.Context, curUser model.User, e *model.Experiment, ) error
CanGetExperimentArtifacts always returns a nil error.
func (*ExperimentAuthZBasic) CanPreviewHPSearch ¶
CanPreviewHPSearch always returns a nil error.
func (*ExperimentAuthZBasic) CanRunCustomSearch ¶
func (a *ExperimentAuthZBasic) CanRunCustomSearch( ctx context.Context, curUser model.User, e *model.Experiment, ) error
CanRunCustomSearch always returns a nil error.
func (*ExperimentAuthZBasic) CanSetExperimentsCheckpointGCPolicy ¶
func (a *ExperimentAuthZBasic) CanSetExperimentsCheckpointGCPolicy( ctx context.Context, curUser model.User, e *model.Experiment, ) error
CanSetExperimentsCheckpointGCPolicy always returns a nil error.
func (*ExperimentAuthZBasic) CanSetExperimentsMaxSlots ¶
func (a *ExperimentAuthZBasic) CanSetExperimentsMaxSlots( ctx context.Context, curUser model.User, e *model.Experiment, slots int, ) error
CanSetExperimentsMaxSlots always returns a nil error.
func (*ExperimentAuthZBasic) CanSetExperimentsPriority ¶
func (a *ExperimentAuthZBasic) CanSetExperimentsPriority( ctx context.Context, curUser model.User, e *model.Experiment, priority int, ) error
CanSetExperimentsPriority always returns a nil error.
func (*ExperimentAuthZBasic) CanSetExperimentsWeight ¶
func (a *ExperimentAuthZBasic) CanSetExperimentsWeight( ctx context.Context, curUser model.User, e *model.Experiment, weight float64, ) error
CanSetExperimentsWeight always returns a nil error.
func (*ExperimentAuthZBasic) FilterExperimentLabelsQuery ¶
func (a *ExperimentAuthZBasic) FilterExperimentLabelsQuery( ctx context.Context, curUser model.User, proj *projectv1.Project, query *bun.SelectQuery, ) (*bun.SelectQuery, error)
FilterExperimentLabelsQuery returns the query unmodified and a nil error.
func (*ExperimentAuthZBasic) FilterExperimentsQuery ¶
func (a *ExperimentAuthZBasic) FilterExperimentsQuery( ctx context.Context, curUser model.User, proj *projectv1.Project, query *bun.SelectQuery, permissions []rbacv1.PermissionType, ) (*bun.SelectQuery, error)
FilterExperimentsQuery returns the query unmodified and a nil error.