DataDog/datadog-agent-boshrelease

Name: datadog-agent-boshrelease

Owner: Datadog, Inc.

Description: Datadog agent!

Forked from: SpringerPE/datadog-agent-boshrelease

Created: 2017-03-24 19:45:48.0

Updated: 2018-05-16 17:59:47.0

Pushed: 2018-05-16 18:02:04.0

Homepage:

Size: 201

Language: Shell

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Datadog Agent release for BOSH

What this does

This includes the Debian and RHEL/CentOS releases in the package and unpacks them in the dd-agent directory.

While a source install would be preferable, we're balancing a number of concerns.

  1. We want to ensure a consistent deployment among all customers.
  2. We want to ensure a quick deployment.

Compiling Python takes a very long time (it took up to 30 minutes for Python alone on some machines we tested it on). We also saw some disparities on some machines. It can creates issues if it stomps on the system python (which is hard to avoid in some cases) and it sometimes doesn't work.

So, our solution for this was to use our embedded python that we already have in our packages and unpack those packages (rather than installing them).

Versioning

We version the bosh release with the following scheme:

cf_major.cf_minor.agent_version

The first three are directly from the agent itself, they reflect the current agent version. The final one is the CF version, as there may be cause to release more than one during an agent bugfix.

Configuration

Upload the release to Bosh director

Create a runtime-config.yaml file:

ases:
me: datadog-agent
rsion: 1

ns:
me: dd-agent
bs:
name: dd-agent
release: datadog-agent
operties:
dd:
  use_dogstatsd: yes
  api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  tags: ["datadog", "bosh", "bosh:bosh-exp"]

:
ner: datadog
ail: support@datadoghq.com

Upload runtime-config to Bosh Director: bosh update runtime-config runtime-config.yaml

Re-deploy the deployments to automatically add the agent.

Development

Since there's almost no code here, just add your checks to checks.d and get going!

There is a script bosh_prepare, which grabs all the relevant blobs gets everything ready to release.

sh_prepare

It will get all sources specified in the packages/*/spec files for local development.

The default blobstore is our s3 bucket, however you can change this to any blobstore you like. We have a yaml file set up to use a local blobstore as well, if for some reason you cannot use a remote one.

Authors

Datadog (opensource@datadoghq.com)

Based on the https://github.com/SpringerPE/datadog-agent-boshrelease project by Springer Nature Platform Engineering

Contribute

If you notice a limitation or a bug with this project, feel free to open a Github issue or submit a PR.

Support

Support for this project is available via standard Datadog support channels.

License

Apache 2.0 License


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.