-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: document advanced container usage
Fixes: aquarist-labs/s3gw#754 Signed-off-by: Joao Eduardo Luis <[email protected]>
- Loading branch information
Showing
3 changed files
with
130 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
# Advanced usage | ||
|
||
The processes and steps described in this page should not be applicable to the | ||
vast majority of s3gw deployments. However, depending on circumstance, one might | ||
need to perform some of these for testing or debugging. | ||
|
||
The following sections rely on `podman` for examples. Using `docker` instead | ||
should work in the same way, although option names may need to be adjusted on | ||
occasion. | ||
|
||
## Running the container | ||
|
||
One might need to run the container standalone, in which case it's important to | ||
understand how to properly configure it. Running the container with `--help` | ||
will provide some insight. | ||
|
||
`podman run -it quay.io/s3gw/s3gw:latest --help` | ||
|
||
Which should result in something like the following, minus eventual changes not | ||
reflected in this example: | ||
|
||
usage: /s3gw/bin/run-s3gw.sh [options... -- args] | ||
|
||
options: | ||
--help Shows this message. | ||
--id ID Specifies a custom instance ID (default: s3gw). | ||
--cert FILE KEY Specifies SSL certificate. Expects a .crt as first | ||
argument, and a .key as second argument. | ||
--dns-name VALUE For vhost style buckets, VALUE should be the DNS domain | ||
to be used. | ||
--debug LEVEL Runs with debug. Levels available: "high", "medium", | ||
"low", "none" (default: none). | ||
--no-telemetry Disable telemetry. | ||
--telemetry-url URL Specifies telemetry URL. | ||
--with-status Enables status frontend at port 9090. | ||
|
||
args: | ||
Any option supported by RADOS Gateway. For advanced use only. | ||
|
||
env variables: | ||
S3GW_ID Specifies a custom instance ID. | ||
S3GW_DNS_NAME Specifies a DNS domain to be used for vhost style buckets. | ||
S3GW_DEBUG Specifies the debug level to be used. | ||
S3GW_CERT_FILE Specifies the SSL certificate file. | ||
S3GW_CERT_KEY Specifies the SSL certificate key file. | ||
|
||
Keep in mind that to access the service, one needs to expose the required ports. | ||
For s3gw these are port 7480 for non-SSL access, and port 7481 for SSL access. | ||
This can be achieved with: | ||
|
||
`podman run -it -p 7480:7480 quay.io/s3gw/s3gw:latest` | ||
|
||
In the following sections, we will be describing some of the available options. | ||
|
||
### Using vhost style buckets | ||
|
||
S3 supports two styles of bucket access: path and vhost. The former considers | ||
the buckets will be part of the address path, like in `my.domain.tld/my-bucket/`, | ||
whereas the latter assumes the bucket will be part of the vhost, | ||
`my-bucket.my.domain.tld`. | ||
|
||
By default, s3gw runs with path style buckets. One can enable vhost style | ||
buckets by providing the DNS domain name to be used for the service. For | ||
example, | ||
|
||
podman run -it -p 7480:7480 \ | ||
quay.io/s3gw/s3gw:latest \ | ||
--dns-name my.domain.tld | ||
|
||
### Specifying certificates | ||
|
||
s3gw supports running with SSL, but will require a certificate to be provided. | ||
The location of this certificate must be local to the container namespace, and | ||
thus should be bind mounted into the container. | ||
|
||
podman run -it -p 7481:7481 \ | ||
-v ./my-cert.crt:/data/my-cert.crt \ | ||
-v ./my-cert.key:/data/my-cert.key \ | ||
quay.io/s3gw/s3gw:latest \ | ||
--cert /data/my-cert.crt /data/my-cert.key | ||
|
||
The s3gw service should now be available on the host's port 7481 with SSL | ||
enabled. | ||
|
||
### Debugging output | ||
|
||
s3gw supports four different log levels: `none`, `low`, `medium`, and `high`. By | ||
default, s3gw runs with `none`. | ||
|
||
The vast majority of deployments will only require `none` or `low`, for as long | ||
as they are behaving nicely. In case of misbehavior, it is reasonable to look | ||
towards the logs for indication of what the problem might be. In this case, the | ||
typical deployment will rely on `medium`. Only in very exceptional situations | ||
will a `high` be useful. Keep in mind that at a `high` debug level, the system | ||
will be put under a lot of strain from the amount of outputted messages, and the | ||
value of additional verbosity may not be significant. | ||
|
||
Running with debug only requires specifying the `--debug LEVEL` argument to the | ||
container, such as | ||
|
||
podman run -it -p 7480:7480 \ | ||
quay.io/s3gw/s3gw:latest \ | ||
--debug medium | ||
|
||
### Environment variables | ||
|
||
The available environment variables reflect the arguments accepted by the | ||
container. These can be provided to the container using the `--env VAR=VALUE` | ||
argument to `podman run`. For example, | ||
|
||
podman run -it -p 7480:7480 \ | ||
--env S3GW_DEBUG=medium \ | ||
quay.io/s3gw/s3gw:latest | ||
|
||
### Additional arguments | ||
|
||
The container accepts additional arguments, that will be passed directly to the | ||
underlying RADOS Gateway binary. These should be used only if one knows what | ||
they are doing. To obtain a small subset of the option supported, running with | ||
`-- --help` will provide some information. Please note that not all the options | ||
provided in this help message will be applicable. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters