Skip to content

Latest commit

 

History

History
129 lines (105 loc) · 4.73 KB

private-plugins.mdx

File metadata and controls

129 lines (105 loc) · 4.73 KB
title description icon
Private Plugins
Codify organizational standards using Amplication's Private Plugins
plug

import BlueprintsAndPlugins from "/snippets/how-plugins-and-blueprints-work-together.mdx";

Plugins are the driving force behind Amplication's code generation capabilities. They provide the flexibility and extensibility needed to adapt Amplication to a wide range of technologies, languages, and frameworks.

When you create a new resource from a Blueprint, it looks at the configured plugins to understand the concrete steps needed to generate the code and configurations. Without plugins, Blueprints would be just abstract descriptions.

Blueprints define *what* you want to build. Plugins define *how* to build it with code.

What Are Private Plugins?

Private plugins are custom code that hook directly into Amplication's code generation lifecycle events. This event system provides plugins with comprehensive access to:

  • Catalog properties for the specific resource being generated
  • Blueprint properties of the specific resource
  • Catalog and blueprint properties of all related resources (set through Blueprint relations)

This deep level of access allows you to create highly customized plugins that can adapt the code generation logic based on your organization's specific needs. By combining the Blueprint Plugin events with various property access levels, you can precisely control how your software is generated.

For detailed technical information about implementing plugins, visit our [Plugin Development Guide](/plugin-development/overview).

How Private Plugins Solve Drift & Maintenance Challenges

One of the biggest headaches for platform teams is managing technical debt across repositories, especially when managing multiple resources that share common plugins. Plugins, paired with Amplication's blueprint-driven code generation, help teams stay in sync through automated coordination.

Plugins support versioning, allowing the platform team to:

  • Release and maintain multiple versions of the same plugin
  • Gradually roll out plugin updates across different teams
  • Maintain backward compatibility when needed

So, when you update and release a new version of a plugin that's used across multiple blueprints, Amplication helps you maintain consistency with:

Resources using the modified plugin receive immediate alerts, helping teams track which services need attention. Amplication automatically generates pull requests across all affected resources, making it easy to review and apply plugin changes at scale.

A Private Plugin Example

Let's say your organization needs to ensure consistent infrastructure provisioning across all new resources. You can create a private plugin that:

Generates Terraform configurations for required cloud resources Sets up standardized GitHub Actions/Jenkins pipelines with security scanning Creates environment-specific configurations for dev, staging, and production

This ensures that every time a developer creates a new resource with this configured plugin, all the necessary infrastructure and deployment configurations are automatically generated following your organization's standards.

Next Steps

Ready to create your own private plugins? Head over to our Plugin Development Guide to learn about:

Learn how to interact with Amplication's event system to customize code generation Understand how to organize your plugin's code and resources effectively Discover how to tap into various application events during the generation process Best practices for testing and validating your plugin's functionality