Skip to content

Atmos site Telemetry page#1335

Merged
goruha merged 6 commits intoDEV-2965/implement-atmos-telemetryfrom
DEV-2965/telemetry-site-page
Jul 3, 2025
Merged

Atmos site Telemetry page#1335
goruha merged 6 commits intoDEV-2965/implement-atmos-telemetryfrom
DEV-2965/telemetry-site-page

Conversation

@goruha
Copy link
Member

@goruha goruha commented Jun 23, 2025

what

why

  • Be transparent about collecting data

references

Summary by CodeRabbit

  • New Features

    • Introduced anonymous telemetry collection to help improve the product by understanding usage patterns.
    • Added configuration options to enable or disable telemetry and customize the telemetry endpoint and token.
    • Telemetry events include command usage, error reporting, environment, and CI provider detection.
    • One-time disclosure message informs users about telemetry, with special handling for CI environments.
  • Bug Fixes

    • Improved test reliability by ensuring cache files and CI environment variables do not affect test outcomes.
  • Documentation

    • Added a comprehensive documentation page explaining telemetry, what data is collected, privacy assurances, and opt-out instructions.
    • Updated configuration and README documentation to describe telemetry settings and user controls.
  • Tests

    • Added extensive unit and integration tests for telemetry features, including event capture, configuration, disclosure messaging, and environment detection.
  • Chores

    • Updated dependencies and excluded mock files from code coverage calculations.

@goruha goruha requested review from a team as code owners June 23, 2025 21:32
@github-actions github-actions bot added the size/xl Extra large size PR label Jun 23, 2025
@mergify
Copy link

mergify bot commented Jun 23, 2025

Warning

This PR exceeds the recommended limit of 1,000 lines.

Large PRs are difficult to review and may be rejected due to their size.

Please verify that this PR does not address multiple issues.
Consider refactoring it into smaller, more focused PRs to facilitate a smoother review process.

@goruha goruha changed the base branch from main to DEV-2965/implement-atmos-telemetry June 23, 2025 21:33
@goruha goruha added the no-release Do not create a new release (wait for additional code changes) label Jun 23, 2025
@mergify mergify bot added the stacked Stacked label Jun 23, 2025
@goruha goruha added the documentation Improvements or additions to documentation label Jun 23, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jun 23, 2025

Caution

Review failed

Failed to post review comments.

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a9990e9 and 0196e1f.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (25)
  • README.yaml (1 hunks)
  • codecov.yml (1 hunks)
  • go.mod (3 hunks)
  • pkg/config/atmos.yaml (1 hunks)
  • pkg/config/cache.go (3 hunks)
  • pkg/config/load.go (1 hunks)
  • pkg/schema/schema.go (1 hunks)
  • pkg/telemetry/ci.go (1 hunks)
  • pkg/telemetry/ci_test.go (1 hunks)
  • pkg/telemetry/docker.go (1 hunks)
  • pkg/telemetry/docker_test.go (1 hunks)
  • pkg/telemetry/mock/mock_posthog_client.go (1 hunks)
  • pkg/telemetry/mock/mock_telemetry_provider.go (1 hunks)
  • pkg/telemetry/mock/telemetry_client_provider_interface.go (1 hunks)
  • pkg/telemetry/telemetry.go (1 hunks)
  • pkg/telemetry/telemetry_test.go (1 hunks)
  • pkg/telemetry/utils.go (1 hunks)
  • pkg/telemetry/utils_test.go (1 hunks)
  • tests/cli_test.go (4 hunks)
  • tests/snapshots/TestCLICommands_atmos_describe_config.stdout.golden (1 hunks)
  • tests/snapshots/TestCLICommands_atmos_describe_config_-f_yaml.stdout.golden (1 hunks)
  • tests/snapshots/TestCLICommands_atmos_describe_config_imports.stdout.golden (1 hunks)
  • tests/snapshots/TestCLICommands_atmos_describe_configuration.stdout.golden (1 hunks)
  • tests/snapshots/TestCLICommands_indentation.stdout.golden (1 hunks)
  • website/docs/cli/telemetry.mdx (1 hunks)
🧰 Additional context used
📓 Path-based instructions (3)
`pkg/*/*.go`: Organize feature implementations in subdirectories under pkg/ with separate files for each feature.

