frank
-
Templating
Dynamic manifest generation with powerful templating
-
Dependency Management
Define execution order with stack dependencies
What is frank?
frank is a CLI tool for applying templated Kubernetes manifest files to clusters with intelligent configuration management and stack-based filtering. It simplifies multi-environment deployments by providing:
- ๐ฏ Smart Deployments - Creates or updates resources intelligently
- ๐ Jinja Templating - Dynamic manifest generation with powerful templating
- ๐ท๏ธ Stack Management - Organize and filter deployments by environment
- ๐ง Configuration Inheritance - Hierarchical config management
- ๐ Dependency Management - Define execution order with stack dependencies
- ๐งน Resource Cleanup - Surgical precision resource deletion
- โก Parallel Processing - Fast multi-stack deployments
Key Features
Templating
Generate dynamic Kubernetes manifests using Jinja templates and HCL.
Stack-Based Filtering
Target specific environments or applications with flexible filtering:
$ frank apply # Deploy everything
$ frank apply dev # Deploy all dev environment stacks
$ frank apply dev/app # Deploy all dev/app* configurations
$ frank apply dev/app.yaml # Deploy specific configuration file
Hierarchical Configuration
Organize your environments with inheritance and override patterns that make sense for your team.
Dependency Management
Define execution order for your stacks using the depends_on field, ensuring dependent stacks are deployed only after their dependencies complete successfully.
Why frank?
frank fills the gap between simple kubectl apply and complex tools like Helm. It provides:
- Simplicity - No package lifecyle to manage
- Flexibility - Jinja and HCL templating for dynamic content
- Organization - Stack-based filtering and management
- Speed - Parallel deployments and intelligent updates