GithubHelp home page GithubHelp logo

chauha / dd-agent-omnibus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from datadog/dd-agent-omnibus

0.0 2.0 0.0 1.49 MB

Omnibus project to build the Datadog Agent

Home Page: www.datadoghq.com

License: Apache License 2.0

Ruby 36.76% Shell 19.54% Batchfile 3.07% HTML 40.63%

dd-agent-omnibus's Introduction

Datadog Agent - Omnibus Project

This is an Omnibus project to build the Datadog Agent packages.

It's using a fork of the official 4.0.0 release of the Omnibus project.

Builds are run in docker containers with Circleci. See:

Build a package locally

  • Install Docker

  • Run the following script with the desired parameters

PLATFORM="deb-x64" # must be in "deb-x64", "deb-i386", "rpm-x64", "rpm-i386"
TRACE_AGENT_BRANCH="master" # Branch of the datadog-trace-agent repo to use, default "master"
PROCESS_AGENT_BRANCH="master" # Branch of the datadog-process-agent repo to use, default "master"
AGENT_BRANCH="master" # Branch of dd-agent repo to use, default "master"
OMNIBUS_BRANCH="master" # Branch of dd-agent-omnibus repo to use, default "master"
AGENT_VERSION="5.4.0" # default to the latest tag on that branch
LOG_LEVEL="debug" # default to "info"
LOCAL_AGENT_REPO="~/dd-agent" # Path to a local repo of the agent to build from. Defaut is not set and the build will be done against the github repo

# The passphrase of the key you want to use to sign your .rpm package (if
# building an RPM package). If you don't set this variable, the RPM won't be
# signed but the build should succeed. Note that you must also mount a volume
# under /keys and bind it to a folder containing an RPM-SIGNING-KEY.private
# file containing your exported signing key. Finally, be aware that the
# package_maintainer DSL defined in config/projects/datadog_agent.rb and the
# full key name (My Name (comments) <[email protected]>) must match.
RPM_SIGNING_PASSPHRASE="my_super_secret_passphrase"

mkdir -p pkg
mkdir -p "cache/$PLATFORM"
docker run --name "dd-agent-build-$PLATFORM" \
  -e OMNIBUS_BRANCH=$OMNIBUS_BRANCH \
  -e LOG_LEVEL=$LOG_LEVEL \
  -e AGENT_BRANCH=$AGENT_BRANCH \
  -e AGENT_VERSION=$AGENT_VERSION \
  -e TRACE_AGENT_BRANCH=$TRACE_AGENT_BRANCH \
  -e PROCESS_AGENT_BRANCH=$PROCESS_AGENT_BRANCH \
  -e RPM_SIGNING_PASSPHRASE=$RPM_SIGNING_PASSPHRASE \
  -e LOCAL_AGENT_REPO=$LOCAL_AGENT_REPO # Only to use if you want to build from a local repo \
  -v `pwd`/pkg:/dd-agent-omnibus/pkg \
  -v `pwd`/keys:/keys \
  -v "`pwd`/cache/$PLATFORM:/var/cache/omnibus" \
  -v $LOCAL_AGENT_REPO:/dd-agent-repo # Only to use if you want to build from a local repo \
  "datadog/docker-dd-agent-build-$PLATFORM"

# Cleanup (necessary to launch another build)
docker rm dd-agent-build-$PLATFORM

Build on Mac OS X

The Mac build platform should have:

  • Xcode installed (type git in a terminal),
  • Go installed,
  • sudoer rights for the build user,
  • Bundler installed: sudo gem install bundler,
  • Important directories created: sudo mkdir -p /var/cache/omnibus /opt/datadog-agent,
  • Owned by the right user: sudo chown $USER:nogroup /var/cache/omnibus /opt/datadog-agent.
  • Xcode license accepted (to sign package) sudo xcodebuild -license
  • Datadog signing key

Then run:

AGENT_BRANCH=<YOUR_AGENT_BRANCH> OMNIBUS_BRANCH=<YOUR_OMNIBUS_BRANCH> OMNIBUS_SOFTWARE_BRANCH=<YOUR_OMNIBUS_SOFTWARE_BRANCH> sh omnibus_build.sh

The env vars have the same meaning as the Dockerized build above. Omitting them will cause the default of master to be used for all 3

dd-agent-omnibus's People

Contributors

degemer avatar derekwbrown avatar remh avatar olivielpeau avatar truthbk avatar hush-hush avatar gmmeyer avatar leocavaille avatar talwai avatar yannmh avatar arbll avatar elafarge avatar hkaj avatar conorbranagan avatar nmuesch avatar galdor avatar gbbr avatar remicalixte avatar whatarthurcodes avatar julienbalestra avatar adrienkohlbecker avatar alextawse avatar alq666 avatar testetienne avatar jeremy-lq avatar jongala avatar suhasgaddam avatar sunhay avatar tmichelet avatar dsalvador-dsalvador avatar

Watchers

James Cloos avatar ashish.chauhan avatar

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.