cf-mta-examples
Multitarget Application (MTA) examples for the SAP BTP, Cloud Foundry environment, one directory per deployment topic, from routes and service instances to blue-green deployment and module hooks.
The examples demonstrate how to achieve different goals using MTAs and what the capabilities of the SAP Cloud Deployment service in the Cloud Foundry environment are, one directory per topic: app attributes and deploy parameters, app features, health checks, DockerDockerA container engine that packages software with the tools it needs and runs it isolated from the host. Things here that ship as an image need it installed, so the reader installs the engine rather than each of the command line tools inside the container. images as cf apps, routes, sharing configuration values between apps and across MTAs, HTML5 and SAP content deployment, managed and user-provided service instances, extension descriptors per environment, parallel module deployment, sequential resource processing, blue-green deployment with idle routes, hosts and domains, module hooks, keeping existing routes, bindings and environment variables on update, and deploying a remote MTAR by URL reference. For the concepts behind them the README points at SAP's own Multitarget Applications documentation on the SAP Help Portal, and asks that you already be familiar with Cloud Foundry applications, services and service bindings and with MTA modules, resources and the dependencies between them. Most examples are generic for the MultiApps Controller, which is the standard MTA deployment service for Cloud Foundry; some are runnable only on SAP BTP Cloud Foundry, because of specific service offerings or functionalities available only there.
Facts
Where it sits
Who is behind it
In the atlas: maintains 222@SAP-samplesmaintainerAjinkya PatilContributes to this
In the atlas: contributes to 112@ajinkyapatil8190Boyan VelinovContributes to this
In the atlas: contributes to 2@boyan-velinovBrian BernardContributes to this
In the atlas: contributes to 64@btbernardChristian SavchevContributes to this
In the atlas: contributes to 1@christiansavchevChristian SchüringsContributes to this
In the atlas: contributes to 25@cschueringsDidoContributes to this
In the atlas: contributes to 3@ddonchevikasarovContributes to this
In the atlas: contributes to 1@ikasarovIvan DimitrovContributes to this
In the atlas: contributes to 1@IvanBorislavovDimitrovKrasimir KargovContributes to this
In the atlas: contributes to 1@karrgovnataliakContributes to this
In the atlas: contributes to 1@katunin-ng18 contributors
What it declares
Every artifact
- Type
- Sample
- Origin
- By SAP
- Use as
- A reference
As a sample
- Form
- Code snippets
Connections
Getting an application onto a runtime and keeping it there
Cloud Foundry runtime of SAP BTP for polyglot applications
Download
README
quoted from SAP-samples/cf-mta-examples under Apache-2.0, readDescription
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-features[Managing CF app features with app-features parameter]
- link:/cf-app-health-check[Configuring CF app health checks with health-check-* 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]
- link:/skip-app-deploy[Skip app deployment using
skip-deployparameter]
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)]
Module Hooks
- link:/hooks[Module Hooks] ** link:/hooks/deploy-hooks[Deploy Hooks] ** link:/hooks/blue-green-hooks[Blue-Green Deploy Hooks] ** link:/hooks/blue-green-hooks/with-target-app[Blue-Green Hooks with target-app]
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 file.
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:sap-samples-cf-mta-examples- JSON
- /artifacts/sap-samples-cf-mta-examples.json
- MCP
- Connecting an agent