Releases: newrelic/newrelic-agent-control
1.6.1
What's Changed
- refactor: send slack notification by @danielorihuela in #1948
- feat: oci registry test setup by @danielorihuela in #1915
- fix: opamp endpoint staging by @danielorihuela in #1950
Full Changelog: 1.6.0...1.6.1
1.6.0
What's Changed
- feat: administrator permissions for created files on windows by @alvarocabanas in #1873
- feat(windows): build windows compressed file by @sigilioso in #1860
- feat: restore similar cache when exact match is missing by @danielorihuela in #1875
- test: proxy e2e onhost (NR-480755) by @gsanchezgavier in #1872
- feat(windows): enable more testing surface by @DavSanchez in #1838
- feat: supporting windows in agentTypes by @paologallinaharbur in #1869
- fix: validate AC remote config signature by @gsanchezgavier in #1893
- refactor: status agents field name by @danielorihuela in #1890
- feat: validates all remote configs (NR-490635) by @gsanchezgavier in #1896
- feat: release windows zip by @paologallinaharbur in #1889
- refactor: remove map[string]string by @danielorihuela in #1904
- feat: package parsing on agent types by @alvarocabanas in #1900
- feat: send byof status by @danielorihuela in #1899
- feat(packages): extract zip and tarGz by @paologallinaharbur in #1906
- feat: windows service installation [NR-485539] by @sigilioso in #1880
- feat: set windows directory permissions by @danielorihuela in #1908
- docs: existing flux support by @danielorihuela in #1905
- feat: support sub-agent package and filesystem variables by @DavSanchez in #1911
- feat: support split remote config on agents (NR-490636) by @gsanchezgavier in #1902
- feat: support multi-config parsing for Agent Control (NR-490637) by @gsanchezgavier in #1912
- feat: Oci downloader by @alvarocabanas in #1918
- test: add multiconfig integration tests (NR-490637) by @gsanchezgavier in #1913
- ci: improve host canaries by @DavSanchez in #1917
- fix(canaries): use rate for io alerts by @sigilioso in #1924
- fix(canaries): update bad threshold value by @sigilioso in #1925
- feat(cli): support proxy on infra-agent config [NR-490718] by @sigilioso in #1919
- fix: ignore folder delete test by @danielorihuela in #1929
- fix: cache size in main by @danielorihuela in #1931
- feat: release1.6.0 by @paologallinaharbur in #1932
- feat!: support instrumentation version v1beta2 (NR-478546) by @gsanchezgavier in #1921
- refactor: install rust toolchain composite action by @danielorihuela in #1933
- fix: permissions write for prerelease updalod by @paologallinaharbur in #1935
- fix(uninstall): check flux crds (NR-490719) by @gsanchezgavier in #1940
Full Changelog: 1.5.0...1.6.0
1.5.0
What's Changed
- feat(windows): obtain machine-guid [NR-480703] by @sigilioso in #1809
- fix: rollback test changes and branches from onhost restructure by @vjripoll in #1850
- chore(deps): update dependency helm/helm to v3.19.1 by @renovate[bot] in #1852
- feat: kill process if graceful shutdown fails by @DavSanchez in #1853
- feat: add windows folder structure and funcs to manage it by @vjripoll in #1802
- feat(OpAMP): adding new attributes by @paologallinaharbur in #1811
- test: activate win integration tests by @gsanchezgavier in #1849
- chore: improve const maintainability by @gsanchezgavier in #1835
- chore(deps): update dependency helm/helm to v3.19.2 by @renovate[bot] in #1856
- chore(deps): update dependency helm/helm to v4 by @renovate[bot] in #1859
- fix(deps): update rust crate config to 0.15.19 by @renovate[bot] in #1858
- feat: add logging and nri-docker values to infra_config creation by @alvarocabanas in #1851
- style: log data store interaction by @DavSanchez in #1863
- feat(windows): implement process management 1 by @DavSanchez in #1862
- fix(deps): update rust crate bytes to 1.11.0 by @renovate[bot] in #1864
- fix(deps): update rust crate actix-web to 4.12.0 by @renovate[bot] in #1865
- chore(deps): lock file maintenance by @renovate[bot] in #1866
- chore: simplify PR template by @sigilioso in #1867
- ci(k8s-e2e): free up space in GH runners by @DavSanchez in #1868
- feat: extract admin rights check and do it also for windows by @alvarocabanas in #1861
- chore(deps): update rust crate clap to 4.5.52 by @renovate[bot] in #1870
- chore: bump cargo to 1.5.0 by @alvarocabanas in #1874
Full Changelog: 1.4.0...1.5.0
1.4.0
What's Changed
- fix(deps): update rust crate rustls to 0.23.35 by @renovate[bot] in #1836
- fix(deps): update rust crate ctrlc to 3.5.1 by @renovate[bot] in #1807
- chore(deps): update rust crate assert_cmd to 2.1.1 by @renovate[bot] in #1813
- fix: downgrade otel e2e by @alvarocabanas in #1837
- chore(deps): update dependency go to v1.25.4 by @renovate[bot] in #1839
- fix(deps): update rust crate syn to 2.0.109 by @renovate[bot] in #1840
- chore(deps): update rust crate schemars to 1.1.0 by @renovate[bot] in #1841
- fix: put correct branch for onhost e2e and increase apm retries to 40 by @alvarocabanas in #1842
- feat: minimal
fssupport for Windows by @DavSanchez in #1843 - chore: add app logs to apm tests to improve debugging by @alvarocabanas in #1844
- feat: restructure onhost folders and naming by @vjripoll in #1752
- refactor: unified host fs store by @DavSanchez in #1804
- chore(deps): lock file maintenance by @renovate[bot] in #1824
- fix(deps): update rust crate quote to 1.0.42 by @renovate[bot] in #1845
- fix(deps): update rust crate syn to 2.0.110 by @renovate[bot] in #1846
- chore(deps): lock file maintenance by @renovate[bot] in #1847
- chore: update ac to 1.4.0 by @vjripoll in #1848
Full Changelog: 1.3.1...1.4.0
1.3.1
What's Changed
- test: add infra-agent onhost e2e (NR-480737) by @gsanchezgavier in #1829
- fix: nrdot onhost agent by @gsanchezgavier in #1832
- style: uniform target family conditional compilation by @DavSanchez in #1831
- feat(on-hots-cli): support empty proxy on config generation by @sigilioso in #1834
Full Changelog: 1.3.0...1.3.1
1.3.0
What's Changed
- fix(deps): update rust crate syn to 2.0.108 by @renovate[bot] in #1795
- fix(ci/cd): tag packages in a deterministic way by @paologallinaharbur in #1796
- chore: remove Limited Preview from package description by @DavSanchez in #1797
- fix(config_migrate): logs were disabled by @DavSanchez in #1792
- chore(deps): lock file maintenance by @renovate[bot] in #1800
- chore: stop packaging newrelic-authr-rs-cli for linux [NR-475245] by @sigilioso in #1798
- test: local repo onhost e2e by @gsanchezgavier in #1794
- chore: move recipes branch to main by @sigilioso in #1801
- chore(deps): update dependency newrelic/infrastructure-agent to v1.71.0 by @renovate[bot] in #1803
- feat: onhost supervisor remove condvar approach by @danielorihuela in #1782
- chore(deps): update rust crate assert_cmd to 2.1.0 by @renovate[bot] in #1808
- fix: isolate build package artifacts by @gsanchezgavier in #1810
- chore(deps): update rust crate clap to 4.5.51 by @renovate[bot] in #1812
- test: fix tls timeout host e2e by @gsanchezgavier in #1814
- feat: ansible puppet and chef e2e tests by @alvarocabanas in #1819
- fix(deps): update rust crate console-subscriber to 0.5.0 by @renovate[bot] in #1818
- chore(deps): update rust crate konst to 0.4.3 by @renovate[bot] in #1822
- chore(deps): update rust crate schemars to 1.0.5 by @renovate[bot] in #1823
- feat: add new host_monitoring cli creating infra-agent config by @alvarocabanas in #1806
- chore: release 1.3.0 by @alvarocabanas in #1827
Full Changelog: 1.2.0...1.3.0
1.2.0
What's Changed
- fix(canaries): do not append content to service conf file by @DavSanchez in #1757
- chore(deps): update rust crate regex to 1.12.1 by @renovate[bot] in #1758
- chore(deps): lock file maintenance by @renovate[bot] in #1759
- chore: remove outdated comment by @danielorihuela in #1760
- chore(deps): update rust crate regex to 1.12.2 by @renovate[bot] in #1762
- chore(deps): update rust crate reqwest to 0.12.24 by @renovate[bot] in #1763
- chore(deps): update rust crate clap to 4.5.49 by @renovate[bot] in #1764
- chore: simplify Agent Control error by @sigilioso in #1755
- chore(deps): update dependency go to v1.25.3 by @renovate[bot] in #1765
- feat: type-driven agent rendering by @DavSanchez in #1749
- chore(deps): update dependency newrelic/newrelic-auth-rs to v0.0.11 by @renovate[bot] in #1768
- fix(deps): update rust crate nr-auth to v0.0.11 by @renovate[bot] in #1769
- refactor: build specific cli for k8s [NR-475245] by @sigilioso in #1766
- feat: add on-host cli scaffolding [NR-475245] by @sigilioso in #1770
- fix(deps): update rust crate tokio to 1.48.0 by @renovate[bot] in #1771
- fix(deps): update rust crate cfg-if to 1.0.4 by @renovate[bot] in #1772
- fix(comment): the label is not useless by @paologallinaharbur in #1774
- chore(deps): update rust crate httpmock to 0.8.2 by @renovate[bot] in #1778
- fix(deps): update rust crate rustls to 0.23.33 by @renovate[bot] in #1780
- fix(deps): update rust crate syn to 2.0.107 by @renovate[bot] in #1783
- chore(deps): lock file maintenance by @renovate[bot] in #1784
- chore(deps): update rust crate clap to 4.5.50 by @renovate[bot] in #1786
- chore(deps): update dependency newrelic/infrastructure-agent to v1.70.0 by @renovate[bot] in #1787
- Feat/windows get host name by @paologallinaharbur in #1781
- feat(windows): add basic unit tests by @paologallinaharbur in #1788
- feat: add config generator to host cli [NR-475245] by @sigilioso in #1779
- fix(deps): update rust crate rustls to 0.23.34 by @renovate[bot] in #1791
- chore(delete): restart_exit_codes feature by @paologallinaharbur in #1790
- feat: package onhost agent-control-cli [NR-475245] by @sigilioso in #1789
- chore(deps): update dependency newrelic/newrelic-auth-rs to v0.1.1 by @renovate[bot] in #1775
- chore: bump agent-control version by @sigilioso in #1793
Full Changelog: 1.1.0...1.2.0
1.1.0
Breaking changes (Host-only)
Warning
This breaking change only impacts host setups. If you use Agent Control on Kubernetes there's no breaking change.
Host-based agent type definitions
The variable types file and map[string]file have been removed and the agent types for the Infrastructure Agent and the OpenTelemetry Collector have been updated to account for this change.
Now the two agent types use yaml and map[string]yaml (a newly introduced variable type) respectively for the variables that used the removed types. This means that previous configurations that relied on these variables having the content as a string might stop working properly if you update Agent Control for on-host.
Migrating
Most probably, you will only need to remove the | at the beginning of the config variable value (which delimited a YAML block string) to pass pure YAML content instead. See the examples below for the changes:
Example of migrating configs for the Infrastructure Agent
Old config
Note how the three variables (config_agent, config_integrations, config_logging) contain strings.
config_agent: |+
enable_process_metrics: false
status_server_enabled: true
status_server_port: 18003
license_key: {{NEW_RELIC_LICENSE_KEY}}
config_integrations:
docker-config.yml: |
integrations:
- name: nri-docker
when:
feature: docker_enabled
file_exists: /var/run/docker.sock
interval: 15s
config_logging:
discovered.yml: ""
logging.yml: |
logs:
- name: alternatives.log
file: /var/log/alternatives.log
attributes:
logtype: linux_alternatives
- name: cloud-init.log
file: /var/log/cloud-init.log
attributes:
logtype: linux_cloud-initNew config
Note how the three variables (config_agent, config_integrations, config_logging) now use pure YAML content.
NOTE: If you use the special syntax for interpolating environment variables on the Infrastructure Agent config you will have to quote it or the YAML format will break. The example below exposes how to do so.
config_agent:
enable_process_metrics: false
status_server_enabled: true
status_server_port: 18003
license_key: "{{NEW_RELIC_LICENSE_KEY}}" # Note the quoting!
config_integrations:
docker-config.yml:
integrations:
- name: nri-docker
when:
feature: docker_enabled
file_exists: /var/run/docker.sock
interval: 15s
config_logging:
discovered.yml: {}
logging.yml:
logs:
- name: alternatives.log
file: /var/log/alternatives.log
attributes:
logtype: linux_alternatives
- name: cloud-init.log
file: /var/log/cloud-init.log
attributes:
logtype: linux_cloud-initDiff
-config_agent: |+
+config_agent:
enable_process_metrics: false
status_server_enabled: true
status_server_port: 18003
- license_key: {{NEW_RELIC_LICENSE_KEY}}
+ license_key: "{{NEW_RELIC_LICENSE_KEY}}" # Note the quoting!
config_integrations:
- docker-config.yml: |
+ docker-config.yml:
integrations:
- name: nri-docker
when:
feature: docker_enabled
file_exists: /var/run/docker.sock
interval: 15s
config_logging:
- discovered.yml: ""
- logging.yml: |
+ discovered.yml: {}
+ logging.yml:
logs:
- name: alternatives.log
file: /var/log/alternatives.log
attributes:
logtype: linux_alternatives
- name: cloud-init.log
file: /var/log/cloud-init.log
attributes:
logtype: linux_cloud-initExample of migrating configs for the New Relic Distribution for the OpenTelemetry Collector
Old config
Note the variable config contains a string.
config: |
# The following environment variables require manual modification:
# - NEW_RELIC_LICENSE_KEY: New Relic ingest key.
# If the collector is not installed through a package manager, the following
# environment variables need to be set:
# - NEW_RELIC_MEMORY_LIMIT_MIB: Maximum amount of memory to be used. (default: 100)
# - OTEL_EXPORTER_OTLP_ENDPOINT: New Relic OTLP endpoint to export metrics to (see: https://docs.newrelic.com/docs/opentelemetry/best-practices/opentelemetry-otlp/)
# Keep host monitoring configuration in sync with: https://github.com/newrelic/newrelic-opentelemetry-examples/blob/main/other-examples/collector/host-monitoring/k8s/collector.yaml
exporters:
logging:
otlphttp:
endpoint: ${OTEL_EXPORTER_OTLP_ENDPOINT}
headers:
api-key: ${NEW_RELIC_LICENSE_KEY}New config
Note how the variable config now uses pure YAML content.
config:
# The following environment variables require manual modification:
# - NEW_RELIC_LICENSE_KEY: New Relic ingest key.
# If the collector is not installed through a package manager, the following
# environment variables need to be set:
# - NEW_RELIC_MEMORY_LIMIT_MIB: Maximum amount of memory to be used. (default: 100)
# - OTEL_EXPORTER_OTLP_ENDPOINT: New Relic OTLP endpoint to export metrics to (see: https://docs.newrelic.com/docs/opentelemetry/best-practices/opentelemetry-otlp/)
# Keep host monitoring configuration in sync with: https://github.com/newrelic/newrelic-opentelemetry-examples/blob/main/other-examples/collector/host-monitoring/k8s/collector.yaml
exporters:
logging:
otlphttp:
endpoint: ${OTEL_EXPORTER_OTLP_ENDPOINT}
headers:
api-key: ${NEW_RELIC_LICENSE_KEY}Diff
-config: |
+config:
# The following environment variables require manual modification:
# - NEW_RELIC_LICENSE_KEY: New Relic ingest key.
# If the collector is not installed through a package manager, the following
# environment variables need to be set:
# - OTEL_EXPORTER_OTLP_ENDPOINT: New Relic OTLP endpoint to export metrics to (see: https://docs.newrelic.com/docs/opentelemetry/best-practices/opentelemetry-otlp/)
# Keep host monitoring configuration in sync with: https://github.com/newrelic/newrelic-opentelemetry-examples/blob/main/other-examples/collector/host-monitoring/k8s/collector.yaml
exporters:
logging:
otlphttp:
endpoint: ${OTEL_EXPORTER_OTLP_ENDPOINT}
headers:
api-key: ${NEW_RELIC_LICENSE_KEY}The configuration templates have been updated in the Fleet Control UI guiding new configurations to use the updated formats.
Rationale
The general usage of these variables (rendering the string contents by writing to the file system and getting the resulting path) is superseded by the addition of a filesystem field for an agent type's on_host deployment that defines what filesystem entries (i.e. directories with files) to create. To support typical use cases, the variable type map[string]yaml has been introduced. See the filesystem section in INTEGRATING_AGENTS.md for details.
What's Changed
- test: add default image tags to k8s e2e by @gsanchezgavier in #1717
- feat: add public key url to examples by @danielorihuela in #1710
- chore(license): updated by @paologallinaharbur in #1722
- docs: capitalize Agent Control in README.md by @DavSanchez in #1721
control/pull/1723 - fix(e2e): add pub key url by @gsanchezgavier in #1734
- feat: report cd chart version in effective config by @danielorihuela in #1731
- chore: disable remote updates for e2e by default [NR-469778] by @sigilioso in #1735
- feat: improve wrong version error message by @danielorihuela in #1733
- feat: cleanup err messages [NR-369541] by @sigilioso in #1736
- fix: add more logs to http client by @vjripoll in #1712
- docs: update by @danielorihuela in #1740
- feat: directory support, map[string]yaml var type, migration by @DavSanchez in #1685
- feat(config-migrate): couple to infra-agent agent type, simplify by @DavSanchez in #1640
- chore: remove certificate validator by @gsanchezgavier in #1730
- fix: validate if agent-id collides with release-name by @sigilioso in #1742
- fix: correct variable ame for Flux weekly tests by @alvarocabanas in #1720
- test: run k8s integration test in parallel by @gsanchezgavier in #1747
- fix: infra config value quoting by @DavSanchez in #1746
- chore: rename NRDOT agent type by @DavSanchez in #1745
- refactor: remove file vartypes and ConfigurationPersister b...
1.0.0
What's Changed
- feat: on host filesystem setup by @DavSanchez in #1610
- chore: fix repository endpoint on pre-release by @gsanchezgavier in #1646
- style: rename filesystem path to relative_path by @DavSanchez in #1648
- style: rename sub-agent autogenerated dir namespaced variable by @DavSanchez in #1647
- fix(tests): default value for fake-server healthiness by @sigilioso in #1654
- feat(test): extend tools to easily support multiple executables by @sigilioso in #1607
- feat(signature): change default endpoint by @paologallinaharbur in #1679
- refactor(signatures): add abstraction to support new implementation [NR-462129] by @sigilioso in #1684
- feat: support signature-algorithms in verifier by @sigilioso in #1686
#1689 - feat: rename agent-control chart to agent-control-bootstrap by @alvarocabanas in #1680
- feat(validator): first implementation by @paologallinaharbur in #1687
- chore(signature): simplify verifier by @paologallinaharbur in #1692
- chore(regex): remove broken regex by @paologallinaharbur in #1694
- feat: change error message when executable fails to start by @danielorihuela in #1641
- feat: add public key signature validation (NR-462127) by @gsanchezgavier in #1695
- feat: update signature on OpAMP integration tests by @sigilioso in #1693
- fix: onhost canaries by @alvarocabanas in #1688
- feat: improve signature logs and errors by @sigilioso in #1700
- feat: remove duplicate logs by @gsanchezgavier in #1701
- feat: support initial-delay for k8s version checker [NR-465311] by @sigilioso in #1702
- fix: align remote config digest signature by @paologallinaharbur in #1704
- fix: transform payload to sha256 digest only for public key validator by @DavSanchez in #1711
- fix: revise memoryResidentSizeBytes onhost alert threshold by @alvarocabanas in #1713
- feat: support multiple configs (NR-424837) by @gsanchezgavier in #1708
- fix(tests): typo in config and e2e tests by @paologallinaharbur in #1714
- chore(1.0.0): update release version by @paologallinaharbur in #1718
Full Changelog: 0.49.0...1.0.0
0.49.0
What's Changed
- ci: group required jobs, add
alls-greenby @DavSanchez in #1590 - feat(logs): support json formatter [NR-444439] by @sigilioso in #1589
- chore(docs): udapate configuration docs [NR-444502] by @sigilioso in #1596
- test: improve k8s e2e troubleshooting logs by @gsanchezgavier in #1594
- chore(tiltfiles): quote feature branch by @sigilioso in #1597
- fix(deps): update rust crate x509-parser to 0.18.0 by @renovate[bot] in #1601
- fix(deps): update rust crate config to v0.15.15 by @renovate[bot] in #1600
- chore(deps): update rust crate tracing-subscriber to v0.3.20 [security] by @renovate[bot] in #1599
- chore(deps): update dependency newrelic/infrastructure-agent to v1.67.3 by @renovate[bot] in #1603
- test(flux-upgrade): check cd-chart-version is updated by @sigilioso in #1605
- docs: ac remote update by @danielorihuela in #1595
- chore(deps): update rust crate clap to v4.5.47 by @renovate[bot] in #1608
- feat: add ebpf on_host deployment agent type (NR-438912) by @gsanchezgavier in #1604
- chore: remove unused code by @gsanchezgavier in #1614
- fix: enum size issues with
Box, bump Rust version by @DavSanchez in #1616 - chore(logs): improve log messages [NR-457551] by @sigilioso in #1613
- chore(refactor): simplify agent-control command by @sigilioso in #1617
- refactor: type-safe sub-agent ID by @DavSanchez in #1618
- fix(deps): update rust crate ctrlc to v3.5.0 by @renovate[bot] in #1622
- chore(deps): lock file maintenance by @renovate[bot] in #1624
- docs: add error tips by @danielorihuela in #1621
- chore(unix): explicity targeting os family in code by @paologallinaharbur in #1628
- chore: use new fleets for onhost and k8s e2e by @sigilioso in #1627
- test(onhost e2e): run e2e locally (NR-438913) by @gsanchezgavier in #1625
- chore(deps): bump k8s related dependencies by @sigilioso in #1630
- feat: dynamic version check by @danielorihuela in #1611
- chore(deps): update rust crate chrono to v0.4.42 by @renovate[bot] in #1629
- fix: delete unused urls for embedded packages by @vjripoll in #1609
- fix(test): fix flux upgrade flaky test by @sigilioso in #1633
- test: add onhost eBPF e2e test (NR-438913) by @gsanchezgavier in #1631
- Nr 438909 multi binary health by @alvarocabanas in #1615
- chore(deps): update rust crate tempfile to v3.22.0 by @renovate[bot] in #1635
- fix(test): fix ebpf chart version for k8s e2e by @sigilioso in #1637
- feat(windows): build step by @paologallinaharbur in #1632
- chore(deps): update rust crate rcgen to v0.14.4 by @renovate[bot] in #1638
- chore(hostname): align implementation by @paologallinaharbur in #1639
- feat(permissions): remove arg by @paologallinaharbur in #1634
- chore(deps): update dependency helm/helm to v3.19.0 by @renovate[bot] in #1644
- chore(testingEnv): saving resources by @paologallinaharbur in #1643
- fix: remove support for None backoff policy by @sigilioso in #1642
- feat: check version ebpf on host by @gsanchezgavier in #1645
Full Changelog: 0.48.0...0.49.0