Configuration Management

GitHub and Saltstack

Christian Prior

Slides available

http://www.helotism.de \ ⏎
/business/marketing/presentation/ \ ⏎
configuration-management-with-GitHub-and-Saltstack

## Configuration Management ## ![](/application/logical/images/configuration-management_BH.svg) Configuration Management Principles and Practice; Anne Mette Hass, Glenn Hass; Addison Wesley 2003
## Cfg Mgt and ITIL ## - Service Asset and Configuration Management - In Service Transition interdependency between Knowledge Management and SACM - think "known error database" which _must_ match against complex attributes - "Configuration management is the management and traceability of every aspect of a configuration from beginning to end" (Wikipedia)
## ITIL process map ## | input from | output to | |------------|------------| | Change Management | Change Management | | Release & Deployment Mgt | Change Evaluation | | Service Validation and Testing | Project Management | | Knowledge Management | Release & Deployment Mgt | | | Service Validation and Testing | | | Knowledge Management | [it-processmaps.com](http://wiki.en.it-processmaps.com/index.php/Service_Asset_and_Configuration_Management)
->[serview.de process map](https://www.serview.de/fileadmin/redakteur/medien/downloads/poster/poster_process_map_itil.pdf)

Development Boards: Common Features

boards
  • Computation: Processor and Memory
  • Communication through Ethernet/WiFi/BT/…
  • Powersupply: Consumption, buttons
  • Interaction via GPIO
  • Fixture: Mounting holes and dimensions
  • Storage: SD cards and beyond
  • Synchronization: RTC time

Typical sensors and actors

  • LED
  • RGB LED
  • Servo Motor
  • Buzzer
  • Stepper Motor
  • LCD Display
  • ...
  • Button
  • Line Sensor
  • Light Sensor
  • Distance Sensor
  • Motion Sensor/Gyro
  • Temperature Probe
  • ...

Typical Usecase Revision Control

Source Code repository with branches and merges

Popular Cfg Mgt Software

Typical Scope of Solutions

[Remote Execution] Software Installation Targeting [Cfg Mgt] Defined State Idempotence File Management Confidential Data [Event-Driven Infrastructure] Presence of Remote Systems React to Monitored State Changes [Documentation] Auditing

Name Clash

Config Management is _not_ necessarily based on the Develoment Repository.

##SaltStack Ecosystem ![](/application/physical/images/saltstack-ecosystem.svg)
##SaltStack fileserver ```YAML fileserver_backend: #first filename match wins - roots - git gitfs_remotes: - git://github.com/example/first.git - https://github.com/example/second.git - root: salt #subdirectory - mountpoint: salt://sub/dir - base: myTag05 #git branch - file:///root/third #local env_order: ['pilot', 'production', 'testlab', 'exhibition'] ``` - these are powerful configuration mechanisms: "infrastructure as code" served from a Git repo - many ways to segment or override
## The Demo Setup ## ![](/application/physical/images/oscfgmgt_demo-setup.svg)