Skip to content

[ABLD-27] Prepare deployment of Agent v7.70+ for macOS (arm64/x86_64)#664

Merged
rdesgroppes merged 4 commits intoDataDog:mainfrom
rdesgroppes:regis.desgroppes/prepare-deployment-of-agent-7.70+-for-macos-on-arm64
Oct 8, 2025
Merged

[ABLD-27] Prepare deployment of Agent v7.70+ for macOS (arm64/x86_64)#664
rdesgroppes merged 4 commits intoDataDog:mainfrom
rdesgroppes:regis.desgroppes/prepare-deployment-of-agent-7.70+-for-macos-on-arm64

Conversation

@rdesgroppes
Copy link
Copy Markdown
Collaborator

@rdesgroppes rdesgroppes commented Jul 23, 2025

This change is meant to take into account how agent deliverables for macOS embed architecture qualifiers (name & metadata) starting from version 7.70 and some of the practical implications.

A word of caution: I'm far from being fluent with ansible, let alone with the local setup and conventions, so the change is unlikely to work out of the box nor to be exhaustive.

Following upstream changes might be of interest to reviewers:

@rdesgroppes rdesgroppes requested review from a team as code owners July 23, 2025 13:15
@rdesgroppes rdesgroppes marked this pull request as draft July 23, 2025 13:15
@rdesgroppes rdesgroppes marked this pull request as ready for review July 23, 2025 14:51
@rdesgroppes rdesgroppes marked this pull request as draft July 25, 2025 14:45
@rdesgroppes rdesgroppes changed the title [ABLD-6] Prepare deployment of Agent v7.70+ for macOS (arm64/x86_64) [ABLD-6][EITOE-2655] Prepare deployment of Agent v7.70+ for macOS (arm64/x86_64) Jul 28, 2025
@rdesgroppes rdesgroppes marked this pull request as ready for review August 8, 2025 16:18
@rdesgroppes rdesgroppes changed the title [ABLD-6][EITOE-2655] Prepare deployment of Agent v7.70+ for macOS (arm64/x86_64) [ABLD-6][EITOE-2820] Prepare deployment of Agent v7.70+ for macOS (arm64/x86_64) Aug 27, 2025
This draft change is meant to share how upcoming agent deliverables for
macOS will embed architecture qualifiers (name & metadata) starting from
version 7.70 and some of the practical implications.

A word of caution: I'm far from being fluent with `ansible`, let alone
with the local setup and conventions, so the change is unlikely to work
out of the box not to be exhaustive.

Following upstream changes might be of interest to reviewers:
- architecture qualifiers:
  - DataDog/omnibus-ruby#240
  - DataDog/agent-release-management#364
- new build for AArch64/ARM64:
  - DataDog/datadog-agent#37676
  - DataDog/agent-release-management#365
@rdesgroppes rdesgroppes changed the title [ABLD-6][EITOE-2820] Prepare deployment of Agent v7.70+ for macOS (arm64/x86_64) [ABLD-27][EITOE-2820] Prepare deployment of Agent v7.70+ for macOS (arm64/x86_64) Oct 7, 2025
@rdesgroppes rdesgroppes changed the title [ABLD-27][EITOE-2820] Prepare deployment of Agent v7.70+ for macOS (arm64/x86_64) [ABLD-27] Prepare deployment of Agent v7.70+ for macOS (arm64/x86_64) Oct 7, 2025
Altogether:
- use method `GET` w/ `return_content: false` instead of `HEAD` (not
  necessarily implemented)
- move `uri`-unsupported `retries` to upper level
- pass `status_code: 200` to populate
  `datadog_macos_agent7_latest_arch_check.status`
- make `ansible-lint` happy (at the expense of readability)
Copy link
Copy Markdown
Contributor

@fanny-jiang fanny-jiang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just needs that one small change. Thanks!

Comment thread tasks/pkg-macos/macos_agent_version.yml Outdated
rdesgroppes and others added 2 commits October 8, 2025 09:31
To prevent an undefined variable error.

