What is Application Dependencies

Application dependencies in Code Pipes enable easy addition of required resources during deployment. Developers can seamlessly integrate pre-defined resources, simplifying the process with components, dependencies, and resolvers. Enhance your Code Pipes applications with streamlined resource management.

Approx Reading Time: 4 minutes

What is Application Dependencies

Application dependencies in Code Pipes allow for the dynamic addition of resources required by applications at the time of application deployment. These resources can be cloud resources, such as databases, storage buckets, caches, and more, that developers need to fulfill specific application requirements.

To make a dependency available for an application to use, the following components need to be created:

  1. Component: A component represents a link to a Terraform module that creates the necessary cloud resources to establish the dependency in a base environment. When creating a component, you provide the namespace, name, and provider of the Terraform module, along with any Terraform or environment variables that should be automatically set for the module.

  2. Dependency: A dependency describes the interface that a developer interacts with when adding a dependency to their application. It defines the required input variables and values that will be provided to the application's environment during deployment. The purpose of the dependency is to abstract the complexity of the underlying Terraform module (component) and simplify the process of adding the dependency to an application's environment. Input variables defined in the dependency should be those that the end user (developer) of the dependency needs to understand, such as database version or bucket name.

  3. Resolver: A resolver maps a dependency to a component. It specifies how the variables specified in the dependency are mapped to the variables specified in the component, both for input and output. The resolver ensures that the required input values are provided to the component and that the output values from the component are made available for the application.

By creating components, defining dependencies, and setting up resolvers, organizations can make various resources available for developers to use in their applications, enabling seamless integration and deployment of application dependencies within the Code Pipes ecosystem.

Using application dependencies

Once you have added an application dependency to your organization, you can utilize it in your applications.

When adding the dependency, it will provide certain variables that are relevant to your application. Make sure to assign appropriate names to these variables so that your application can effectively use them during runtime.

application-dependency-add

For example, if you have added a PostgreSQL dependency, it may provide variables like server name, port, and database name. These variables can be crucial for connecting your application to the PostgreSQL instance.