aboutsummaryrefslogtreecommitdiff
path: root/doc/book/src/getting_started/bucket.md
blob: b4a2d81d81557c1ffddb1b30175837807a6ce199 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Create buckets and keys

*We use a command named `garagectl` which is in fact an alias you must define as explained in the [Control the daemon](./daemon.md) section.*

In this section, we will suppose that we want to create a bucket named `nextcloud-bucket`
that will be accessed through a key named `nextcloud-app-key`.

Don't forget that `help` command and `--help` subcommands can help you anywhere, the CLI tool is self-documented! Two examples:

```
garagectl help
garagectl bucket allow --help
```

## Create a bucket

Fine, now let's create a bucket (we imagine that you want to deploy nextcloud):

```
garagectl bucket create nextcloud-bucket
```

Check that everything went well:

```
garagectl bucket list
garagectl bucket info nextcloud-bucket
```

## Create an API key

Now we will generate an API key to access this bucket.
Note that API keys are independent of buckets: one key can access multiple buckets, multiple keys can access one bucket.

Now, let's start by creating a key only for our PHP application:

```
garagectl key new --name nextcloud-app-key
```

You will have the following output (this one is fake, `key_id` and `secret_key` were generated with the openssl CLI tool):

```
Key name: nextcloud-app-key
Key ID: GK3515373e4c851ebaad366558
Secret key: 7d37d093435a41f2aab8f13c19ba067d9776c90215f56614adad6ece597dbb34
Authorized buckets:
```

Check that everything works as intended:

```
garagectl key list
garagectl key info nextcloud-app-key
```

## Allow a key to access a bucket

Now that we have a bucket and a key, we need to give permissions to the key on the bucket!

```
garagectl bucket allow \
  --read \
  --write 
  nextcloud-bucket \
  --key nextcloud-app-key
```

You can check at any times allowed keys on your bucket with:

```
garagectl bucket info nextcloud-bucket
```