The blueprint repository is a GitHub or BitBucket repository where you keep the blueprint definition files and configurations. This includes the blueprint, application and service definition files, as well as scripts and additional assets, such as configuration and health check scripts.
Each space in Colony is associated with such a repository. Colony reads the blueprints from the repository, validates them and exposes them in the blueprint catalog.
In this article:
The Blueprint Repository's Structure
The blueprint repository must be structured in a certain way so that Colony will be able to read and use it.
The repository folder structure is as follows:
- applications (folder)
- {application_name1} (folder)
- {application_name1}.yaml
- {scripts referenced in the yaml}
- {application_name2} (folder)
- {application_name2}.yaml
- {scripts referenced in the yaml}
- {application_name1} (folder)
- services (folder)
- {service_name1} (folder)
- {service_name1}.yaml
- {service_name2} (folder)
- {service_name2}.yaml
- {service_name1} (folder)
- blueprints (folder)
- {blueprint_name1}.yaml
- {blueprint_name2}.yaml
The repository has three main folders: blueprints, applications and services.
Important: These three folders' names are case-sensitive and must be in lowercase letters.
- blueprints: Consists of the blueprint's YAML files. To learn more about the content of the YAML files see The Blueprint's YAML File.
- applications: Consists of all the applications you modeled. Each application is stored in its own subfolder and includes relevant application YAML files and optional deployment scripts. To learn more about the application's YAML file see The Application's YAML File.
Applications can optionally include additional scripts that run as part of deploying and configuring applications in a sandbox. Learn more about Application Scripts.
- services: Your blueprint can optionally include managed infrastructure services. If you choose to include services in your blueprints, make sure to create a designated services folder for them. To learn more about creating Managed Infrastructure Services, see Integrating Cloud Services.
For reference, see our sample repository on GitHub: https://github.com/cloudshell-colony/samples
Setting up your Blueprint Repository
This section explains how to set up and connect your Blueprint Repository to Colony.
To add a Blueprints Repository to your space:
- In BitBucket or GitHub, create a repository. Copy the repository's URL.
We recommend you create a repository by forking a sample repository. - In CloudShell Colony perform the following steps:
- Access your space.
- Open the Settings page.
- Click the Blueprints Repositories tab.
You can set two different repositories in the space, one for sandbox environments and another for production environments. For details, about these types of environments, see Sandbox vs. Production Environments. - Click +Add a Repository.
- Click the source control tool you wish to use (GitHub or BitBucket) and paste the copied URL in the Add a GitHub Repository popup window.
- Click Connect.
- Authorize CloudShell Colony's access to your GitHub repository.
Your blueprint repository is now set up. You can now launch sandboxes out of the blueprints in your repository using Colony.
Note: It is also possible to launch sandboxes out of the repository's branches using the API. For details, contact Colony Support.
Comments
0 comments
Please sign in to leave a comment.