pkg/*/*.go: Organize feature implementations in subdirectories under pkg/ with separate files for each feature.

  • pkg/config/load.go
  • pkg/schema/schema.go
  • pkg/config/cache.go
  • pkg/telemetry/docker.go
  • pkg/telemetry/docker_test.go
  • pkg/telemetry/telemetry.go
  • pkg/telemetry/ci_test.go
  • pkg/telemetry/utils.go
  • pkg/telemetry/ci.go
  • pkg/telemetry/utils_test.go
  • pkg/telemetry/telemetry_test.go
`website/**`: Keep website code in the website/ directory and follow the existing website architecture and style. Update website documentation in the website/ directory when adding...

website/**: Keep website code in the website/ directory and follow the existing website architecture and style.
Update website documentation in the website/ directory when adding new features.

  • website/docs/cli/telemetry.mdx
`pkg/*/*_test.go`: Include comprehensive unit tests for each feature in corresponding *_test.go files.

pkg/*/*_test.go: Include comprehensive unit tests for each feature in corresponding *_test.go files.

  • pkg/telemetry/docker_test.go
  • pkg/telemetry/ci_test.go
  • pkg/telemetry/utils_test.go
  • pkg/telemetry/telemetry_test.go
🧠 Learnings (1)
pkg/config/load.go (1)
Learnt from: osterman
PR: cloudposse/atmos#1202
File: pkg/utils/yaml_func_exec.go:104-104
Timestamp: 2025-04-23T15:02:50.246Z
Learning: In the Atmos codebase, direct calls to `os.Getenv` should be avoided. Instead, use `viper.BindEnv` for environment variable access. This provides a consistent approach to configuration management across the codebase.
🪛 Gitleaks (8.26.0)
tests/snapshots/TestCLICommands_atmos_describe_config_-f_yaml.stdout.golden

54-54: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)

pkg/config/atmos.yaml

14-14: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.

(generic-api-key)

🪛 LanguageTool
website/docs/cli/telemetry.mdx

[uncategorized] ~56-~56: You might be missing the article “the” here.
Context: ... enabled: false ``` or set environment variable ATMOS_TELEMETRY_ENABLED to `...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[style] ~74-~74: Since ownership is already implied, this phrasing may be redundant.
Context: ...OKENandATMOS_TELEMETRY_ENDPOINT` to your own values ## References - https://posth...

(PRP_OWN)

🪛 golangci-lint (1.64.8)
tests/cli_test.go

[error] 723-723: error is not nil (line 721) but it returns nil

(nilerr)

⏰ Context from checks skipped due to timeout of 90000ms (8)
  • GitHub Check: prepare
  • GitHub Check: Build (macos-latest, macos)
  • GitHub Check: Build (ubuntu-latest, linux)
  • GitHub Check: Build (windows-latest, windows)
  • GitHub Check: Lint (golangci)
  • GitHub Check: Analyze (go)
  • GitHub Check: website-deploy-preview
  • GitHub Check: Summary
🔇 Additional comments (33)
codecov.yml (1)

14-14: Good addition for mock file exclusion.

The new pattern properly excludes mock files from coverage calculations, complementing the existing patterns and aligning with the new telemetry mock implementations.

pkg/telemetry/docker.go (3)

9-17: Well-implemented Docker detection logic.

The approach using /proc/1/cgroup inspection is reliable and the optional filepath parameter enables proper testing. The function correctly handles both Docker and Kubernetes environments.


18-22: Proper error handling for file operations.

Returning false when the cgroup file cannot be accessed is the correct fallback behavior, assuming non-container environment when detection fails.


24-34: Correct container detection logic.

The implementation properly scans for both "docker" and "kubepods" strings, covering Docker containers and Kubernetes pods respectively.

pkg/telemetry/ci.go (5)

16-40: Comprehensive CI provider coverage.

Excellent coverage of major CI providers with clear environment variable mappings. The alphabetical organization makes it maintainable.


43-50: Smart value-based detection approach.

Using specific environment variable values for providers like Codeship and SourceHut is the right approach when existence-based detection isn't sufficient.


53-67: Clean utility functions for environment variable checks.

The helper functions provide clear abstractions and follow the single responsibility principle.


85-114: Essential functionality for test isolation.

The environment preservation functions are crucial for ensuring tests don't interfere with each other. The comprehensive coverage of all CI-related variables is thorough.


133-148: Elegant generic implementation.

The generic function with type constraints is well-designed and ensures consistent alphabetical processing across different data structures.

tests/snapshots/TestCLICommands_atmos_describe_config_-f_yaml.stdout.golden (1)

51-54: Verify the telemetry token is a placeholder.

The telemetry configuration looks correct, but please confirm the token value is a placeholder and not a real PostHog token, even though it appears to be fake.

