# Ideas (not version specific) Tag to use for ideas of user stories not specific to any existing version (general backlog) * User story #26: Allows an update of the inventories from the API * Enhancement #113: Add information pop-up after filter input field in search * User story #114: In the search form, for eq/noteq, allows list of values * User story #122: Add a button to stop a query * Architecture #123: Add asynchron request/result in LDAP search * Architecture #124: Limit request size in LDAP * Bug #125: We should return the error code on time limit exeeded * User story #145: Rampup: automatically deploy policies following a workflow. * User story #152: Digital signature on the pdf * User story #154: Integrer les politiques de bases de Nova dans le labo * Bug #165: Snapshot the states of nodes * User story #190: Add an installation check page * User story #202: Store inventory revision in RDBMS * Architecture #203: Make a real DIFF page for Inventory revisions * Architecture #254: Find a cheap way to have list of group for a given server * User story #399: Add a possibility to name a file after a variable * User story #418: "Hover" buttons in the tree * User story #419: Warn the user during a Directive creation based on a disabled Technique * User story #440: Highlight the Techniques from the reference library that are currently used * User story #455: Mettre à jours les groupes dynamiques sur modification inventaire via syncrepl * User story #456: E03-06: Rendre scalable les groupes dynamiques * User story #460: "Hover" buttons in the tree * User story #467: CSV export of server list (simple) * User story #468: Complete XML export of server data * User story #469: Configurable XML export of server data * User story #500: PT11 : Configuration event log * Bug #509: Cannot move portlets in "Server search" screen * User story #540: Write tests for data-consistencies rules * Bug #541: AJAX calls don't fail when a connection to the server cannot be made * Question #555: Unusual changes : same node Id in both pending and accepted Nodes * Bug #593: Allow PT to have post-promise-generation actions * User story #621: E01-08: Export CSV from the list of queued nodes * User story #622: E02-01: Déterminer les critères « unusual » * User story #623: Unusual changes - interface skeleton and backend * User story #628: Contextual menu to add subcategories in trees (like in Redmine) * Enhancement #635: "Warning, you are going to lose your modifications" popup * User story #644: Ajout de PT à la user lib via popup * User story #646: Display warning message on suspicious inputs in search box * Architecture #647: Webapp should be run as a different user from root * User story #657: User management: Full Name, Last login, etc * User story #662: Relay servers must transmit received inventories to the root server * User story #669: The Techniques define their compatibility with a target agent and OS * User story #705: Button "Expand all" for categories/groups tree * User story #706: "History" tab * User story #719: Directive configuration: display extra information for each value in a drop down list * User story #734: Be able to execute actions simultaneously on several nodes * User story #745: Don't display warning popup on enable/disable PI if no CR are using it * User story #751: Test the typed variables in Directives on a test node * User story #754: Make demo data more realistic * User story #927: Save space in directive configuration for multivalued variables * User story #956: How to create a new SSH key if we activate SSHv1 protocol in SSH PT * User story #1017: Extend PT to install packages to handle version constraints * User story #1020: FusionInventory integrate VM management and Rudder PT's one is redundant * Architecture #1028: Make Unit Tests * User story #1034: Make the ports used by Rudder configurable * User story #1045: Display inventories received with errors in the web interface * User story #1048: Drag'n'drop a whole folder of policy templates to the user library * User story #1053: Add a "Since" column to reports * User story #1065: New technique: smartd * User story #1106: Change the main Rudder menu * User story #1107: Bouton pour créer une configuration rule depuis une policy * User story #1109: Reduce Rudder-webapp file size * User story #1111: directives packaged together to add all of them in rules * User story #1121: Having multivaluated variables in a Set * User story #1131: It's necessary to allow administrator to configure which release to use with APT * User story #1133: The APT install Technique should enable us to select which distribution to use for the package * Bug #1146: Change the acceptation system of server / nodes * User story #1174: It is impossible to use Rudder in an environment without a complete DNS infrastructure * User story #1183: Add filters to display success/error/warn and by Directive/Rule in Technical Logs display of Node details * Bug #1186: Report: No answer and directive with property "unique" * Enhancement #1200: Search for IP addresses included in a subnet * User story #1203: Provision options list from external source (URL, JSON, XML...) * User story #1205: Techniques to implement * User story #1206: Add refresh buttons to all pages * User story #1208: Make views configurable: display fields according to user's choice * User story #1209: DIsplay a preview of nodes contained in a group when selecting it for use in a Rule * User story #1210: Search technical logs of all nodes in a central view * User story #1211: Nagios Management technique * User story #1214: Create global variables that can be used in PI configuration * User story #1223: RoutingManagement technique is not IPv6 compliant yet * User story #1225: routingManagement technique cannot delete routes defined outside of Rudder * User story #1243: OpenVPN Client PT: Support certificates based authentication * User story #1245: hosts technique: Each IP address can have several associated hostnames * User story #1246: Policy Configuration: multivalued section within multivalues sections * User story #1247: Directives drop down list populated from multivalued section in the same technique * User story #1248: sudoers technique: allow definition of command aliases * User story #1263: Technique for Ruby stuff * User story #1360: Allow Technique to reuse other technique as building blocks / dependencies * User story #1361: [Meeting] A technique depends on another one with parameters and a version: multivalued variables (implementation parser) * User story #1396: Add back/forward browser button support for Ajax/Comet * Architecture #1402: Factor out success pop-up * Architecture #1408: Add optimisations in the reports system * User story #1433: Make policy template library's .git directory path configurable * User story #1443: When the PT lib is updated, mark PI attached to structurally modified PT as broken * User story #1445: On technique library update, allow the user to accept the modification * User story #1455: After a PT lib update, if a policy.xml is not parsable, mark PT as broken * User story #1462: Notifications for the user when a technique is changed with non-structural changes * Bug #1466: Rudder should halt on fatal errors during initialization * User story #1543: We should backup the slapd database before updating in rudder-inventory-ldap * Architecture #1545: Fix hack for rudder-reports SuSE RPM * User story #1558: welcome page should bee seen without scrolling on a 1024x768 screen * User story #1560: When editing or creating a policy, fields with constraints should be advertised * User story #1561: history and DEV/QA/Prod statuses on changes for a policy * User story #1565: Policy Template "VNC Server" * User story #1576: design for pdf output * User story #1621: Generate documentation for std lib Techniques from their source code * User story #1650: SuSE does not have OpenVPN packages * Architecture #1653: Remove use of "return" * User story #1673: Be able to hide section in the output * Bug #1721: Inventories passed to the endpoint get lost if jetty is restarted before the inventory was completely handled * User story #1731: Have a motd in the webapp * User story #1743: document rudder-agent workflow * User story #1759: description of the directive in summary of directive screen * User story #1761: on the directive screen, we should be first in view mode, and activate edition mode before * Bug #1762: When login, what is after # in the URL is lost * Bug #1765: Missing autocomplete Gif * User story #1770: PI and CR configuration : more details on usage * User story #1775: Document the PT upgrade procedure * User story #1792: document licences * User story #1796: document rsyslog package install on sles * User story #1801: bibliography entries missing in PDF output * User story #1809: Make reports based on "schedules" * User story #1810: Display details of last commit read from git repos * User story #1811: Technique to manage a PXE boot server * User story #1812: install python-pygments and source-highlight on ci * User story #1848: Escape special characters like ' " or ! in directive values * User story #1871: [Search Nodes]Software search by name include the architecture * Architecture #1881: Use a dynlist for nodeGroupId=hasPolicyServer-root * User story #1906: Technique update script * User story #1931: weird/ugly behaviour of webapp when resizing the app. * User story #1933: Allow to disable CFEngine management by node (or group) * Bug #1936: User Management : How to deal with user without password ? * User story #1938: User Management: add an option to remove user home directory when deleting user account * User story #1972: Packaging : provide tarball * User story #1977: We should allow the user to add an logo in the rudder webapp * Bug #1991: When a node has not a correct time configuration, the reports are not correct * Bug #2003: Select in PT editor throws exception if item name are not found * User story #2004: Exception in PT editor should be gracefully handled * Architecture #2008: usage of CSS3 * User story #2009: JS Organize * User story #2018: The "The server cannot be contacted at this time" error is most of the time irrelevant and should be contextualised * User story #2049: It seems that default configurations of postgresql are not optimal. We need to add some optimizations to our packages * User story #2052: Use checkbox to select PI and Groups in configuration rule * Architecture #2062: Clean up "big red button" code ? * User story #2108: Reporting : Rationalize the SQL queries * User story #2109: See non-manageable machines in rudder interface * User story #2110: Allow installation ef each part of rudder-server-root on different servers * Bug #2117: Cannot run the CFEngine cf-serverd and rudder serverd at the same time * User story #2119: Allow to have exceptions for some nodes to general configuration rules * Bug #2120: Node not found lead to global promise generation error * User story #2132: Improve process for upgrading techniques * Bug #2136: Create a Policy Template without variable instanciate Policy Instances with a blank "Parameters" section * User story #2153: Rudder agent auto update from Rudder Server * User story #2155: DNS technique: add an option to enforce list of servers/search domains * User story #2157: SSH key distribution technique: Add a "Don't complain if the user doesn't exist" option * Architecture #2160: html code has to be modified to fit the new way of using lift * Architecture #2161: "bind" methods need to be replaced by "css selectors" (new lift paradigm) * User story #2166: Integrate a web ssh client in Rudder * User story #2171: Enable the user to specify an external authentication source for SpringSecurity using a configuration file * User story #2176: accessibility : yellow on black is a very bad idea * Architecture #2180: Paradigm shift for the "createCategoryOrGroup" Popup template, and scala, to fit to the new lift one. * Architecture #2181: Paradigm shift for the "CreateConfigurationRule" Popup template, and scala, to fit to the new lift one. * User story #2183: jobManagement technique : Enable the user to input a time interval between two consecutive days * User story #2195: Rudder agents could be mobile * Bug #2197: After saving a PI, the selected PI isn't highlighted in the list anymore * User story #2201: There is no obivous way on Debian systems to detect if a init script is started on boot * User story #2204: Add authentication to REST API * User story #2220: Ask IP address of rudder server during rudder-agent package installation * User story #2221: Check which packages are installed frequency * User story #2226: Allow eventlog to go to syslog or audit log systems * Architecture #2237: Factorize out duplicated code in AsyncDeploymentAgent.scala * Bug #2247: Warning is inserted upside down in config files * User story #2248: WebDAV password for sending inventories should be a system variable * Enhancement #2249: Cross button to empty filter on search inputs * Architecture #2267: Use Twitter bootstrap to handle most of our JS/CSS stuff * User story #2268: Improve the ergonomy of the Administration > Archives screen * Architecture #2270: Update copyright files in Debian packaging to respect debian-policy * User story #2273: Technique 'Name resolution': We should be able to prevent dhclient to modify /etc/resolv.conf * Architecture #2275: All spec files are using "cp" instead of "install" at the install part of the file * Architecture #2279: Shoud we use the TreeWalk.release() method after walking the JGit tree ? * User story #2281: Auto deploy pending modification when autoDeployOnModification come back to true * User story #2283: Add UUID of items in each screen * User story #2284: rudder-inventory-ldap package should depend on any syslog, not just rsyslog * Architecture #2286: Trace and remove unused files in the Rudder projects * User story #2313: Make archive directory names (on fs) configurable * User story #2328: Autodocument configuration files * Enhancement #2350: Technique "name resolution": resolv.conf is continuously repaired with a machine which use a DHCP client. * User story #2356: Upload archive of groups/directives/rules * Architecture #2357: S.? is *really* slow * Architecture #2388: Remove use of JavaConversion * User story #2395: There should be an option in the hosts technique that enables the user to select if a host name already exists and matches a defined one, it should be deleted * Enhancement #2414: Extra info on Rule details (creator, last modified, last modifier...) * User story #2418: Add some cleverness in the management of accepted/pending/removed nodes * User story #2423: Tutorial to show how to create Techniques * User story #2424: Duplicate identical sections can be input in directives causing broken reporting * Architecture #2426: Warn user about duplicated sections when saving a Directive * User story #2429: Add options for authorized_keys extras to our ssh key Technique * Architecture #2432: Warn user if he inputs a "risky" value in a directive * User story #2437: Rudder server packages for CentOS/RHEL 5 * Architecture #2438: Wrap all SQL queries with tryo * User story #2441: Split the aptPackageManagerSettings Technique into aptPackageManagerSettings and aptRepositorySettings * User story #2448: In the List of history actions in "Accept new nodes" we should be able to click on the whole line to 'fold it down'. * Architecture #2451: Suggestion : integrate source in src.rpm * User story #2462: Detailed configuration of options in resolv.conf via the dnsConfiguration Technique * Bug #2469: Enable/Disable Directive pop-up data are collect when page is loaded and can not be accurate * User story #2472: Initialize a $PATH in shell environnement use by agent for "commands" action. * User story #2482: mapping inventory -> scala * User story #2484: mapping inventory : Scala -> LDAP * User story #2491: Add a "stat / info" page * User story #2502: Display new inventories within Rudder * User story #2517: generic_variable_definition : make the variable overridable * Architecture #2524: Remove "delete node" method from node repository * Architecture #2546: Technique Apache 2 HTTP Server: Variables in code don't have standard or relevant names * User story #2567: Success pop-up should say "no modification" when no modification were recorded * User story #2575: Detect browser version and warn user if it's too old (unsupported) * User story #2585: Synchronize the rootServerInitialPromises automatically (or at least the distributePolicy part) with the regular Rudder technique tree * Architecture #2593: Use label declared in Constants.scala for all XML serialized entities * User story #2596: Remove/update inventory promises * Architecture #2601: Show form errors in a appropriate place in Directive Management * Architecture #2619: Add a style checking tool for Scala * Architecture #2630: Rudder Webapp and Rudder Inventory should be two different application * Bug #2645: Building rudder-agent fails as it cannot find XML::NamespaceSupport perl library * User story #2688: Make generic event log migration * Architecture #2694: See how to interact with the component parent in DirectiveEditForm * Architecture #2695: Injection should not be used in components * Enhancement #2710: Enable the user to bulk erase/rename/disable some rules or directives * User story #2713: Enable the user to create Rule categories * User story #2741: Be able to deactivate a node/group instead of a directive or rule * Architecture #2749: Directives' ids should not be in the ActiveTechnique class * Bug #2770: LDAPConnectionProvider#foreach should have type Unit * User story #2774: Have the possibility to compose groups / nested groups / sub groups * Architecture #2775: Common promises have redondant classes definition about root server and policy server * Architecture #2777: Add Box in ReportsRepository method APIs * User story #2795: The properties from /opt/rudder/etc/ should be manageable in the Administration screen * User story #2809: Missing developers in parent-pom/pom.xml dev section * Bug #2813: OutOfMemory errors * User story #2818: Rudder should have a 404 error page * Bug #2823: Some special characters seems to not be escaped in MOTD Technique * Architecture #2834: The LDAP password used by Rudder is not hashed in slapd.conf * Bug #2843: Rudder can fail to generate promises when Java is lacking memory * Enhancement #2867: Document the Change Message in Rudder and how to configure it * Architecture #2868: Remove "isPolicyServer" from NodeConfiguration object * Architecture #2878: Does lazy for injected services matter? * Architecture #2880: Change promise generation to have one promise by rule and no more multiplexation * User story #2883: Rudder webapps should be able to start even if no LDAP server is available * User story #2888: Be able to disable a node * Architecture #2901: Rename MachineUuid into MachineId to comform to convention * User story #2908: Allow user changing the root URL of rudder web interface (/rudder) * Architecture #2910: Use lazy modifier on injected service * User story #2911: Allow to use several application contexts for one Rudder instance * User story #2918: Make the Technical logs table from a node view fixed height * User story #2935: Slimdown the header * User story #2939: Move the regenerate now button from the header * User story #2951: Improve technique management display * User story #2952: Improve rudder interface * User story #2956: Contibute to Fusion Inventory's user module * User story #2957: add the possibility to export techniques in a zip * Architecture #2960: Rename reportsSchema.sql to a more meaningful name * User story #2971: Clean reports database v3 : Add a webconfigurable scheduler for automatic report database cleaning * Architecture #2975: Add an event log for Database event : archive reports, delete reports * Architecture #2977: Document a convention for package_method use and fix any non-compliant Techniques * User story #3001: Filter event log table on event log types * Architecture #3007: Update String Template to version 4 * User story #3015: Allow to schedule activation or disactivation of rules * User story #3016: In the webapp, add a scheduler for Rule activation / disactivation * User story #3017: Handle configuration parameter for Jobscheduler * User story #3019: Enable changed files repository on Windows * User story #3026: Filter event log table on event log types * User story #3048: Send non compliant report log and opslog to local syslog * User story #3053: Allow to bulk-change directive version * User story #3055: Add a technique for local packages installation (not via repos) * Architecture #3057: Refactor create/clone popup (copy/paste code) * User story #3058: Be able to historize inventories PARTIALLY (keep required ones for UI, but not others) * User story #3060: Enhance "configuration to be applied" pop-up for new nodes with directives details * Architecture #3065: RPM packages should depend on other Rudder components with specific versions * User story #3072: Create scripts/code to simplify or automate common administration tasks for Rudder * User story #3078: Fstab Configuration: Some options don't have "system defaults" choices and oblige to add option to fstab * User story #3092: document usage of Enforce a file content Technique * User story #3094: Document how to create groups based on IP configuration of the hosts * User story #3110: proposed display order change of "Enforce a file content" Technique * User story #3111: have a page in the interface listing all available variables for a node * User story #3117: Implement an "expert technique" that let use the power of cfengine * Architecture #3136: Make sure all the recursive calls are tail-recursive and considered as this by the compiler * User story #3164: Technique "Zypper package manager configuration": add an option to specify repos per OS * User story #3165: Technique "Zypper package manager configuration": implement option to specify repos per OS * User story #3167: Invalid inventory (rejected by ldap-inventory endpoint) should go to a "faulty-inventory" directory * User story #3172: Technique Rug / YaST Pakcage Manager Configuration (ZMD) can't register services with signed RPM * User story #3178: Technique Rug / YaST Pakcage Manager Configuration (ZMD) Add possibility to add GPG Key with rug * User story #3182: Explain why Rudder Server does not need to be accepted as a node in the WebUI and how to create groups with it * User story #3219: New technique : nrpe configuration * Question #3224: How to restart a daemon once if I modify several configuration files ? * Question #3225: How to use data from inventories to create monitoring configuration ? * Architecture #3258: Create a Scala style checker * User story #3287: Improve rudder flexibility when dealing with systems with non standard file system hierarchy * User story #3299: Display sections in Directives form based on variable values * User story #3300: Display or hides sections in Directives form based on variable values * User story #3306: Allow to see the content of metadata.xml and other template.cf for Technique * User story #3308: Display a switch between technique version and show the content of metadata.xml and template.cf * User story #3315: Solaris support * Bug #3316: Solaris support - Packaging implementation * User story #3318: User password expiration handling in Rudder * User story #3326: make it easier to update user technique library * User story #3330: Improve Diff in event logs details * User story #3331: Make action buttons always reachable on Group page * User story #3339: Display "broken" technique in Techniques screens * User story #3343: Installation script should check if launched in bash * Architecture #3351: The advertised format of serialisation of entities for the eventlog does not match the actual format * User story #3353: "About this technique" box * User story #3360: AutoFS management Techniques * User story #3361: AutoFS management Techniques: implementation * User story #3371: APT package manager should manage GPG keys for added repos * User story #3380: Add ace.js library * User story #3384: We should allow the user to specify a proxy to be used with the Rudder cURL calls * Architecture #3386: It would be much more conveninent to have ActiveTechnique within the Directive object * User story #3394: Add reports info for each node on "List all nodes" page * User story #3421: Nested groups * Bug #3477: The DNS on mobile devices is not working properly * User story #3489: Adapt the generic package_manager from the cfengine_stdlib to handle unique package installation * User story #3490: Adapt the generic package_method from the cfengine_stdlib with individual package_changes * User story #3499: ID navigation in Workflows not easy to use * Bug #3522: Android support * User story #3543: Allow to set key=value tags on nodes * Architecture #3557: Refactoring in Workflows * User story #3567: Size of /var * User story #3568: Add a tool to estimate growth rate of database * User story #3575: The input field in Directive screen should match CFEngine limitations * User story #3584: Document how to allow users different from root to commit in the configuration repository * User story #3606: Upload a file to the shared folder * User story #3614: Forbid same file edited by 2 different directives * User story #3615: IP search field with slash notation * User story #3616: add some hints near regex search field * User story #3623: Display rules and directives on node details view * User story #3647: Techhnique "OpenSSH Server": Add possibilty to set ListenAddress * User story #3650: Port Rudder to Mac OS X * User story #3651: Request for Winbind technique * User story #3659: It would be great to archive reports on another database (or even another server) * Question #3661: Need help with new technique: Commands Management * User story #3662: Rudder should warns the user about connected nodes which have hostname not resolvable * User story #3663: Add in ClockConfiguration the possibility to add arbitrary line in config file * User story #3668: Allow to pre-accept nodes * User story #3670: Support IPv6 address in inventory * User story #3675: Technique "Set the permissions on files": should allow specifying regex to match files * Architecture #3727: The cfengine processes management in system technique is splitted in various places * User story #3752: User Management: add an option to remove user home directory when deleting user account * User story #3777: Handle installations from the backports in APT package installation Technique * Architecture #3786: The script rudder-upgrade should be able to be in debug mode in order to display what's going on in case of error * User story #3804: Disable many rules at the same time * User story #3821: for directives, advertise and set new mandatory fields during technique version migration * User story #3822: avoid to break everything when migrating a directive to new technique version * User story #3825: technique to manage repositories * User story #3827: technique for authentication mechanisms * User story #3832: in the directives screen, the last changes messages should be displayed * User story #3850: Upgrading rudder-agent from the server * User story #3867: Allows to build static group with a list of node + checkbox * User story #3875: In directive editor for file permission, add the possibility to set SUID, SGID and sticky bit * User story #3876: Add the SUID and SGID into the perm module of Rudder * User story #3888: Change account information stored in eventlog to handle API or webapp cases * Architecture #3893: addPending events are not migrated correctly to XML file format > 1 * Architecture #3903: Remove pending/accepted/removed inventories branch,manage node status in node branch. * User story #3920: Webapp should know that its uuid must be "root" and stop otherwise * User story #3921: Manage shared folder from web app * User story #3924: Add node with same IP of another node: error message should explain that we have to remove it from authorized network * User story #3954: In technique, allow to have field whose value if optionnal if another field has some value * User story #3966: Document a failover procedure for Rudder * User story #3971: Add an option to remove home folder when deleting a user with userManagement technique * User story #3994: Package management techniques should work the same * User story #4054: Special cfengine variables vs. special Rudder variables * Architecture #4055: The integrityCheck.st distributePolicy should not run at all on relay servers * User story #4066: "Manage files and folders" technique: execute a script when a path is absent * User story #4108: Technique "Monitor a file or directory content": Sould be able to monitor a file only if it exist instead of returning an error * User story #4115: postgresql database corruption * User story #4117: Extend OpenSSH technique * User story #4133: Prevent slapd doing multiple stop/restart on ldap-inventory upgrade * Architecture #4140: RPM packages don't fail on pre/post-uninst/inst scripts * User story #4146: Configurable "Show ?? entries" * Question #4163: Shall we use Postgresql JDBC driver version matching Postgres version ? * User story #4171: Techniques and software should be de-coupled * User story #4184: Compliance details column in the nodes list * User story #4185: Configurable columns in node list * User story #4187: Allow more granular check for Change Request merge test * User story #4188: Add granular check on change request change (not on directive parameter) * User story #4189: Add granular check of directive parameter on change request merge * User story #4210: Order options fstab technique * User story #4211: The fstab technique should mount file system * User story #4233: Store user preferences for grid display * User story #4234: Add online|offline check before calculating status * User story #4248: Proposal: Auto Accept list * Question #4252: XML Schema or DTD for metadata.xml validation * User story #4293: Migrating from a Technique version to another one in a Directive is long and painful * User story #4294: Proposal: search function for rules and directives * User story #4298: Install / upgrade packages * User story #4307: Warn on modified technique without an updated version number * User story #4327: Allow the user to change a Rudder policy server IP/host name via Web UI * User story #4329: Proposal: categorized directives overview * User story #4330: Rule names should be only unique by categories, not globally * User story #4352: setting permissions using "Download a file from the shared folder" directive should not be mandatory * User story #4370: Components in reports should appear in the order they were defined in technique * User story #4379: Extend command_execution bundle to choose useshell and module * User story #4385: Add last modification time to all items returned by the REST API * User story #4391: Do not create change request when modifying Directive and that Directive is not applied * User story #4395: How difficult would be to implement support for system manufacturer/model? * User story #4416: Group search does not allow to mix AND and OR combinators * User story #4417: Allow node search on IP range * User story #4420: NCF documentation * Bug #4423: systemd & upstart service management: The servicesManagement technique has no answer status for Service starting parameters on Ubuntu 12.04 * Architecture #4427: cf-promises check on ALL generated promises leads to huge generation time * User story #4441: A new technique for SSH key removal * User story #4456: Remove Rudder DIT internal information from rudder-web.properties * User story #4486: Poor messages in reports * User story #4514: Feature request - Having group out of the compliance check * Bug #4540: If /var/rudder/configuration-repository files are different from the git status, during a Technique reload, the modification will not be take into account but regeneration of promise will be made. * Architecture #4547: Change the port used by rudder-slapd * User story #4581: When a modification on a Directive concerns the Target Rule list, the change request are only visible on the Rules which can be surprising * User story #4655: Make techniques consistent * User story #4658: Option to disable a node * User story #4683: UNIX support - implementation for other Techniques * User story #4710: Be able to have a Group or Rule on several Categories * User story #4720: Make it possible to use an "ignore_interfaces.rx" in Rudder to speed-up agent DNS resolution * User story #4731: Technique "User Management": Be able to add system users * User story #4736: Add option of system users of useradd in the Technique UserManagement * Bug #4750: Compliance shows error instead of repaired * User story #4783: Error message should contain more information (trying to rudderify meta technique) * User story #4833: Postgresql connection should use TLS when used with remote systems * User story #4834: Password used in the /opt/rudder/etc/rudder-users.xml file should be salted * User story #4867: Be able to differentiate in WebUI nodes without response at all and nodes with a /opt/rudder/etc/disable-agent file * User story #4873: Add bundle command_execution_module() to execute CFEngine modules * User story #4889: Search panels are missing on most of javascript trees * User story #4893: Add a http proxy option for yum management Technique * User story #4896: Add a new Technique: Template application * User story #4897: Add a new Technique: Template application (development) * Architecture #4909: Clean up process_matching.st to remove useless cron cleanup entries * Architecture #4917: Simplify system techniques * Architecture #4934: Clean-up rudder server root detection / save code * User story #4936: Check that all mandatory system groups and rules are defined at start of the application, and if not, create them * User story #4959: Add Technique 'Set the permissions on files' v1.2: Add possibility to ignore non-existent file * User story #5041: Rudder should not commit binary files from shared-folder into its own git * Architecture #5088: Rudderify can't handle list properly * User story #5132: Add an option on Fstab technique to not enforce the mountpoint filesystem type * User story #5133: OpenSSH Technique should enable/disable feature based on installed OpenSSH version, not based on OS version * User story #5179: rudder-db should not require rsyslog and rudder-agent * User story #5196: ncf api should have a specific directory for its logs * User story #5256: Accepted nodes and techniques shared among relays * User story #5278: Document allowed ${rudder.variable} in directive form * User story #5284: Rudder should accept vanilla CFEngine without error * Architecture #5287: When we upgrade rudder-server-root or rudder-webapp, all dependencies are not automatically updated, causing broken install * Architecture #5307: Replace kept_if_else in techniques with appropriate ncf method * Bug #5334: The archiving logic of execution reports needs to be adapted for "error only" report mode * User story #5337: Node details retrieved by APIv4 should display information about Server role * User story #5346: Output user friendy error message in th API (parameter id already used) * User story #5352: Into a metadata.xml, possiblity to make reference into an SELECT tag from an INPUT/SELECT one. * Architecture #5367: Make node acceptance process asynchronous * User story #5417: Indentation could be automatically corrected * User story #5425: Display generated code for a technique * User story #5472: Be able to group several modifications under only one save (change request) * User story #5480: Bulk migrate directives to new technique version * Bug #5481: Missing fields at directive migration * Bug #5489: Purge old {run,}logs * Architecture #5515: Normalize SQL object names * Architecture #5516: Normalize DB naming scheme * Architecture #5517: Update all migration scripts to conform to the new names * Architecture #5518: Update all request in code for the new names * User story #5529: 'Last seen' value of a node is not included in API get node details * User story #5541: Manage authorized_keys * User story #5563: Override common bundles with local bundles in ncf instead of conflicting * User story #5572: Change management: Feature to group change requests by external change id * User story #5641: Make the agent policies update a state machine with integrity check * User story #5647: In multiserver setup rudder-reports should not be installed on rudder-db * User story #5649: Provide search methods through the API * User story #5668: Include directive parameter in expected report substitution logic * User story #5672: Expose rudder groups of a node as cfengine classes * User story #5675: Generate a caller bundle when creating a rudderified technique * User story #5677: Rudder API should provide its authentication url on 401 * User story #5679: Add technique variables support to ncf api * User story #5687: logger_rudder should be provided by rudder not by ncf * User story #5721: Add a REF element to REPORTKEYS * User story #5722: Add a page with distributed setup infos * User story #5738: Export and import (create, update) Rule with all dependencies * User story #5759: In the group screen, be able to add rules to the group * User story #5763: Group intersection * User story #5765: Tab event log on rule. * Bug #5768: Document how to configure your timezone in rudder webapp * Architecture #5792: Some commands belong to rudder-agent and not to rudder-packages * User story #5797: Inventory transport protocol (http vs https) should be configurable in the web interface * User story #5805: Improve error display for 500 errors * User story #5841: Job scheduler technique doesn't allow to schedule job on specific days of week * User story #5852: Proposal: add a refresh button on the Accept new nodes screen * Bug #5907: Any user can forge a fake report * User story #5911: non-compliant-reports.log should include Rule category * User story #5942: Let user define the full gecos field in user management technique * User story #5968: Have a default group at setup * User story #5969: Make line deletion and line replacement a multi value entry * User story #5973: It should be possible to configure mail alerts * User story #5974: If the ldap server is unavailable, there is no way to connect * User story #5975: Use ldap groups for user roles * Architecture #5981: \ (backslashes) are replaced a bit to eagerly by \\ in the generated promises * Enhancement #5983: Document how to make replacing a string with itself convergent * Bug #6009: Anonymous usage stat pop-up appearance must be user-view based * User story #6081: Optimize data transfer linked to list of nodes * Architecture #6087: Architecture to handle thousands of nodes * User story #6122: Diff on change request are not easily readable * User story #6136: Alert me when something change * User story #6138: Create a technique to set environment variables * User story #6139: Add generic method result negation * User story #6141: Create a file_check_exist_regex generic method * User story #6144: Have a summary of applied directives in rule details * User story #6183: Per user change request validation workflow * Architecture #6186: Accept node based solely on their public key * User story #6193: Add a command to create api token * Architecture #6201: handle enable status for group * User story #6222: Make groups query name be the same as in node details JSON API * User story #6223: Add a "from" field in the distributeSSHKey technique * User story #6230: Proposal: PAM authentication * User story #6245: Feature Idea: be able to set yum repo priorities in the rpm repo technique * User story #6246: Feature idea: Allow other variable types when using the cfengine variable technique * User story #6247: Add sticky bit to technique Manage files and folders * User story #6248: Manage security attributes * User story #6251: Feature idea: interface to status display for cloudy devooops dashboards * User story #6252: Extends dev documentation (especially how Rudder deals with git and the like) * User story #6254: Proposal: make disabled agents visible in the web ui * User story #6262: Feature Request: Control of folding state of treeviews, i.e. for nodes. * User story #6264: Get directive parameter value from external source (kv store, rest, etc) * User story #6266: Add bulk operations for API * User story #6269: Proposal: have the possibility to mass delete/disable rules/directives * User story #6270: Proposal: Make messages more visible * User story #6278: Feature Idea: Fancy things with colors and state data, i.e. Dependency graphs * Architecture #6292: Add a n/a status to generic methods outcome * User story #6298: Searching on key=value properties is not easy * User story #6301: The properties have key=value pairs. But in the API and in searching you call it name=value. This is quitte confusing. * User story #6302: Proposal: Add a "part of string" search criterium * User story #6307: Check user created technique before write them in configuration-repository * User story #6316: ncf errors are not logged * User story #6331: Create a generic method to allow task scheduling * User story #6332: Proposal: add option to userManagement technique to force adding local user when winbind (AD auth) or LDAP is used * User story #6338: Create a calendar based scheduler * User story #6340: Add a deprecation attribute in REST responses * User story #6342: Add a warning in the client CLI when the deprecation attribute is present * User story #6358: During rudder-agent upgrade, a question is asked about cron file * Architecture #6360: Update allowlegacyconnects to disallow old agents * User story #6363: Secure agent/server communication * Architecture #6366: Help the user setup signed certificates * User story #6368: Methods named check_* should have an equivalent without reporting * User story #6371: Techniques calling the same generic methods twice may miss a report * User story #6384: Clean log rotation & compression letting Java alone * User story #6386: Improve notifications display * Architecture #6393: Migrate apache and ldap configurations from external repositories to packaging * User story #6398: "Cloning" generic methods * User story #6400: Harmonize the logrotate files in the Techniques/Initial promises * User story #6422: Create method for installing multiple packages at once (with versions) * Enhancement #6427: When using classes parameters of more than 1024 char the class is not defined * User story #6434: Allow to classify Technique in Technique Editor * User story #6443: Update promises use a hardcoded uuid * User story #6471: Do not start a policy generation if changes don't require it (dependency graph analysis) * User story #6492: Have a way to commit / batch recompile rules/directives * User story #6523: Enforce file content Technique doesn't give a choice for type of migration of lines from outside the zone to the zone * User story #6524: We should publish errata for our rpm packages * Question #6552: cf-serverd reads update.cf * Question #6554: Peculiarity of cf-served.st * User story #6561: Have a script to detect inconsistencies / duplicates in the inventory * User story #6562: Have a hook to run a command on non compliance * User story #6563: The home url always redirects to the login page * User story #6565: Add a script to detect common problems * Question #6579: Why is minicurl duplicated * User story #6580: Cron technique: add an option to support "prevent cron from writing a syslog message about this command getting executed" option * User story #6582: Simple relay should be a role * User story #6591: Inventory endpoint should not listen to any * User story #6627: Add an example to all generic method documentation * User story #6634: Rudder agent needs autocompletion * User story #6635: Rudder server debug must be more robust * User story #6636: Indicate the command to run when post hooks fails * User story #6637: Distinguish between error and loading in ncf builder * User story #6638: ncf.conf should be tracked in the internal git * User story #6640: Add a generic method to manage mount points * User story #6642: It should be forbidden to delete a technique in the editor if a directive based on it still exists * User story #6644: Create a graph with dependencies known by Rudder * User story #6646: Document status for unknow return code in jobscheduler technique * Question #6678: Add a Product Type to a Hardware (additionally to the Manufacturer) * User story #6706: Radius authentication * Architecture #6708: Expose Allowed networks for policy server via API * User story #6709: Add method to API / CLI to reload rudder-users.xml * Architecture #6710: Allow rudder-users.xml based local users to change password * User story #6717: Add a hook for post-upgrade of Rudder server * Bug #6720: Display an appropriate message and compliance in case no data is usable yet on the dashboard * User story #6725: Add an option to preserve permissions on file copy from remote location * User story #6759: We should use /etc/default as a user configuration reference instead of /opt/rudder/etc * User story #6820: The dashboard should display something when no reporting data is available (new installation) * User story #6826: Implement Display Names additionally to login names * User story #6847: Separate updating of failsafe.cf and update.cf * User story #6910: Only use one copy of system techniques * User story #6917: Make hyperlinks clickable * User story #6923: Remove the Edit column in the rules list and just use the pen icon next to the name * User story #6947: Condition canonification does not handle nested substitution * User story #6955: Too many colors in the compliance information * User story #6960: Have an apply template option in the download file technique * User story #6961: I want to be able to edit node properties from the interface * User story #6967: Add a command_exec_with_return_code method * User story #6969: I want readable log when I run rudder from the console * User story #6970: Add a starttls option to ldap authentication backend * User story #6972: Create a groups from machine type * User story #6974: manage ncf technique version in the editor * User story #6975: Download file from remote source is missing a parameter for comparison method * User story #6980: Add Rudder extensions to FusionInventory on other platform than Linux * User story #6983: We are missing a ncf builder read / write access right * User story #6984: Bring back the red button * User story #6985: Have compliance details for groups * User story #6986: Filter nodes on the basis of Linux Arch type * User story #6992: Also record NFS servers of mount points & allow querying for them * User story #6994: Technique aptPackageInstallation doesn't update packages if no version is defined * User story #6997: The technique SSHKeyManagement doesn't allow to define several keys per user, and flush others * Architecture #7013: Make proper ncf releases * User story #7034: Display last not allowed node connection or automatically allow new network from known node * Architecture #7040: Duplicate init scripts in rudder-agent: rudder-agent include rudder.init * User story #7054: Confine Rudder processes with SELinux * User story #7079: Dashboard display witout login * User story #7084: Administration > Settings is misleading * User story #7085: Use asciidoctor to generate the Rudder manual * User story #7105: Copy of promises by the relay is rather inefficient, always checking all the files one by one * User story #7121: Possible improvements for the webhelp doc * User story #7139: In node inventory, view file managed by Rudder * User story #7140: Improve agent run schedule * User story #7147: Can Rudder Jetty talk AD? * Architecture #7155: Stable class identifier * User story #7159: Adapt ncf builder to use the new class prefix * User story #7173: Please add refresh button to rudder/secure/nodeManager/manageNewNode * User story #7183: Allow a user to deprecate a technique * Architecture #7232: ncf technique calls in metadata.xml should not be grouped by method name * User story #7250: Preserve permission in file_copy_from_local_source * User story #7251: Management of shared-files * User story #7259: Please create a central place where people can share selfmade (NCF) techniques * Architecture #7297: Speed up of promise validation * User story #7364: Preliminary support for freebsd in system techniques * User story #7385: Make it possible to specify a default role for externally authenticated users (LDAP, ...) * User story #7415: Promote Nodes to relay via Rest API or web ui * User story #7503: Implement Optgroups for SELECT fields * User story #7511: Make a symlink to latest webapp logfile * User story #7549: Allow cfengine to use a different port than 5309 * User story #7592: Complete the technique creation documentation * User story #7598: Add features to Time settings (RTC to UTC/Localtime; all timezones) * User story #7601: Finer grained agent error reporting on update * User story #7659: When the compliance is very high display more details * User story #7664: Help the user identify duplicate uuids * User story #7665: Highlight rule's name when we edit one * User story #7669: Allow the user to easily spot repaired * User story #7685: Define the locale used by the agent for executing every script * User story #7686: Improve documentation organization and add missing sections * User story #7688: Add a getting started section in the manual * User story #7700: Add rudder-agent commands for the server * User story #7705: Add a non-interactive option to rudder-init * User story #7717: Add ldap informations in metrics-reporting * Enhancement #7748: In case of networking or server errors, the agent may leave .cfnew files in copy destination * User story #7750: Document that when moving from "changes only" to "full compliance", "no data" may be reported * User story #7752: Directives form allow to fill fields unused (when related checkbox is not checked) * User story #7760: Do not display ncf builder header in Rudder * User story #7767: Handle remote header / environment variable based authentification * User story #7778: rudder-jetty is restarted too often * User story #7815: Rename /opt/rudder/etc/{force_technique_reload,force_inventory} to use dashes instead of underscores * Architecture #7831: Simplify usage and copy of ncf directories * User story #7835: Enable TLS for file copy between server and agent * User story #7874: Allow bulk migration of techniques * User story #7877: [API] Make group query editable by each query piece * User story #7895: Briefly document condition and variable types for the Technique Editor * User story #7898: Document technique testing * User story #7912: Choose in which file, keys will be added with 'ssh key' Technique * User story #7923: Combine multiple Change Requests into a bundled one in the Change- and Validation workflow * Question #7931: Group Intersection * User story #7946: API: When querying directives, also expose subscribing rules of the directive * User story #7968: Add the agent version in the node list * User story #7993: "Download a file from shared folder" technique doesn't have an explicit default value for "Compare method" (was mtime, now digest) * User story #7995: "Download a file from shared folder" technique doesn't have an explicit default value for "Compare method" (was mtime, now digest) * User story #7997: "Download a file from shared folder" technique doesn't have an explicit default value for "Compare method" (was mtime, now digest) * Architecture #8005: API directives - one extra nesting level? * User story #8027: cfengine configure --without-pam fails with Cannont find PAM library * Architecture #8028: Slackware support : rudder-agent.SlackBuild and method to build slackware package * User story #8031: Document for contributors how to support a new platform * User story #8047: Collect and Display loaded kernel modules in Inventory * User story #8052: Remove locks in cfruncommand * User story #8075: How to add a new OS support in Rudder ? * User story #8082: Rudder/cfengine fails to edit bind-mounted files on docker * User story #8089: Add columns to group query results * User story #8090: Be able to export results * User story #8104: Add slackware support in rudder agent package * User story #8120: Documentation about syslogd on centos5 not working with a Rudder ubuntu server is not easy to understand * User story #8138: Support the Plan9 Network Operating System * User story #8140: Enforce a file content - add possibility to select where the text should be added (on top or bottom of file) * User story #8185: Batch remove nodes * User story #8190: Have manual only directive * User story #8193: Add an option to be able to be more selective about node API returned content * User story #8230: Package management issues in Rudder/ncf * User story #8279: Create a variable dict from url method * User story #8280: Warn when a generic method call is not converging * Architecture #8281: Tag generic methods that are not convergent * Architecture #8282: Expose non convergent methods via the API * User story #8300: Download inventories hooks as part of the initial promise bootstrap * User story #8348: rudder server commands should not be installed on agents * Architecture #8349: Synchronize the "testall" test framework from CFEngine to get latest features * User story #8352: Create a per-node private-folder for file distribution to each node * User story #8368: Create multiple color schemas of the UI for the criticality of the environment * User story #8402: Have possiblity to accept several nodes at the same time with the API * User story #8407: Make Rudder server packages for SLES 12 * User story #8435: System techniques sometime trust the webapp role definition sometime not * Architecture #8441: Add a benchmarking suite for ncf * User story #8452: When we have an external authentication, we still have to specify a password in rudder-users.xml * User story #8462: Document the server/agent compatibility matrix * Architecture #8463: Server roles is a BIG mess causing inconsistencies and bugs * User story #8467: 3.0 End of Life * Enhancement #8473: Form fields in Directive edit are eating leading spaces. * Architecture #8494: Be clear on which rudder agent embed which dependency and apply it on next version * User story #8520: Document constraint usage in ncf methods * User story #8549: User Management: Support for rudder variables in password field * User story #8570: Missing API command to move Rules or Groups to another category * User story #8577: Rudder administration page should be splitted and renamed ("settings") * Bug #8595: Group Management Technique doesn't permit to manage Windows Group * User story #8612: Add the generic method documentation in the builder interface * User story #8632: Password-Type field in metadata.xml could use a double-check field * User story #8661: Automatic Backup and Restore on Amazon S3 * User story #8662: List and document all config files and their update policy * User story #8663: Simplify technique format * User story #8694: The perm input type should include suid bits * User story #8695: Add a commit hook to Rudder server configuration's repository * User story #8704: Add tests for current techniques * User story #8705: Add tests for currently unstested generic methods * User story #8730: There should be a git hook to validate the metadata at commit time * Architecture #8759: Document how to build a standard agent to allow easier usage by external build systems or for new platforms * User story #8803: Document how to configure postgresql authentication for rsyslog on relay-top * User story #8810: Include rudder-cli with server packages * User story #8811: rudder command suite zsh autocompletion * Architecture #8814: Move postinstall agent configuration to check-rudder-agent * User story #8827: Per-user API keys * User story #8848: Node properties update should create a change request * User story #8904: Allowed networks details * User story #8916: Relationship between "Node Groups", "Rules" and "Directives" * User story #9009: Allow using rpm to install local packages on AIX in package_* generic methods * User story #9011: Automatically call rudder-init on postinstall * User story #9018: Improve ncf documentation * User story #9030: Cleanup dirs section in the packaging * User story #9048: Add a test for action bodies that do not contain a test on dry-run classes * User story #9069: Add more precise and technical doc to ncf * User story #9080: Create a generic methods file_from_git * User story #9099: Provide package modules from rpm/dpkg only * Architecture #9103: Separate LDAP components from rudder-upgrade * User story #9107: Report rudder agent version in inventory * User story #9115: Policies validation by the Interface is not strict enough * User story #9119: Add VOLUMN into group criteria ? * User story #9120: Add Model version into group criteria ? * Architecture #9144: Build openssl with -static-libgcc * User story #9158: Normalize ${rudder.parameter} syntaxe between ncf and directive * User story #9191: Groups and classes * Architecture #9207: Transient policy error after upgrade, need to improve handling of policies update during server upgrade (rudder-upgrade vs. ncf vs. rudder-techniques) * User story #9208: Require postgres 9.4 * User story #9244: Accept inventories without signature immediately * User story #9246: Have a last_updated cfengine variable * User story #9247: Add a position option to the "enforce a file content" technique * User story #9248: Addbutton that link to edit a particular technique * User story #9249: Add file_edit_header to default values * User story #9274: rudder agent commands should work with CFEngine enterprise * User story #9277: Add tests for Rudder reports parser * User story #9279: Add Timezone information in inventory (CPAN modules) * User story #9324: Simplify FusionInventory CPAN dependency handling * Architecture #9330: Cleanup inventory technique * User story #9336: User management technique and home directory permissions * Architecture #9411: Remove duplicated rudder_common_report * Architecture #9440: Directives are not correctly grouped in nodeconfiguration table * User story #9460: Have a light cpu setting * User story #9467: Generic methods that return error if it cannot be loaded * Enhancement #9487: Add a force color option to rudder-agent * Architecture #9497: rudder agent check should be run before cf-agent in postinstall script * User story #9501: Include LWP::Protocol::https in the embedded perl * User story #9531: User-friendly compliance explanation in node details * User story #9534: Add a regex constraint on all path fields to start with a dollar or a slash * User story #9551: Group criteria operator for properties * User story #9575: Display when a technique is not used by any directive * Enhancement #9576: Ensure that the python-jinja2 library is present * Enhancement #9578: Ensure that python is present * User story #9580: Add detection of CFEngine return code and display an error message when it is not zero * Architecture #9623: Add dnf support to the package modules * User story #9644: Add a specific call for inventory in rudder remote run API * Bug #9660: Technique errors only show up in webapp log * Question #9679: Support systemd-logger (journald) in rudder-agent * User story #9706: Method to set sysctl settings * Architecture #9727: Make shared-files API asynchronous * Enhancement #9740: Make Jetty outputs heap dumps in /var/rudder/jetty * User story #9785: Chain Root Servers to sync policies uni-directional * User story #9792: Cannot limit API Keys' permissions * User story #9795: Move files used in system techniques from tools to the techniques themselves * User story #9796: Relay Load balancing with HA * User story #9812: Document compatibility between Rudder and CFEngine Enterprise * User story #9813: Remove old deprecated package techniques * User story #9814: Move ncf files loading from promises.cf to a specific file * User story #9816: slapd stop/restart always includes a full backup * User story #9844: Use ncf when possible in Rudder techniques * Architecture #9861: Improve rudder→cfengine compliance by means of ordering for directive execution. * User story #9873: Deprecate some generic methods * User story #9877: Document the system group classes * User story #9878: Tag generic methods types * User story #9914: Apache configuration files status is inconsistent in packages * User story #9927: Add tag serialisation in event logs * User story #9953: Use separate log files for different applications * User story #9998: Add tests for the relay API * Architecture #10004: Rudder Agent on ARM * User story #10061: Upgrade to StringTemplate 4 to improve policy generation time * User story #10141: Add a "related methods" entry in generic methods metadata * User story #10172: Run cf-promises on examples in the doc * User story #10186: relay api is missing verbose logs * Architecture #10204: Allow to set "id" for new "category" records * Enhancement #10221: Improve generic methods with constraints, default values, doc and logs * Architecture #10243: Inconsistent fusion patch for timezone * User story #10276: I Can not migrate from old "package technique" to new one automatically * User story #10299: API Doc missing possibilities of New Group's query syntax * User story #10309: Store sensitive data in Rudder * User story #10313: Run a command just once * User story #10314: Document remote-run exec compatibility * User story #10326: 2 non-contradictory rules cause rule display to spin * User story #10327: Make the Services technique more usable with service managers (like systemd) * User story #10331: Supported agent in techniques should be Rudder versions, not CFEngine * User story #10368: Add expires on static content ncf builder * Enhancement #10404: Document how to monitor and upgrade the size of mdb database for LDAP data for prod env * Enhancement #10415: All Directives based on core Techniques should get a default meaningful name at creation * User story #10428: Is there a button somewhere in the Rudder GUI that uploads a file to the shared folder? * Architecture #10542: Merge rudder-reports into rudder-webapp * User story #10551: Make policy generation be node by node * User story #10562: Technique to execute Database Queries on remote systems. * User story #10572: Option to execute the directive just once. * User story #10577: Choose node behaviour before accepting it * User story #10586: Compile Rudder agent with YAML support * Architecture #10648: Use the same regex as rsyslog to parse Rudder reports * User story #10661: Make a new version of MOTD technique with clearer options * User story #10678: REST Api authorization management by roles * User story #10714: Use sharefile as basis for persistent files * User story #10717: sharedfile_to_node pollutes the shared file's directory with the signature * Architecture #10747: regextract cannot extract values that contains ${TEXT} if TEXT is not a variable * User story #10748: Color of popup should be accorded to its meaning * User story #10757: Popup messages in the GUI are nasty * User story #10763: Foreman integration * User story #10765: Autocompletion in Rudder UI * User story #10807: add rudder agent log list * User story #10818: Technique to UPLOAD a file from a node * User story #10840: Add file copy methods with a "move_obstructions" option * Architecture #10849: Allow splitting docs to external file * Architecture #10861: Node search for Software Versions should be extended * User story #10895: More explicit message in Audit mode * Architecture #10928: SUB_NODES_KEYHASH should be available for rudder-dsc agents * User story #10942: Ability to define post-conditions on every NCF method * User story #10943: Be able to track timing info in the web view * User story #10984: Rudder server as rudder repository mirror * User story #11038: Variable technique creates variables with a long prefix * User story #11060: Update documentation to use rudder server upgrade-technique * User story #11119: Generic methods doc * User story #11121: Remote safety switch * User story #11140: Enforce a file content technique - add "Line ignore regular expression" option/textbox * Architecture #11147: Partition archive tables in postgres, as well as reports table * Architecture #11190: Accept and refuse code for node is inconsitantly duplicated * User story #11209: Please implement rpm in package_state_options. I need rpm --prefix * Architecture #11216: Variable generation in multi instance technique * User story #11238: Hardening TLS * User story #11259: Add a way to keep in memory filters when we leave a page * User story #11301: missing memory variable * User story #11320: add Select1 in generic methods * Architecture #11394: Remove useless required CFEngine version in techniques metadata * Architecture #11410: Generate ncf dependency in rudder-techniques at build time * Architecture #11444: Java 9: Rudder test fails because of JS engine * User story #11607: Add jinja filters for file templating * User story #11614: CSV exports * User story #11707: Git commits are not useful * Architecture #11718: Remove rudder-lib * User story #11728: Advanced user authorizations * User story #11799: Ensure ncf / technique consistancy when run starts * User story #11804: Add a subnet criterion on group creation * User story #11806: Create a "relay nodes" system group * User story #11830: Manage keys-values in file is missing a post modification hook * User story #11838: Send inventories to glpi * User story #11839: Add an allowed networks settings for webapp * User story #11840: Add a variable from template generic method * User story #11887: We should be able to set agent settings or properties uppon acceptance * User story #11890: Rename system groups * User story #11891: Index all files managed by rudder * User story #11893: Create and document and OS KB * User story #11957: Make some parameters optionnal in generic methods * Architecture #11958: Remove old package promises from system techniques * User story #11961: Add an interface to manage parameters of package methods * User story #11964: Please, provide cooperation in web-UI. * Bug #12001: There is no error message on stderr when a service fails to start on Rudder 4.3 * User story #12059: Make node post-acceptation properties and run period configurable * User story #12100: Add a global setting to configure curl proxy behaviour * User story #12108: Self-limit resource usage * User story #12156: Abstract inventory upload / uuid access to support all common tools * User story #12191: Expend Audit mode settings * User story #12259: Help users to "forget" node keys via GUI * User story #12271: Generic method to set POSIX ACL * Architecture #12326: Make a patch to CFEngine source from our changes to Makefiles * User story #12567: Add the ability to take multiple files at once to sharedfile_from_node * User story #12613: Ensure file content without specifying the content * User story #12686: lock properties when they are modified by datasource * User story #12691: Add a JSON validator in JSON fields in the editor * User story #12722: Create a generic method to create a condition that expires after some time * Enhancement #12739: Searching for method/technique does not split words * User story #12770: python-Jinja2 as recommended package * Architecture #12773: Remove standalone abilities from ncf * Architecture #12803: Use longer gpg key for signing packages on recent systems * Architecture #12820: Generic methods should check for undefined variables in parameters and report an error without executing * User story #12838: Allows to enable/disable technique from directive page * User story #12841: File_content behaviour without enforce behaviour is error prone * Bug #12928: Documentation of Rudder shipped with Rudder is kept in cache, and so does not show as updated when rudder is updated * User story #13081: Possibilites to not reporting some methods * Architecture #13378: Remove minicurl * Architecture #13627: Cleanup configuration files in packages * User story #13642: Know the name of the directives/rules that configured something on agent side * User story #13665: node search data augmentation * User story #13719: Node list are not sorted by hostname by default * User story #13796: Local properties via inventory * User story #13802: By directive run schedule * Architecture #13828: Add a CPPFLAGS to agent build * Architecture #13847: Cleanup postinstall * User story #13901: Node Search history * User story #13912: Lint JSON objects in variable_dict * User story #14023: Port zypperPackageManagerRepositories to separated policy generation * Architecture #14136: Use ncf in system techniques * User story #14319: When a parameter is empty we cannot save but there's no hint why * User story #14325: Rename classic into "Unix" * Enhancement #14458: Compliance color in node list is misleading when a node hasn't answered for a long long time * Enhancement #14461: Document `rudder server directive-upgrade` * User story #14479: Create a debugging guide * Enhancement #14488: "Archive everything" in Rudder commits everything in /var/rudder/configuration-repository * User story #14544: Trace /var/rudder/share in git for audit/observability * User story #14625: Show origin of node-policy mode * User story #14782: OS name & version columns should be merged * Architecture #14813: Log diffs when repairing or auditing file content * Enhancement #14840: 500 server error page when URL contains a ; * Enhancement #14853: If policies are broken on the Rudder Server Root, they won't be repaired until a new policy generation * Architecture #14861: We should make certificates expire on 31 dec 2037 * Architecture #14879: Make "Hosts local entries" technique multi-instance * User story #14889: Have the property of a specific node available for all nodes (in directive) * Enhancement #14942: Display of agent verson donut on home page is fairly slow with a lot of nodes * User story #14953: Disable server but keep agent running * Bug #15092: Queries to fetch changes are too big * User story #15093: Add a command line to synchronize objects between 2 rudder instances * Architecture #15191: Separate remote-run server from policy server * User story #15219: e-Mail notification for new change requests * User story #15321: Display list of Directives linked to a technique in the technique editor and allow to delete them when deletting the technique * Enhancement #15563: Event log of config export include a commiterEmail, but there's no info on how to set it * User story #16011: Schedule simple GM take unnecessary arguments * Architecture #16146: Provide default inventory extension scripts with the agent * User story #16154: Add an option to avoid using Yum plugins * User story #16225: feature suggestion - acknowledge problem * User story #16238: Extended inventory properties should appear at node acception under the properties tab * Enhancement #16251: Improve message when using a wrong syntax for a node property in technique editor * User story #16327: Method doc zone is way too small * User story #16399: Rudder package should be way more tested automatically * User story #16403: Some settings modification do not generate an eventlog containing the changes * Enhancement #16418: The reset button in method form only applies to parameters but is displayed on all tabs * User story #16507: Make certificate and inventory part of node summary view clearer * Architecture #16615: Add github actions for testing Rust code * User story #16666: ux feedback - technique editor * Enhancement #16696: when we want to add a new allowed network, we can save even if we didn't "+" the network * Enhancement #16941: delete entries from nodes_info when a node is deleted * Architecture #17015: Add agent type to nodeslist file * Architecture #17017: Add agent type parsing in nodeslist.json * User story #17044: Time sync for systemd-based OS * Enhancement #17123: Package check installed should use the package methods to test either a package is installed or not * User story #17155: Add an option to disable reports signature * User story #17381: Add preview for description in Technique editor * Bug #17422: Technique editor error * User story #17578: Enhance display of event logs for group properties * User story #17622: Allow rudder package search to search on part of plugin name * Enhancement #17624: Unclear error message for rudder package list --all when update was not done * User story #17643: Hide priority filed for separated multi-instance directives * User story #17662: Add a rudder-by-example page for osquery-based audit * Enhancement #17841: Last seen is order by alphabetical rather than by date * Enhancement #17920: Notifications in the technique editor are always over the menu button * Enhancement #17922: Add a note of the impossibility to do a recursive copy from shared-files on windows agents * Enhancement #18028: Group classes list should be distributed via a simple json * Architecture #18083: Add an LSP server for rudder-lang * Architecture #18221: deprecate flag files /opt/rudder/etc/policy-update-running and /opt/rudder/etc/trigger-policy-generation" * Enhancement #18305: Agent always ouput "Reports sent." at the end of normal run * Enhancement #18332: Document apache httpd configuration files * Architecture #18376: Create a API client generated from OpenAPI spec * Bug #18429: Recurrent console error: Uncaught SyntaxError: expected expression, got '<' * Architecture #18436: Update copyright information in packaging * Enhancement #18586: Write documentation for the methods that do not have one * User story #18633: Update documentation abouts inventory hooks * User story #18644: Document that augeas and jq are embeded with rudder-agent * Enhancement #18695: Create a technique to manage yum repository * Enhancement #18734: Filter in compliance reports only filter on rule, not on directive * Architecture #18771: Use "openssl cms" instead of "openssl smime" * Architecture #18783: Implement better benchmarks with realistic reporting data * Enhancement #18817: Monitor unreference software size * User story #18847: Better help on parameters in technique editor * Enhancement #18863: License expiration message for plugin can be improved * Enhancement #18870: When opening a subsection in doc menu points to the top * Enhancement #18896: Disable regenerate button is generation is disabled, show delay if defined * Architecture #19127: Overridden directives in the same rule are missing before a full regeneration * Enhancement #19150: Add option to disable email notifications for change-request * Enhancement #19189: Missing Content-Type in some requests * Enhancement #19573: Correct policy write unit tests to use new system techniques * Enhancement #19671: javascript error on directive page after saving a directive when searching for a tags and hitting "enter" key * Enhancement #19735: Document how to not have the web interface listen to specific network * Architecture #20280: Read test database credentials from env vars * Bug #20316: Compliance is cached as a whole for all node, but used as System and User compliance * Enhancement #20534: Improve recent changes time windows format * Enhancement #20562: Returning on table of compliance in rule page is not clear * Enhancement #20593: Unit test rules API * Enhancement #20644: Webapp must refuse inventory with a date older than the one it already has for a node * User story #20660: Rudder agent health should test if disk space is not full * Enhancement #20709: Add export button in UI for objects * Enhancement #20770: experience of adding a node is suboptimal * Architecture #20801: Cannot trigger a remote run without working dns * User story #20861: Add a method to remove a file only if it is a symlink * Enhancement #20955: Glitch in node compliance details * Question #21054: Dockerize rudder-server * User story #21239: Be able to create categories in technique editor * Enhancement #21242: The selection of directives is not intuitive * Enhancement #21261: Millisecond precision is a bit overkill in Rules Recent Changes * Enhancement #21375: Event logs column name should not be named "ID" * Enhancement #21424: Hooks webpage should contain the absolute path of the different hooks with "copy-to-clipboard" button * Bug #21431: Error with parameters expansion for node * Enhancement #21857: We should have a warning on impact of agent reset on root server * Enhancement #22098: Rudder server command to reset node keys/certificate status * User story #22105: Group category should be implicit group of group from the groups inside * Enhancement #22115: Link to technique editor from directive is hidden * Enhancement #22135: Keep more than one day of history for API log * Enhancement #22587: Returning a lot inventories in List API query still timeout when lots of node are implied * Enhancement #23032: Missing methods for file attributes * Enhancement #23435: Version parameter latest lead to error when using a file for package present method