Skip to content

Commit 6b4623e

Browse files
committed
Refactured Fixes linode#14 not working for Plugin IP v2
1 parent 2eb1410 commit 6b4623e

File tree

9 files changed

+268
-225
lines changed

9 files changed

+268
-225
lines changed

Gopkg.lock

Lines changed: 13 additions & 38 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Gopkg.toml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,6 @@
2424
# go-tests = true
2525
# unused-packages = true
2626

27-
28-
[[constraint]]
29-
name = "github.com/libgolang/log"
30-
version = "1.0.3"
31-
3227
[[constraint]]
3328
name = "github.com/linode/linodego"
3429
version = "0.4.0"

Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,10 @@ test: test-pre-check \
6464
clean-volumes
6565

6666
test-create-volume:
67-
docker volume create -d linode/docker-volume-linode test-volume-default-size
67+
docker volume create -d $(PLUGIN_NAME) test-volume-default-size
6868

6969
test-create-volume-50:
70-
docker volume create -d linode/docker-volume-linode -o size=50 test-volume-50g
70+
docker volume create -d $(PLUGIN_NAME) -o size=50 test-volume-50g
7171

7272
test-rm-volume-50:
7373
docker volume rm test-volume-50g
@@ -81,8 +81,8 @@ test-pre-check:
8181
echo -en "#############################\nYou must set TEST_* Variables\n#############################\n"; exit 1; fi
8282

8383
test-setup:
84-
@docker plugin set linode/docker-volume-linode LINODE_TOKEN=${TEST_TOKEN} LINODE_REGION=${TEST_REGION} LINODE_LABEL=${TEST_LABEL}
85-
docker plugin enable linode/docker-volume-linode
84+
@docker plugin set $(PLUGIN_NAME) LINODE_TOKEN=${TEST_TOKEN} LINODE_REGION=${TEST_REGION} LINODE_LABEL=${TEST_LABEL}
85+
docker plugin enable $(PLUGIN_NAME)
8686

8787
check: $(GOPATH)/bin/dep
8888
# Tools

README.md

Lines changed: 28 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -11,62 +11,63 @@
1111

1212
## Installation
1313

14-
### Install
14+
### Install and Configure (one step)
1515

1616
```sh
17-
docker plugin install linode/docker-volume-linode
17+
docker plugin install --alias linode linode/docker-volume-linode linode-token=<linode token> linode-region=<linode region> linode-label=<linode label>
1818
```
1919

20-
### Configuration
20+
21+
### Install and Configure (separate steps)
2122

2223
```sh
23-
docker plugin set linode/docker-volume-linode LINODE_TOKEN=<linode token>
24-
docker plugin set linode/docker-volume-linode LINODE_REGION=<linode region>
25-
docker plugin set linode/docker-volume-linode LINODE_LABEL=<host label>
24+
docker plugin install --alias linode linode/docker-volume-linode
25+
docker plugin disable linode
26+
docker plugin set linode linode-token=<linode token>
27+
docker plugin set linode linode-region=<linode region>
28+
docker plugin set linode linode-label=<linode label>
29+
docker plugin enable linode
2630
```
2731

28-
List or regions can be found at: https://api.linode.com/v4/regions
29-
30-
31-
### Enable
32+
\<linode token\>: Token must be generated usigng Linode Control Panel https://login.linode.com. The generated API Token must have Read/Write permission for Volumes and Linodes.
33+
\<linode regions\>: us-east, us-central, us-southeast, us-west, eu-west, eu-central, ap-south, ap-northeast, ap-northeast-1a
34+
\<linode label\>: The label given to the host Linode Control Panel.
3235

33-
```sh
34-
docker plugin enable linode/docker-volume-linode
35-
```
36+
- For a complete list of regions: https://api.linode.com/v4/regions
37+
- For all options see "Driver Options" section
3638

37-
- Debugging Configuration
3839

39-
```sh
40-
docker plugin set linode/docker-volume-linode LOG_LEVEL=debug
41-
```
40+
### Docker Swarm
41+
For this volume to work in swarm mode it must be installed in all nodes.
4242

4343

4444
## Usage
4545

46-
46+
All examples assume driver has been aliased to `linode`.
4747

4848

4949
### Create Volume
5050

51+
5152
```sh
52-
$ docker volume create -d linode/docker-volume-linode my-test-volume
53+
$ docker volume create -d linode my-test-volume
5354
my-test-volume
5455
```
5556

5657
### Create 50G Volume
5758

5859
```sh
59-
$ docker volume create -o size=50 -d linode/docker-volume-linode my-test-volume-50
60+
$ docker volume create -o size=50 -d linode my-test-volume-50
6061
my-test-volume-50
6162
```
6263

