Skip to content

Commit 93ea2a9

Browse files
committed
Fix broken Markdown headings
1 parent 1d84310 commit 93ea2a9

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,18 +90,18 @@ Calls like `WatchTree` may return different events (or number of events) dependi
9090

9191
Only `Consul` and `etcd` have support for TLS and you should build and provide your own `config.TLS` object to feed the client. Support is planned for `zookeeper`.
9292

93-
##Roadmap
93+
## Roadmap
9494

9595
- Make the API nicer to use (using `options`)
9696
- Provide more options (`consistency` for example)
9797
- Improve performance (remove extras `Get`/`List` operations)
9898
- Better key formatting
9999
- New backends?
100100

101-
##Contributing
101+
## Contributing
102102

103103
Want to hack on libkv? [Docker's contributions guidelines](https://github.com/docker/docker/blob/master/CONTRIBUTING.md) apply.
104104

105-
##Copyright and license
105+
## Copyright and license
106106

107107
Copyright © 2014-2016 Docker, Inc. All rights reserved, except as follows. Code is released under the Apache 2.0 license. The README.md file, and files in the "docs" folder are licensed under the Creative Commons Attribution 4.0 International License under the terms and conditions set forth in the file "LICENSE.docs". You may obtain a duplicate copy of the same license, titled CC-BY-SA-4.0, at http://creativecommons.org/licenses/by/4.0/.

docs/compatibility.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
#Cross-Backend Compatibility
1+
# Cross-Backend Compatibility
22

33
The value of `libkv` is not to duplicate the code for programs that should support multiple distributed K/V stores like the classic `Consul`/`etcd`/`zookeeper` trio.
44

55
This document provides with general guidelines for users willing to support those backends with the same code using `libkv`.
66

77
Please note that most of those workarounds are going to disappear in the future with `etcd` APIv3.
88

9-
##Etcd directory/key distinction
9+
## Etcd directory/key distinction
1010

1111
`etcd` with APIv2 makes the distinction between keys and directories. The result with `libkv` is that when using the etcd driver:
1212

@@ -17,7 +17,7 @@ This is fundamentaly different than `Consul` and `zookeeper` which are more perm
1717

1818
Apiv3 is in the work for `etcd`, which removes this key/directory distinction, but until then you should follow these workarounds to make your `libkv` code work across backends.
1919

20-
###Put
20+
### Put
2121

2222
`etcd` cannot put values on directories, so this puts a major restriction compared to `Consul` and `zookeeper`.
2323

@@ -32,7 +32,7 @@ _ := kv.Put("path/to/key", []byte("bar"), nil)
3232

3333
Will work on `Consul` and `zookeeper` but fail for `etcd`. This is because the first `Put` in the case of `etcd` will recursively create the directory hierarchy and `path/to/key` is now considered as a directory. Thus, values should always be stored on leaves if the support for the three backends is planned.
3434

35-
###WatchTree
35+
### WatchTree
3636

3737
When initializing the `WatchTree`, the natural way to do so is through the following code:
3838

@@ -63,7 +63,7 @@ events, err := kv.WatchTree(key, nil)
6363

6464
The code above will work for the three backends but make sure to not try to store any value at that path as the call to `Put` will fail for `etcd` (you can only put at `path/to/key/foo`, `path/to/key/bar` for example).
6565

66-
##Etcd distributed locking
66+
## Etcd distributed locking
6767

6868
There is `Lock` mechanisms baked in the `coreos/etcd/client` for now. Instead, `libkv` has its own implementation of a `Lock` on top of `etcd`.
6969

docs/examples.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
#Examples
1+
# Examples
22

33
This document contains useful example of usage for `libkv`. It might not be complete but provides with general informations on how to use the client.
44

5-
##Create a store and use Put/Get/Delete
5+
## Create a store and use Put/Get/Delete
66

77
```go
88
package main
@@ -62,7 +62,7 @@ func main() {
6262
}
6363
```
6464

65-
##List keys
65+
## List keys
6666

6767
```go
6868
// List will list all the keys under `key` if it contains a set of child keys/values
@@ -73,7 +73,7 @@ for _, pair := range entries {
7373

7474
```
7575

76-
##Watching for events on a single key (Watch)
76+
## Watching for events on a single key (Watch)
7777

7878
You can use watches to watch modifications on a key. First you need to check if the key exists. If this is not the case, we need to create it using the `Put` function.
7979

@@ -97,7 +97,7 @@ select {
9797

9898
```
9999

100-
##Watching for events happening on child keys (WatchTree)
100+
## Watching for events happening on child keys (WatchTree)
101101

102102
You can use watches to watch modifications on a key. First you need to check if the key exists. If this is not the case, we need to create it using the `Put` function. There is a special step here though if you want your code to work across backends. Because `etcd` is a special case and it makes the distinction between directories and keys, we need to make sure that the created key is considered as a directory by enforcing `IsDir` at `true`.
103103

0 commit comments

Comments
 (0)