Skip to content

Commit c720df5

Browse files
Merge pull request DataDog#644 from DataDog/mattw/integrationformatreadme
update readme for new integration format
2 parents 2887f43 + 1ff60a9 commit c720df5

File tree

1 file changed

+63
-8
lines changed

1 file changed

+63
-8
lines changed

README.md

Lines changed: 63 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
## Documentation site for Datadog
1+
# Documentation site for Datadog
22

33
Built with [nanoc](http://nanoc.stoneship.org/), a static website generation tool.
44

5-
## Setup
5+
# Setup
66

77
**NOTE: if you are Datadog Internal, use this on your host os and not on the personal-chef vm. There are a few reports that it will not run on personal-chef. **
88

@@ -14,7 +14,7 @@ gem install bundler # and set up your shell / shell profile for it
1414
rbenv exec bundle install
1515
```
1616

17-
## Working on Docs
17+
# Working on Docs
1818

1919
```
2020
rake
@@ -31,7 +31,7 @@ If you include ANY Markdown in a file, give it an .md extension.
3131

3232
Make sure all files are lowercase. Macs are case insensitive when creating links to images and pages, but the server is not. The tests will be fine locally but the site will fail in production.
3333

34-
## Releasing
34+
# Releasing
3535

3636
Before push/merging, make sure to
3737

@@ -57,9 +57,11 @@ These keys should be for a test account that does not include dozens of people.
5757

5858
Internal Datadog folks: Within 5 minutes of merging to master, it will deploy automatically. You can see the status in #documentation.
5959

60-
## How to add a new integration
60+
# How to add a new integration
6161

62-
Create a markdown file under content/integratons. Add the following front matter at the top of the file:
62+
Integrations include information that comes from two different sources. The first and main source are the files under content/integrations. The second source are the metric csv files under dogweb. In order to see the metric tables that appear for some of the integrations, you need to create an environment variable called `github_personal_token` assigned your github personal token (you need to have access to dogweb and therefore must be a Datadog employee to see this). The table will be brought in automatically by the deploy process.
63+
64+
The top of each integration file should include the following frontmatter:
6365

6466
---
6567
title: Datadog-<integration name> Integration
@@ -70,9 +72,62 @@ Create a markdown file under content/integratons. Add the following front matter
7072

7173
If you are writing a lot about the integration, change doclevel to complete or just remove the whole line. Now write the doc. There is no need to update any index, menu, or sidebars. Those are automatically generated.
7274

73-
Every integration should have at least four sections. First include an overview. Second is the Installation process. Third include troubleshooting steps. Fourth should be when you last verified and under what conditions it worked. If someone has already included this, add yours above the previous one so we can see some sort of history.
75+
Most integrations start with a heading level of 3. Going forward you should start with 1. But if you do, make sure to add the newhlevel attribute to the frontmatter: `newhlevel: true`
76+
77+
Every integration should have the following format:
78+
79+
### Overview
80+
**Absolutely Required.**
81+
82+
The overview section is required and should be a paragraph or two with some bullets of what is interesting about this integration. For example, the following comes from the Docker integration.
83+
84+
Get metrics from Docker in real time to:
85+
86+
* Visualize your containers' performance.
87+
* Correlate the performance of containers with the applications running inside.
88+
89+
There are three ways to setup the Docker integration: install the agent on the host, on a single priviledged container, and on each individual container.
90+
91+
92+
### Installation
93+
**Required with some exceptions**
94+
95+
The installation section should cover anything that needs to be installed on the agent host. For instance, in the Docker installation section you learn about installing the agent into a container. If there is nothing to install on the agent host, this section can be left out. To be a complete integration, either an installation section or a configuration section must be included.
96+
97+
### Configuration
98+
**Required with some exceptions**
99+
100+
The configuration section should cover anything that you can configure in the Datadog interface or the agent configuration files. In almost every case this section should be included since there is almost always something to configure. To be a complete integration, either an installation section or a configuration section must be included.
101+
102+
### Validation
103+
**Required**
104+
105+
The validation section should include instructions on how to validate that the integration is successfully working.
106+
107+
### Metrics
108+
**Required for integrations that have metrics**
109+
110+
If the metrics are listed in the integration under dogweb, add an attribute to the frontmatter: `git_integration_title: integration_name` replacing the integration name with the name of the folder for the integration in the dogweb repo.
111+
112+
Then add `<%= get_metrics_from_git()%>` to the Metrics section. This will use your Github Personal Token to grab the metrics from the repo.
113+
114+
### Events
115+
**Optional**
116+
117+
This is a newer section. If you can describe the events that are part of the integration, it should go here.
118+
119+
### Troubleshooting
120+
**Optional**
121+
122+
The troubleshooting section should include anything that answers a question a user might have about the integration. If there is a question that comes up in support about the integration, it should be added here.
123+
124+
### Compatibility
125+
**Required**
126+
127+
The compatibility section should include which versions this integration has been tested and validated on.
128+
74129

75-
## How to add a new Guide
130+
# How to add a new Guide
76131

77132
Create a markdown file under content/guides. Add the following front matter at the top of the file:
78133

0 commit comments

Comments
 (0)