Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
dvankempen
Product and Topic Expert
Product and Topic Expert
2,236






This article been updated. For the latest version, go to


 








The SAP Business Technology Platform (BTP) developer onboarding video tutorial series from the SAP HANA Academy has just been updated to include SAP Business Application Studio (BAS) and the Cloud Application Programming (CAP) model.

In this blog post you will find the videos embedded with references and additional information.

Questions? Please post as comment.

Useful? Give us a like and share on social media.

Thanks!




Hands-On Video Tutorials


philip.mugglestone updated his developer onboarding video tutorial series for the SAP Cloud Platform. In this post, you will find the videos embedded with some additional information and resources. Following along in the patented zero-to-hero format, no prior knowledge required, you will be ready to start developing business applications on the platform with minimal effort and no time wasted.

In this set of video tutorials, Philip Mugglestone shows how to configure custom domains in the SAP Cloud Platform Cloud Foundry environment.

You can watch the three video tutorials in a little over 30 minutes. What you learn is

  • How to set up the environment and install the required tools like the cf CLI, custom domain plugin and certbot

  • How to create a custom domain service instance and domain

  • How to sign a certificate and upload the certificate chain to Cloud Foundry

  • How to configure your DNS service for CNAME (using AWS Route 53 as example)

  • How to configure a basic Cloud Foundry application to use custom domains

  • How to configure a full-stack multi-target application (MTA) to use custom domains

  • How to perform housekeeping and undo a custom domain configuration


Note that custom domains require a production environment and are not supported in the trial.

Because we know your time is precious, we have included the commands in a text file so you can simply follow along without too much ado.

For the sample apps used in video number three, git clone

To bookmark the playlist on YouTube, go to

For the documentation, visit

Ready? Let's customise a domain!



Video Tutorial | Custom Domains 1/4


In the first video, we set up the environment and install the required tools.

https://youtu.be/-TQdwfF42Lc?list=PLkzo92owKnVw3l4fqcLoQalyFi9K4-UdY

0:00 - Introduction using AWS S3 as example

1:15 - About TLS certificates using Let's Encrypt and Certbot as example

2:00 - Create new subaccount, enable Cloud Foundry (org name = subdomain), and create space

3:30 - Set entitlements for Custom Domains

4:00 - Install cf CLI for your platform

4:45 - Install SAP Cloud Platform cf CLI Custom Domain plugin

6:00 - Connect with cf CLI

7:00 - Install Certbot for your platform

8:00 - Recap



Commands


Commands used in this video tutorial:
cf install-plugin custom-domain-cli
cf plugins
cf api
cf login
cf cdl
certbot --version



Downloads


To download the cf CLI and plugin, visit

Documentation


For additional information, visit



Video Tutorial | Custom Domains 2/4


In the second video we configure and activates the custom domain for the Cloud Foundry subaccount. This includes the process of creating and installing the SSL certificate.

https://youtu.be/09swd2LL1v8?list=PLkzo92owKnVw3l4fqcLoQalyFi9K4-UdY

0:00 - Introduction

0:30 - Customise sample code 

2:50 - Create Custom Domain Service instance, domain, and key

4:50 - Create certificate signing request (CSR)

6:00 - Deploy DNS TXT record in AWS Route 53 (or alternative DNS service)

8:00 - Add base-64 root certificate to the chain

8:50 - Upload and activate certificate

10:00 - Configure CNAME to point to the API endpoint

11:30 - Recap

Code Sample


The sample code for this tutorial is available for download from GitHub:

For the base-64 root certificate used by Let's Encrypt, visit

Update the



























<cforg> Cloud Foundry Org Name, e.g. "demo"
<apps.acme.com> Custom domain
<custom-domain-instance> Service instance name, e.g. customdomain
<custom-domain-key> passphrase, e.g. customdomainkey |
<C=US, ST=California, L=Palo Alto, O=ACME> Certificate configuration
<admin@acme.com> administration e-mail account

Commands


Commands used in this video tutorial.
cf create-service INFRA custom_domains customdomain
cf create-domain demo apps.acme.com
cf domains
cf custom-domain-create-key customdomainkey
"CN=apps.acme.com, C=US, ST=California, L=Palo Alto, O=SAP" "*.apps.acme.com"
cf custom-domain-get-csr customdomainkey csr.pem

Using certbot to generate the certificate with the CRS.
certbot certonly --manual --preferred-challenges dns 
--server "https://acme-v02.api.letsencrypt.org/directory"
--domain "*.apps.acme.com"
--email admin@acme.com
--csr csr.pem --no-bootstrap --agree-tos

Add certificate
cf custom-domain-upload-certificate-chain customdomainkey 2upload.pem
cf custom-domain-activate customdomainkey "*.apps.acme.com"
cf cdl
cf custom-domain-show-certificates customdomainkey

Configure CNAME to point to the API endpoint.



Video Tutorial | Custom Domains 3/4


In part 3 we learn how to configure two sample applications for custom domains.

https://youtu.be/wPsYvPf5jhQ?list=PLkzo92owKnVw3l4fqcLoQalyFi9K4-UdY

0:00 - Introduction with reference to local development tools

0:50 - Git clone sample applications and open in Visual Studio Code 

1:50 - Basic example: configure route in deployment descriptor manifest.yml

3:50 - Advanced example: configure parameter in deployment descriptor mta.yml and security descriptor xs-security.json

6:00 - Build and deploy MTA and validate

8:00 - Recap

Basic example
[manifest.yml]
applications:
- name: myappnode
routes:
- route: myappnode.apps.acme.com

MTA example
[xs-security.json]
,
"oauth2-configuration": {
"redirect-uris": [
"http*://*apps.acme.com/**"
]
}

 

For how to set up a local environment, see the video tutorials


Configuring MTA and security descriptor for custom domain



Video Tutorial | Custom Domains 4/4


In the last video, we cover how to de-configure custom domains by deleting deployed applications and routes, deactivating and deleting custom domain definitions and keys from a Cloud Foundry subaccount.

https://youtu.be/zJ8TBrO1e9k?list=PLkzo92owKnVw3l4fqcLoQalyFi9K4-UdY

0:00 - Introduction

0:30 - Delete apps

2:00 - Remove custom domain configuration

4:30 - Remove CNAME record for DNS

5:00 - Recap

Commands


To delete the MTA and basic app, use commands
cf undeploy myappuaa --delete-services -f
cf d myappnode -r -f

Deactivate and delete domain
cf cdl
cf custom-domain-deactivate "*.apps.acme.com"
cf domains
cf delete-domain apps.acme.com
cf custom-domain-delete-key customdomainkey
cf delete-service customdomain


Share and Connect


Questions? Please post as comment.

Useful? Give us a like and share on social media.

Thanks!

If you would like to receive updates, connect with me on

For the author page of SAP PRESS, visit







Over the years, for the SAP HANA Academy, SAP’s Partner Innovation Lab, and à titre personnel, I have written a little over 300 posts here for the SAP Community. Some articles only reached a few readers. Others attracted quite a few more.For your reading pleasure and convenience, here is a curated list of posts which somehow managed to pass the 10k-view mile stone and, as sign of current interest, still tickle the counters each month.


>
1 Comment