123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121typesource=[|`No_context|`DirofFpath.tCurrent.t|`GitofCurrent_git.Commit.tCurrent.t]typerepo_id=stringmoduletypeDOCKER=sigmoduleImage:sigincludeCurrent_cache.S.WITH_DIGESTincludeCurrent_cache.S.WITH_MARSHALwithtypet:=tvalof_hash:string->tvalhash:t->stringvalpp:tFmt.tendvaldocker_context:stringoptionvalpull:?auth:(string*string)->?server:string->?label:string->?arch:string->schedule:Current_cache.Schedule.t->string->Image.tCurrent.t(** [pull ~schedule tag] ensures that the latest version of [tag] is cached locally, downloading it if not.
@param arch Select a specific architecture from a multi-arch manifest.
@param schedule Controls how often we check for updates. If the schedule
has no [valid_for] limit then we will only ever pull once.
@param auth If given, do a "docker login" using this username/password pair before pulling.
@param server If given, do a "docker login" against this registry server. *)valpeek:?label:string->arch:string->schedule:Current_cache.Schedule.t->string->repo_idCurrent.t(** [peek ~schedule ~arch tag] gets the latest version of [tag] without actually pulling it.
@param arch Select a specific architecture from a multi-arch manifest.
@param schedule Controls how often we check for updates. If the schedule
has no [valid_for] limit then we will only ever check once. *)valbuild:?level:Current.Level.t->?schedule:Current_cache.Schedule.t->?timeout:Duration.t->?squash:bool->?buildx:bool->?label:string->?dockerfile:[`FileofFpath.t|`Contentsofstring]Current.t->?path:Fpath.t->?pool:unitCurrent.Pool.t->?build_args:stringlist->pull:bool->source->Image.tCurrent.t(** [build ~pull src] builds a Docker image from source.
@param timeout If set, abort builds that take longer than this.
@param squash If set to [true], pass "--squash" to "docker build".
@param buildx If set to [true], runs with "docker buildx build" instead of "docker build".
@param dockerfile If present, this is used as the contents of the Dockerfile.
@param pull If [true], always check for updates and pull the latest version.
@param pool Rate limit builds by requiring a resource from the pool.
@param path The relative file path passed to the docker build command as the build context.
No checks are done over the path: it can point anywhere outside the build directory. *)valrun:?label:string->?pool:unitCurrent.Pool.t->?run_args:stringlist->Image.tCurrent.t->args:stringlist->unitCurrent.t(** [run image ~args] runs [image args] with Docker.
@param run_args List of additional arguments to pass to the "docker
run" subcommand. *)valpread:?label:string->?pool:unitCurrent.Pool.t->?run_args:stringlist->Image.tCurrent.t->args:stringlist->stringCurrent.t(** [pread image ~args] runs [image args] with Docker the same way than [run]
does but returns its stdout as a string. *)valtag:tag:string->Image.tCurrent.t->unitCurrent.t(** [tag image ~tag] does "docker tag image tag" *)valpush:?auth:(string*string)->?server:string->tag:string->Image.tCurrent.t->repo_idCurrent.t(** [push image ~tag] does "docker tag image tag && docker push tag".
@param auth If given, do a "docker login" using this username/password pair before pushing.
@param server If given, do a "docker login" against this registry server. *)valservice:name:string->image:Image.tCurrent.t->unit->unitCurrent.t(** [service ~name ~image ()] keeps a Docker SwarmKit service up-to-date. *)valcompose:?pull:bool->name:string->contents:stringCurrent.t->unit->unitCurrent.t(** [compose ?pull ~name ~image ~contents ()] keeps a Docker Compose deployment up-to-date.
[contents] contains the full Compose Yaml file.
@param pull Controls whether images are pulled by the compose command, the default is [true]
This calls `docker-compose` version 1 which as of April 2022 is deprecated in favour of version 2 *)valcompose_cli:?pull:bool->?up_args:stringlist->name:string->detach:bool->contents:stringCurrent.t->unit->unitCurrent.t(** [compose_cli ~name ~image ~contents ()] keeps a Docker Compose Cli deployment up-to-date.
[contents] contains the full Compose Yaml file.
[up_args] contains additional arguments to pass to the {e docker compose up} command.
This calls {e docker compose} which is GA as of April 2022 and should be used in preference over version 1. *)endmoduletypeHOST=sigvaldocker_context:stringoption(** The value to pass to Docker via the "--context" argument ([None] for no argument). *)end