Skip to main content

Manifests

Overview

Manifests are the centrepiece of how you control your deployment to enclaves in OBLV Deploy. They generally follow native Kubernetes manifests, with a few small tweaks to configure the nuances required for secure enclave deployments.

When writing an OBLV Deploy manifest, it's useful to keep in mind the general structure you'll be following:

NitroEnclaveDeployment v1alpha1

FieldDescription
apiVersionAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info
kindKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info
metadataStandard object's metadata. More info
specSpecification of the desired behavior of the Deployment.
statusMost recently observed status of the Deployment.

NitroEnclaveDeploymentSpec v1alpha1

FieldDescription
replicasThe number of enclave pod replicas
podLabelsThe labels to apply to the enclave pods
ingressThe ingress configuration for the NitroEnclaveDeployment
enclaveCpuCountThe number of vCPUs to allocate to the enclave
hugepages-1GiThe amount of 1Gi hugepages to allocate to the enclave
hugepages-2MiThe amount of 2Mi hugepages to allocate to the enclave
serviceAccountThe service account to attach for the enclave pod
caCertDetailsThe CA certificate details to use inside the enclave
userPluginsThe user plugins to run in the enclave
pluginsConfiguration for the privileged plugins

NitroEnclaveDeploymentStatus v1alpha1

FieldDescription
deploymentNameThe name of the deployment that is running the enclaves
statusOverall status of the deployment
replicasThe number of replicas that are running
selectorThe selector that is used to select the pods
readyReplicasThe number of replicas that are ready
availableReplicasThe number of replicas that are available
readyReplicasRatioThe ratio of ready replicas to total replicas

ingress NitroEnclaveDeploymentSpec v1alpha1

FieldDescription
enabledWhether to enable the ingress for the NitroEnclaveDeployment
internetFacingWhether the ingress should be internet facing
dnsHostNameThe DNS host name to use for the ingress NLB
ingressTlsCertificateThe TLS certificate to use for the inbound Proxy
portsThe port mappings for the ingress

userPlugins NitroEnclaveDeploymentSpec v1alpha1

FieldDescription
nameName of the user plugin
imageDocker image of the container to be run
imagePullSecretSecrets to pull image from the docker registry
hostNetworkWhether to enable host network for this plugin
portsThe port mappings on the user container
volumesThe volumes to mount on the user container
envThe environment variables to set on the user plugin container
outboundConnectionsThe outbound connections to allow from the user plugin container
commandThe command to run in the user plugin container
argsThe arguments to pass to the command in the user plugin container
securityContextThe security context for the user plugin container

plugins NitroEnclaveDeploymentSpec v1alpha1

FieldDescription
authConfiguration of auth plugin
loggingConfiguration of logging plugin
telemetryConfiguration of telemetry plugin

auth plugin NitroEnclaveDeploymentSpec v1alpha1

FieldDescription
nameName of the user plugin
imageDocker image of the container to be run
imagePullSecretSecrets to pull image from the docker registry
portsThe port mappings on the user container
volumesThe volumes to mount on the user container
envThe environment variables to set on the user plugin container
outboundConnectionsThe outbound connections to allow from the user plugin container
commandThe command to run in the user plugin container
argsThe arguments to pass to the command in the user plugin container
securityContextThe security context for the user plugin container
resourcesResources allowed (cpu|ram) for the auth plugin container

logging plugin NitroEnclaveDeploymentSpec v1alpha1

FieldDescription
nameName of the user plugin
imageDocker image of the container to be run
imagePullSecretSecrets to pull image from the docker registry
volumesThe volumes to mount on the user container
envThe environment variables to set on the user plugin container
outboundConnectionsThe outbound connections to allow from the user plugin container
commandThe command to run in the user plugin container
argsThe arguments to pass to the command in the user plugin container
securityContextThe security context for the user plugin container

telemetry plugin NitroEnclaveDeploymentSpec v1alpha1

FieldDescription
nameName of the user plugin
imageDocker image of the container to be run
imagePullSecretSecrets to pull image from the docker registry
portsThe port mappings on the user container
volumesThe volumes to mount on the user container
envThe environment variables to set on the user plugin container
outboundConnectionsThe outbound connections to allow from the user plugin container
commandThe command to run in the user plugin container
argsThe arguments to pass to the command in the user plugin container
securityContextThe security context for the user plugin container