diff --git a/INSTALL.md b/INSTALL.md
index f2a2cbe..792f1ea 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -126,7 +126,7 @@ heroku open
You can build and run the server locally using Docker. First build an image:
```console
-$ docker build -t shields ./
+$ docker build -t shields .
Sending build context to Docker daemon 3.923 MB
Step 0 : FROM node:6.4.0-onbuild
…
diff --git a/index.html b/index.html
index 19c50bf..56cbee4 100644
--- a/index.html
+++ b/index.html
@@ -973,6 +973,10 @@ Pixel-perfect Retina-ready Fast Consistent Hackable
 |
https://img.shields.io/librariesio/github/phoenixframework/phoenix.svg |
+ NetflixOSS Lifecycle: |
+  |
+ https://img.shields.io/osslifecycle/Netflix/osstracker.svg |
+
Your Badge
diff --git a/server.js b/server.js
index 5176d9b..e5c4e47 100644
--- a/server.js
+++ b/server.js
@@ -453,6 +453,51 @@ cache(function(data, match, sendBadge, request) {
});
}));
+// NetflixOSS metadata integration
+camp.route(/^\/osslifecycle?\/([^\/]+\/[^\/]+)(?:\/(.+))?\.(svg|png|gif|jpg|json)$/,
+ cache(function(data, match, sendBadge, request) {
+ var orgOrUserAndRepo = match[1];
+ var branch = match[2];
+ var format = match[3];
+ var url = 'https://raw.githubusercontent.com/' + orgOrUserAndRepo;
+ if (branch != null) {
+ url += "/" + branch + "/OSSMETADATA"
+ }
+ else {
+ url += "/master/OSSMETADATA";
+ }
+ var options = {
+ method: 'GET',
+ uri: url
+ };
+ var badgeData = getBadgeData('OSS Lifecycle', data);
+ request(options, function(err, res, body) {
+ if (err != null) {
+ console.error('NetflixOSS error: ' + err.stack);
+ if (res) { console.error(''+res); }
+ badgeData.text[1] = 'invalid';
+ sendBadge(format, badgeData);
+ return;
+ }
+ try {
+ var matchStatus = body.match(/osslifecycle\=([a-z]+)/im);
+ if (matchStatus === null) {
+ badgeData.text[1] = 'inaccessible';
+ sendBadge(format, badgeData);
+ return;
+ } else {
+ badgeData.text[1] = matchStatus[1];
+ sendBadge(format, badgeData);
+ return;
+ }
+ } catch(e) {
+ console.log(e);
+ badgeData.text[1] = 'inaccessible';
+ sendBadge(format, badgeData);
+ }
+ });
+}));
+
// Shippable integration
camp.route(/^\/shippable\/([^\/]+)(?:\/(.+))?\.(svg|png|gif|jpg|json)$/,
cache(function (data, match, sendBadge, request) {
diff --git a/try.html b/try.html
index 7619a15..f4c6c87 100644
--- a/try.html
+++ b/try.html
@@ -972,6 +972,10 @@ Pixel-perfect Retina-ready Fast Consistent Hackable
 |
https://img.shields.io/librariesio/github/phoenixframework/phoenix.svg |
+ NetflixOSS Lifecycle: |
+  |
+ https://img.shields.io/osslifecycle/Netflix/osstracker.svg |
+
Your Badge