What's created by this Template

After using the Template, the created Application will have the following:

  • Configurations
  • Environments
  • Insights 

Configurations

Based on the inputs gathered as the application is created using the template, several application specific configurations are created. These configurations are used in the Tasks that are part of the Template and the output of these Tasks which are Insights and Environments.  

Three distinct configuration objects created are:

  1. Integrations: These encapsulate the configuration for an external Service/Tool used. For example, AWS configuration is an Integration that holds authentication details and provides CloudMunch access to the ECS Cluster configuration 
  2. Tasks: Automation actions to initiate Pipeline, create Environments, perform Environment update and generate Insights. For example, Update Service is a Task that helps Scale up or down the number of Services.
  3. Assets: Assets represent the physical infrastructure that is launched and associated with an Environment. For example, ECS Service is a type of Asset that is created.

Integrations

  • Source  (Currently support GitHub, BitBucket coming soon)
    • as part of the Application import process an OAuth is performed which allows CloudMunch access
    • users can select private or public access of repositories
    • metrics from the repositories like commits, pull requests will be created (see more details in the Insights section below)
    • organization level access of the repository allows CloudMunch to provide Insights at the org level
    • compose.yml path is provided from the source
    • repository selected by the user is used for builds and these will be triggered as part of the first setup and subsequently deployed as a build in the dev stage
  • Docker Hub
    • credentials for the docker hub or your private hub 
    • images and repositories will be pushed to this integration

Tasks

  • Main : Automation tasks to create containers with docker compose configurations.
  • Start:This Task is triggered when an action to "start" is performed on an environment. This starts the container and marks the environment as Started. 
  • Stop: This Task is triggered when an action to "stop" is performed on an environment. This stops the container and marks the environment as Stopped. 
  • LaunchTestEnvironment: This Task will pull image and launch a new environment in Test stage.
  • Approve: This Task stops the container, commits to get an image, tags it as approved and pushes image to docker hub.
  • Reject: This Task is triggered when a "reject" action is taken on the Main build. This stops container, untags, deletes container and the image
  • Release: This Task takes the following steps - Tags the Docker image, pushes the docker image, promotes to Release stage and changes the run status appropriately.

Insights

All of these Applications provide the following Insights.

  • Docker Host metrics:
    • Cloudmunch Metrics Loader: Shows data based on environments of an application. Two types of data is included: all existing environments and environments updated in the last hour.
    • Docker Host Metrics : Creates a report for disk used in a host. If there are multiple hosts per stage of the Pipeline, each host will be shown separately. Other data about the host includes: Free RAM in a host, total number of Images in a host, total number of containers running in a host, total number of stopped containers in a host, Total number of containers on a host and host CPU usage.
  • GitHub Repo Metrics
    • A report that shows all the commits by users
    • Report from a repo showing users by commits, this excludes approved merge by users