Skip to content

Terra Repositories

Terra repositories are Git repositories that contain one or more plugins and bundles. They serve as a central location for managing and distributing Terra plugins, allowing users to easily install, update, and manage their plugins through the Terra UI.

Official Repositories

The official Terra repositories are maintained by the Juno team and contain a collection of plugins and bundles that are known to work well together. These repositories are regularly updated with new plugins and bundles, providing users with the latest features and improvements.

Name Maintainer Repo URL
Official Terra Plugins Juno Innovations https://github.com/juno-fx/Terra-Official-Plugins

Community Repositories

Community repositories are not maintained by the Juno team but are created and managed by the community. These repositories can contain plugins and bundles that are not part of the official repositories, allowing users to share their own plugins and contributions with the Terra community. Community repositories can be added to Terra in the same way as official repositories, but users should exercise caution when installing from non-official sources to ensure the plugins are safe and compatible with their environment.

Repository Structure

Plugins

Terra repositories are added as "Sources" to Terra via its UI. You can learn more about this in the UI here. A Terra repository is a Git repository that contains one or more plugins. Plugins are loaded from the plugins/ directory in the repository and every Plugin is required to have a valid terra.yaml file. Terra will automatically detect and load plugins from the repository, making them available for installation and management.

Bundles

Bundles are a way to group multiple plugins together. They are defined in the bundles/ directory of the repository. Bundles are YAML files that specify a collection of plugins and their configurations as well as potentially pinned versions that are known to work together. This allows users to install multiple related plugins at once, simplifying the installation process for complex applications or pipelines.

Folder Structure

This is the general skeleton of a Terra repository.

repository-name/
├── plugins/                 # Directory containing all plugins
   └── <plugin name>/       # A plugin directory
      ├── terra.yaml        # Terra-specific configuration
      ├── templates/        # Helm template files
      ├── .helmignore       # Files to ignore during packaging
      ├── Chart.yaml        # Helm chart metadata
      └── values.yaml       # Values to pass to your template
├── bundles/                 # Directory containing all plugins
   └── <bundle name>.yaml   # Plugin bundle file
└── README.md                # Repository documentation