Notes

  • Add link to check if a new versio is available
  • Communication between Baldryck and slaves with SSH/SCP, using FABRIC3. Baldryck and slave need having a SSH authentication to useful server.
  • When we launch a process, we get PID. SO if a user give order to stop operation, we can do a kill -9 on PID, after cleaning venv and remote deposit.
  • For each tool, we display “Execution of tool xxx in progress”.
  • All tools will be launched with verbose mode
  • If a “baldryck_cfg.json” is available on root of deposit, all included keys will surcharge default ones defined in Baldryck
  • A page will let user create a basical “baldryc_cfg.json” file.
  • Quality state will use icon as a green check, a red cross, an orange interrogation point, …
  • Project list as a military folder, with tab as in Goldeneye64, at 90°. With project name, and stencil font to indicate status: green “HIGH”, orange “MEDIUM”, red “LOW”.

Analyze process

Analyze will use in entry a json, which be checked by json schema. All paths will be case sensitive. TXT will not.

  • SRC: path type, root
  • DST: path type
  • EXCLUDE_DIRS: path type, relative to SRC
  • EXCLUDE_FILES: path type, src relative
  • EXCLUDE_EXT: str list, without “.”

Will be displayed as “Project deposit analyze, step x/3”

  1. Use os walk to list all available path. Don’t take folder defined as excluded
  2. Create a list of all identified folder. Could be use for obfuscation
  3. Create a dictionnary for all files. Key, in upper case, will be extension. Do not take exluded files and extension excluded. Each key will contain a path list, relative to src

Ideas

  • A “Python script” plugin: allows to execute a python script on slave
  • Environment variable included: allows to defined information like “BALDENV_SLAVE_IP”, “BALDENV_SLAVE_IP”, … Entered script is get as string, where baldenv are used like fstring (ex: {BALDENV_SLAVE_NAME}, then we made a .format(**locals()) on it to get the right script
  • We could select the order of plugin execution, like a “pipeline” in Jenkins. A pipeline is an assembly of jobs. We have to get the two concept for a project
  • The repo analyze create a JSON which is used for each plugins
  • Each plugins must have po files for internationalisation
  • Baldryck have to manage webhook & sheduled task (day/hebdo/hours, month, year)
  • Plugins must to be delivered for baldryck as a zip renamed in “.bap” for baldryck plugin
  • plugins manager has to load plugin manually, not automatically
  • A get_available_plugin_list, then compare with BDD table, then alert if necessary.
  • A quote table, like bugzilla? with quote inspired by BlackAdder & Monthy Python, but python oriented modified