Skip to content

airflow-laminar/supervisor-pydantic

Repository files navigation

supervisor-pydantic

Pydantic models for supervisor

Build Status codecov License PyPI

Overview

This library provides type-validated Pydantic models of all configuration options for supervisor.

It provides:

  • SupervisorConfiguration: top-level wrapper around all supervisor configuration options, with a utility method to generate a supervisord.conf
  • SupervisorConvenienceConfiguration: wrapper around SupervisorConfiguration to make a few things easier to configure, for integration with airflow-supervisor and other external tools
  • SupervisordConfiguration: wrapper around supervisord
  • SupervisorctlConfiguration: wrapper around supervisorctl
  • ProgramConfiguration: wrapper around program
  • EventListenerConfiguration: wrapper around eventlistener
  • FcgiProgramConfiguration: wrapper around fcgi-program
  • GroupConfiguration: wrapper around group
  • IncludeConfiguration: wrapper around include
  • InetHttpServerConfiguration: wrapper around init-http-server
  • RpcInterfaceConfiguration: wrapper around rpcinterface
  • UnixHttpServerConfiguration: wrapper around unix-http-server

Additionally, this library provides a small convenience CLI (_supervisor_convenience) for remotely managing supervisor. It is a simple wrapper around the supervisord and supervisorctl CLIs in supervisor.

  • check-programs: Check if programs are in a good state.
  • configure-supervisor: Write a SupervisorConvenienceConfiguration JSON as a supervisor config file
  • force-kill: Kill the supervisor instance with os.kill
  • restart-programs: Restart all programs in the supervisor instance
  • start-programs: Start all programs in the supervisor instance
  • start-supervisor: Start a supervisor instance using supervisord in background
  • stop-programs: Stop all programs in the supervisor instance
  • stop-supervisor: Stop the supervisor instance
  • unconfigure-supervisor: Remove the supervisor config file and working directory

Note

This library was generated using copier from the Base Python Project Template repository.