Project

General

Profile

Actions

Architecture #13622

closed

Add a flag library to store persistent context on the agents

Added by Alexis Mousset about 6 years ago. Updated over 2 years ago.

Status:
Released
Priority:
N/A
Category:
Generic methods
Target version:
Effort required:
Name check:
Fix check:
Regression:

Description

This lib will be part of 20_cfe_basics.

It will allow storing a persisting database of flags that will be usable in the agents. Flags are somehow like persistent conditions but:

  • They have no expiration date
  • They are kept when resetting agent state

This will allow use cases like executing a command only once on a system.

The storage format will be a json file containing:

{
  "flag_name_1": { "created": "20181008-...." },
  "flag_name_2": { "created": "20181008-...." }
}

The file is by default in /var/rudder/agent-data/flags.json, and configurable in ncf.conf.

This library should provide methods to:

  • Load the flags into a variable
  • Reserve a flag (set the persistent class, fails of already present)
  • Set a flag
  • (Get a flag)
  • (Unset a flag)
Actions

Also available in: Atom PDF