This commit is contained in:
kev 2015-06-26 23:34:21 +08:00
parent b8bdad47e3
commit 7d1c7e16a4
2 changed files with 119 additions and 16 deletions

View File

@ -7,21 +7,76 @@ its job then gets out of your way.
```
~/fig/taskd/
├── docker-compose.yml
├── setup.sh*
└── taskd/
   ├── ca.cert.pem
   ├── ca.key.pem
   ├── client.cert.pem
   ├── client.key.pem
   ├── config
   ├── orgs
   │   └── datageek
   │   ├── groups
   │   └── users
   │   └── 77b21131-e4b8-496a-a0e0-eafb75135221
   │   └── config
   ├── server.cert.pem
   ├── server.crl.pem
   └── server.key.pem
├── ca.cert.pem
├── ca.key.pem
├── client.cert.pem
├── client.key.pem
├── config
├── orgs/
│   └── datageek/
│   ├── groups/
│   └── users/
│   └── cf31f287-ee9e-43a8-843e-e8bbd5de4294/
│   └── config
├── pki/
│   ├── generate*
│   ├── generate.ca*
│   ├── generate.client*
│   ├── generate.crl*
│   ├── generate.server*
│   ├── README
│   └── vars
├── server.cert.pem
├── server.crl.pem
├── server.key.pem
└── users/
├── kev.cert.pem
└── kev.key.pem
```
## server setup
```
#!/bin/bash
#
# setup taskd server
#
mkdir -p ~/fig/taskd/taskd/{orgs,users}
cd ~/fig/taskd/taskd/
wget http://taskwarrior.org/download/taskd-1.1.0.tar.gz
tar xvzf taskd-1.1.0.tar.gz --strip 1 taskd-1.1.0/pki
cd pki
vim vars
./generate
./generate.client kev
mv kev.* ../users
mv *.pem ..
cd ..
cat > config << _EOF_
confirmation=1
extensions=/usr/libexec/taskd
ip.log=on
log=/dev/stdout
pid.file=/run/taskd.pid
queue.size=10
request.limit=1048576
root=/var/taskd
server=0.0.0.0:53589
trust=strict
verbose=1
client.cert=/var/taskd/client.cert.pem
client.key=/var/taskd/client.key.pem
server.cert=/var/taskd/server.cert.pem
server.key=/var/taskd/server.key.pem
server.crl=/var/taskd/server.crl.pem
ca.cert=/var/taskd/ca.cert.pem
_EOF_
```
## docker-compose.yml
@ -40,12 +95,16 @@ taskd:
```
$ cd ~/fig/taskd/
$ ./setup.sh
$ docker-compose up -d
$ docker exec -it taskd_taskd_1 sh
>>> taskd add org datageek
Created organization 'datageek'
>>> taskd add user datageek kev
New user key: cf31f287-ee9e-43a8-843e-e8bbd5de4294
Created user 'kev' for organization 'datageek'
>>> exit
$ tree
$ tree -F
```
## client
@ -53,6 +112,12 @@ $ tree
```
$ brew install task --with-gnutls
$ cd ~/.task
$ scp server:fig/taskd/taskd/{ca-cert,client-cert,client-key}.pem .
$ scp jp:fig/taskd/taskd/{ca.cert,users/kev.*.key}.pem .
$ task config taskd.certificate -- ~/.task/kev.cert.pem
$ task config taskd.key -- ~/.task/kev.key.pem
$ task config taskd.ca -- ~/.task/ca.cert.pem
$ task config taskd.server -- datageek.info:53589
$ task config taskd.credentials -- datageek/kev/cf31f287-ee9e-43a8-843e-e8bbd5de4294
$ task config taskd.trust -- ignore hostname
$ task sync init
```

38
taskd/setup.sh Executable file
View File

@ -0,0 +1,38 @@
#!/bin/bash
#
# setup taskd server
#
mkdir -p ~/fig/taskd/taskd/{orgs,users}
cd ~/fig/taskd/taskd/
wget -O- http://taskwarrior.org/download/taskd-1.1.0.tar.gz |
tar xvz --strip 1 taskd-1.1.0/pki
cd pki
vim vars
./generate
./generate.client kev
mv kev.* ../users
mv *.pem ..
cd ..
cat > config << _EOF_
confirmation=1
extensions=/usr/libexec/taskd
ip.log=on
log=/dev/stdout
pid.file=/run/taskd.pid
queue.size=10
request.limit=1048576
root=/var/taskd
server=0.0.0.0:53589
trust=strict
verbose=1
client.cert=/var/taskd/client.cert.pem
client.key=/var/taskd/client.key.pem
server.cert=/var/taskd/server.cert.pem
server.key=/var/taskd/server.key.pem
server.crl=/var/taskd/server.crl.pem
ca.cert=/var/taskd/ca.cert.pem
_EOF_