#!/bin/bash
# Check if this token pattern appears elsewhere in the codebase
rg -A 2 -B 2 "phc_5Z678901234567890123456789012345"

# Search for other PostHog token patterns to ensure consistency
rg -A 2 -B 2 "phc_[A-Za-z0-9]{40}"
tests/snapshots/TestCLICommands_atmos_describe_config_imports.stdout.golden (1)

145-148: Consistent telemetry configuration across test snapshots.

The telemetry settings match the other snapshot file, maintaining consistency in test expectations.

pkg/config/load.go (1)

114-118: 👍 Good addition – env binding wired correctly

Binding the three telemetry env vars keeps configuration consistent with the rest of the loader. No issues spotted.

pkg/schema/schema.go (1)

241-250: Clean telemetry configuration schema design.

The telemetry settings integration follows established patterns with proper struct tags and sensible field types. The placement alongside other settings maintains consistency.

go.mod (1)

63-63: Verify PostHog client version for security and stability.

Ensure the PostHog Go client version v1.5.12 is stable and free from known security vulnerabilities.

Is PostHog Go client version 1.5.12 the latest stable version and are there any known security vulnerabilities?
README.yaml (1)

133-145: Excellent transparency and user control documentation.

The telemetry section provides clear disclosure of data collection practices with straightforward opt-out instructions. The distinction between regular and Pro users regarding workspace ID inclusion is well explained.

pkg/telemetry/mock/telemetry_client_provider_interface.go (1)

1-19: Well-designed mock interface for testability.

The interface provides clean separation between production and test implementations with comprehensive documentation. This supports good dependency injection patterns for reliable testing.

pkg/config/cache.go (1)

19-22: Good cache extension for telemetry state management.

The new fields properly support telemetry functionality with consistent naming and struct tags.

website/docs/cli/telemetry.mdx (1)

