/datadog-organization-management

Infrastructure as Code (IaC) example for a Datadog organization.

Primary LanguageHCLGNU General Public License v2.0GPL-2.0

Datadog Organization: osinfra.io

GitHub Actions:

Dependabot

Repository Description

This repository is an example of IaC for managing a Datadog organization using Terraform, concepts from Team Topologies, and sensible default practices learned from software development.

🏭 Platform Information

Development

We focus on the core fundamental practice of cloud engineering, Infrastructure as Code.

Open Source Infrastructure (as Code) is a development model for infrastructure that focuses on open collaboration and applying relative lessons learned from software development practices that organizations can use internally at scale. - Open Source Infrastructure (as Code)

To avoid slowing down stream-aligned teams, we want to open up the possibility for contributions. The Open Source Infrastructure (as Code) model allows team members external to the platform team to contribute with only a slight increase in cognitive load. This section is for developers who want to contribute to this repository, describing the tools used, the skills, and the knowledge required, along with Terraform documentation.

See the documentation for setting up a local development environment here.

🛠️ Tools

📋 Skills and Knowledge

Links to documentation and other resources required to develop and iterate in this repository successfully.

📓 Terraform Documentation

Providers

Name Version
datadog 3.43.1

Resources

Name Type
datadog_organization_settings.osinfra resource
datadog_team.this resource
datadog_team_membership.this resource
datadog_user.this resource
datadog_role.this data source
datadog_team.this data source
datadog_user.this data source

Inputs

Name Description Type Default Required
datadog_api_key Datadog API key string n/a yes
datadog_app_key Datadog APP key string n/a yes
teams Map of Datadog teams to create map(object({ description = string name = string })) n/a yes
users Map of Datadog users to create map(object({ first_name = optional(string, null) last_name = optional(string, null) name = string role = string teams = optional(list(string), null) })) n/a yes

Outputs

Name Description
organization_id The organization ID