2.6 KiB
Cloud Foundry: Sample Versatiles App
This repository contains the sample code to deploy a versatiles app to STACKIT Cloud Foundry as a docker container. It is based on the bundled front-end image, please refer to versatiles documentation for further information.
NOTE: The project contains a dockerfile, which is merely a wrapper around the public versatiles image. It can be uploaded to a private project in STACKIT Container Registry to demonstrate the usage of private images in Cloud Foundry. You can also use any other registry, public or private.
Preparation
Please install and configure s3cmd in advance.
Object Storage
Create a bucket: s3cmd mb s3://<BUCKET_NAME>.
Make bucket public applying following policy:
{
"Statement":[
{
"Sid": "MakePublicReadable",
"Effect":"Allow",
"Principal":"*",
"Action":"s3:GetObject",
"Resource":"urn:sgws:s3:::<BUCKET_NAME>/*"
}
]
}
s3cmd setpolicy <PATH-TO-POLICY-JSON> s3://<BUCKET_NAME>
Download the tiles file: wget -c "https://download.versatiles.org/osm.versatiles".
NOTE: the whole world map is about 65GB.
Upload tile file to the bucket:
s3cmd put <FILE_NAME> s3://<BUCKET_NAME>
Deploy the app with Cloud Foundry
Prepare a vars.yaml file containing the variables used in the manifest.
Push the app: CF_DOCKER_PASSWORD=<YOUR_PASSWORD> cf push --vars-file <PATH-TO-VARS-FILE>.
Custom Domains
Please refer to official STACKIT documentation.
Terraform
Prerequisites
As for now, the Cloud Foundry organization and the Stage you deploy into have to be created beforehand. Create service account: see the docs.
cf create-service space-scoped-service-account space-deployer test-tfcf create-service-key <SERVICE_ACCOUNT_NAME> <SERVICE_KEY_NAME>- retrieve credentials:
cf service-key <SERVICE_ACCOUNT_NAME> <SERVICE_KEY_NAME>