Co-authored-by: Fanny Jiang <fanny.jiang@datadoghq.com>
Use a folded block scalar to overcome the 160-char line limitation.
@rdesgroppes rdesgroppes merged commit 6616ffc into DataDog:main Oct 8, 2025
135 checks passed
@rdesgroppes rdesgroppes deleted the regis.desgroppes/prepare-deployment-of-agent-7.70+-for-macos-on-arm64 branch October 8, 2025 08:31
rdesgroppes added a commit that referenced this pull request Oct 8, 2025
After merging #664, I realized the change I introduced to a table could
be misinterpreted as suggesting that users should set
`datadog_agent_major_version` to values like `7.69-` or `7.70+`, when in
fact only `6` or `7` are valid inputs:
>>>
When the variable `datadog_macos_download_url` is not set, the official macOS DMG package corresponding to the `datadog_agent_major_version` is used:

| Agent version         | Default macOS DMG package URL                                   |
|-----------------------|-----------------------------------------------------------------|
| 6                     | https://install.datadoghq.com/datadog-agent-6-latest.dmg        |
| 7.69-                 | https://install.datadoghq.com/datadog-agent-7-latest.dmg        |
| 7.70+ (Intel Mac)     | https://install.datadoghq.com/datadog-agent-7-latest.x86_64.dmg |
| 7.70+ (Apple Silicon) | https://install.datadoghq.com/datadog-agent-7-latest.arm64.dmg  |
>>>

