Anjuna Runtime for AWS Nitro Enclaves
Each version of the Anjuna Seaglass software is supported for one year after release.
Version 1.50. Release Date - April 2nd, 2025
Access the installer here.
What’s new?
-
Improved support for Node autoscaling, by adding a new resource
nitro.k8s.anjuna.io/cpu
to assist with Kubernetes scheduling. -
Improved persistent storage support for block mounts. Block mounts are now simpler to use, as it is no longer required to compile and deploy a kernel module.
-
This is a breaking change, as the tools to manage block mounts have changed. See Block mounts for details.
-
-
The sample Terraform scripts for EKS deployment now accept Node Group minimum and maximum sizes.
-
AWS EKS with Kubernetes v1.32 was tested and is approved for use with the Anjuna Kubernetes Toolset for AWS EKS and the Anjuna Helm recipe.
-
The Anjuna Kubernetes Toolset for AWS EKS documentation has been updated to reflect the latest supported versions of Helm, 3.10.x to 3.16.x.
Relevant security fixes
Bug number |
Severity |
Description |
ANJ-11157 |
Medium |
Fixed several potential vulnerabilities by upgrading dependencies, addressing CVE-2024-45337, CVE-2023-48795, CVE-2023-45288, CVE-2023-44487, CVE-2022-41723, and CVE-2023-39325. There was no known way to exploit these vulnerabilities in the Anjuna Runtime. |
Version 1.48. Release Date - September 13th, 2024
Access the installer here.
What’s new?
-
AWS EKS with Kubernetes v1.31 was tested and is approved to be used with the Anjuna Nitro EKS Toolset and with the Anjuna Helm recipe.
Relevant security fixes
Bug number |
Severity |
Description |
ANJ-10769 |
Medium |
Fixed several potential vulnerabilities by upgrading dependencies, addressing CVE-2024-24786, CVE-2023-39325, CVE-2023-44487, and CVE-2023-45288. There was no known way to exploit these vulnerabilities in the Anjuna Runtime. |
ANJ-10813 |
Medium |
Upgraded |
Version 1.47. Release Date - July 18th, 2024
Access the installer here.
What’s new?
-
Added support for the encrypted configuration where a proxy is required for reaching AWS KMS.
-
anjuna-nitro-encrypt
now supports encrypting arbitrary files, using the--binary
flag. Previously,anjuna-nitro-encrypt
only supported Anjuna enclave configuration YAML files. -
Added the
anjuna-nitro-decrypt
utility, which can be used to decrypt data that was encrypted usinganjuna-nitro-encrypt
. -
Updated the documentation for deploying the Anjuna Kubernetes Toolset to an existing EKS cluster using a new Node Group and Launch Template. The previous version could fail in situations involving autoscaling.
-
Added the new flag
--log-level
toanjuna-nitro-netd-parent
to control the log verbosity. The new default level isinfo
. -
Added a new troubleshooting item that addresses errors like
error getting EC2 region while getting encrypted config: context deadline exceeded
when using AWS EC2’s Instance Metadata Service Version 2 (IMDSv2). -
AWS EKS with Kubernetes v1.30 was tested and is approved to be used with the Anjuna Nitro EKS Toolset and with the Anjuna Helm recipe.
Version 1.46. Release Date - April 22nd, 2024
Access the installer here.
What’s new?
-
Added the environment variable
ANJ_ENCLAVE_KMS_DECRYPT_RETRY_TIMEOUT_SECONDS
, which allows you to configure the duration of retries for AWS KMS calls used in the encrypted configuration. This environment variable is included inuntrustedConfig.envVars
by default, meaning it can be inherited from the parent instance or Kubernetes manifest. -
Changed the precedence of environment variables provided by untrusted configuration.
-
Previously, untrusted configuration was the lowest priority way to set an environment variable, and any other way (Docker image
ENV
, enclave config, or encrypted config) would override it. -
Now, the untrusted configuration can override environment variables set from the Docker image
ENV
or enclave configuration. The encrypted configuration remains the highest priority way to set an environment variable.
-
Version 1.45. Release Date - March 26th, 2024
Access the installer here.
What’s new?
-
The Anjuna Nitro Runtime now supports Amazon Linux 2023 in both EC2 instances and the Anjuna Nitro Kubernetes Toolset.
Relevant bug fixes
Bug number |
Severity |
Description |
ANJ-10143 |
High |
Fixed a bug that sometimes caused enclaves to not terminate correctly after a fatal error.
The bug affected enclaves using |
ANJ-10142 |
Medium |
Fixed a bug in |
Version 1.44. Release Date - February 20th, 2024
Access the installer here.
Version 1.43. Release Date - February 8th, 2024
Access the installer here.
What’s new?
-
Added the ability to set
UserPublicKey
in the Nitro Attestation Endpoint, enabling applications to easily use the KMS integration for Nitro Enclaves. See documentation for instructions. -
This release includes a new How-to guides section, which includes instructions on the following tasks:
-
Communicating with the parent instance
-
Using shared memory inside the enclave
-
Including binary data in an enclave configuration file
-
Using the Anjuna Nitro Attestation Endpoint
-
Using AWS KMS with the Anjuna Nitro Attestation Endpoint
-
-
AWS EKS with Kubernetes v1.29 was tested and is approved to be used with the Anjuna Nitro EKS Toolset and with the Anjuna Helm recipe.
Version 1.42. Release Date - December 26th, 2023
Access the installer here.
Relevant bug fixes
Bug number |
Severity |
Description |
ANJ-10101 |
High |
Fixed an issue that caused some applications to fail to open files with the |
Version 1.41. Release Date - October 30th, 2023
Access the installer here.
Version 1.40. Release Date - October 25th, 2023
Access the installer here.
What’s new?
-
AWS EKS with Kubernetes v1.28 was tested and is approved to be used with the Anjuna Nitro EKS Toolset and with the Anjuna Helm recipe.
Relevant bug fixes
Bug number |
Severity |
Description |
ANJ-9749 |
High |
Fixed a bug that caused an enclave to crash when the application running in the enclave was writing to the standard output and standard error with information that was longer than 3K, without a new line character. Applications that keep updating progress and move the cursor back on the same line can cause this issue. |
Version 1.39. Release Date - September 28th, 2023
Access the installer here.
What’s new?
-
Added the ability to generate an attestation report at runtime, using the Anjuna attestation endpoint. See Github: anjuna-security/go-nitro-attestation for details.
-
Added the ability to validate an attestation report using a Go package, which is part of
go-nitro-attestation
. See Validate an AWS Nitro Attestation Report for usage. -
Added a new documentation page for Best Practices on Remote Attestation describing how to use Anjuna’s attestation capabilities, including the (new) attestation endpoint and the (existing) boot-time secrets, to improve your application’s security.
Version 1.38. Release Date - August 15th, 2023
Access the installer here.
What’s new?
In response to user feedback, this release updates the experience of providing secrets to enclaves using the "encrypted configuration" (formerly known as "attested configuration"):
-
Added the ability to provide encrypted configuration files at enclave start time, using local files. This improves deployment flexibility: you can now run the same application with different sets of secrets, without rebuilding the EIF.
-
To improve security in situations when an attacker could target the encrypted configuration file, it is now required to specify an
encryptedConfig.allowList
, which defines which files and environment variables can be injected into the enclave: see docs for details. -
For consistency, encrypted configuration files stored in S3 are now configured using
encryptedConfig
withtype: s3
anduri: s3://<path in S3>
. This is a breaking change if you were previously usingattestedConfURL
. TheencryptedConfig.allowList
is also required now, as mentioned above. -
Encrypted configuration files provide secrets to the enclave as environment variables and files; no other configuration options are supported, as non-secret configuration options can be stored in the (unencrypted) enclave configuration file. This is a breaking change if you were previously providing options like
entrypoint
using the encrypted configuration file.
For more information, see the documentation for encrypted configuration files.
Version 1.37. Release Date - June 9th, 2023
Access the installer here.
What’s new?
-
AWS EKS with Kubernetes v1.27 was tested and is approved to be used with the Anjuna Nitro EKS Toolset and with the Anjuna Helm recipe.
-
Amazon EKS version 1.22 is no longer supported due to the Amazon EKS end of support
Version 1.36. Release Date - May 12th, 2023
Access the installer here.
What’s new?
-
The Anjuna Nitro Runtime now supports multiple enclaves per EC2 instance or EKS Node, up to the AWS limit of four.
-
When using multiple enclaves on an EC2 instance, the
--enclave-name
forrun-enclave
should match the--enclave-name
for enclave services likeanjuna-nitro-netd-parent
andanjuna-fs-proxy
. See documentation for an example.-
This is a breaking change if you were previously using
run-enclave
with an--enclave-name
: now you must pass the same--enclave-name
for any enclave services likeanjuna-nitro-netd-parent
andanjuna-fs-proxy
, otherwise the enclave will not be able to discover its services correctly.
-
-
When using EKS, the Anjuna Nitro EKS Toolset automatically handles multiple enclaves.
-
-
anjuna-nitro-cli run-enclave
and the Anjuna Nitro EKS Toolset will now abort if the EIF is built with a different version of the Anjuna Nitro Runtime, to prevent incompatibilities between versions. -
AWS EKS with Kubernetes v1.26 was tested and is approved to be used with the Anjuna Nitro EKS Toolset and with the Anjuna Helm recipe.
Version 1.35. Release Date - April 12th, 2023
Access the installer here.
What’s new?
-
Added documentation on using the Anjuna Nitro Runtime on Red Hat Enterprise Linux 8.
-
Updated the Terraform script used to create a new EKS cluster with the Anjuna Nitro Kubernetes Toolset, since AWS S3 ACLs are now disabled by default.
Version 1.34. Release Date - March 17th, 2023
Access the installer here.
What’s new?
-
AWS EKS with Kubernetes v1.25 was tested and is approved to be used with the Anjuna Nitro EKS Toolset and with the Anjuna Helm recipe.
-
Amazon EKS version 1.21 is no longer supported due to the Amazon EKS end of support.
Version 1.33. Release Date - February 16th, 2023
Access the installer here.
What’s new?
-
Added
priorityClassName: "system-node-critical"
to guarantee scheduling for the Anjuna Nitro Kubernetes Webhook Deployment. Previously, the Webhook could be evicted when cluster load increased. -
Removed the
/dev/vsock
dependency inanjuna-nitro-netd-parent
. As a result, the Anjuna Nitro Kubernetes Toolset will no longer mount/dev/vsock
to enclave Pods. -
Amazon EKS version 1.20 is no longer supported due to the Amazon EKS end of support.
Relevant bug fixes
Bug number |
Severity |
Description |
ANJ-8022 |
Medium |
Fixed a bug with the Anjuna Nitro Kubernetes Toolset Webhook, in which Pods could request a hugepage quantity that was not divisible by hugepage size, resulting in validation failure. |
ANJ-8035 |
Medium |
Corrected logging messages to use consistent memory units (MiB). Previously, the memory value was incorrectly displayed with a number based on MiB, but labeled with MB. |
Version 1.32. Release Date - January 19th, 2023
Access the installer here.
Version 1.31. Release Date - December 20th, 2022
Access the installer here.
What’s new?
-
AWS EKS with Kubernetes v1.24 was tested and is approved to be used with the Anjuna Nitro EKS Toolset and with the Anjuna Helm recipe.
-
Updated the Anjuna Kubernetes Toolset to run
anjuna-nitro-webhook-app
as a Deployment instead of a bare Pod. This ensures that the webhook app will be rescheduled if the Pod or Node fails. Previously this was announced in v1.29 but was not included due to a packaging issue. -
Added logging for disk usage at enclave boot time, which improves the debugging experience when an enclave fails to boot due to lack of disk space.
-
Improved logging performance for production enclaves.
-
Added a search bar for the documentation site.
Relevant bug fixes
Bug number |
Severity |
Description |
ANJ-7615 |
Medium |
Fixed a bug that could cause the enclave console to show the error
|
ANJ-7854 |
Medium |
Updated the Terraform |
Version 1.30. Release Date - November 17th, 2022
Access the installer here.
Relevant bug fixes
Bug number |
Severity |
Description |
ANJ-7758 |
High |
Fixed a bug which could cause writes to fail with |
ANJ-7651 |
High |
Fixed a resource leak in |
Version 1.29. Release Date - October 28th, 2022
Access the installer here.
What’s new?
-
The Anjuna Nitro Runtime now requires a license file to build and run enclaves. See Licensing the Anjuna Nitro Runtime for more information.
-
Updated the Anjuna Kubernetes Toolset to run `anjuna-nitro-webhook-app` as a Deployment instead of a bare Pod. This ensures that the webhook app will be rescheduled if the Pod or Node fails.Due to a packaging issue, this was actually released as part of v1.31.
Version 1.28. Release Date - September 30th, 2022
Access the installer here.
What’s new?
-
Added
forceMount
flag to control whether volume mounts may overwrite existing enclave paths. See Anjuna Nitro Enclave Configuration for details. -
Added documentation on system requirements to build an EIF.
-
Amazon EKS version 1.19 is no longer supported due to the Amazon EKS end of support
Version 1.27. Release Date - September 2nd, 2022
Access the installer here.
What’s new?
-
Added the ability to provide a non-trusted configuration for an enclave.
-
Added support for user IDs in the Dockerfile and Nitro Enclave Configuration file. Previously only names were supported.
-
Added support for group names and group IDs in the Dockerfile and Nitro Enclave Configuration file. Previously the user’s default group was always used.
-
AWS EKS with Kubernetes v1.23 was tested and is approved to be used with the Anjuna EKS tools and with the Anjuna Helm recipe.
Version 1.26. Release Date - August 5th, 2022
Version 1.25. Release Date - July 8th, 2022
Access the installer here.
What’s new?
-
Helm v3.7 and v3.8 were tested and are approved to deploy the Anjuna EKS tools with the Anjuna Helm recipe.
Relevant bug fixes
Bug number |
Severity |
Description |
ANJ-6871 |
High |
Fixed a problem where the enclave failed to support a volume mount, in the case where the user set to mount the volume in a Pod configuration different from root. |
ANJ-6871 |
High |
Fixed a problem where the enclave failed to support a volume mount, in the case where the mount path had a trailing slash. |
ANJ-6895 |
High |
Fixed a problem where local volumes were not available inside the enclave in EKS, when using a pre-built EIF file. |
ANJ-6770 |
Medium |
Provided a more meaningful error message when trying to build an enclave and the enclave configuration file is not found. |
ANJ-6736 |
Medium |
Improved the visibility of problems encountered when starting a Pod in an enclave. |
Version 1.24. Release Date - June 10th, 2022
Access the installer here.
What’s new?
-
Improved supportability for the Anjuna Nitro tools for EKS.
-
Reduced the dependencies of the Anjuna Device Manager for EKS, to make its deployment simpler.
-
Additional abilities for the
anjuna-nitro-cli
tool-
Viewing the PCRs of a specific EIF file.
-
Setting and viewing metadata for the EIF.
-
-
Added the ability to build the x86-64 Docker Images with build-anjuna-docker-images on a platform that is not x86-64.
Configuration syntax changes
-
The Block persistency
type
value has changed fromdrbd
toblock
. Existing enclave configuration files should be updated to continue working with the new version.
Relevant bug fixes
Bug number |
Severity |
Description |
ANJ-6540 |
Medium |
Fixed a problem where when mounting a persisted DRBD volume in the enclave the mount directory was owned by the root user instead of by the owner of the directory according to the configuration in the Dockerfile. The new behavior of the persistent storage matches that of Docker volumes. |
ANJ-6541 |
Medium |
Fixed a problem when the Anjuna Runtime was failing to create a file, as defined in the enclave configuration file if a directory in the file path did not exist. Now, the Anjuna-Runtime automatically create the needed parent directories. |
ANJ-6685 |
Medium |
Fixed a problem where the EKS Pod would not restart in case of an enclave launch fail, causing the Pod to be stuck. |
Version 1.23. Release Date - May 6th, 2022
Access the installer here.
What’s new?
Improvements
-
Added a Helm Chart for easier deployment of the Anjuna components in AWS EKS.
-
Added support for EKS with K8s version 1.22.
-
Added the binary for the AWS Nitro Device Plugin for customers who want to build the Device Manager Container on their own.
-
Added support for applications that access
/dev/stdout
,/dev/stdin
and/dev/stderr
when running in the enclave. -
Differentiated the logging messages coming from inside the enclave for easier troubleshooting.
-
Removed unneeded messages that are shown when the enclave is automatically terminated while viewing the enclave output via
anjuna-nitro-cli console
.
Relevant bug fixes
Bug number |
Severity |
Description |
ANJ-6531 |
High |
Fixed a problem when deploying the Anjuna components to EKS with Terraform, where the EKS Terraform module is version 18, and using the default value for the |
ANJ-6588 |
Minor |
Increased the default memory assigned for a Pod running in an enclave to reduce potential problems. |
Version 1.22. Release Date - April 8th, 2022
Access the installer here.
What’s new?
Improvements
-
Added an option to automatically terminate the enclave when the Container running within it exits.
-
Added support for version 18 of the Terraform module for EKS. This enables running Pods in enclaves in unmanaged nodes.
-
Replaced the base image of the Webhook Container with alpine:latest in order to reduce the container’s size and load time.
-
Improved usability:
-
Clarified information provided for some of the problems that might occur when starting the enclave.
-
Changed the name of the anjuna-nitro-userspace-netd-parent utility to anjuna-nitro-netd-parent.
-
Improved the running of a Pod inside an enclave when resource limits for the memory and CPU are not provided. Instead of failing to run the Pod, the system now provides default values.
-
Reduced the amount of excess debug messages sent to the console.
-
Improved the error handling when
parent-drbd-setup.sh
has missing parameters.
-
Version 1.21. Release Date - March 11th, 2022
Access the installer here.
What’s new?
Improvements
-
Improvements in handling the configuration files:
-
Improved the messaging when the enclave configuration file does not include a configuration version.
-
The
anjuna-nitro-cli
now checks the validity of the YAML config file that is provided with thebuild-enclave
option.
-
-
The EKS tutorial scripts were improved to ensure that
kubectl
points to the correct cluster on every run. -
Updated the persistent storage infrastructure to improve its stability.
Version 1.20. Release Date - February 11th, 2022
Access the installer here.
What’s new?
Improvements
-
Added the ability to control which ports are exposed from an enclave.
-
Added support for EKS with K8s versions 1.19 through 1.21; this is in addition to 1.18 that was already supported.
-
Added a log message where the enclave does not have enough memory configured when using the "mount" option, for better troubleshooting.
-
Several improvements to the
parent-drbd-setup.sh
script.
Version 1.19. Release Date - January 14th, 2022
Access the installer here.
Version 1.18. Release Date - December 17th, 2021
Access the installer here.
Version 1.17. Release Date - November 19th, 2021
Access the installer here.
Relevant bug fixes
Bug number |
Severity |
Description |
ANJ-5106 |
Medium |
Fixed a problem where building the EIF on the fly was failing if the ECR repository was located in a different region than the EKS cluster. |
ANJ-5104 |
Medium |
Fixed a networking problem that was introduced in Anjuna Nitro Runtime version 1.16, in cases where the hostname was used inside the enclave. |
ANJ-4782 |
Medium |
Added support for a graceful exit of a Pod enclave before it is destroyed. |
Version 1.16. Release Date - October 22nd, 2021
Access the installer here.
What’s new?
-
Improvements on the TCP Stack virtualization for better performance and ease of use.
-
Added the ability to control the grace period time for the enclave termination via the CLI.
-
The Kubernetes artifacts for AWS Nitro are now packaged in a way that customers can build the tools on their own, based on their organization standards.
Relevant bug fixes
Bug number |
Severity |
Description |
ANJ-5053 |
Medium |
Fixed a problem where the K8s cluster failed to create due to an issue in the Terraform EKS module version 17.21.0 (see here) |
ANJ-4791 |
Low |
Removed an unnecessary error message that was shown when terminating an enclave. The redundant error message was in the following format: |
Version 1.15. Release Date - September 24th, 2021
Access the installer here.
Version 1.14. Release Date - August 26th, 2021
Access the installer here.
Version 1.13. Release Date - July 30th, 2021
Access the installer here.
What’s new?
A new command-line utility
A new command-line utility - anjuna-nitro-kms-policy
- was added to allow an update of a KMS policy with the enclave measurements.
Improved clarity in the case the network proxy is not running on the parent VM
A new message will appear in the enclave console if the network proxy is not running:
Failed to connect on socket fd … Is anjuna-nitro-netd running on the parent?
Version 1.12. Release Date - July 2nd, 2021
Access the installer here.
Version 0.11. Release Date - June 4th, 2021
Access the installer here.
What’s new?
Minimal persistent storage support
Added support that enables read/write access to an external file system from the enclave. This is limited to access with a low rate of reads and writes.
Added Kubernetes ConfigMaps support
Added Kubernetes ConfigMaps support inside the Pod’s enclave. Enclaves can now consume ConfigMaps environment variables, files, and volumes.
Improved logging capabilities from the enclave
-
The enclave console output is now available in the parent VM or via
kubectl logs
with production enclaves. Previously, it was only available when running the enclave in debug mode. -
Added visibility into startup failures previously only available when running the enclave in debug mode.
Improved memory consumption in the enclave
Cut the memory used (maximum resident size) when building enclave EIF file in half. The max memory used is now just slightly higher than the size of the docker image going into the EIF.
Displaying the version of the Anjuna tools
For the different command-line tools, as well as in the different software logs.
Improved documentation
-
Added command line and configuration file references.
-
Detailed information about how to configure an EC2 instance for running an enclave.
-
Detailed requirements for adding Nitro capabilities to an existing EKS cluster
-
Detailed steps for upgrading the Anjuna Kubernetes tools.
-
Added support for Terraform 0.15.x in the Terraform example scripts.