diff --git a/docs/pom.xml b/docs/pom.xml
index fa94b984..2304f52c 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -16,12 +16,31 @@
spring-cloud-consul
${basedir}/..
1.1.x,1.2.x,1.3.x,2.1.x
+ spring.cloud.consul.*
+
+
+ ${project.groupId}
+ spring-cloud-starter-consul
+
+
+ ${project.groupId}
+ spring-cloud-starter-consul-all
+
+
docs
+
+ org.codehaus.mojo
+ exec-maven-plugin
+
+
+ pl.project13.maven
+ git-commit-id-plugin
+
org.apache.maven.plugins
maven-dependency-plugin
diff --git a/docs/src/main/asciidoc/_attributes.adoc b/docs/src/main/asciidoc/_attributes.adoc
new file mode 100644
index 00000000..d2e33936
--- /dev/null
+++ b/docs/src/main/asciidoc/_attributes.adoc
@@ -0,0 +1,16 @@
+:doctype: book
+:idprefix:
+:idseparator: -
+:toc: left
+:toclevels: 4
+:tabsize: 4
+:numbered:
+:sectanchors:
+:sectnums:
+:icons: font
+:hide-uri-scheme:
+:docinfo: shared,private
+
+:sc-ext: java
+:project-full-name: Spring Cloud Consul
+:all: {asterisk}{asterisk}
diff --git a/docs/src/main/asciidoc/_configprops.adoc b/docs/src/main/asciidoc/_configprops.adoc
new file mode 100644
index 00000000..9dc6beee
--- /dev/null
+++ b/docs/src/main/asciidoc/_configprops.adoc
@@ -0,0 +1,71 @@
+|===
+|Name | Default | Description
+
+|spring.cloud.consul.config.acl-token | |
+|spring.cloud.consul.config.data-key | data | If format is Format.PROPERTIES or Format.YAML then the following field is used as key to look up consul for configuration.
+|spring.cloud.consul.config.default-context | application |
+|spring.cloud.consul.config.enabled | true |
+|spring.cloud.consul.config.fail-fast | true | Throw exceptions during config lookup if true, otherwise, log warnings.
+|spring.cloud.consul.config.format | |
+|spring.cloud.consul.config.name | | Alternative to spring.application.name to use in looking up values in consul KV.
+|spring.cloud.consul.config.prefix | config |
+|spring.cloud.consul.config.profile-separator | , |
+|spring.cloud.consul.config.watch.delay | 1000 | The value of the fixed delay for the watch in millis. Defaults to 1000.
+|spring.cloud.consul.config.watch.enabled | true | If the watch is enabled. Defaults to true.
+|spring.cloud.consul.config.watch.wait-time | 55 | The number of seconds to wait (or block) for watch query, defaults to 55. Needs to be less than default ConsulClient (defaults to 60). To increase ConsulClient timeout create a ConsulClient bean with a custom ConsulRawClient with a custom HttpClient.
+|spring.cloud.consul.discovery.acl-token | |
+|spring.cloud.consul.discovery.catalog-services-watch-delay | 1000 | The delay between calls to watch consul catalog in millis, default is 1000.
+|spring.cloud.consul.discovery.catalog-services-watch-timeout | 2 | The number of seconds to block while watching consul catalog, default is 2.
+|spring.cloud.consul.discovery.datacenters | | Map of serviceId's -> datacenter to query for in server list. This allows looking up services in another datacenters.
+|spring.cloud.consul.discovery.default-query-tag | | Tag to query for in service list if one is not listed in serverListQueryTags.
+|spring.cloud.consul.discovery.default-zone-metadata-name | zone | Service instance zone comes from metadata. This allows changing the metadata tag name.
+|spring.cloud.consul.discovery.deregister | true | Disable automatic de-registration of service in consul.
+|spring.cloud.consul.discovery.enabled | true | Is service discovery enabled?
+|spring.cloud.consul.discovery.fail-fast | true | Throw exceptions during service registration if true, otherwise, log warnings (defaults to true).
+|spring.cloud.consul.discovery.health-check-critical-timeout | | Timeout to deregister services critical for longer than timeout (e.g. 30m). Requires consul version 7.x or higher.
+|spring.cloud.consul.discovery.health-check-headers | | Headers to be applied to the Health Check calls.
+|spring.cloud.consul.discovery.health-check-interval | 10s | How often to perform the health check (e.g. 10s), defaults to 10s.
+|spring.cloud.consul.discovery.health-check-path | /actuator/health | Alternate server path to invoke for health checking.
+|spring.cloud.consul.discovery.health-check-timeout | | Timeout for health check (e.g. 10s).
+|spring.cloud.consul.discovery.health-check-tls-skip-verify | | Skips certificate verification during service checks if true, otherwise runs certificate verification.
+|spring.cloud.consul.discovery.health-check-url | | Custom health check url to override default.
+|spring.cloud.consul.discovery.heartbeat.enabled | false |
+|spring.cloud.consul.discovery.heartbeat.interval-ratio | |
+|spring.cloud.consul.discovery.heartbeat.ttl-unit | s |
+|spring.cloud.consul.discovery.heartbeat.ttl-value | 30 |
+|spring.cloud.consul.discovery.hostname | | Hostname to use when accessing server.
+|spring.cloud.consul.discovery.include-hostname-in-instance-id | false | Whether hostname is included into the default instance id when registering service.
+|spring.cloud.consul.discovery.instance-group | | Service instance group.
+|spring.cloud.consul.discovery.instance-id | | Unique service instance id.
+|spring.cloud.consul.discovery.instance-zone | | Service instance zone.
+|spring.cloud.consul.discovery.ip-address | | IP address to use when accessing service (must also set preferIpAddress to use).
+|spring.cloud.consul.discovery.lifecycle.enabled | true |
+|spring.cloud.consul.discovery.management-port | | Port to register the management service under (defaults to management port).
+|spring.cloud.consul.discovery.management-suffix | management | Suffix to use when registering management service.
+|spring.cloud.consul.discovery.management-tags | | Tags to use when registering management service.
+|spring.cloud.consul.discovery.order | 0 | Order of the discovery client used by `CompositeDiscoveryClient` for sorting available clients.
+|spring.cloud.consul.discovery.port | | Port to register the service under (defaults to listening port).
+|spring.cloud.consul.discovery.prefer-agent-address | false | Source of how we will determine the address to use.
+|spring.cloud.consul.discovery.prefer-ip-address | false | Use ip address rather than hostname during registration.
+|spring.cloud.consul.discovery.query-passing | false | Add the 'passing` parameter to /v1/health/service/serviceName. This pushes health check passing to the server.
+|spring.cloud.consul.discovery.register | true | Register as a service in consul.
+|spring.cloud.consul.discovery.register-health-check | true | Register health check in consul. Useful during development of a service.
+|spring.cloud.consul.discovery.scheme | http | Whether to register an http or https service.
+|spring.cloud.consul.discovery.server-list-query-tags | | Map of serviceId's -> tag to query for in server list. This allows filtering services by a single tag.
+|spring.cloud.consul.discovery.service-name | | Service name.
+|spring.cloud.consul.discovery.tags | | Tags to use when registering service.
+|spring.cloud.consul.enabled | true | Is spring cloud consul enabled.
+|spring.cloud.consul.host | localhost | Consul agent hostname. Defaults to 'localhost'.
+|spring.cloud.consul.port | 8500 | Consul agent port. Defaults to '8500'.
+|spring.cloud.consul.retry.initial-interval | 1000 | Initial retry interval in milliseconds.
+|spring.cloud.consul.retry.max-attempts | 6 | Maximum number of attempts.
+|spring.cloud.consul.retry.max-interval | 2000 | Maximum interval for backoff.
+|spring.cloud.consul.retry.multiplier | 1.1 | Multiplier for next interval.
+|spring.cloud.consul.scheme | | Consul agent scheme (HTTP/HTTPS). If there is no scheme in address - client will use HTTP.
+|spring.cloud.consul.tls.certificate-password | | Password to open the certificate.
+|spring.cloud.consul.tls.certificate-path | | File path to the certificate.
+|spring.cloud.consul.tls.key-store-instance-type | | Type of key framework to use.
+|spring.cloud.consul.tls.key-store-password | | Password to an external keystore.
+|spring.cloud.consul.tls.key-store-path | | Path to an external keystore.
+
+|===
diff --git a/docs/src/main/asciidoc/appendix.adoc b/docs/src/main/asciidoc/appendix.adoc
new file mode 100644
index 00000000..39eb1593
--- /dev/null
+++ b/docs/src/main/asciidoc/appendix.adoc
@@ -0,0 +1,14 @@
+:numbered!:
+[appendix]
+[[common-application-properties]]
+== Common application properties
+
+include::_attributes.adoc[]
+
+Various properties can be specified inside your `application.properties` file, inside your `application.yml` file, or as command line switches.
+This appendix provides a list of common {project-full-name} properties and references to the underlying classes that consume them.
+
+NOTE: Property contributions can come from additional jar files on your classpath, so you should not consider this an exhaustive list.
+Also, you can define your own properties.
+
+include::_configprops.adoc[]
diff --git a/docs/src/main/asciidoc/spring-cloud-consul.adoc b/docs/src/main/asciidoc/spring-cloud-consul.adoc
index 7ec43bba..32cc3df6 100644
--- a/docs/src/main/asciidoc/spring-cloud-consul.adoc
+++ b/docs/src/main/asciidoc/spring-cloud-consul.adoc
@@ -1,9 +1,5 @@
-:github-tag: master
-:github-repo: spring-cloud/spring-cloud-consul
-:github-raw: https://raw.github.com/{github-repo}/{github-tag}
-:github-code: https://github.com/{github-repo}/tree/{github-tag}
-:nofooter:
= Spring Cloud Consul
+include::_attributes.adoc[]
*{spring-cloud-version}*