Skip to main content

PackageConfigModel

This file describes a package deployment to a paranet node.

Properties

  • id (string, required): Unique identifier for this paranet package. This field must not contain spaces or capital letters.
  • name (string or null): Optional display name for the package.
  • version (string, required): Semantic version for the package, this field must follow the semantic versioning spec: https://semver.org/.
  • simulation (boolean or null): Whether or not this package should use the simulation paraflow images. Simulation images are useful for development as they are capable of running on an artifical clock to process events at an accelerated (or decelerated) rate. If this field is true, then the package must be deployed into a node which is also using simulation, otherwise the simulation actors will not function correctly.
  • actors (array): List of actors to be deployed by this package.
  • sidecars (array): List of global sidecars to be deployed by this package. "Global" sidecars are better thought of as independent services which run inside the node deployment which are accessible by more than one actor.
  • models (array): List of models to be registered into the node by this package. This field contains a list of filesystem paths to the model files. These models can be any valid paranet model. Currently, this field is typically used to define external skillsets, user and domain actors. In the future, para will support a direct representation of these types in the package definition.
    The final component of the path can be *, which will include all files in the directory.
    • Items (string)
  • meta_models (array): List of meta models to be deployed. Examples of meta models are user definitions. This field contains a list of filesystem paths to the meta model files.
    The final component of the path can be *, which will include all files in the directory.
    • Items (string)
  • registry (string or null): Which registry to use for generated docker images, should you desire to push them to a registry. If this field is not provided, then no registry is used and the images are only created for local use.
  • no_build_image (boolean or null): Disable building images. Set this option if images are managed externally.
  • paranet_registry (string or null): The registry used to fetch paranet images.
  • panels (array): List of panels to be uploaded by this package.
  • imports (object): List of additional package imports. Package imports can be defined via a local path or a git reference (note: as of now git is not implemented). Can contain additional properties.
  • channel: Channel used to fetch the images used for deploying actors.
  • platform (string)
  • versions: Version overrides for each image. These will change the tag used for images to deploy actors. If these fields are not set, the default tag is determined by the channel. Refer to #/$defs/ParanetPackageVersionsModel.
  • kube

Definitions

  • Actor (object)
    • Any of
    • name (string, required): Name for this actor. This field is mapped to become a unique ID for the actor. As such, it must be unique in this list of actors.
    • version (string, required): The version for this actor. Versions are specified with semver: https://semver.org/.
    • env (object or null): This field allows specifying additonal environment variables that will be set on the actor container when it is spawned. Can contain additional properties.
    • storage_size_gb (integer or null, format: uint32): Minimum: 0.
    • roles (array or null): Adds roles to this actor when it is deployed.
      • Items (string)
    • port (string or null): If specified, this field sets the ACTOR_PORT environment variable in the actor container. This can then be used by the sidecar service to communicate with the actor.
    • build_spec
    • build_image (string or null): If specified, this will override the built image name.
  • EnvValue
    • Any of
      • string
      • object
        • from_env (string, required): Loads the value from the local environment before deployment. This is useful for API keys and other things which should be defined locally. Note, that para makes use of .env files, which can be used to define these values as well.
  • ParaflowSpec (object)
    • path (string): Specifies the path to the actor. All other path variables used by the actor definition are considered subpaths of this path. Default: ".".
    • paraflow (string, required): Specifies the subpath to the paraflow file for this actor.
    • paraflow_backend: Sets the paraflow database used for storing state and application data of the actor.
    • sql (array or null): Lists subpaths to any sql initialization files for this actor to be loaded on start.
      • Items (string)
    • expose_port (integer or null, format: uint16): Minimum: 0. Maximum: 65535.
    • upgrades (object or null): List of version upgrades from old versions to new. Can contain additional properties.
      • Additional properties (string)
    • uses_lock (array or null)
      • Items (string)
  • ParaflowBackend
  • DbType (string): Must be one of: "mysql" or "sqlite".
  • DbConfig (object)
    • db (required): Refer to #/$defs/DbType.
    • endpoint (string or null)
    • credentials_secret (string or null)
  • PythonSpec (object)
    • path (string): Specifies the path to the actor. All other path variables used by the actor definition are considered subpaths of this path. Default: ".".
    • python_sdk (string, required): The subpath for the python actor init file.
  • GraphQLSpec (object)
    • graphql_actor (string, required)
    • paraflow_port (integer, format: uint16, required): Minimum: 0. Maximum: 65535.
  • ActorBuildSpec
    • One of
      • object: If this field is set, the actor is build from a docker image specified at this path. Can contain additional properties.
        • docker (string, required)
      • object: If this field is set, the actor is build from an npm package specified at this path. Can contain additional properties.
        • npm (string, required)
      • object: If this field is set, the actor is build from a yarn package specified at this path. Can contain additional properties.
        • yarn (string, required)
  • Sidecar (object)
    • One of
      • object: If this field is set, the actor is build from a docker image specified at this path.
        • docker (string, required)
      • object: If this field is set, the actor is build from an npm package specified at this path.
        • npm (string, required)
      • object: If this field is set, the actor is build from a yarn package specified at this path.
        • yarn (string, required)
      • object: If this field is set, the actor is build from a python package specified at this path.
        • python (string, required)
      • object: Configures this sidecar as a paralogue sidecar.
    • name (string, required): The unique name of this sidecar. This name is transformed into a valid container ID and therefore must be unique within this package.
    • version (string, required): The version for this actor. Versions are specified with semver: https://semver.org/.
    • path (string): The root path to the sidecar definition. Default: ".".
    • port (string or null): The port the sidecar service uses.
    • additional_ports (array): The ports the sidecar service uses.
      • Items (string)
    • ingress_port (string or null): The ports the sidecar service uses for ingress.
    • dns (string or null): Optionally specify the hostname for this sidecar.
    • env (object or null): Additional environment variables specified for the sidecar to use. Can contain additional properties.
    • build_image (string or null): If specified, this will override the built image name.
  • ParalogueBuildSpec (object)
    • models (array, required): List of models to include in the upload. These can be either paralogue models directly or paralogue index files.
      • Items (string)
  • PanelSpec (object)
    • id (required): Unique ID for this panel. Refer to #/$defs/Id.
    • version (string): Version for this panel. Default: null.
    • name (string or null): Optional display name for this panel, used by paracord. Default: null.
    • authors (array): Optional list of authors of the panel. Default: [].
    • render_info: Additional rendering information for the panel. Default: null.
    • path (string, required): Path to the panel source files. Currently para does not build panel files and you are expected the build them yourself prior to uploading. In the future, para may build panels prior to deploying them.
  • Id (string)
  • PanelRenderInfo (object)
    • width (string or null): Default: null.
    • height (string or null): Default: null.
    • extras: Any extra rendering information. Default: null.
  • Import
    • Any of
      • object
        • path (string, required): Filesystem path that points to a package. This path can either be a folder, in which case para will search the folder for a valid package manifest file at that folder location, or it can be a path directly to a manifest file, in which case the folder containing that manifest is used as the package location. This feature is useful for import packages which use a non-standard manifest file name.
      • object
        • url (string, required)
        • manifest (string or null)
      • object
        • Any of
            • One of
              • object: A particular commit reference.
                • ref (string, required)
              • object: A git tag reference.
                • tag (string, required)
              • object: A git branch reference.
                • branch (string, required)
        • git (string, required): Reference to a git repository.
  • ParanetVersionChannel (string): Must be one of: "prod", "preprod", or "dev".
  • ParanetPackageVersionsModel (object)
    • paraflow (string or null): Define the tag used for paraflow actors.
    • paralogue (string or null): Define the tag used for paralogue sidecars.
    • python_sdk (string or null): Define the tag used for python actors.
  • PackageKubeModel (object)
  • KubeServiceAccountModel
    • Any of
      • object
        • name (string, required)
        • cluster_role_binding (string or null)
        • annotations (object): Can contain additional properties.
          • Additional properties (string)
      • string