An open API service indexing awesome lists of open source software.

https://github.com/sap-samples/cf-mta-examples

The repository contains multitarget application (MTA) examples for SAP BTP, Cloud Foundry environment. Examples demonstrate how to achieve different goals using MTAs and show the capabilities of MTA deployment service in the Cloud Foundry environment.
https://github.com/sap-samples/cf-mta-examples

cloud-foundry mta sample sample-code sap-btp sap-cloud-platform

Last synced: 6 months ago
JSON representation

The repository contains multitarget application (MTA) examples for SAP BTP, Cloud Foundry environment. Examples demonstrate how to achieve different goals using MTAs and show the capabilities of MTA deployment service in the Cloud Foundry environment.

Awesome Lists containing this project

README

          

# Description

image:https://api.reuse.software/badge/github.com/SAP-samples/cf-mta-examples["REUSE status", link="https://api.reuse.software/info/github.com/SAP-samples/cf-mta-examples"]

The repository contains Multitarget Application (MTA) examples for SAP Business Technology Platform Cloud Foundry environment. Examples demonstrate how to achieve different goals using MTAs and what are the capabilities of SAP Cloud Deployment service in Cloud Foundry environment.

Before you start with the examples, please make sure that:

* You are familiar with the basic concepts of Cloud Foundry, such as Cloud Foundry applications, services, service bindings
* You are familiar with the basic concepts of MTA modeling, such as MTA modules, resources and dependencies between them. For more information, you may refer to official documentation for Multitarget Applications for the Cloud Foundry Environment on the SAP Help Portal: link:https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/d04fc0e2ad894545aebfd7126384307c.html[Multitarget Applications for the Cloud Foundry Environment]

## Requirements

* Access to link:https://sap.com/products/business-technology-platform.html[SAP Business Technology Platform Cloud Foundry environment]. There you need to have link:https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/b328cc89ea14484d9655b8cfb8efb508.html[account]. MTA examples will be deployed in some of the account's organization and space.
* Installed CloudFoundry CLI - ensure that CloudFoundry CLI is installed and working. For more information about installation of CloudFoundry CLI, please visit the official link:https://docs.cloudfoundry.org/cf-cli/install-go-cli.html[CloudFoundry Documentation]. For the examples, CloudFoundry CLI v8 is supported.
* Installed MultiApps CF CLI Plugin - ensure that MultiApps CF CLI Plugin is installed and working. For more information, please visit the official link:https://github.com/cloudfoundry-incubator/multiapps-cli-plugin#download-and-installation[GitHub Page]
* [Optional] Installed Cloud MTA Build Tool - the tool is used in some of the listed use cases. For more information please visit the official link:https://sap.github.io/cloud-mta-build-tool/[Cloud MTA Build Tool Documentation]

# Download and Installation

Clone the repository, following the link:https://help.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository[instructions].

# MTA use case examples

## Deploy CF Apps
* link:/cf-app[Simple CF app example, managing app attributes & deploy parameters]
* link:/cf-app-docker[Docker images as cf apps]
* link:/app-routes[Managing cf app routes]
* link:/sharing-values-between-apps[Sharing configuration values between apps]

## SAP Content Deployment
* link:/content-deployment/[SAP Content Deployment]
** link:/content-deployment/html5-content-deployment/[HTML5 Application Content Deployment]
** link:/content-deployment/html5-content-deployment/with-existing-key[Content Deployment with an Existing Service Key]
** link:/content-deployment/html5-content-deployment/with-user-provided-service[Content Deployment to a User-Provided Service]

## Manage CF Services
* link:/create-managed-services[Service and Binding creation]
* link:/user-provided-service[Manage User-Provided Service Instances]
* link:/active-optional-resources[Optional and Active Service Instances]

## Share configuration values between MTAs via a configuration registry
* link:/cross-mta-configurations[Cross MTA Configurations]

## Managing deployment configurations
* link:/modify-packaged-mta[Modifying an assembled MTA archive]
* link:/extension-descriptor-different-environments[Configure same MTA for different environments]
* link:/externalize-services-configurations[Externalize service parameters to file]

## Parallel deployment
Optimize deploy time by executing deploy operations in parallel

* link:/parallel-deployment[Parallel module deployment]

## Sequential resource processing
* link:/deploy-with-sequential-resources[Sequential resource processing]

## Zero downtime update
* link:/blue-green-deploy-legacy[Legacy Blue-green deployment]
* link:/blue-green-deploy-strategy/[Deploy with Blue-green strategy]

### Idle host and domain during blue-green deployment
* link:/idle-parameters[Idle route(s), idle host(s) and idle domain(s)]

## Solution development efficiency
* link:/partial-build-deploy[Build/Assemble & Deploy only a parts of an MTA]

## Preserve manually modified app state
* link:/keep-existing-routes[Keep exisiting routes on update]
* link:/keep-existing-bindings[Keep exisiting service bindings on update]
* link:/keep-existing-env[Keep exisiting app env variables on update]

## Deploy a remote MTAR
* link:/deploy-with-url[Deploy with a URL reference]

## Limitations

Most examples are generic for link:https://github.com/cloudfoundry-incubator/multiapps-controller[MultiApps Controller] that is the standard MTA Deployment service for Cloud Foundry. Some, however are runnable only on SAP Business Technology Platform Cloud Foundry, because of speciffic service offerings or functionalities available only there.

## Known Issues

Not detected issues

## How to obtain support

Create an issue, following the link:https://help.github.com/en/github/managing-your-work-on-github/creating-an-issue[instructions].

## License

Copyright (c) 2020 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the [LICENSE](LICENSES/Apache-2.0.txt) file.