The goal of these documents is to provide overviews of how various systems work inside Chef Server. If you encounter a process or feature that isn’t straightforward or took you time to understand consider writing an explanation here.
- High Level Architecture
- Search and Indexing
- Cookbook Upload Request Sequence Diagram
- Permissions Model - covers overall model including authz, authn
- Build and Test Pipelines
- FIPS - FIPS-mode support
- Development Environment Setup and Configuration
- Bookshelf
This is an ongoing list of documentation we would like to add. Please feel free to add more topics, or take on documenting one of them.
- what is veil and how do we use it to keep internal passwords secure?
- which components use it?
- What does an API request look like, from client to all of the back end components, and everything in between.
- What components and services get used? What is sync/async in that handling?
- interaction diagram
- data collector - when/where/what data do we supply?
- authentication and configuration
- definition of what it is, when/why it gets performed.
- How are depsolver requests handled, from end-to-end
- what are the depsolver components? (erlang, ruby, native gecode binding)
- How do we use
pooler
? - What problems is it solving for us?
- Which components in Server use it?
- What does the flow look like for services
The chef_object and chef_db model for managing, retrieving, and persisting Infra Server objects.
Server has support for reporting into 2 or 3 different application metrics systems. Document:
- What they are
- What kind of metrics do we capture
- What components capture, and into which systems?