Skip to content

v0.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@vcanaa vcanaa released this 20 Jun 17:56
· 341 commits to master since this release
7fa12e0

Breaking changes

Scripts

Start.sh

Script start.sh doesn't have --test_parameters anymore. The parameters for testing should be specified in --parameters.

Script start_test.sh is deprecated. Verification should use 'start.sh' with with --entrypoint set to 'deploy_with_tests.sh'

Complete example here.

Stop.sh

Script stop.sh now requires extra parameters:

  • --namespace: to specify the kubernetes namespace
  • --name: to specify the name of the application

Example here.

Driver.sh

Script driver.sh now requires --parameters, the same way start.sh does. Example here.

Features

Schema file

Supporting Service Account and Storage Class as dependency resources

Some dependency resources can be now be specified through schema files. If the resource does not exist yet, a new resource will be provisioned according to the specifications required for that resource (examples are based on the different type of resources). For now, we support Service Account and Storage Class.

Service account

In schema.yaml:

properties:
  operatorServiceAccount:
    type: string
    x-google-marketplace:
      type: SERVICE_ACCOUNT
      serviceAccount:
        roles:
        # You can list one or more roles following the examples below.
        - type: ClusterRole        # This is a cluster-wide ClusterRole
          rulesType: PREDEFINED
          rulesFromRoleName: edit  # Use predefined role named "edit"
        - type: Role               # This is a namespaced Role
          rulesType: CUSTOM        # We specify our own custom RBAC rules
          rules:
          - apiGroups: ['apps.kubernetes.io/v1alpha1']
            resources: ['Application']
            verbs: ['*']
        - type: ClusterRole
          rulesType: CUSTOM
          rules:
          - apiGroups: ['etcd.database.coreos.com/v1beta2']
            resources: ['EtcdCluster']	
            verbs: ['*']

The resulting ServiceAccount (as well as Roles and RoleBindings) will be created in the same namespace as the application.

This is a real usage example from spark operator app.

SSD storage class

In schema.yaml:

properties:
  storageClass:
    type: string
    x-google-marketplace:
      type: STORAGE_CLASS
      storageClass:
        type: SSD

Dependency resources can be referenced by its property name in manifests, just like any other property defined in schema.yaml.