Help and discussion on extending apnscp. For helpful starting points with extending apnscp. Note that any software that modifies any system configuration or platform state must have a corresponding addin. This is to ensure a platform can heal itself if configuration drifts.
Resources
- Programming guide - building modules, surrogates and providers
- Protected configuration overrides - list of what and what not to modify
- Sample addin - addins are bundled with packages. Ansible is used to modify platform settings
- apnscp Playbooks - list of platform checks
Questions
-
What’s the difference between a surrogate and provider?
Surrogates overwrite a module. Providers extend a module. Surrogate is one-to-one and a provider is many-to-one. For example you may use 1 billing system for accounts. A surrogate module inlib/modules/surrogates
named billing.php would work. Different accounts may use different DNS providers, so a provider is appropriate. -
What providers exist?
apnscp recognizes mail and DNS providers. -
Can we include my module in apnscp?
Possibly. Reach out to me at matt@panel.dev to discuss inclusion. In general, modules distributed with apnscp should work without requiring third-party licensing.