6364
### List Volumes
6465

6566
```sh
6667
$ docker volume ls
67-
DRIVER VOLUME NAME
68-
linode/docker-volume-linode my-test-volume
69-
linode/docker-volume-linode my-test-volume-50
68+
DRIVER VOLUME NAME
69+
linode:latest my-test-volume
70+
linode:latest my-test-volume-50
7071
```
7172

7273
### Use Volume
@@ -93,11 +94,12 @@ my-test-volume-50
9394
| linode-token | **Required** The Linode APIv4 [Personal Access Token](https://cloud.linode.com/profile/tokens)
9495
| linode-label | **Required** The Linode Label to attach block storage volumes to (defaults to the system hostname) |
9596
| linode-region | The Linode region to create volumes in (inferred if using linode-label, defaults to us-west) |
96-
| socket-file | Sets the socket file/address (defaults to /run/docker/plugins/linode-driver.sock) |
97+
| socket-file | Sets the socket file/address (defaults to /run/docker/plugins/linode.sock) |
9798
| socket-gid | Sets the socket GID (defaults to 0) |
9899
| mount-root | Sets the root directory for volume mounts (default /mnt) |
99-
| log-level | Log Level (defaults to WARN) |
100-
| log-trace | Set Tracing to true (defaults to false) |
100+
| log-level | Sets log level to debug,info,warn,error (defaults to info) |
101+
102+
101103

102104
Options can be set once for all future uses with [`docker plugin set`](https://docs.docker.com/engine/reference/commandline/plugin_set/#extended-description).
103105

@@ -114,15 +116,6 @@ Options can be set once for all future uses with [`docker plugin set`](https://d
114116
docker-volume-linode --linode-token=<token from linode console> --linode-region=<linode region> --linode-label=<linode label>
115117
```
116118

117-
or
118-
119-
```sh
120-
export LINODE_TOKEN=<token from linode console>
121-
export LINODE_REGION=<linode region>
122-
export LINODE_LABEL=<linode label>
123-
docker-volume-linode
124-
```
125-
126119
### Debugging
127120

128121
#### Enable Debug Level on plugin
@@ -139,16 +132,6 @@ docker plugin set docker-volume-linode LOG_LEVEL=debug
139132
docker-volume-linode --linode-token=<...> --linode-region=<...> --linode-label=<...> --log-level=debug
140133
```
141134

142-
or
143-
144-
```sh
145-
export DEBUG_LEVEL=debug
146-
export LINODE_REGION=<...>
147-
export LINODE_LABEL=<...>
148-
export LINODE_LABEL=<...>
149-
docker-volume-linode
150-
```
151-
152135
## Tested On
153136

154137
```text

config.json

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,28 @@
33
"documentation": "https://docs.docker.com/engine/extend/plugins/",
44
"entrypoint": [ "/docker-volume-linode" ],
55
"env": [
6-
{ "name": "LOG_LEVEL", "settable": [ "value" ], "value": "INFO" },
7-
{ "name": "LOG_TRACE", "settable": [ "value" ], "value": "0" },
8-
{ "name": "MOUNT_ROOT", "settable": [ "value" ], "value": "/mnt" },
9-
{ "name": "LINODE_TOKEN", "settable": [ "value" ], "value": "" },
10-
{ "name": "LINODE_REGION", "settable": [ "value" ], "value": "" },
11-
{ "name": "LINODE_LABEL", "settable": [ "value" ], "value": "" }
6+
{ "name": "socket-file", "settable": [ "value" ], "value": "/run/docker/plugins/linode.sock" },
7+
{ "name": "socket-gid", "settable": [ "value" ], "value": "0" },
8+
{ "name": "mount-root", "settable": [ "value" ], "value": "/mnt" },
9+
{ "name": "linode-token", "settable": [ "value" ], "value": "" },
10+
{ "name": "linode-region", "settable": [ "value" ], "value": "" },
11+
{ "name": "linode-label", "settable": [ "value" ], "value": "" },
12+
{ "name": "log-level", "settable": [ "value" ], "value": "info" }
1213
],
1314
"interface": {
14-
"socket": "linode-driver.sock",
15+
"socket": "linode.sock",
1516
"types": [ "docker.volumedriver/1.0" ]
1617
},
1718
"linux": {
1819
"allowAllDevices": true,
1920
"capabilities": [ "CAP_SYS_ADMIN" ]
2021
},
22+
"PropagatedMount": "/mnt",
2123
"mounts": [
2224
{
25+
"name": "/dev",
2326
"destination": "/dev",
2427
"options": [ "rbind" ],
25-
"name": "state",
2628
"source": "/dev",
2729
"type": "bind"
2830
}

0 commit comments

Comments
 (0)