Service development

A service deployment “recipe” is written in a Definition. A Provision then instantiates such a Definition to create a deployment for this service which you can have multiple of:

flowchart BT subgraph definitions ["definitions #nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;"] definition(mysql) end subgraph provisions ["provisions #nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;#nbsp;"] provision1(website-db) provision2(shop-db) provisionN(...) end provision1 --> definition provision2 --> definition provisionN --> definition style provisionN fill:none,stroke:none

The Definition contains properties for clusters, nodes, endpoints and dependencies which will be computed to emit the effective runtime resources as containers and networking endpoints.

Read more about:

  • Definition blocks

    This page will give a brief overview over the structure of a Definition. See the Service API reference for all available properties. A Definition consists of the blocks instance, clusters, nodes, endpoints and dependencies: ​ definition definition example example # resource kind declaration spec: # instance definition clusters: # list of cluster definitions - nodes: # nodes definition provides: # list of endpoint definitions - dependencies: # map of dependency definitions # resource kind declaration apiVersion: service.

  • Provision blocks

    This page will give a brief overview over the structure of a Provision. See the Service API reference for all available properties. A Provision consists of the blocks instance, clusters, nodes, endpoints and dependencies: ​ provision provision example example # resource kind declaration spec: # instance provision clusters: # list of cluster provisions - nodes: # list of node provisions - endpoints: # list of endpoint provisions - dependencies: # map of dependency provisions # resource kind declaration apiVersion: service.

  • Inheritable properties

    Inheritance of properties can be used to reduce repetition or to define defaults for the service and thus can be overridden in a more specific block. The following inheritable properties exist within the specified blocks of the Definition: Property Instance Cluster Nodes Endpoint name labels annotations limits podSpec : Will inherit from parent if unset : Cannot be set here Inheritance is only merged in the resulting container….

  • Definition Inheritance

    Includes, extends

  • Example

    A simple definition example: ​ cli cli yaml yaml aep something # resource document type declaration apiVersion: service.aep.asag.io/v1 # the AEP service resource api with version kind: Definition # the resource type is a definition # resource document naming metadata: namespace: asag # the vendor shortname of the definition name: nginx-0.1 # a unique name of the definition per vendor # resource document specification spec: name: nginx # the service shortname of this definition version: "0.

  • Operators

    Operators can be used to coordinate the deployment of services as well as continuous access to the cluster. Depending on the service it may require service specific coordination during deployment, automatic handling of service specific secrets and can be used to maintain upkeep with service specific knowledge. … Credentials and Secrets … Config Resource …

  • Update strategies

    def version and naming -> prv update strategies