Skip to main content

Model

Description

Model is a placeholder for individual workloads definitions in a CompositionModel.


Name field of tag name

The Name of the Element.

Kind: NameTag
Tag: name
Data Type: string
Optional: False


Vendor field of tag vendor

The Vendor of the Element.

Kind: NameTag
Tag: vendor
Data Type: string
Optional: False


Kind field of tag kind

The Kind of the workload is used in communication with the workload as an HTTP header, X-HYDRA-APPLICATION-KIND, to support multipurpose container images. However, only a single kind is allowed at anytime. The kind may or may not be in the roles list. The kind has the same validation as Kubernetes names, but with maximum allowed length of 31 characters.

Kind: string
Tag: kind
Data Type: string
Maximum Length: 127
Optional: False
Regular Expression: (^[a-z0-9]([-a-z0-9 ]*[a-z0-9])?$)


Roles field of tag roles

The Roles that the workload could play in this CompositionModel. These values determine how Athena builds the topology: the pod name would be listed under the all of its roles. We do not limit the roles for forward-compatibility and to support arbitrary workloads. However, the pattern limits to Kubernetes naming style with maximum length of 31 characters. Current version of Kubernetes API is not able to check for redundancy, but it MUST be avoided.

Tag: roles
Data Type: Slice
List Type: set
Optional: False


Workloads field of tag workloads

The Workloads for this Element given by a map of their names to container Images. All the images would be deployed in the same Pod. The container name should be unique in the Pod including the names for the Sidecars and the name manager. The name should not start with prefix app- or sidecar- as they are reserved for Athena. Supports OCI and Docker v2 container indexes with versions, without versioning or with hash checks. The containers defined in this list are all managed by Athena.

Kind: Map of string to ImageTag
Tag: workloads
Data Type: Map
Optional: False


Sidecars field of tag sidecars

The Sidecars for this Element given by a map of their names to ContainerDefinitions. These containers would be deployed in the same Pod. The container name should be unique in the Pod including the names for the Workloads and the name manager. The name should not start with prefix app- or sidecar- as they are reserved for Athena. This field is optional to define applications that should not be managed by Athena.

Kind: Map of string to ContainerDefinition
Tag: sidecars
Data Type: Map
Optional: True


ManagerImage field of tag manager-image

The ManagerImage to be used to deploy the manager. Supports OCI and Docker v2 container indexes with versions, without versioning or with hash checks. Defaults to Athena Manager image when not provided. TODO: Define a constant for the default manager image.

Kind: *string
Tag: manager-image
Data Type: Pointer
Default Value: hub.bubbleran.com/athena/manager:v1.5.0
Optional: True
Regular Expression: ^(?P<repository>[\w.\-_]+((?::\d+|)(/[a-z0-9._-]+/[a-z0-9._-]+))|)(?:/|)(?P<image>[a-z0-9.\-_]+(?:/[a-z0-9.\-_]+|))(:(?P<tag>[\w.\-_]{1,127})|)$


Configs field of tag config

Configs determines the list of configurations to be used.

Tag: config
Data Type: Slice
List Map Key: app
List Type: map
Optional: False


Ports field of tag ports

Ports to be assigned for the pod as well as the associated services.

Tag: ports
Data Type: Slice
Optional: True


Security field of tag security

The Security context of the pod.

Kind: *./api/v1.Security
Tag: security
Data Type: Pointer
Optional: True


Instances field of tag instances

Number of Instances of to be replicated of this container.

Kind: *int32
Tag: instances
Data Type: Pointer
Default Value: 1
Optional: True


Resources field of tag resources

Resources of the pod.

Kind: *./api/v1.Resources
Tag: resources
Data Type: Pointer
Optional: True


Labels field of tag labels

Labels used for the pod and services. Athena applies extra labels coming from the network or internally.

Kind: Map of string to string
Tag: labels
Data Type: Map
Optional: True


Annotations field of tag annotations

Annotations for the pod and services. Athena applies extra annotations coming from the network or internally.

Kind: Map of string to string
Tag: annotations
Data Type: Map
Optional: True


Observations field of tag observe

Observations to be observed for the Workload.

Tag: observe
Data Type: Slice
List Map Key: name
List Type: map
Optional: True


ScalingMode field of tag scaling-mode

ScalingMode determines how the network should be scaled according to the slices.

Kind: *string
Tag: scaling-mode
Data Type: Pointer
Default Value: none
Enumeration: none, plmn, service-type, slice
Optional: True