Commit 8ba665ae authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Merge branch 'dev' into 'master'

Reorganiza config y documenta uso de mc

See merge request redmic-project/storage/minio!6
parents d000487c bbfa6502
Loading
Loading
Loading
Loading
+56 −1
Original line number Diff line number Diff line
# Minio

Object storage service, with Amazon S3 compatibility

## Use Minio Client (mc)

### Run mc and defining alias for remote

This repository only contains deployment definition for Minio Server, but you can run Minio Client locally with Docker and connect to remote Minio Server already deployed.

You only have to run `minio/mc` Docker container with shell as entrypoint and run any `mc` command you want. Remember to create an alias pointing to remote Minio Server.

```sh
docker run --rm -it --entrypoint=/bin/sh minio/mc

$ mc alias set minio https://minioapi.redmic.grafcan.es '<access-key>' '<secret-key>'
```

With this alias defined, you can run any command on remote Minio Server from your local Minio Client.

Check official docs at <https://docs.min.io/docs/minio-client-complete-guide>

### Set lifecycle rules

Manage bucket lifecycle with `ilm` command.

Add simple rule (30 days expiry time):

```sh
mc ilm add minio/<bucket> --expiry-days "30"
```

Add complex rule (30 days expiry time for objects with `test/` prefix):

```sh
mc ilm import minio/<bucket> <<EOF
{
    "Rules": [
        {
            "Expiration": {
                "Days": 30
            },
            "ID": "testFiles",
            "Filter": {
                "Prefix": "test/"
            },
            "Status": "Enabled"
        }
    ]
}
EOF
```

List lifecycle configuration set on a bucket:

```sh
mc ilm ls minio/<bucket>
```
+20 −0
Original line number Diff line number Diff line
version: '3.5'

services:
  minio:
    networks:
      gitlab-net:

networks:
  gitlab-net:
    name: ${GITLAB_NET_NAME:-gitlab-net}
    driver: ${GITLAB_NET_DRIVER:-overlay}
    external: true

volumes:
  data-vol:
    name: ${DATA_VOL_NAME:-minio-vol}
    driver: local
    driver_opts:
      type: ${VOL_TYPE:-nfs4}
      o: addr=${VOL_ADDR:-127.0.0.1},${VOL_OPTS:-rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14}
      device: ${DATA_VOL_DEVICE:-:/minio-vol/}
+0 −15
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@ services:
    networks:
      minio-net:
      traefik-net:
      gitlab-net:
      metric-net:
    volumes:
      - data-vol:${DATA_PATH}
@@ -58,21 +57,7 @@ networks:
    driver: ${TRAEFIK_NET_DRIVER:-overlay}
    external: true

  gitlab-net:
    name: ${GITLAB_NET_NAME:-gitlab-net}
    driver: ${GITLAB_NET_DRIVER:-overlay}
    external: true

  metric-net:
    name: ${METRIC_NET_NAME:-metric-net}
    driver: ${METRIC_NET_DRIVER:-overlay}
    external: true

volumes:
  data-vol:
    name: ${DATA_VOL_NAME:-minio-vol}
    driver: local
    driver_opts:
      type: ${VOL_TYPE:-nfs4}
      o: addr=${VOL_ADDR:-127.0.0.1},${VOL_OPTIONS:-rw,nolock,noatime,tcp,rsize=8192,wsize=8192,timeo=14}
      device: ${MINIO_VOL_DEVICE:-:/minio-vol/}