Inspired by its [former
content](https://github.com/DataDog/ansible-datadog/blob/e8eb1616e897639c52260cc801439d5bbe7c43df/README.md#macos),
the proposed table aims at preventing confusion by separating
user-provided configuration values from automatic resolution logic
(where version ranges like `7.69-` or `7.70+` are informational only):
>>>
| Agent version | Default macOS DMG package URL                                                         |
|---------------|---------------------------------------------------------------------------------------|
| 6             | https://install.datadoghq.com/datadog-agent-6-latest.dmg                              |
| 7             | https://install.datadoghq.com/datadog-agent-7-latest.dmg (7.69-)                      |
|               | https://install.datadoghq.com/datadog-agent-7-latest.x86_64.dmg (7.70+, Intel Mac)    |
|               | https://install.datadoghq.com/datadog-agent-7-latest.arm64.dmg (7.70+, Apple Silicon) |
>>>
rdesgroppes added a commit that referenced this pull request Oct 8, 2025
After merging #664, I realized the change I introduced to a table could
be misinterpreted as suggesting that users should set
`datadog_agent_major_version` to values like `7.69-` or `7.70+`, when in
fact only `6` or `7` are valid inputs:

> When the variable `datadog_macos_download_url` is not set, the official macOS DMG package corresponding to the `datadog_agent_major_version` is used:
>
> | Agent version         | Default macOS DMG package URL                                   |
> |-----------------------|-----------------------------------------------------------------|
> | 6                     | https://install.datadoghq.com/datadog-agent-6-latest.dmg        |
> | 7.69-                 | https://install.datadoghq.com/datadog-agent-7-latest.dmg        |
> | 7.70+ (Intel Mac)     | https://install.datadoghq.com/datadog-agent-7-latest.x86_64.dmg |
> | 7.70+ (Apple Silicon) | https://install.datadoghq.com/datadog-agent-7-latest.arm64.dmg  |

Inspired by its [former
content](https://github.com/DataDog/ansible-datadog/blob/e8eb1616e897639c52260cc801439d5bbe7c43df/README.md#macos),
the proposed table aims at preventing confusion by separating
user-provided configuration values from automatic resolution logic
(where version ranges like `7.69-` or `7.70+` are informational only):

| Agent version | Default macOS DMG package URL                                                         |
|---------------|---------------------------------------------------------------------------------------|
| 6             | https://install.datadoghq.com/datadog-agent-6-latest.dmg                              |
| 7             | https://install.datadoghq.com/datadog-agent-7-latest.dmg (7.69-)                      |
|               | https://install.datadoghq.com/datadog-agent-7-latest.x86_64.dmg (7.70+, Intel Mac)    |
|               | https://install.datadoghq.com/datadog-agent-7-latest.arm64.dmg (7.70+, Apple Silicon) |
rdesgroppes added a commit that referenced this pull request Oct 8, 2025
After merging #664, I realized the change I introduced to a table could
be misinterpreted as suggesting that users should set
`datadog_agent_major_version` to values like `7.69-` or `7.70+`, when in
fact only `6` or `7` are valid inputs:

> When the variable `datadog_macos_download_url` is not set, the official macOS DMG package corresponding to the `datadog_agent_major_version` is used:
>
> | Agent version         | Default macOS DMG package URL                                   |
> |-----------------------|-----------------------------------------------------------------|
> | 6                     | https://install.datadoghq.com/datadog-agent-6-latest.dmg        |
> | 7.69-                 | https://install.datadoghq.com/datadog-agent-7-latest.dmg        |
> | 7.70+ (Intel Mac)     | https://install.datadoghq.com/datadog-agent-7-latest.x86_64.dmg |
> | 7.70+ (Apple Silicon) | https://install.datadoghq.com/datadog-agent-7-latest.arm64.dmg  |

Close to its [former
state](https://github.com/DataDog/ansible-datadog/blob/e8eb1616e897639c52260cc801439d5bbe7c43df/README.md#macos),
the proposed table aims at preventing confusion by separating
user-provided configuration values from automatic resolution logic
(where version ranges like `7.69-` or `7.70+` are informational only):

> | Agent version | Default macOS DMG package URL                                                         |
> |---------------|---------------------------------------------------------------------------------------|
> | 6             | https://install.datadoghq.com/datadog-agent-6-latest.dmg                              |
> | 7             | https://install.datadoghq.com/datadog-agent-7-latest.dmg (7.69-)                      |
> |               | https://install.datadoghq.com/datadog-agent-7-latest.x86_64.dmg (7.70+, Intel Mac)    |
> |               | https://install.datadoghq.com/datadog-agent-7-latest.arm64.dmg (7.70+, Apple Silicon) |
@rdesgroppes
Copy link
Copy Markdown
Collaborator Author

rdesgroppes commented Oct 8, 2025

swang392 pushed a commit that referenced this pull request Oct 8, 2025
After merging #664, I realized the change I introduced to a table could
be misinterpreted as suggesting that users should set
`datadog_agent_major_version` to values like `7.69-` or `7.70+`, when in
fact only `6` or `7` are valid inputs:

> When the variable `datadog_macos_download_url` is not set, the official macOS DMG package corresponding to the `datadog_agent_major_version` is used:
>
> | Agent version         | Default macOS DMG package URL                                   |
> |-----------------------|-----------------------------------------------------------------|
> | 6                     | https://install.datadoghq.com/datadog-agent-6-latest.dmg        |
> | 7.69-                 | https://install.datadoghq.com/datadog-agent-7-latest.dmg        |
> | 7.70+ (Intel Mac)     | https://install.datadoghq.com/datadog-agent-7-latest.x86_64.dmg |
> | 7.70+ (Apple Silicon) | https://install.datadoghq.com/datadog-agent-7-latest.arm64.dmg  |

Close to its [former
state](https://github.com/DataDog/ansible-datadog/blob/e8eb1616e897639c52260cc801439d5bbe7c43df/README.md#macos),
the proposed table aims at preventing confusion by separating
user-provided configuration values from automatic resolution logic
(where version ranges like `7.69-` or `7.70+` are informational only):

> | Agent version | Default macOS DMG package URL                                                         |
> |---------------|---------------------------------------------------------------------------------------|
> | 6             | https://install.datadoghq.com/datadog-agent-6-latest.dmg                              |
> | 7             | https://install.datadoghq.com/datadog-agent-7-latest.dmg (7.69-)                      |
> |               | https://install.datadoghq.com/datadog-agent-7-latest.x86_64.dmg (7.70+, Intel Mac)    |
> |               | https://install.datadoghq.com/datadog-agent-7-latest.arm64.dmg (7.70+, Apple Silicon) |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants