Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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": {...}
}