Change logs for Rudder 7.0

[Private] Rudder 7.0.0.beta1 (2021-09-08)

Changes

This version is only available for extended support subscription

Packaging

  • Package db initialisation script with webapp (#19845)

  • Remove rudder-init.sh link (#19847)

  • Remove check-rudder-agent (#19811)

  • Remove slapd pre-systemd migration logic (#19754)

  • Remove useless log messages from packages scripts (#19749)

  • Harden LDAP hardening compiler options (#19647)

  • CFEngine 3.18 LTS on 7.0 (#19483)

  • Add debian 11 support (#19332)

  • Remove C client build (#19289)

  • Remove unused relay dependencies (#19106)

  • Add cross compile option to agent build (#19098)

  • Add rudder-api-client as a dependency on rudder server (#19060)

  • Package network client on Unix agent (#18974)

  • Embed rudder version into packages (#18932)

  • Remove upgrade path from 5.0 and before (#18917)

  • Remove rsyslog dependency from 7.0 (#18144)

  • Embed augeas in the agent 7.0 and later (#18615)

  • Require at least postgresql 9.6 in 7.0 (#18145)

  • Makefile should fail if no rudder version is provided (#18007)

  • Use rpm %{make} instead of make (#17984)

  • Create a configure to make the agent package (#17941)

  • rudder package makefile should not install things on the system (#17291)

  • Move SELinux policy application into postinst script (#19746)

  • Redirect everything to https (#19733)

  • Update elm to 0.19.1 (#19658)

  • Update Rust to 1.54.0 (#19626)

  • Use Rust 1.51.0 (#19080)

  • Add windows support to http client build (#19046)

  • Build client everywhere (#19007)

  • update rust to stable (1.47) (#18455)

System integration

  • Graceful restart should not wait for 10s (#19035)

  • Remove server roles in webapp and add support for remote postgres (#19625)

Security

  • Improve hardening flags for our C dependencies (#13812)

  • Force TLS 1.2+ in cf-serverd config (#19780)

Documentation

  • Prepare doc for 7.0 (#19842)

  • Add a link to rudder-lang doc in reference manual (#18992)

  • Add lato font to the docs (#19796)

  • Make 7.0 doc build properly (#19791)

  • Add new rudder agent output to release notes (#19475)

  • Update build documentation for 7.0 (#19347)

  • Add a rudder-by-example for post-provisionning reboot (#18074)

  • Build 6.2 embedded doc (#17962)

  • Update doc for new versioning policy (#17147)

  • Rename master branch doc to 6.2 (#17210)

  • New logo for 7.0 (#19837)

  • API documentation for secret variable feature (#19730)

  • New style for language doc (#19805)

  • New style for API docs (#19794)

  • 7.0 has API version 14 (#19793)

  • Add typos check to CI config (#19328)

  • Add an arch doc for certificate changes in 7.0 (#19126)

  • Add rudder-lang publication to Jenkinsfile (#19195)

Web - UI & UX

  • Display number of techniques in the editor (#19913)

  • Update the favicon with the new logo (#19838)

  • Replace the main colours of the interface with those of the new graphic charter (#19809)

  • Update Rules UI (#18264)

  • Make an onboarding wizard in Elm (#18853)

  • Port technique editor in elm (#18953)

  • Upgrade js dependencies to latest version (#18720)

Plugins integration

  • Secrets variables event log (#19646)

  • Make rudder package command use version files (#19476)

  • Adapt rudder package to support new versionning scheme (#18557)

Relay server or API

  • Improve relayd compilation time by 30-40% (#19834)

  • nom 7.0 (#19832)

  • Warn in check config when relayd has an insecure configuration (#19784)

  • Store hashes as bytes (#19528)

  • Update relayd to tokio 1.0 (#18818)

  • Replace stats API by a prometheus endpoint (#18781)

  • Update relayd to tokio 0.2 (#16477)

Web - Maintenance

  • Update certificate validation setting for 7.0 (#19652)

Architecture - Dependencies

  • Update all java dependencies to latests version for Rudder 7.0 (#19612)

  • Upgrade to ZIO 1.0.1 (#18149)

Web - Config management

  • Add a way to disable/enable reporting of a method in technique editor (#19558)

  • Be able to group reporting and methods so that we have clearer techniques and a better reporting (#19323)

  • Move allowed network data to settings (#18730)

  • Use rudderc to compile technique from the editor instead of rudder logic (#19061)

  • Add HTTPS_POLICY_DISTRIBUTION_PORT system variable (#19259)

  • Directly generate policies with correct rights (#18375)

Language

  • Fix language documentation (#19472)

  • Add a lint option to rudderc (#19471)

  • Rename rudder language and extension (#19468)

  • Enable language tests (#19207)

  • replace library metadata by is_dependency based on cli parameters (#19048)

  • add a metadata to generated lib to link deprecated gms to rebranded ones (#18782)

  • DSC: implement diff checker and fix generator (#18566)

  • handle resources that do not have particular state (#18670)

  • impl exception for condition resource conditions (#18450)

  • update backtrace with better performance in parser (#18484)

  • add backtrace to parser (#18478)

  • upgrade testing loop to match new actions and dsc integration (#18300)

  • refactoring DSC generator (#18119)

  • internally use a more secured version type for techniques version (#18275)

  • Split Number in Integer and Float (#18138)

  • command line rework (#18168)

  • Add tests to ir (#18161)

  • Rename ast to IR ans split it (#18152)

  • Implement resource level variables (#18136)

  • Implement case within variable declaration (#18105)

  • Order states in rl doc (#18135)

  • Improve stdlib doc generation (#18129)

  • cargo fmt (#18121)

  • Technique from AST (#18096)

  • remove cf-monitord variables (#18116)

  • update json tests and doc to match new format (#18095)

  • impl serialized Technique struct (#18067)

  • Generate documentation for the stdlib (#18088)

  • move toml data into rudderlang stdlib (#18081)

  • Switch rudder-lang metadata format to toml (#18075)

  • Minor rudder-lang doc fixup (#18071)

  • Parse log_* keywords (#18069)

  • Add source information in enum expression (#18068)

  • Add proper generation for log and fail methods in CFEngine (#18066)

  • add a backtrace option for error handling (#17994)

  • Fix warnings and update dependencies (#18064)

  • Display rudder-lang source in cfengine comments (#18063)

  • Add a source context to statements (#18062)

  • Add na reporting to CFEngine generator (#17955)

  • Switch to nom_locate 2 (#18051)

  • tests clean 2 (#18047)

  • make use of conditional and flow statements for dsc (#17904)

  • clean tests (#18042)

  • differenciate classic and dsc generic methods (#17821)

  • differenciate classic and dsc generic methods (#17821)

  • Improve CFEngine code generation (#17925)

  • Improve CFEngine code generation (#17925)

  • dsc integration (#17585)

  • fix fmt and warnings (#17796)

API

  • Directive tree API (#19440)

  • Remove unused API setting use_reverse_dns (#19236)

Architecture - Refactoring

  • Test zio-json in place of lift-json (#18879)

System techniques

  • Remove CFEngine enterprise specific policies (#19827)

  • Only reload relayd when a restart is not needed (#19704)

  • Force TLS 1.2 in all CFEngine communication (#19634)

  • Remove automatic roles management (#19541)

  • Use agent certificate in place of rudder.crt (#19496)

  • Call common client to speak http with the server (#19179)

  • Remove most absolute hardcoded path in the bundle common g (#19050)

  • homogenize class parameters names and descriptions for each resource (#18439)

Techniques

  • Read nodecerts.pem on simple relayd (#19681)

Miscellaneous

  • Refactor the system techniques by component (#19037)

Agent

  • Improve agent commands output (#19778)

  • Add certificate pinning information to rudder agent info output (#19623)

  • Add proxy and port change support to rudder agent (#19205)

  • Add proxy and port configuration to https client (#19515)

  • Rudder agent log and history are missing options (#19423)

  • Add rudder http client to rudder agent (#19178)

  • Use embedded version file in rudder agent version (#19155)

  • Add a CN to our agent certificate (#18808)

Generic methods

  • Sync masterfiles with 3.18.0 upstream (#19484)

Bug fixes

Agent

  • Fixed: Error in agent about empty file backup (#19830)

  • Fixed: rudder-agent-postinst fails in 7.0 while closing fd (#19429)

  • Fixed: run inventory should not include /etc/profile (#18026)

  • Fixed: rudder packages refuses to install -SNAPSHOT plugins (#19690)

  • Fixed: Client fails to validate certs on some systems (#19101)

  • Fixed: Add tests for Rudder client (#18998)

  • Fixed: Implement missing calls in network client (#18976)

  • Fixed: Add a curl/openssl wrapper for sending file to policy server without validating host (#18844)

  • Fixed: rudder-agent check sleep and process pile-up (#16859)

  • Fixed: Stop using removed system API (#19825)

  • Fixed: server key reste should also remove HTTP pin (#19783)

  • Fixed: Wrong variable name for server key hash (#19619)

  • Fixed: Inventory fails because rudder-client fails because it needs /opt/rudder/etc/agent.conf (#19583)

  • Fixed: /opt/rudder/share/lib/common.sh fails when the api-token file does not exist (#19563)

Packaging

  • Fixed: Remove rudder-root-rename from webapp package (#19812)

  • Fixed: default cron contains a mustache variable (#19668)

  • Fixed: Add /var/rudder/lib/ssl to agent package (#19638)

  • Fixed: webapp package depends on rust (#19393)

  • Fixed: rsync is a build dependency (#19387)

  • Fixed: Remove build of tomlc99 (#19373)

  • Fixed: rpm-build is a build dependency on sles 12 (#19325)

  • Fixed: Fusion rudder agent certificate patch fails on windows (#19309)

  • Fixed: Rudder 7.0 fails to build when not run from build-task script (#19291)

  • Fixed: embedded version file is not complete (#19154)

  • Fixed: versions file doesn’t contain any commit (#19055)

  • Fixed: init script present on systemd systems (#19054)

  • Fixed: rpmvercmp is missing in 7.0 package (#19053)

  • Fixed: Wrong dependency on augeas (#19052)

  • Fixed: Rudder 7.0 fails to build (#19002)

  • Fixed: %make macro doesn’t exist in rpmbuild (#18996)

  • Fixed: Regenerate Makefile for new dependency (#18949)

  • Fixed: create migration script to remove index on keyvalue (#18111)

  • Fixed: syntax error in solaris package script for 6.2 (#18005)

  • Fixed: Update openssl embedded in relayd to 1.1.1l (#19856)

  • Fixed: Refactor apache configs (#19821)

  • Fixed: Missing changes in SELinux configuration (#19736)

  • Fixed: Missing nodescerts.pem during postinst (#19710)

  • Fixed: warning when upgrading from 7.0 nightly to 7.0 nightly (#19649)

  • Fixed: Fix certificate configuration for httpd (#19504)

  • Fixed: Missing folder exclusion in shell tests (#19265)

  • Fixed: Do not pass xFLAGS as environment (#19012)

System integration

  • Fixed: Fusion inventory cannot read text files that contain BOM (#19315)

  • Fixed: Missing default value for HTTPS port (#19416)

  • Fixed: Warning: Nashorn engine is planned to be removed from a future JDK release (#14753)

  • Fixed: Warning: Nashorn engine is planned to be removed from a future JDK release (#14753)

  • Fixed: rudder agent run does not actually send the inventory (#19594)

Documentation

  • Fixed: Error when building dev site (#18373)

  • Fixed: Rudderify doc rudder-lang doc theme (#18991)

  • Fixed: Symlink to rudder-api-client is not documented to use rtf (#18947)

  • Fixed: Fix doc title level (#19473)

Miscellaneous

  • Fixed: wrong option name in rudder package command (#19923)

  • Fixed: Filter on generic methods name should not be case sensitive (#19565)

  • Fixed: Specify relayd as user agent (#19232)

Web - UI & UX

  • Fixed: Saving groups in the rules UI is broken (#19881)

  • Fixed: Refresh the list of Rules after saving (#19743)

  • Fixed: there is no indication on column sorting in nodes table in rudder 7.0 (#19666)

  • Fixed: Display of configuration of nodes table column is not great in 7.0 (#19665)

  • Fixed: typo in onboarding program for metrics (#19682)

  • Fixed: JS error while initializing Elm app since we upgrade elm to 0.19.1 (#19662)

  • Fixed: Broken group properties (#19654)

  • Fixed: Multiples UI error on 7.0 (#19562)

  • Fixed: all small icons are broken in 7.0 (#19620)

  • Fixed: Rename settings menu to administration (#19617)

  • Fixed: Display of DataTables' pagination buttons is broken. (#18881)

  • Fixed: Upgrade font awesome to latest version (#18728)

  • Fixed: Group property inherited tooltip is not visible (#17546)

Web - Technique editor

  • Fixed: disable reporting option is not saved in technique editor (#19719)

  • Fixed: Technique editor allows empty technique name (#19865)

  • Fixed: documentation of generic methods is broken in 7.0 - and t cannot be selected / copy/pasted (#19717)

  • Fixed: minor & major versions for conditions don’t work in technique editor in rudder 7 (#19718)

  • Fixed: On technique editor, the Categories section doesnt look great (#19714)

  • Fixed: The information pointer on generic method doesn’t display information (#19819)

  • Fixed: generic method group link has the wrong cursor (#19818)

  • Fixed: result condition are canonifying variables (#19776)

  • Fixed: Saving a technique fails when a resource was unchanged (should be untouched) (#19802)

  • Fixed: copy to clipboard button of resource in Technique editor doesn’t copy to clipboard (#19801)

  • Fixed: result condition in the technique editor are wrong (#19773)

  • Fixed: generated bundle name of technique is invalid, as it is postfixed by _technique (#19739)

  • Fixed: Add timing logger to technique editor (#19748)

  • Fixed: technique editor uses .rl extension instead of .rd (#19697)

  • Fixed: technique editor uses too many quotes to calls rudderc (#19694)

  • Fixed: "reporting based on" is duplicated on component (#19605)

  • Fixed: error getting techniques when coming back on technique page (#19600)

Plugins integration

  • Fixed: Rudder package should accept plugins with same minor version, not just patch version (#19868)

  • Fixed: rudder-pkg version parsing does not support version numbers containing a git hash (#19413)

  • Fixed: rudder package should now look for rpkg.index in the dedicated plugin repository instead of its root (#18829)

Web - Config management

  • Fixed: When we delete a directive, it’s not removed from the rules (#19786)

  • Fixed: importing directives from rudder 6.2 breaks everything in 7.0 (#19892)

  • Fixed: Saving a rule with deleted directives/groups does not correct it (#19873)

  • Fixed: When we save a rule, the directives are not saved (#19744)

  • Fixed: node properties writen in policies is invalid (#19723)

  • Fixed: versionning is too technical on the directive tree (#19609)

  • Fixed: Broken pom after merge (#19180)

  • Fixed: Add empty technique parameter in technique editor (7.0) (#19123)

Performance and scalability

  • Fixed: debug_timing debug log is polluted by cache last run hashmap (#19894)

Language

  • Fixed: rudderc fails to read blocks in techniques (#19858)

  • Fixed: language cannot use resource parameter (#19855)

  • Fixed: cli tests are ignored in rudderc (#19725)

  • Fixed: rudderc adds .rd to every files it generates (#19724)

  • Fixed: rudderc cannot save technique editor data (#19695)

  • Fixed: language tests fail (#19692)

  • Fixed: Language tests ignore method unique id (#19691)

  • Fixed: Missing lint section in rudderc config file (#19588)

  • Fixed: cis technique compiler fixes (#19009)

  • Fixed: Properly locate entity errors if the source has metadatas attached (#18669)

  • Fixed: ensure state definitions include specific metadatas (#19043)

  • Fixed: ensure state definitions include specific metadatas (#19043)

  • Fixed: Rudder-lang doc misses a mkdir (#18990)

  • Fixed: condition_from fix (#18895)

  • Fixed: handle external variables in conditions (#18827)

  • Fixed: accept enum aliases when checking CF diff (#18816)

  • Fixed: lib generation does not handle gm parameters order properly (#18866)

  • Fixed: fix invalid escape in parameter strings (#18800)

  • Fixed: addd sled to rudderlang supported os list (#18799)

  • Fixed: fix doc generation (#18798)

  • Fixed: generation should work whatever order gm parameters are received (#18696)

  • Fixed: fix makefile (#18649)

  • Fixed: fix ci tests (#18581)

  • Fixed: interpolated variable in conditions should not treat dots as AND operators (#18486)

  • Fixed: add NA logs to cfengine generation (#18440)

  • Fixed: fix makefile test (#18468)

  • Fixed: Rudder-lang doc build broken by ncf parameter (#18371)

  • Fixed: delete tmp file added by mistake (#18342)

  • Fixed: fix version for serde and rudderlang techniques (#18193)

  • Fixed: rudder-lang fails to test its documentation examples (#18169)

  • Fixed: Sort the generated lib (#18128)

  • Fixed: rudder-lang tests fail on system with python2 (#18126)

  • Fixed: Broken generate_lib with python 2 (#18114)

Architecture - Internal libs

  • Fixed: Move elm test in the webapp step to avoid concurrent builds (#19829)

Relay server or API

  • Fixed: File watchers on inventories do not work (#19813)

  • Fixed: Rudder-server-relay postinstall script fails to modify the certificate paths in the apache configuration (#19550)

  • Fixed: Memory corruption in tokio (#19520)

  • Fixed: relayd fails to start because of incorrect default logging config handling (#19497)

  • Fixed: Broken reports watcher in 7.0 (#19479)

  • Fixed: Missing catchup limit in 7.0 (#19478)

  • Fixed: Cargo update is needed (#19292)

  • Fixed: Allow verifying upstream server certificate when forwarding files (#18851)

  • Fixed: Update relayd after reporting changes in webapp (#18412)

  • Fixed: Do not fail on missing config id (#18189)

  • Fixed: Add ReportsExecution insertion in relayd (#18124)

  • Fixed: Use cargo-deny to replace cargo-audit (#18123)

  • Fixed: Shared-files correction in postinst must be recursive (#17882)

  • Fixed: Configure relayd to check certificates (#19622)

System techniques

  • Fixed: Allowed networks are not saved for the Relay (#19779)

  • Fixed: relayd is not reloaded when a node is added under a relay (#19826)

  • Fixed: on relay, policies complains about missing /opt/rudder/etc/rudder-passwords.conf that is not on relay (#19788)

  • Fixed: Inventories are not accepted by relays. Need to restart apache2 to make them accept it (#19787)

  • Fixed: Relayd does not start on relays due to missing db config (#19781)

  • Fixed: Invalid /root/.pgpass file in rudder 7 (#19655)

  • Fixed: unexpected reports in rudder-service-relayd (#19606)

  • Fixed: no reports are inserted in database in rudder 7.0 (#19603)

  • Fixed: when the password are updated by the policies, rudder-jetty and rudder-slapd are not restarted (#19584)

  • Fixed: Typo in inventory technique file (#19433)

Security

  • Fixed: Don’t fill system variable with sensitive info on non root server (#19680)

Web - Compliance & node report

  • Fixed: Compliance problem in 7.0 (#19615)

  • Fixed: Broken rules list in directive form (#19651)

Web - Nodes & inventories

  • Fixed: Remove server roles in node details (#19614)

  • Fixed: Properties tab is broken in rudder 7.0 (#19597)

API

  • Fixed: Remove API v1 endpoints (#18511)

Architecture - Refactoring

  • Fixed: webapp build broken in 7.0 (#18825)

  • Fixed: AgentRunsTest and ReportsTest not passing on master (#18151)

Techniques

  • Fixed: delete all deprecated techniques for 7.0 (#19610)

  • Fixed: HTTP download technique should not try to use minicurl (#17261)

Server components

  • Fixed: Rudder server reload-techniques does not work in 7.0 (#19448)

Release notes

Special thanks go out to the following individuals who invested time, patience, testing, patches or bug reports to make this version of Rudder better:

  • Marek Haluska

  • GaĆ«tan POBLON

This is a bug fix release in the 7.0 series and therefore all installations of 7.0.x should be upgraded when possible. When we release a new version of Rudder it has been thoroughly tested, and we consider the release enterprise-ready for deployment.

Rudder 7.0 is currently the next version of Rudder.


← Release notes