spec
spec copied to clipboard
Request for Entrypoint to be included in the Spec
Entrypoint - Entrypoints describe how data is accepted and results are emitted. Entrypoints and their security are defined as part of a Components Workload. For DICOM Use Case DimseInEntrypoint, DimseOutEntrypoint, WadoRsInEntrypoint, StowRsInEntrypoint, StowRsOutEntrypoint, OperatorInEntrypoint, OperatorOutEntrypoint or DicomRestApiEntrypoint are reserved names with standardized schemas defined within this standard. These are also defined within the Standard Scope definitions of OAM. Definitions at this level are made with default values. Mutability is defined when the entrypoint is applied to a component. For Example:
DICOM DIMSE In Entrypoint Schematic
apiVersion: standard.oam.dev/v1alpha2
kind: EntrypointDefintion
metadata:
name: DimseInEntrypoint
spec:
definitionRef:
name: schema.dimseinentrypoint.oam.dev
Example DIMSE In Entrypoint Definition
apiVersion: standard.oam.dev/v1alpha2
kind: DimseInEntrypoint
metadata:
name: example-app-dimse-in-entrypoint
spec:
inputAet: MYAPPAET
inputPort: 11112
inputHost: 192.168.10.10
security:
type: tls
properties:
version: 1.2
clientCertCn: client.hospital.org
serverCertCn: server.app.com
cipherSuite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Usage in Component Spec
Example Component with mutable parameters for Entrypoint
apiVersion: core.oam.dev/v2
kind: Component
metadata:
name: dimseserver
spec:
type: DicomServerWorkload
settings:
livenessProbe:
httpGet:
port: 8080
path: /live
readinessProbe:
httpGet:
port: 8080
path: /ready
logAccess:
httpGet:
port: 8080
path: /log
httpHeaders:
- name: systemToken
value: sampleheadertoken
env:
- name: inputHost
value: samplehost.domain.com
- name: ip
value: 10.20.30.40
entrypoints:
- entrypointRef:
apiVersion: standard.oam.dev/v1alpha2
kind: DimseInEntrypoint
name: example-app-dimse-in-entrypoint
parameters:
- name: inputHost
description: Input Host Name
fieldPaths:
- "spec.settings.env[0].value"
- "spec.entrypoints[0].spec.inputHost.value"
required: false
- name: ip
description: IP
fieldPaths:
- "spec.settings.env[1].value"
required: false
- name: inputAet
description: Input AET
fieldPaths:
- "spec.entrypoints[0].spec.inputAet.value"
required: false
- name: inputPort
description: Input Port
fieldPaths:
- "spec.entrypoints[0].spec.inputPort.value"
required: false
As an update to this request, Entrypoints describe how data is accepted and results are emitted. Entrypoints and their security are defined separately as resources and applied to a Components Workload in the Application Configuration. Entrypoints are requested to have their own schema definitions:
Attributes:
apiVersion - A string that identifies the version of the schema the resource object should have. kind - Entrypoint or Entrypoint Definition metadata - Information about the resource. The name used here must be unique to the Platform and will be used when building the Application Configuration. spec - The settings to be used to define resource using the resource schema. Those setting which will be mutable or those required at the time of application invocation or instantiation are also defined here.
Entrypoint Spec
settings - properties defined in the schema security - security properties defined in the schema parameters - those properties in settings and security that are mutable or require user input
Example Definition:
apiVersion: standard.oam.dev/v1alpha2
kind: EntrypointDefintion
metadata:
name: cStoreEntrypoint
spec:
aet:
description: This is the Called AET (Application Entity Title) of the Entrypoint. It is the intended acceptor of the service request.
type: string
port:
description: This is the port which will be used to initiate the DIMSE service request.
type: integer
host:
description: The fully qualified domain name or IP address of the SCP (Service Class Provider).
type: string