Add sample code
This commit is contained in:
parent
022cd9c33c
commit
c9f9ba0e1d
4 changed files with 74 additions and 2 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
vars.yaml
|
||||||
|
*.versatiles
|
||||||
2
Dockerfile
Normal file
2
Dockerfile
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
# Use the latest docker image of VersaTiles including the frontend.
|
||||||
|
FROM versatiles/versatiles-frontend:v0.15.6-alpine
|
||||||
54
README.md
54
README.md
|
|
@ -1,3 +1,53 @@
|
||||||
# cf-versatiles
|
# Cloud Foundry: Sample Versatiles App
|
||||||
|
|
||||||
Sample code to deploy Versatiles app as a Docker container on Cloud Foundry
|
This repository contains the sample code to deploy a [versatiles](https://docs.versatiles.org/) app to STACKIT Cloud Foundry as a docker container.
|
||||||
|
It is based on the bundled [front-end](https://docs.versatiles.org/guides/local_server_docker.html#optionb--bundled-frontend-image-versatiles-frontend) 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](https://docs.stackit.cloud/stackit/en/how-to-setup-an-object-storage-client-objectstorage-71009862.html) s3cmd in advance.
|
||||||
|
|
||||||
|
### Object Storage
|
||||||
|
|
||||||
|
Create a bucket: `s3cmd mb s3://<BUCKET_NAME>`.
|
||||||
|
|
||||||
|
Make bucket [public](https://docs.stackit.cloud/stackit/en/bucket-policies-75139510.html#BucketPolicies-SampleBucketpolicies>) applying following policy:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"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:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
s3cmd put <FILE_NAME> s3://<BUCKET_NAME>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Deploy the app with Cloud Foundry
|
||||||
|
|
||||||
|
Prepare a `vars.yaml` file containing the [variables](https://docs.cloudfoundry.org/devguide/deploy-apps/manifest-attributes.html) 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](https://docs.stackit.cloud/stackit/en/how-to-register-custom-domains-for-apps-on-stackit-cloud-foundry-67771947.html).
|
||||||
|
|
|
||||||
18
manifest.yaml
Normal file
18
manifest.yaml
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
applications:
|
||||||
|
- name: versatiles-test
|
||||||
|
memory: 1024M
|
||||||
|
disk: 1Gi
|
||||||
|
#routes:
|
||||||
|
# - route:
|
||||||
|
# options:
|
||||||
|
# loadbalancing: round-robin
|
||||||
|
instances: 1
|
||||||
|
random-route: true
|
||||||
|
docker:
|
||||||
|
image: ((imageUrl))
|
||||||
|
username: ((dockerUsername))
|
||||||
|
timeout: 10
|
||||||
|
health-check-type: http
|
||||||
|
health-check-http-endpoint: /
|
||||||
|
command: versatiles serve -p $PORT -s frontend-dev.br.tar ((versatilesUrl))
|
||||||
Loading…
Reference in a new issue