GithubHelp home page GithubHelp logo

datadog / dpn Goto Github PK

View Code? Open in Web Editor NEW
10.0 11.0 7.0 14.76 MB

Datadog Partners Network

License: Apache License 2.0

HCL 5.81% Shell 6.50% C# 1.16% Go 2.04% Python 6.87% Makefile 1.08% Dockerfile 2.66% TypeScript 4.73% HTML 15.49% JavaScript 0.88% CSS 0.36% Ruby 52.38% SCSS 0.03%

dpn's Introduction

Unless explicitly stated otherwise all files in this repository are licensed under the Apache 2.0 License. This product includes software developed at Datadog (https://www.datadoghq.com/). Copyright 2020 Datadog, Inc.

dpn

This repo is a collection of resources for authorized members of the Datadog Partner Network, and is intended to help partners show and deliver the value of the Datadog platform.

In this repo, you will find things like:

  • Sandbox applications you can easily deploy to show how to monitor modern enironments and services
  • Sample dashboards and monitors that demonstrate best-practices or are useful for specific integrations and use-cases
  • Example runbooks for how to conduct common investigations
  • Configurations of different products that are frequently helpful
  • Automation scripts and tooling that a partner would frequently find useful

Please consider contributing to this repo, since it'll get much more useful with the input of our partners!

Table of Contents

Sandbox Applications

  1. Sample-App-Todo - A simple node todo list app with the MongoDB integration, tracing, and logs pre-configured.
  2. Voting-App - A containerized app that hosts a voting session and posts the results to another endpoint. Uses Python, .NET, NodeJS, Postgresql, Redis. Includes APM tracing, log collection, and infrastructure monitoring.
  3. Ecommerce-Webapp - A containerized application that hosts an entire ecommerce web application. You can run both a working as well as a "broken" version of the application. Includes APM tracing, Real User Monitoring, log collection and infrastructure monitoring.

Dashboards

(Forthcoming)

Monitors

(Forthcoming)

Notebooks & Runbooks

(Forthcoming)

Product Configurations

(Forthcoming)

Automation Tooling

(Forthcoming)

Azure Collection

A collection of resources dedicated to deployments that happen in Azure.

  1. Windows Secret Fetcher (Azure KeyVault) - A guide on how to create an Azure KeyVault Secrets fetcher for use with Datadog Secrets Management

Utils

A collection of compiled resources that can be used in addition to the Datadog agent

  1. AWS Secret Fetcher (AWS Secret Manager) - A guide on how to create an AWS secrets fetcher for use with Datadog Secrets Management on Linux and Windows

Contributing and Feedback

Thank you for contributing! If you wish to contribute an application, dashboard, or other resources to this repo, or if you wish to share feedback on how we can make it better, please email [email protected].

dpn's People

Contributors

awdophil23 avatar ccwells avatar chrisluekermann avatar ckelner avatar danielcbright avatar estib avatar jarrenejatyab avatar nohoonlee avatar saphoooo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dpn's Issues

Update Contribution Guide

Description

We want to update the Contribution Guide to:

  • make it clearer that not only entire sandbox apps are welcome, also smaller bits (TF scripts, API scripts) are welcome.
  • make it clear that we want to keep number of sandbox apps in total small, so we do not have too many redundancies.

Proposal

Updated the doc (see PR).

Acceptance Criteria

Terraform as the only deployment configuration?

While working through the existing sandbox apps, I started drawing out all the deployments we support in some apps and that we may want to support going forward:

  • Vagrant (?)
  • docker-compose
  • Kubernetes
  • AWS
  • GCP
  • Azure

And when we pair up all these different deployments with the planned ability to easily halt/clear sandbox apps as well as pause/restart them where we need state, things become complicated with shell scripts, etc.

I was therefore wondering if we should use Terraform to define all our deployment configuration, essentially making it the only common prerequisite regardless where the sandbox should be deployed.

If we decide to go this route, we need to decide on whether we still want the setup.env file (I kinda like it as it makes it easy to reuse API/APP keys for multiple apps) or the setup.sh.

ecommerce docker-compose.yml is currently outdated (app does not work as a result)

Issue Type

Bug Report

Description

The ecommerce web app repo updated how they pull their container images, so we need to update our docker-compose.yml to fit with that. It currently doesn't work.

Environment / Setup Details

n/a

Screenshots and Steps to Reproduce

n/a

Urgency / Motivation

Currently the ecommerce web app does not work, so I'd rate this pretty URGENT

Enable Terraform to provision locally for the voting-app sandbox app (per #15)

Make this:

module "sandbox-apps" {
  resource_name = "voting-app"
  source = "../_terraform/"
  # resource_size = "t2.micro" # only change for unusually large/small projects. bigger == $$$
}

look like this:

module "sandbox-apps" {
  resource_name = "voting-app"
  source = "../_terraform/"
  location = "local" #or "aws"
  # resource_size = "t2.micro" # only change for unusually large/small projects. bigger == $$$
}

EPIC: This is an Epic

Issue Type

( Bug Report | Feature Request | New Sample App Request | Etc. )

Description

(Tell us what's up!)

Environment / Setup Details

(Please tell us about your environment -- the more details we have the more likely we can reproduce and do something about it!)

Screenshots and Steps to Reproduce

(Please provide as much detail as possible!)

Urgency / Motivation

(Tell us a little about how important it is for you)

Multi-cloud: Add Azure Support

Note: before working on this, it would be a good idea to connect with @estib to get a quick overview of what was done for AWS

Description

As someone who uses AWS, Azure and GCP, I would like to see Terraform configurations for each of those cloud providers so that I can test out functionality on all of them.

Proposal

  1. Come up with a new directory structure to accommodate not only AWS, but Azure and GCP Terraform code for each sample application. As discussed during the backlog grooming session, we are going to utilize the existing setup.env and setup.sh files and also update the _terraform and module directory to include .tf files for multiple providers. If you have any questions on how this is currently setup, work with @estib
  2. Create Azure Terraform code for each sample app in the _terraform and module directory.
  3. Test each application.
  4. Update documentation on how to use the Terraform code for each cloud provider.
  5. Update any supporting documentation for contributing to be sure and include the provisions for multi-cloud.

Acceptance Criteria Checklist

  • Create directory structure and propose/discuss in this issue
  • Create and test Terraform code for each sample app, for each cloud provider
  • Update any documentation for implementation and contributions
  • Create and assign PR for review

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.