Skip to content

API Reference

Complete API documentation for fscm.

Core Module

The main fscm module provides all core functionality:

import fscm

Quick Reference

Function Description
run() Execute shell commands
file() Create/update files
mkdir() Create directories
chmod() Change permissions
chown() Change ownership
lineinfile() Modify lines in files
template() Render Jinja2 templates

Global Objects

Object Description
settings Global configuration
CHANGELIST List of all changes made
s System-specific operations

Sections

Core Functions

File operations, command execution, package management, and utility functions.

Settings

Global configuration options for dry-run mode, backups, output, and more.

Changes

Change tracking classes and the CHANGELIST for audit trails.

Remote

Remote execution classes: Host, SSH, Sudo, executor.

Import Patterns

# Import everything (common)
import fscm
fscm.run("ls")
fscm.file("/etc/config", "content")

# Import specific functions
from fscm import run, file, mkdir, template

# Import system object
from fscm import s
s.pkgs_install("nginx")

# Import remote execution
from fscm.remote import Host, SSH, Sudo, executor

# Import modules
from fscm.modules import systemd, docker, wireguard, pki