Commit Graph

512 Commits

Author SHA1 Message Date
Chao Xu
9d5ab52885 update example/iscsi to v1beta3;
add more instructions on how to setup iscsi target/initiator on GCE
2015-05-13 09:41:33 -07:00
Piotr Szczesniak
7ba41626e9 Merge pull request #8093 from caesarxuchao/guestbook-go-example
update example/guestbook-go to v1beta3
2015-05-13 10:23:46 +02:00
Chao Xu
9dc901735a update the KubernetesSeedProvider.java to v1beta3 2015-05-12 19:28:35 -07:00
Nikhil Jindal
237f0cf1e8 Merge pull request #7991 from eparis/boilerplate-go-crash
Fix boilerplate check crash if .go file has no comments
2015-05-12 10:24:43 -07:00
Chao Xu
4a3ccabb12 update example/guestbook-go to v1beta3 2015-05-12 10:15:29 -07:00
Derek Carr
91fafedffd Merge pull request #7802 from caesarxuchao/kubernetes-namespaces
Update example kubernetes-namespaces to use v1beta3 API
2015-05-12 10:31:01 -04:00
Derek Carr
c0f04f3672 Merge pull request #7918 from caesarxuchao/resource-quota-example
merge the v1beta3 json file in the resource quota example
2015-05-12 10:25:52 -04:00
Piotr Szczesniak
1cf52e3bbd Merge pull request #8101 from caesarxuchao/walkthrough-port-fix
make the httpGet port the match the containerPort in the walkthrough example
2015-05-12 16:21:20 +02:00
Chao Xu
f6cbf8a2cb make the httpGet port match the containerPort 2015-05-11 21:51:10 -07:00
Deyuan Deng
9153582777 Fix downward API 2015-05-11 22:58:43 -04:00
Quinton Hoole
78ee2ed325 Revert "E2E: Soak test and Functional tests for K8Petstore " 2015-05-11 18:24:42 -07:00
Fabio Yeon
0304820b9d Merge pull request #7985 from jeffmendoza/meteor-update
For examples/meteor: update README, minor fixes.
2015-05-11 17:47:15 -07:00
Chao Xu
25cca64c12 update example/rethinkdb to v1beta3
add external load balancer to work on GCE

add a comment about nodeSelector in gen-pod.sh

