yac Servicefiles

 

Servicefile provides a complete definition of a cloud-based service, including:

  • how to build its associated artifacts (aka binaries)

  • how to build the cloud infrastructure necessary to run the artifacts (aka stacks)

  • how to demonstrate successful integration between artifacts and infrastructure (aka tests)

  • how to perform recurring maintenance tasks (aka tasks)

  • how to repeatably deploy artifacts to multiple cloud-based environments (aka pipelines)

Servicefile formatting is per service.json which is an implementation of JSON Schema.

Servicefile is thus a set of stanzas, structured in json or yaml, that define everything about a cloud-based service.

Servicefiles can include other Servicefiles to improve readability and promote re-use.

Servicefiles can be posted to the yac registry so they can easily be discovered and instantiated

  • typically for test-driving a service or sub-service

Per the Servicefile example to the right, each stanza is either an array of objects or an object.

Service Schema

Servicefile Example ...


"Description": {...},   
"Artifacts": [
          {...},{...},...
     ],
"Credentialers": [
           {...},{...},...
     ],
"Inputs":  [
           {...},{...},...
      ],
"InputsCache": {...},
"IntegrationTests": {...},
"Params": {...},
"Pipeline": {...},
"Secrets": {...},
"Stack": {...},
"Vaults": [
           {...},{...},...
      ],
"Tasks": [
           {...},{...},...
     ],
"includes": {...}
}