58-75: ```shell
#!/bin/bash

Inspect telemetry defaults and environment bindings in pkg/config/load.go

echo "----Relevant section from pkg/config/load.go----"
rg -n "telemetry" -A5 -B5 pkg/config/load.go || true
echo
echo "----Default values (SetDefault) in pkg/config/load.go----"
rg -n "SetDefault" -A2 -B2 pkg/config/load.go || true


</details>
<details>
<summary>pkg/telemetry/docker_test.go (1)</summary>

`14-77`: **Excellent test coverage and structure.**

The test comprehensively covers Docker, Kubernetes, and host environments with proper table-driven testing. Good use of temporary files for simulation and proper cleanup patterns.

</details>
<details>
<summary>tests/cli_test.go (1)</summary>

`595-603`: **Good test isolation improvements.**

The cache cleanup and CI environment variable preservation ensures tests run in isolation without side effects.

</details>
<details>
<summary>pkg/telemetry/mock/mock_telemetry_provider.go (1)</summary>

`1-57`: **Standard GoMock implementation looks correct.**

This is properly generated mock code following GoMock patterns for testing telemetry client creation.

</details>
<details>
<summary>pkg/telemetry/ci_test.go (3)</summary>

`13-248`: **Comprehensive CI provider detection testing.**

Excellent coverage of CI providers and proper environment variable isolation. The test cases cover both existence-based and value-based detection patterns effectively.

---

`251-324`: **Thorough isCI function testing.**

Good coverage of different CI detection scenarios including edge cases with CI=false and provider detection.

---

`326-363`: **Well-structured helper function tests.**

The helper function tests ensure the underlying environment variable utilities work correctly across different scenarios.

</details>
<details>
<summary>pkg/telemetry/telemetry.go (1)</summary>

`54-84`: **Well-designed capture method with proper error handling.**

The Capture method follows excellent patterns:
- Early returns for disabled telemetry/missing token
- Proper client lifecycle management with defer
- Comprehensive error handling and logging
- Clear return semantics

The TODO comment about PostHog Enqueue behavior is helpful for future maintenance.

</details>
<details>
<summary>pkg/telemetry/mock/mock_posthog_client.go (1)</summary>

`1-188`: **Generated mock implementation looks complete.**

This GoMock-generated file properly mocks the PostHog Client interface with all necessary methods. The generation appears correct and comprehensive.

</details>
<details>
<summary>pkg/telemetry/utils.go (2)</summary>

`34-50`: **Clean API design with optional error parameters.**

The variadic error parameter pattern provides a clean API that handles both success and error scenarios elegantly. The implementation correctly extracts the first error when provided.

---

`184-204`: **Excellent generic cache helper implementation.**

The `getOrInitializeCacheValue` function is well-designed with proper generics usage, clear error handling, and graceful degradation when cache operations fail. The function signature and documentation are comprehensive.

</details>
<details>
<summary>pkg/telemetry/telemetry_test.go (2)</summary>

`24-65`: **Comprehensive constructor testing with proper mock setup.**

The test properly verifies all constructor fields and uses appropriate mock expectations (Times(0)) to ensure no unintended method calls during construction.

---

`327-389`: **Excellent PostHog integration test design.**

The integration test cleverly uses mocks to control the flow while delegating to real PostHog clients for actual API interaction. This provides confidence in the integration without external dependencies in the test suite.

</details>
<details>
<summary>pkg/telemetry/utils_test.go (3)</summary>

`22-58`: **Solid configuration consistency testing.**

The test properly verifies that telemetry configuration remains consistent across multiple calls, which is important for ensuring stable behavior in production.

---

`444-470`: **Thorough disclosure message testing.**

The test properly verifies the one-time disclosure behavior by checking both the initial message display and subsequent suppression. The exact string comparison ensures message consistency.

---

`60-107`: **Well-designed telemetry capture testing with environment simulation.**

The test properly simulates CI environment conditions and verifies all telemetry properties are captured correctly. The environment variable management ensures proper test isolation.

</details>

</blockquote></details>
📝 Walkthrough

Walkthrough

This change introduces a comprehensive telemetry system to Atmos, enabling anonymous usage data collection via PostHog. It adds configuration options, detection of various environments (CI, Docker), a disclosure message, and opt-out mechanisms. The update includes code, documentation, tests, configuration, and snapshot adjustments.

Changes

File(s) Change Summary
README.yaml, website/docs/cli/telemetry.mdx Added telemetry documentation and disclosure instructions.
codecov.yml Excluded Go files in any "mock" subdirectory from coverage.
go.mod Added PostHog dependency; updated AWS SDK and added golang-lru.
pkg/config/atmos.yaml, tests/snapshots/TestCLICommands_*.golden Added telemetry section to configuration and updated related test snapshots.
pkg/config/cache.go Extended cache to persist installation ID and telemetry disclosure state.
pkg/config/load.go Bound telemetry config to environment variables.
pkg/schema/schema.go Added TelemetrySettings struct and field to AtmosSettings.
pkg/telemetry/ci.go, pkg/telemetry/docker.go Implemented CI and Docker environment detection utilities.
pkg/telemetry/ci_test.go, pkg/telemetry/docker_test.go Added tests for CI and Docker detection logic.
pkg/telemetry/telemetry.go Introduced Telemetry struct and PostHog integration for event capture.
pkg/telemetry/telemetry_test.go Added unit and integration tests for telemetry capture and error handling.
pkg/telemetry/utils.go Provided public APIs for capturing telemetry, managing disclosure, and cache helpers.
pkg/telemetry/utils_test.go Thoroughly tested telemetry initialization, event capture, opt-out, and disclosure logic.
pkg/telemetry/mock/* Added GoMock-generated mocks for PostHog client and telemetry provider interfaces.
tests/cli_test.go Ensured clean cache and CI environment for CLI tests.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant CLI
    participant Telemetry
    participant PostHog

    User->>CLI: Runs command
    CLI->>Telemetry: CaptureCmd(cmd, err)
    Telemetry->>Telemetry: Load config & cache
    Telemetry->>Telemetry: Detect environment (CI, Docker, etc.)
    Telemetry->>Telemetry: Show disclosure (if needed)
    Telemetry->>PostHog: Send event (if enabled)
    PostHog-->>Telemetry: Ack (or error)
    Telemetry-->>CLI: Return capture result
Loading

Assessment against linked issues

Objective Addressed Explanation
Capture Atmos version, commands, errors, workspace ID, OS, arch, CI provider, Docker, and other environment info (DEV-2965)
No command arguments are logged (DEV-2965)
Extremely short timeout for telemetry (DEV-2965) Timeout is documented as a config field but not implemented in telemetry code.
Opt-out via config and environment variable (DEV-2965)
Configurable endpoint and PostHog token (DEV-2965)
Store anonymous UUID in cache (DEV-2965)
Documentation and disclosure message (DEV-2965)

Assessment against linked issues: Out-of-scope changes

Code Change Explanation
None identified

Suggested labels

no-release

Suggested reviewers

  • osterman
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate Unit Tests
  • Create PR with Unit Tests
  • Post Copyable Unit Tests in Comment
  • Commit Unit Tests in branch DEV-2965/telemetry-site-page

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai auto-generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary or @auto-summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @auto-title anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@codecov
Copy link

codecov bot commented Jun 23, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 53.17%. Comparing base (7171744) to head (83b2c45).
Report is 21 commits behind head on DEV-2965/implement-atmos-telemetry.

Additional details and impacted files
@@                          Coverage Diff                           @@
##           DEV-2965/implement-atmos-telemetry    #1335      +/-   ##
======================================================================
+ Coverage                               50.46%   53.17%   +2.70%     
======================================================================
  Files                                     243      251       +8     
  Lines                                   26116    26650     +534     
======================================================================
+ Hits                                    13179    14170     +991     
+ Misses                                  11308    10804     -504     
- Partials                                 1629     1676      +47     
Flag Coverage Δ
unittests 53.17% <ø> (+2.70%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
goruha and others added 2 commits June 24, 2025 01:00
Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
@goruha goruha merged commit bca4f67 into DEV-2965/implement-atmos-telemetry Jul 3, 2025
44 checks passed
@goruha goruha deleted the DEV-2965/telemetry-site-page branch July 3, 2025 22:41
goruha added a commit that referenced this pull request Jul 4, 2025
* Added initial implementation of telemetry

* [autofix.ci] apply automated fixes

* Fix lint

* Fix lint

* Fix lint

* Fix lint

* Fix lint

* Fix lint

* Fix test

* Fix acceptance tests

* Reduce tests verbosity

* Reduce tests verbosity

* Fix tests

* [autofix.ci] apply automated fixes

* Addded tests

* Added tests for utils

* [autofix.ci] apply automated fixes

* Address comments

* [autofix.ci] apply automated fixes

* Fix tests

* [autofix.ci] apply automated fixes

* DRY

* Split full PR to small PRs

* Split full PR to small PRs

* Split full PR to small PRs

* Fix tests

* Added support CI, docker and Atmos pro

* Reduce public package methods

* [autofix.ci] apply automated fixes

* Added interface to be generated by mock

* [autofix.ci] apply automated fixes

* Address coderabbit comments

* Address coderabbit comments

* [autofix.ci] apply automated fixes

* Fix tests

* Remove telemetry timeout schema

* Remove telemetry timeout schema

* Fix tests

* Fix cache dependent tests

* [autofix.ci] apply automated fixes

* Fix cache dependent tests

* Fix read-only dir testcase

* Fix read-only dir testcase

* Fix tests

* Fix tests

* Fix tests bypassing cache on error

* Fix tests bypassing cache on error

* Fix tests bypassing cache on error

* Added comment

* Added comment

* Added comment

* Address comments

* Address comments

* Address comments

* refactor telemetry provider to use pointer config (#1329)

* Added comments

* Revert disclouser message

* Added disclosure messages

* Added disclosure messages

* Fix accptance tests

* Delete test.log

* Move disclosure message to separate PR

* Move disclosure message to separate PR

* Move disclosure message to separate PR

* Move disclosure message to separate PR

* Regenerate README

* Renew token

* [autofix.ci] apply automated fixes

* Address comments

* Add telemetry to commands (#1360)

* Consolidate cmd telemetry

* [autofix.ci] apply automated fixes

* Update root.go

* Capture commands

* Telemetry - `atmos describe` cmd (#1342)

* Added telemetry to describe commands

* Update TestCLICommands_atmos_describe_config_imports.stderr.golden

* Update TestCLICommands_atmos_describe_configuration.stderr.golden

* Fix tests

* Update describe_component.go

* Update describe_config.go

* Update describe_stacks.go

* Update describe_workflows.go

* Fix tests

* Fix tests

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* Atmos site Telemetry page (#1335)

* Added telemetry site page

* Update website/docs/cli/telemetry.mdx

Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>

* Update website/docs/cli/telemetry.mdx

Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>

* Update website/docs/cli/telemetry.mdx

Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>

* Update website/docs/cli/telemetry.mdx

Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>

* Apply suggestions from code review

Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>

---------

Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>

* Added  telemetry disclosure messages (#1332)

* Added disclosure messages

* Added disclosure messages

* Cherry pick disclosure message

* Fix tests

* Fix tests

* Fix tests

* Improve disclosure messages

* Fix tests

* Fix tests

* [autofix.ci] apply automated fixes

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Erik Osterman (CEO @ Cloud Posse) <erik@cloudposse.com>
This was referenced Sep 6, 2025
@coderabbitai coderabbitai bot mentioned this pull request Oct 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation no-release Do not create a new release (wait for additional code changes) size/xl Extra large size PR stacked Stacked

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants