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:
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