Commit Graph

7 Commits

Author SHA1 Message Date
Alexey Volkov 39975e3cde
SDK - Components - Temporary removed Kubernetes options from ComponentSpec (#4230)
* SDK - Components - Replaced Kubernetes options with generic launcher options

This reduces the schema size and makes the task launcher options more flexible.

* Removed the launcherOptions for now
2020-07-16 19:59:00 -07:00
Alexey Volkov b3eeaaeb12
Updated the ComponentSpec schema (#3698) 2020-05-06 12:01:08 -07:00
Alexey Volkov 734b43e3db
SDK - Added support for maxCacheStaleness (#3318)
* SDK - Added support for maxCacheStaleness

* Added the vendor prefix to the annotation
2020-03-20 13:38:09 -07:00
Alexey Volkov c83aff2738
SDK - Components - Made it easier to access component spec classes (#2860)
* SDK - Components - Made it easier to access component spec classes

* Updated the imports
2020-01-31 11:41:21 -08:00
Alexey Volkov 33fa8eb7b4 SDK - Protobuf version of the component schema (#2636) 2019-11-21 12:01:29 -08:00
Alexey Volkov da5cbb82a7 SDK/Components - Added Json Schema spec for the component format (#669)
* SDK/Components - Added JsonSchema spec for the component format
Added the schema outline

* Fixed missing "required"

* Replaced PrimitiveTypes with just string

* Renamed CommandlineArgumentType to StringOrPlaceholder
Made more ContainerSpec properties support placeholders

* Removed support for type inheritance and generic types as requested by Ning and Ajay

* Some people are scared of graphs/pipelines - removing them

* Some people do not like optional inputs and conditionals - removing them
Sorry, Yasser and Bradley.

* Some people might be scared of predicates or conditional execution - removing them
Sure, Argo and DSL supports it, but some people care more about the spec file size even when that means dropping already supported features.
Sorry, Bradley and Riley.

* Reverting the last 4 commits

Making those big compromises did not have any noticeable effect on people asking for them.

* Removed list-style type specifications

We've standardized on the map-style specification.

* Renamed TypeType to TypeSpecType

* Updated the structure of graphInput

* Added the type attribute to taskOutput and graphInput

* Updated the execution options structure

* Using the official Kubernetes PodSpec schema instead of Argo's subset
2019-11-12 15:50:11 -08:00
Alexey Volkov 83e9ffe5bc SDK/Components - Reworked the component model structures. (#642)
* Reworked the Component structures.
Rewrote parsing, type checking and serialization code.
Improved the graph component structures.
Added most of the needed k8s structures.
Added model validation (input/output existence etc).
Added task cycle detection and topological sorting to GraphSpec.
All container component tests now work.
Added some graph component tests.

* Fixed incompatibilities with python <3.7

* Added __init__.py to make the Travis tests work.

* Adding kubernetes structures to setup.py

* Addressed PR feedback: Renamed _original_names to _serialized_names

* Addressed PR feedback: Reduced indentation.

* Added descriptions for all component structures.

* Fixed a bug in ComponentSpec._post_init()

* Added documentation for ModelBase class and functions.

* Added __eq__/__ne__ and improved __repr__

* Added ModelBase tests
2019-01-09 15:51:34 -08:00