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

    A Definition consists of the blocks instance, clusters, nodes, endpoints and dependencies: definition 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.aep.asag.io/v1 # the AEP service resource api with version kind: Definition # the resource type is a definition metadata: namespace: asag # the vendor shortname of the definition name: lemp-0.

  • Inheritable properties

    The following inheritable properties exist within the specified blocks of the Definition: Property Instance Cluster Nodes Endpoint name labels annotations flags settings limits podSpec This property is required : Will inherit from parent if unset : Cannot be set in this block Inheritance is only merged in the resulting container….

  • Definition Inheritance

    Includes, extends

  • Example

    A simple definition example: cli 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