v.5.139.0#
Changes
-
A new Builder service has been added, providing Docker image build functionality.
The Docker image building process, previously part of the Lambda service, is now a separate service — Builder. This allows for control and management of the build process, reducing the impact of potential failures on the core LUNA PLATFORM services.
Key features of the Builder service:
- Asynchronous task queue: the service accepts build tasks and processes them sequentially, ensuring stability under load.
- Building Docker images and sending them to the Docker Registry.
- Ability to track task status and obtain build logs.
Use case:
- The user sends a request to create a lambda via the API.
- Instead of building it manually, the Lambda service sends a request with the archive and image parameters to the Builder service.
- The Builder queues the task, executes the build, and uploads the completed Docker image to the registry.
- Lambda receives a successful build status and a link to the completed image from the Builder, after which it can run the lambda.
Key changes:
-
A Helm chart for the Builder service has been added to the distribution. The Launch Lambda documentation section has been updated.
-
Builder service settings have been added. Note: Analogs to existing Lambda service settings have been moved to the Builder configuration where possible. Please note the following:
-
LUNA_BUILDER_REGISTRYandLUNA_BUILDER_INSECURE_REGISTRIES— the address of the Docker Registry where Builder will send built images (similar toLAMBDA_REGISTRYandLAMBDA_INSECURE_REGISTRIES). LUNA_BUILDER_S3— settings for accessing the bucket where lambda code archives are stored.-
LUNA_BUILDER_REDIS_DB_ADDRESS— Redis address, including username and password, if Redis is protected. -
The
LUNA_LAMBDA_BUILD_LIMITSparameter group has been moved to the Builder service and is now called LUNA_BUILDER_BUILD_LIMITS. This means that when updating LUNA PLATFORM, previously configured values are automatically migrated to the new parameter group. -
New parameter groups for interaction with the Builder service have been added to the Lambda service: LUNA_BUILDER_ADDRESS and LUNA_BUILDER_TIMEOUTS.
Note: The Docker image build process can take a long time. If necessary, increase the timeout values in LUNA_BUILDER_HTTP_SETTINGS.
For more information, see Builder service and Builder service configuration.
-
The ability to set Time To Live (TTL) for objects at the folder level has been added.
You can now manage object retention periods not only at the bucket and individual file level, but also at the folder level. This allows for flexible data storage control at all levels.
Key changes:
- TTL for folders: when creating or modifying a folder, you can specify
ttlparameter (in days). This value becomes the default TTL for all objects stored in this folder unless they have their ownttl. - By default, the current TTL policy of the source object or folder is preserved during copying. You can override the TTL in the copy request if necessary.
- The TTL of an object is determined by priority: the TTL of the object is applied first, then the folder, and only then the bucket.
For more information about TTL and folder operations, see Object TTL,
/imagesand/objectsresources. - TTL for folders: when creating or modifying a folder, you can specify
-
Tools for diagnosing problems when processing a stream or video file have been added to the
Video Agentservice container:ffmpeg,ffprobeandluna_decoder.Added tools allow you to determine whether the issue is related to unavailable video sources, format incompatibility, connection instability, or other factors hindering processing. The resulting data will help you better understand the situation and speed up the debugging process.
A detailed guide, step-by-step instructions, and descriptions of all parameters are available in the new section Stream troubleshooting.
-
The required field
availability.availablehas been added to the responses of the get analytic and get analytics requests.The
availablevalue (true/false) indicates whether at least one agent capable of processing this analytics is currently registered in the system. This field reflects only the presence of a suitable agent in the system, not free slots for processing new tasks. This allows you to determine which analytics are potentially available for use. -
Now, if the
max_stream_countparameter (a positive integer) is set in theuser_configof a lambda of the Agent type, it will override the max_active_streams parameter, which determines the maximum number of streams for a single lambda instance.See create lambda, put lambda, import lambda and update lambda config.
Fixed errors
-
Fixed behavior that caused an internal server error (status code 500) when executing the import lambda request with incorrectly filled data in the JSON of any of the request parts:
credentials,parameters, ordeploy_parameters.Now in such cases, error 42017 is returned with the description "Failed to parse multipart payload for lambda import" and status code 400.
-
The parameter names in the people count analytics have been corrected:
people_count_lteandpeople_count_gtehave been replaced withpeople_count__lteandpeople_count__gte, respectively (with double underscores). Validation of these parameters has also been corrected.