update the image/run.sh to v1beta3
2015-05-11 11:29:54 -07:00
Nikhil Jindal
5fcf5911fa Merge pull request #7940 from caesarxuchao/walkthrough-example
update example/walkthrough to v1beta3
2015-05-11 10:48:26 -07:00
Nikhil Jindal
2dbe659887 Merge pull request #7639 from jayunit100/e2e-k8bps
E2E: Soak test and Functional tests for K8Petstore
2015-05-11 10:16:40 -07:00
Jeff Mendoza
f9edb4aa5f For examples/meteor: update README, minor fixes. 2015-05-11 09:30:03 -07:00
Paulo Pires
fe447b7ceb Fixed documentation based on comments. Will squash after PR is validated. 2015-05-10 11:45:11 +01:00
Chao Xu
ab356c9fa0 upgrade example/walkthrough to v1beta3 2015-05-09 20:36:19 -07:00
Paulo Pires
273d9e5dcc Upgraded to hazelcast-bootstraper 0.2 and pires/hazelcast-k8s:0.2.
We now use v1beta3 API.
Fixes #7731
2015-05-09 23:10:14 +01:00
Eric Paris
b503214fee Fix boilerplate check crash if .go file has no comments
Clayton pointed out that if he created a file with no /* in it anywhere
the boilerplate logic would crash like:

$ hack/verify-boilerplate.sh
Traceback (most recent call last):
  File "hack/../hooks/boilerplate.py", line 87, in <module>
    sys.exit(main())
  File "hack/../hooks/boilerplate.py", line 83, in main
    if not file_passes(filename, extention, ref, p):
  File "hack/../hooks/boilerplate.py", line 38, in file_passes
    while data[0] != "/*\n":
IndexError: list index out of range

That is because we were just stripping everything before the first line
that contained exacly "/*".  If no such line existed it got to the end
and just kept going.

This does something smarter. We use a regex to look for one or more
lines which start // +build followed by a single newline and remove only
those.  This obviously found one place where the package name was above
the license and was being missed by both the old and the new checker.

It also fixed the python spew and just tells you your file fails.
2015-05-08 17:30:40 -04:00
jayunit100
13a9ae15f5 E2E: Functional + Soak test for k8petstore, revised with improved polling, exit code handling. 2015-05-08 20:53:22 +00:00
Abhi Shah
90c11061d6 Merge pull request #7983 from wattsteve/patch-2
GlusterFS Critical Bug Resolved - Removing warning in README
2015-05-08 13:32:14 -07:00
Brian Grant
97004c87c1 Merge pull request #7942 from goltermann/master
Simple nginx Guide Fixes
2015-05-08 12:09:25 -07:00
Steve Watt
374d245734 Bug Resolved - Removing warning in README 2015-05-08 14:05:56 -05:00
Daniel Smith
d136728df7 Merge pull request #7875 from satnam6502/elasticsearch
Elasticsearch Discovery with Kubernetes
2015-05-08 12:04:11 -07:00
goltermann
e175728969 simple nginx fixes 2015-05-07 18:28:00 -07:00
Chao Xu
cf8426d844 merge the v1beta3 json file in the resource quota example 2015-05-07 13:54:24 -07:00
Chao Xu
e0f0ac463f verify the v1beta3 yaml files all work; merge the yaml files 2015-05-07 13:46:12 -07:00
Nikhil Jindal
4cef4a89d1 Merge pull request #7899 from caesarxuchao/persistent-example
update service.json in persistent-volume example to v1beta3
2015-05-07 11:43:27 -07:00
Nikhil Jindal
c41982dac5 Merge pull request #7864 from caesarxuchao/wordpress-example
update mysql-wordpress example to use v1beta3 API
2015-05-07 11:41:53 -07:00
Nikhil Jindal
a1c305c390 Merge pull request #7848 from caesarxuchao/meteor-example
Update examples/meteor to use API v1beta3
2015-05-07 11:41:05 -07:00
Satnam Singh
9c72a56056 Elasticsearch Discovery with Kubernetes 2015-05-07 11:23:00 -07:00
Chao Xu
7476ca0090 update service.json in persistent-volume example to v1beta3 2015-05-07 10:33:36 -07:00
Chao Xu
284cd205d2 update mysql-wordpress example to use v1beta3 API 2015-05-07 10:21:24 -07:00
Chao Xu
29157f267b update nodeSelector example to use v1beta3 API 2015-05-06 17:24:22 -07:00
Satnam Singh
9939f92731 Merge pull request #7824 from caesarxuchao/Kibana-example
update logging-demo to use API v1beta3; modify the way to access Elasticsearch and Kibana services
2015-05-06 16:10:11 -07:00
Chao Xu
5b60731945 Update examples/meteor to use API v1beta3 2015-05-06 13:42:30 -07:00
Clayton Coleman
52e94b1e2c Merge pull request #7591 from derekwaynecarr/fix_origin
Fix OpenShift example
2015-05-06 15:43:11 -04:00
jayunit100
9e4c4ff1e7 Update K8Petstore.sh to support external invocation 2015-05-06 13:21:47 -04:00
Chao Xu
eee11dee1b update logging-demo to use API v1beta3; modify the way to access Elasticsearch and Kibana services
COMMIT_BLOCKED_ON_GENDOCS
2015-05-05 18:14:17 -07:00
Chao Xu
c508f17cd3 Update example kubernetes-namespaces to use v1beta3 API 2015-05-05 15:30:37 -07:00
Jeff Lowdermilk
87cdc3f032 Merge pull request #7672 from eparis/boilerplate-python
Check license boilerplate for python files
2015-05-05 09:23:36 -07:00
derekwaynecarr
a8f8e2d609 Fix OpenShift example 2015-05-05 11:13:49 -04:00
Paul Morie
e949a623ff Change EnvVarSource.FieldPath -> FieldRef and add example 2015-05-04 18:41:09 -04:00
Eric Paris
f416289a85 update all python with boilerplate 2015-05-04 18:37:47 -04:00
Brian Grant
52d388a487 Merge pull request #7649 from brendandburns/example
Add a central simple getting started guide with kubernetes guide.
2015-05-04 14:46:28 -07:00
Chao Xu
733e3af376 update the hazelcast example to API version v1beta3 2015-05-04 13:37:20 -07:00
Brendan Burns
37eedef348 Add a central simple getting started guide with kubernetes guide.
Point several getting started guides at this doc.
2015-05-01 20:20:15 -07:00
Jeff Lowdermilk
5350d5e8d3 Merge pull request #7637 from eparis/copyright-boilerplate-rethinkdb
Update license boilerplate for examples/rethinkdb
2015-05-01 17:46:15 -07:00
Jeff Lowdermilk
e87d735304 Merge pull request #7638 from eparis/copyright-boilerplate-phabricator
Add license boilerplate to examples/phabricator
2015-05-01 17:03:24 -07:00
Eric Paris
6b3a6e6b98 Make copyright ownership statement generic
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Eric Paris
de4e84d3d9 Add license boilerplate to examples/phabricator 2015-05-01 14:05:21 -04:00
Eric Paris
461fa188f2 Update license boilerplate for examples/rethinkdb 2015-05-01 14:01:28 -04:00
Eric Paris
8bd9d4b6ec Include shell license boilerplate in examples/k8petstore 2015-05-01 13:39:59 -04:00
Paul Morie
e1885ba05f Add example for secrets 2015-04-30 12:35:21 -04:00
elsonrodriguez
621c86defb Fixed NFS example Dockerfile to include a valid Entrypoint.
While running through this example the Dockerfile wouldn't build, upon closer inspection the entrypoint was not being copied into the container, and it was not executable.
2015-04-27 20:39:44 -07:00
Brian Grant
f4ea8a3b2f Merge pull request #6807 from endocode/kbeecher/celery-update
Updates celery example
2015-04-27 17:36:59 -07:00
Karl Beecher
7072cd8357 Updates celery example
Change files from JSON to YAML.
2015-04-27 19:27:02 +02:00
markturansky
37d7f3f4f1 Added integration test, fixed a validation issue 2015-04-27 12:05:12 -04:00
markturansky
2cf4e6564b Added more to README, tweaked pod, added service, fixed validation 2015-04-27 12:05:12 -04:00
markturansky
49883e7d01 Edited README 2015-04-27 12:05:12 -04:00
markturansky
242567460d PersistentVolumeClaimBinder implementation 2015-04-27 12:05:11 -04:00
Steve Watt
3ad4dbdc65 Warning about Critical bug in the GlusterFS Volume Plugin
This warning will serve to let users know about a critical bug so they don't experience it first hand - https://github.com/GoogleCloudPlatform/kubernetes/issues/7317
2015-04-24 18:24:11 -05:00
Nikhil Jindal
4120b711cf Merge pull request #7258 from caesarxuchao/api-example
update examples/cassandra to api v1beta3
2015-04-24 09:21:54 -07:00
Nikhil Jindal
dca49ba5e1 Merge pull request #7231 from bcbroussard/storm-example
Update examples/storm for v1beta3
2015-04-24 09:21:26 -07:00
Nikhil Jindal
113efcd355 Merge pull request #7230 from bcbroussard/spark-example
Update examples/spark for v1beta3
2015-04-24 09:21:10 -07:00
nikhiljindal
4c3171f7ec Fixing an indentation bug in yaml file 2015-04-24 00:48:24 -07:00
BC Broussard
6b27aa2e9b Update examples/storm for v1beta3 2015-04-23 20:03:32 -07:00
BC Broussard
709c00c63d Update examples/spark for v1beta3 2015-04-23 18:23:13 -07:00
Tim Hockin
12e4e8f304 Make docs links go through docs.k8s.io 2015-04-23 16:36:27 -07:00
Brian Grant
38ea531487 Merge pull request #7194 from nikhiljindal/example
Updating the guestbook example to v1beta3
2015-04-23 15:26:47 -07:00
Chao Xu
d761c64447 update examples/cassandra to api v1beta3 2015-04-23 14:48:21 -07:00
nikhiljindal
1e323d77bc Updating the guestbook example to v1beta3 2015-04-23 14:34:36 -07:00
BC Broussard
715bee6b3a Update examples/phabricator for v1beta3 2015-04-23 11:47:23 -07:00
Brian Grant
97302af015 Merge pull request #5012 from smarterclayton/podtemplates
Pod templates as their own type
2015-04-22 11:50:24 -07:00
Fabio Yeon
c64874aab0 Merge pull request #7161 from chees/master
Added an example for Meteor with raw documentation
2015-04-22 10:58:13 -07:00
Clayton Coleman
e6e034af4f Rename PodTemplate.Spec to PodTemplate.Template 2015-04-22 12:54:27 -04:00
Clayton Coleman
10c2ace6bf Pod Templates 2015-04-22 12:54:25 -04:00
derekwaynecarr
06eb45fb75 ResourceQuota add object count support for secret and volume claims 2015-04-21 09:49:40 -04:00
Satnam Singh
0c681001b0 Fix path to kubectl.sh in logging demo 2015-04-20 17:42:08 -07:00
Yifan Gu
ed8653a399 examples: Fix flacky example_test.
Update the file path.
2015-04-20 12:44:28 -07:00
Brendan Burns
ba95c8a176 Merge pull request #7014 from a-robinson/dirname
Move the logging-related directories to where I think they belong
2015-04-20 10:50:09 -07:00
Robert Bailey
5b8767fa0c Migrate the update-demo to use v1beta3. 2015-04-17 23:35:46 -07:00
Alex Robinson
059a8c92bd Move the logging-related directories to where I think they belong.
1. Move fluentd-gcp to be a core cluster addon, rather than a contrib.
2. Get rid of the synthetic logger under contrib, since the exact same
synthetic logger was also included in the logging-demo.
3. Move the logging-demo to examples, since it's effectively an example.

We should also consider adding on a GCP section to the logging-demo
example :)
2015-04-17 23:59:50 +00:00
Clayton Coleman
3bc42f1635 Merge pull request #6573 from kargakis/setup-resource-aliases
Support setting up aliases for groups of resources
2015-04-17 11:16:30 -04:00
kargakis
9d056c6bd8 Support setting up aliases for groups of resources
Closes #5278
2015-04-17 16:31:59 +02:00
Christiaan Hees
ee54b1d0ef Added an example for Meteor with raw documentation 2015-04-17 13:24:53 +02:00
Alex Robinson
391e079cf6 Merge pull request #6917 from thockin/dockerfile-images-are-dead
Stop using dockerfile/* images
2015-04-16 13:30:50 -07:00
Tim Hockin
c2bacd588d Stop using dockerfile/* images
As per
http://blog.docker.com/2015/03/updates-available-to-popular-repos-update-your-images/
docker has stopped answering dockerfile/redis and dockerfile/nginx.  Fix all
users in our tree.  Sadly this means a lot of published examples are now broken.
2015-04-16 12:20:43 -07:00
derekwaynecarr
c909071cce Docker requires a minimum memory for container 2015-04-16 13:31:30 -04:00
Dawn Chen
59fa08ac79 Merge pull request #6820 from aronchick/master
Quick documentation clean up
2015-04-14 15:41:18 -07:00
Dawn Chen
9b1b5c5447 Merge pull request #6824 from derekwaynecarr/fix_quota_bug
Fix quota bug in LimitRanger
2015-04-14 14:56:55 -07:00
derekwaynecarr
d1bfcdf7f5 Remove trailing comma 2015-04-14 16:11:51 -04:00
David Aronchick
d3d6e37d79 Update README.md 2015-04-14 12:27:53 -07:00
David Aronchick
dadf01101f Update README.md 2015-04-14 12:27:40 -07:00
Robert Bailey
68c3f3a914 Merge pull request #6720 from invino4/slave
Make guestbook-go example use slaves
2015-04-13 13:25:19 -07:00
Jason Hunter
2ecb95b5b6 Make guestbook-go example actually use the redis-slave service that is set up for its reads. 2015-04-13 11:40:42 -07:00
you-n-g
dd538464d6 Update README.md
The pods won't be deleted by that command
2015-04-12 15:16:53 +08:00
Young
d1a6cee15e supplement the cleanup scripts 2015-04-12 15:12:43 +08:00
Matthew Farrellee
28a661727f fix tldr anchor ref
add source location
2015-04-10 11:40:57 -04:00
you-n-g
88d49ca6a9 The redis-master-controller should be stopped
The redis-master-controller should be stopped, and the redis-master will be deleted automatically.
2015-04-10 07:05:15 +08:00
Jeff Lowdermilk
ca6f1a1bc7 Merge pull request #6476 from deads2k/deads-fix-kubeconfig-serialization
fix kubeconfig serialization
2015-04-09 09:41:26 -07:00
Huamin Chen
a278ceeb0a implement glusterfs volume plugin
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-04-07 09:14:39 -04:00
deads2k
609208b8b5 update scripts with correct templates 2015-04-07 08:07:24 -04:00
Huamin Chen
7a82af31de add iscsi volume plugin
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-04-06 16:20:28 -04:00
markturansky
95bd170ca2 PV & PVC Client implementation 2015-04-06 08:46:43 -04:00
Yu-Ju Hong
e0c9d9edb2 Merge pull request #6385 from jayunit100/k8petstore-fix-ip
Remove loopback ip from k8petstore PublicIPs
2015-04-03 11:47:33 -07:00
Sam Ghods
ca18e86877 Make naming of kubectl subcommands consistent 2015-04-02 16:14:53 -07:00
Prashanth B
620af16892 Merge pull request #6097 from derekwaynecarr/limit_range_default_value
Limit range supporting a default resource limits value
2015-04-02 16:04:09 -07:00
jayunit100
0a0d719273 Remove loopback ip from k8petstore PublicIPs 2015-04-02 21:16:17 +00:00
Kris Rousey
db99f78faf Fixing a couple of JSON files so that kubectl create -f doesn't error out while parsing them. 2015-04-02 14:01:54 -07:00
Jan Safranek
ed46c4db51 Add NFS export/import pod examples. 2015-04-02 10:47:21 +02:00
Tony Hsu
d9bb420410 Fix typo. 2015-04-02 10:13:29 +08:00
derekwaynecarr
c2b670513c Introduce concept of a default limit 2015-04-01 16:31:25 -04:00
Jeff Lowdermilk
2d8e93f8b4 e2e images pulled from gcr.io 2015-04-01 09:18:03 -07:00
Brian Grant
3354cffbf0 Merge pull request #6182 from thockin/plural_services_20
Implement multi-port Services
2015-03-31 12:55:21 -07:00
Tim Hockin
186818d787 WIP: Implement multi-port Services 2015-03-30 19:28:11 -07:00
Steve Watt
0df63ab0c1 Update volumes.md
Update docs and example for NFS Plugin

Modified the wording around how many Volumes exist

Cleaned up the text around the NFS Pod description

Fixed Spelling mistake on read-only
2015-03-30 20:40:51 -05:00
CJ Cullen
31324a0ba5 Merge pull request #5602 from mattf/spark-example
Spark example
2015-03-30 10:12:19 -07:00
Victor Marmol
22670de524 Merge pull request #6092 from derekwaynecarr/limit_range_default
Eliminate trailing commas
2015-03-30 09:41:17 -07:00
Deyuan Deng
f35dc54d62 Fix docs 2015-03-28 23:42:54 -04:00
Matthew Farrellee
31b923c987 add tl;dr version of Spark README.md
mention the spark cluster is standalone

add detailed master & worker instructions

add method to get master status

add links option for master status

add links option for worker status

add example use of cluster

add source location
2015-03-27 16:46:33 -04:00
derekwaynecarr
84667ac0b5 Eliminate trailing commas 2015-03-27 16:30:12 -04:00
Shichao An
4e4b2fedfe Fixed sentence grammar 2015-03-26 19:29:37 -07:00
jayunit100
1e3eb6a044 Cleanup of k8petstore json formatting flaw, and parameterization of kubectl. 2015-03-26 09:24:06 -04:00
Robert Bailey
d96d8a9faf Merge pull request #5803 from ihmccreery/guestbook-example-point-to-getting-started
Guestbook example README points to Getting Started, not SETUP.md
2015-03-25 13:02:45 -07:00
Robert Bailey
13429ce6a8 Merge pull request #5857 from brendandburns/cassandra
Update the cassandra example to pick up recent changes.
2015-03-24 16:45:51 -07:00
Isaac Hollander McCreery
6945ac8d4f Guestbook example README points to Getting Started, not SETUP.md 2015-03-24 20:21:59 +00:00
Brendan Burns
a4c02d8ede Merge pull request #5855 from thockin/target-port
Update docs using old Service.containerPort
2015-03-24 10:40:33 -07:00
Brendan Burns
ab0ae0a64e Update the cassandra example to pick up recent changes.
Also make it buildable via Maven.
2015-03-24 10:36:43 -07:00
Brendan Burns
9707a944c2 Merge pull request #5808 from mikeln/issue-5737
Cassandra Cluster Example Add Check for Null Endpoints (redo2)
2015-03-24 10:10:10 -07:00
Tim Hockin
dfd8bbcf3e Update docs using old Service.containerPort 2015-03-24 09:44:43 -07:00
Robert Bailey
5c40bd61e4 Merge pull request #5794 from thockin/gcepd_name
Rename the JSON for GCEPersistentDisk, fix examples
2015-03-23 17:12:32 -07:00
Brendan Burns
7547eaec2b Merge pull request #5765 from roberthbailey/pipefail
Specify bash when installing kubernetes via get.k8s.io.
2015-03-23 14:05:39 -07:00
Tim Hockin
7ce59d9bc7 Rename the JSON for GCEPersistentDisk in internal
I know the internal JSO tags are slated for death.  Until then, make them
correct.  Also fix some examples of v1b3 conversions that did not rename the
JSON field.
2015-03-23 13:54:00 -07:00
Mikel Nelson
bbca7217b7 Issue #5737 Cassandra Cluster Example Custom Seed Cores on First Node 2015-03-23 13:50:38 -07:00
Clayton Coleman
d19aac80ea Merge pull request #5533 from smarterclayton/burn_yaml_with_fire
Burn YAML with fire (kind of)
2015-03-23 13:45:52 -04:00
Robert Bailey
a7bc9edb96 Specify bash when installing kubernetes via get.k8s.io.
Fixes #5689.
2015-03-21 22:50:29 -07:00
Jan Dolecek
7f7ac2deb6 Update README.md
Fix some formatting.
2015-03-20 22:43:07 +00:00
Tim Hockin
4375376e9c Rename Service.ContainerPort to TargetPort in v1b3
Fix all callers and examples.  Part of multi-port service cleanup.
2015-03-20 13:50:06 -07:00
Clayton Coleman
6918a4d32e Replace automatic YAML decoding with opt-in YAML decoding
Base codecs no longer automically handle YAML.  Instead, clients
must convert to JSON first via yaml.ToJSON and runtime.YAMLDecoder.
2015-03-20 00:03:56 -04:00
Clayton Coleman
1b1866d836 Invalid JSON in examples and tests 2015-03-20 00:02:03 -04:00
Chris Alfonso
1a45e37d17 NFSMount storage plugin for kubelet.
* If you want to test this out when an actual NFS export a good place
 to start is by running the NFS server in a container:

docker run -d --name nfs --privileged cpuguy83/nfs-server /tmp

More detail can be found here:
https://github.com/cpuguy83/docker-nfs-server
2015-03-19 13:37:38 -04:00
Robert Bailey
242dd9c921 Merge pull request #5591 from piosz/guestbook_example
Rewrote guestbook-go example to use kube-dns
2015-03-18 17:01:21 -07:00
nikhiljindal
7e36bbab3c Updating integration tests to test both API versions - v1beta1 and 3 2015-03-18 15:24:11 -07:00
Piotr Szczesniak
ff0316dd71 Rewrote guestbook-go example to use kube-dns
This is follow up of #5284.

I also built a new kubernetes/guestbook:v2 image.
2015-03-18 12:07:16 +01:00
Brendan Burns
60b2b5d5b4 Merge pull request #5447 from jayunit100/k8petstore
K8petstore
2015-03-17 07:28:30 -07:00
Jeff Lowdermilk
404b20e6b8 Add dependencies for k8petstore to Godeps
Cleanup k8petstore to use Godeps dependencies, add to hack/build-go.sh
Remove trailing spaces, README
2015-03-17 07:06:01 -04:00
jayunit100
abf3bb226e Cleanup after initial PR and shading of src. 2015-03-16 19:12:36 -04:00
Jeff Lowdermilk
a2e710b3fe Merge pull request #5504 from piosz/guestbook_example
Removed resource specification from guestbook example
2015-03-16 10:09:01 -07:00