99 lines
2.7 KiB
YAML
99 lines
2.7 KiB
YAML
---
|
|
_schema-version: '3.1'
|
|
ID: capire.bookshop
|
|
version: 1.0.0
|
|
description: "A simple self-contained bookshop service."
|
|
parameters:
|
|
enable-parallel-deployments: true
|
|
build-parameters:
|
|
before-all:
|
|
- builder: custom
|
|
commands:
|
|
- npx -p @sap/cds-dk cds build --production
|
|
|
|
modules:
|
|
- name: bookshop-srv
|
|
type: nodejs
|
|
path: gen/srv
|
|
parameters:
|
|
buildpack: nodejs_buildpack
|
|
build-parameters:
|
|
builder: npm-ci
|
|
provides:
|
|
- name: srv-api # required by consumers of CAP services (e.g. approuter)
|
|
properties:
|
|
srv-url: ${default-url}
|
|
- name: mtx-api # potentially required by approuter
|
|
properties:
|
|
mtx-url: ${default-url}
|
|
requires:
|
|
- name: bookshop-auth
|
|
- name: bookshop-db
|
|
- name: bookshop-registry
|
|
properties:
|
|
SUBSCRIPTION_URL: ${protocol}://\${tenant_subdomain}-${default-uri}
|
|
SUBSCRIPTION_URL_REPLACEMENT_RULES: [ [ '-srv', '' ] ]
|
|
|
|
- name: bookshop
|
|
type: approuter.nodejs
|
|
path: app/ # from cds.env.folders. Consider also cds.env.build.target -> gen/app
|
|
parameters:
|
|
keep-existing-routes: true
|
|
disk-quota: 256M
|
|
memory: 256M
|
|
requires:
|
|
- name: srv-api
|
|
group: destinations
|
|
properties:
|
|
name: srv-api # must be used in xs-app.json as well
|
|
url: ~{srv-url}
|
|
forwardAuthToken: true
|
|
- name: bookshop-auth
|
|
- name: mtx-api
|
|
group: destinations
|
|
properties:
|
|
name: mtx-api # must be used in xs-app.json as well
|
|
url: ~{mtx-url}
|
|
properties:
|
|
TENANT_HOST_PATTERN: "^(.*)-${default-uri}"
|
|
|
|
resources:
|
|
|
|
- name: bookshop-auth
|
|
type: org.cloudfoundry.managed-service
|
|
parameters:
|
|
service: xsuaa
|
|
service-plan: application
|
|
path: ./xs-security.json
|
|
config:
|
|
xsappname: bookshop-${org}-${space}
|
|
tenant-mode: shared
|
|
|
|
- name: bookshop-db
|
|
type: org.cloudfoundry.managed-service
|
|
parameters:
|
|
service: service-manager
|
|
service-plan: container
|
|
properties:
|
|
hdi-service-name: ${service-name}
|
|
|
|
- name: bookshop-registry
|
|
type: org.cloudfoundry.managed-service
|
|
requires:
|
|
- name: mtx-api
|
|
parameters:
|
|
service: saas-registry
|
|
service-plan: application
|
|
config:
|
|
xsappname: bookshop-${org}-${space}
|
|
appName: bookshop-${org}-${space}
|
|
displayName: bookshop
|
|
description: A simple CAP project.
|
|
category: 'Category'
|
|
appUrls:
|
|
getDependencies: ~{mtx-api/mtx-url}/mtx/v1/provisioning/dependencies
|
|
onSubscription: ~{mtx-api/mtx-url}/mtx/v1/provisioning/tenant/{tenantId}
|
|
onSubscriptionAsync: false
|
|
onUnSubscriptionAsync: false
|
|
callbackTimeoutMillis: 300000
|