mirror of
https://gitlab.com/psuapp/psu.git
synced 2024-08-30 18:12:34 +00:00
Update docs for Job stuff, again...
This commit is contained in:
parent
58f14750ab
commit
793382dcd0
@ -34,8 +34,9 @@
|
||||
- [Debug mode](#debug-mode)
|
||||
- [Strict mode](#strict-mode)
|
||||
- [Quiet mode](#quiet-mode)
|
||||
- [Job definition](#job-definition)
|
||||
- [`detect-job` option](#detect-job-option)
|
||||
- [Glossary](#glossary)
|
||||
- [Job](#job)
|
||||
|
||||
<!-- /MDTOC -->
|
||||
|
||||
@ -291,7 +292,7 @@ mythirdstack
|
||||
### `status`
|
||||
Check if the stack is running/deployed correctly
|
||||
|
||||
If your stack has some services who acts as [jobs](#job-definition), see the [`--detect-job`](#detect-job-option) option for more details.
|
||||
If your stack has some services who acts as [jobs](#job), see the [`--detect-job`](#detect-job-option) option for more details.
|
||||
|
||||
#### Usage:
|
||||
`psu status [options]`
|
||||
@ -347,7 +348,7 @@ List services already deployed in the current stack.
|
||||
### `tasks`
|
||||
List tasks in the current stack.
|
||||
|
||||
If your stack has some services who acts as [jobs](#job-definition), see the [`--detect-job`](#detect-job-option) option for more details.
|
||||
If your stack has some services who acts as [jobs](#job), see the [`--detect-job`](#detect-job-option) option for more details.
|
||||
|
||||
#### Usage:
|
||||
`psu tasks [options]`
|
||||
@ -382,7 +383,7 @@ If your stack has some services who acts as [jobs](#job-definition), see the [`-
|
||||
|
||||
List tasks who are running correctly in the current stack.
|
||||
|
||||
If your stack has some services who acts as [jobs](#job-definition), see the [`--detect-job`](#detect-job-option) option for more details.
|
||||
If your stack has some services who acts as [jobs](#job), see the [`--detect-job`](#detect-job-option) option for more details.
|
||||
|
||||
#### Usage:
|
||||
`psu tasks:healthy [options]`
|
||||
@ -446,7 +447,6 @@ Log in to a Portainer instance.
|
||||
#### Usage:
|
||||
`psu login [options]`
|
||||
|
||||
|
||||
#### Aliased action:
|
||||
`auth`
|
||||
|
||||
@ -671,22 +671,26 @@ It's inspired by the `--quiet` option of [`docker images`](https://docs.docker.c
|
||||
|
||||
Quiet mode can be enabled through `QUIET_MODE` envvar or `--quiet` option or `-q` flag.
|
||||
|
||||
### Job definition
|
||||
### `detect-job` option
|
||||
|
||||
The `--detect-job` option (`true` by default) detects if a service has a restart policy set to `none` and considered this service as a [Job](#job).
|
||||
If set to `false`, to considering a service as a [Job](#job), you need to set a container's [label](https://docs.docker.com/compose/compose-file/#labels-1) named `job-name` with the value you want (e.g. `my-job-service-name`) in the Docker compose/stack file.
|
||||
|
||||
_See the [Job definition](#job) section for more details._
|
||||
|
||||
## Glossary
|
||||
|
||||
### Job
|
||||
|
||||
Docker (or Portainer) doesn't have a true [Job](https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/) mechanism like [Kubernetes](https://kubernetes.io).
|
||||
|
||||
But `psu` use an equivalent Docker behavior, based on filtering tasks status with a specific container's [label](https://docs.docker.com/compose/compose-file/#labels-1) (`job-name`).
|
||||
Or when, in your Docker compose/stack file, a service [`deploy.restart_policy.condition`](https://docs.docker.com/compose/compose-file/#restart_policy) option is set to `none`.
|
||||
|
||||
The `psu` definition of a [Job](https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/) is a Swarm [service](https://docs.docker.com/engine/swarm/how-swarm-mode-works/services/) who ensures that all it specified [task(s)](https://docs.docker.com/engine/swarm/how-swarm-mode-works/swarm-task-states/) successfully terminate.
|
||||
The `psu` definition of a job is a Swarm [service](https://docs.docker.com/engine/swarm/how-swarm-mode-works/services/) who ensures that all its specified [task(s)](https://docs.docker.com/engine/swarm/how-swarm-mode-works/swarm-task-states/) successfully terminate.
|
||||
|
||||
Jobs are useful when you have a service who wants to run a script (e.g. database migration).
|
||||
Using a job is useful when you want to have a service who run a script (e.g. database migration).
|
||||
And shutdown this service when its script is successfully executed.
|
||||
|
||||
See the `job` service in the [`docker-stack-web-app.yml`](https://gitlab.com/psuapp/psu/tree/v1.0.0/tests/dockerfiles/docker-stack-web-app.yml) file for a real use case.
|
||||
See the service named `job` in the [`docker-stack-web-app.yml`](https://gitlab.com/psuapp/psu/tree/v1.0.0/tests/dockerfiles/docker-stack-web-app.yml) file, for a real use case.
|
||||
It has both a container's label `job-name` and a restart policy set to `none`.
|
||||
|
||||
### `detect-job` option
|
||||
|
||||
The `--detect-job` option (`true` by default) detects if a service has a restart policy set to `none` and considered this service as a job.
|
||||
If set to `false`, to considering a service as a job, you need to set a container's [label](https://docs.docker.com/compose/compose-file/#labels-1) named `job-name` with the value you want (e.g. `my-job-service-name`) in the Docker compose/stack file.
|
||||
|
Loading…
Reference in New Issue
Block a user