12. Platforms

Skipper supports deploying to multiple platforms. The platforms included are Local, Cloud Foundry and Kubernetes. For each platform, you can configure multiple accounts. Each account name must be globally unique across all platforms.

Usually different accounts will correspond to a different orgs/spaces for Cloud Foundry and different namespaces for a single Kubernetes cluster.

Platforms are defined using Spring Boot’s Externalized Configuration feature. To simplify the getting started experience, if a local platform account is not defined in your configuration, Skipper will create a local deployer implementation named default.

You can make use of the Encryption and Decryption features of Spring Cloud Config as one way to secure credentials.

Distinct from where Skipper will deploy application, you can also run the Skipper server itself on a platform. Installation on other platforms is covered in the Part VI, “Installation” section.

Here is example YAML file showing configuration of all three platforms

spring:
  cloud:
    skipper:
      server:
        platform:
          local:
            accounts:
              localDevDebug:
                javaOpts: "-Xdebug"
          cloudfoundry:
            accounts:
              cf-dev:
                connection:
                  url: https://api.run.pivotal.io
                  org: scdf-ci
                  space: space-mark
                  domain: cfapps.io
                  username: <your-username>
                  password: <your-password>
                  skipSslValidation: false
                deployment:
                  deleteRoutes: false
          kubernetes:
            accounts:
              minikube:
                namespace: default

The properties available for each platform can be found in these classes