Virtuozzo Application Platform 5.4
This document is preliminary and subject to change.
In this document, you will find all of the new features, enhancements and visible changes included to the PaaS 5.4 release.
Container Firewall Management via User Interface
New Firewall section added to environment Settings, allowing to manage custom firewall rules via graphical user interfaceLearn more
Private Network Isolation
For now, each user account is assigned a dedicated private network, allowing to create isolated environment groupsLearn more
Extra Environment Layers for All Supported Engines
A possibility to add multiple Extra environment layers and combine both Docker containers and platform-managed stacks within a single environmentLearn more
Go Support Integration
Extending the list of supported engines and technologies with Go programming language, delivered by means of the Golang application server stackLearn more
UI/UX Improvements
- New option to choose among simultaneous and sequential modes when (re-)deploying or restarting multiple containers within a single node group
- Possibility to select and remove multiple items within the Deployment Manager’s archive list at once
Deployment Improvements
- Possibility to deploy application from the container’s local file
- Allowing Maven build node to operate with projects from within VCS repositories subdirectory and/or to compile applications without specifying a target environment
Webhooks for Application Build and Deploy Operations
Automation of environment lifecycle management with Webhooks to execute custom scripts before and/or after application deploymentLearn more
Web SSH Connection via Guacamole
Integration of web-based Guacamole client to access containers via SSH directly through the platform dashboardLearn more
Container Restart Command Standardization
Support of unified commands for calling start, stop and restart operations similarly within alll dockerized software stacksLearn more
UI/UX Improvements
- Updated layout for platform API documentation UI
- Updated UI for the 502 error pages
- Displaying node group and comprised stack(s) name for layers and a dedicated icon for the master node
- A possibility to expand the Environment Management panel with a double-click
- Allowed scrolling of the Filters section content in Billing history tab in case it doesn not fit the allocated space frame
- Dashboard notification for optional (but not forced) access to the (re-)deploy and restart actions log after the appropriate operation execution
- Ability to accumulate and view node Statistics data with a 1-month period
- Updating the NGINX server logo in dashboard to its latest official version
Composer Dependency Manager for PHP Servers
Integration of the Composer dependency manager to the default Apache and NGINX-PHP application server buildsLearn more
HTTP 2.0 Support by Shared Balancer and Environment-Dedicated Load Balancers
Integration of the HTTP 2.0 protocol support for processing incoming requests to both common Shared Balancer and dedicated load-balancer nodes within user environmentsLearn more
Logging of the Request Source Port Number
Fetching and storing target port number of each incoming request which has been received by the platform’s Shared Load BalancerLearn more
Cloud Scripting Engine Optimization
Automatic provisioning of the default API parameters and case-insensibility integrationLearn more
Short Aliases for Namespaces in API List for Tokens
Possibility to define the allowed API methods during tokens management by means of namespace aliasesLearn more
AutoFS Package to Support Mounting on Certified Templates
Reducing the number of permanently active mount points with the AutoFS tool and its as-needed approachLearn more
Add-ons Button for the Load Balancer Layer
Permanent display of the Add-ons button for the nodes within load balances layerLearn more
Adding VCS Directory Shortcut to the List of Favorites
Adding the /var/lib/jelastic/vcs directory to the list of default shortcuts within containers, created upon platform-managed stack templatesLearn more
Environment Name within Load Alert Email Subject (build 3)
Displaying environment name in the load alerts email Subject to visually separate such notifications for different environments within user InboxLearn more
Clarification for Docker Container Credentials Email
Updated Docker container created email template to help new users with further possible steps on its use and managementLearn more
Detailed Response for the Image not Found Issue
Extended description for the Image not found error during Docker containers creationLearn more
Software Stack Versions
Actualized list of supported OS templates and software stack versionsLearn more
Locked Environment Issue Handling
There was an error when trying to manage container with the ongoing backup processLearn more
Private Docker Container Credentials Change
Custom Docker containers deployed from within a custom user registry, could not be scaled after changing the access credentialsLearn more
Fixes Compatible with prior Versions
Bug fixes implemented in the current release and integrated to the preceding platform versions through the appropriate patchesLearn more
Bug Fixes
List of fixes applied to the platform within the present releaseLearn more
Container Firewall Management via User Interface
One of the major features of PaaS 5.4 release is a newly implemented possibility to manage firewall rules through a comfortable graphical interface on the container level (excluding custom Docker- and Windows-based nodes) - the dedicated same-named section was added to the environment Settings menu.
Here, the following three tabs are available:
- Overview - provides general information on the feature, allows to change Firewall State (which is enabled for all containers by default) and shows Isolated Env Group(s) the current environment is included to
- Inbound Rules - allows to manage incoming requests (not listed ones will be denied by default)
- Outbound Rules - allows to control outgoing connections (not listed ones will be allowed by default)
A number of default rules is automatically added to the inbound section by the Platform to make your node operable. Rules within the list are grouped by layers and are marked with the following color labels:
- gray for the default non-editable records (i.e. the obligatory ones)
- white for other default (stack-related) and user-added (either by an environment owner or his collaborators) rules
The very first record is has the highest priority (1) and allows platform infrastructure to access a container. Also, subsequent execution of some container management operations (e.g. creating mount points, installing FTP add-on, etc.) can result in automatic complementation of the default rules list. Herewith, each rule is added with a 10 points priority step, so that you would be able to insert new ones in between the default records without the necessity to edit the already applied connection permissions.
At the dedicated section, the tools panel above the list contains a set of buttons for a convenient firewall rules management, namely: Add, Edit, Remove, Disable (Enable) and Refresh. When adding a new rule, the following parameters should be defined:
- Nodes - allows to select the required environment layer
- Name - to provide name for this record (can be expanded to select from a number of the commonly used rules)
- Protocol - to set the required protocol type (TCP, UDP or TCP/UDP)
- Port Range - to define a particular port (e.g. 80) or their range (e.g. 1024-2048) to be opened/closed for connection; leave this field blank to apply the rule to all ports
- Source - to select the request source:
- Custom IP Address(es) - a comma-separated list of IPv4/IPv6 addresses and CIDR blocks (e.g. 10.0.0.1,10.0.0.0/24)
- redefined ranges - All, All IPv4, All IPv6, Local Network, Internet (Public Access)
- Environment Nodes - node type (layer) from any environment on an account (after appliance this rule will be automatically adjusted upon the appropriate layer scaling)
- Priority - to set a rule priority (where rules with lower value will be applied first)
- Action - to define the required action upon receiving the matching request (either allow or deny)
Subsequently, if meeting the necessity to edit any of predefined rules, you’ll be able to adjust all of the above-described parameters except of the Nodes field (i.e. target layer can not be switched). Also, with testing purposes, you can temporarily exclude some firewall records and reapply them later on with the appropriate Disable/Enable buttons. After some adjustment (for example, topology change), you may need to update the list of rules with the Refresh button.
Private Network Isolation
In confines of PaaS 5.4 release, an automatic account isolation was implemented at a Platform. This explicitly prohibits any unallowed connections between environments of different users via internal platform network (i.e. even in a case some malefactor has managed to gains access to such data as domain name, node ID, internal IP, etc.).
This results in another essential newly added possibility to create a so-called “secure” environment groups, intended to isolate environments of a single account from each other. Just turn on a new Network Isolation switcher within the Add or Edit Group frame.
Platform automatically creates a dedicated IP set for each isolated group, which is composed of the appropriate containers internal addresses. This allows to control access between nodes (i.e. if IPs are within the same set - interconnection is allowed, if not - denied). Also, Platform detects all the appropriate account changes to automatically keep sets up-to-date (e.g. due to environment removal, nodes scaling, etc.).
Also, while managing Network Isolation, the following peculiarities should be considered:
- the feature can be enabled for the top-level group only (i.e. not for subgroups)
- environment groups with enabled isolation are provided with a custom icon for better recognition
- shared environments can not be included into isolated groups by collaborators
- access from outside of the Platform (e.g. via Public IP) could not be limited by this feature
Extra Environment Layers for All Supported Engines
In order to support even greater variety of solutions (through a more flexible topology constructor), a number of special adjustments were applied to the environment wizard:
- all layers include an additional Docker image option now, whilst sections within the Docker tab were complemented with platform-managed templates instead; this allows to combine both certified and custom Docker containers in confines of a single environment
- within the App. Server layer the possibility to select servers for any programming language was added (you’ll be automatically switched to the appropriate tab)
- the Extra layer option was integrated to all tabs, allowing to deploy any platform-managed stack template or Docker container image within the required environment layer; herewith, any required number of additional layers can be created
- added possibility to specify custom layer names via topology wizard
Such changes ensure environments versatility, allowing to create the one, which will suit you the most.
Go Support Integration
The most notable stack provisioning update in confines of PaaS 5.4 release is addition of a new programming language to the list of supported ones - Go. This free and open-source language (originally developed by Google) allows you to leverage with multiple built-in features:
- a concurrency mechanisms to get the most of the multicore systems
- modular program construction to achieve advanced flexibility
- fast compilation into machine codes
- a convenient garbage collection for efficient memory utilization
Go is easy to write on due to utilizing a set of simple tools and commands for operating with code. Below, you can find a list of the most common commands (refer to the official documentation for the complete list):
- go build - compiles packages and builds Go binaries
- go test - tests packages
- go fmt - formats package source code
- go get - downloads and installs packages
- go vet - reports potential errors in code
- go run - builds and executes code
- go doc - displays documentation
- go generate- generates Go files by processing code
The integration of a Golang application server was implemented through addition of the appropriate platform-developed dockerized stack templates, providing the 1.9.1, 1.9.2, 1.9.4 and 1.10 versions of the stack. A new app server supports all of the functionality required to work with Go and provides access to the platform native benefits (e.g. vertical and horizontal scaling, files and logs management, statistics monitoring and load alerts, etc.). Herewith, due to the Go engine specifics, it supports only VCS deployment type (i.e. deployment from archive is not available), whilst the appropriate server could operate with just a single project (context) at once.
UI/UX Improvements
- API Documentation Redesign
- Environment Error Pages Restyle
- Parallel Containers (Re-)Deploy and Restart
- Environment Layer and Master Node Designation
- Simultaneous Removal of Multiple Deployment Archives
- Improved Environment Management Panel Accessibility
- Scrollable Filters Section for Billing History
- Action Logs for Container (Re-)Deploy and Restart Operations
- Container Consumption Statistics for the Last Month
- Official NGINX Logo Integration
API Documentation Redesign
Within the current platform upgrade, a major redesign of platform API documentation has been implemented. The new style corresponds to the current site and documentation color scheme and ensures better appeal in general. So, currently, API documentation includes three default tabs, which can not be closed:
- Home - general overview of platform API and the common points/recommendations on its usage
- API Documentation - the main section, where the categorized methods list is displayed, allowing to browse through all of the API requests
- Examples - list of useful samples to demonstrate some basic procedures and automation flows, which could be implemented by means of platform API
Additionally, a few functionality optimization were applied to provide better user experience. For example, newly added drop-down list at the top left corner of the page, allows to select platform version (i.e. to display only the appropriate API requests). Next to it, you can find a Search field, which helps to find any API method. Also, for each section, the quick Filter class members field was added (top-right corner) to easily search through this particular group of requests.
Environment Error Pages Restyle
If URL in the address bar points to environment, which can not be reached (e.g. for the reason it does not exist at a platform, or is stopped, or is down due to some maintenance activities, etc.) a dedicated error page will be displayed. Herewith, the platform automatically detects the issue occurred and provides the appropriate description with some of the most common steps (recommendations) to avoid or fix it. In the present PaaS 5.4 release, the corresponding set of error pages were updated, including their redesign to match the latest platform corporate style. Also, the link for contacting the platform support team was moved to the bottom of the page.
Parallel Containers (Re-)Deploy and Restart
In the PaaS 5.4 release, there was added a possibility to choose between two ways of horizontally scaled nodes managing was implemented:
- simultaneously (i.e. all containers at once), which apply changes in a single run, but cause a brief service downtime
- sequentially (i.e. one by one), where nodes are adjusted consecutively with predefined delay between operation on each two containers - to avoid service downtime
Herewith, the first one can be a preferable option during testing/development, while the second one is mandatory for applications in production to ensure constant service operability. The required deployment type can be chosen by means of the appropriate options, which were added to the restart, deploy and update dialog boxes (for horizontally scaled layers only).
Environment Layer and Master Node Designation
Due to the extra environment layer feature, you are able to completely change the default topology structure (e.g. to place same stack within several environment layers). Upon working with such custom topologies, in order to avoid confusion, the new more explicit designation was provided to show node group (layer) and the comprized stack(s) name simultaneously.
Such a change was implemented within all of the corresponding dashboard sections and dialog frames (e.g. load alerts, endpoints, firewall, Docker container linking, etc.). Herewith, upon hovering over a particular item within any of the node group lists, an additional information will be displayed in a pop up.
Also, the very first container within each layer of an environment is automatically considered by the platform as master. This node is required for some specific operations and can additionally be used in the following cases:
- is used as origin for any subsequent container on the load balancers, application servers and VPS layers, i.e. new nodes will be a copy of this initial one
- is required for the cloning operation
- can be configured as a storage server for sharing data within the whole layer
- is recommended to store the main configurations for a cluster, to ensure your data won’t be lost during scale in (as master is the last node to be removed)
In case of a simultaneous creation of the multiple containers, master is not always the first node displayed in the platform dashboard, so, starting with the 5.4 release, the appropriate designation was provided. For now, if layer has more than one node, the special icon will be displayed before the master one, allowing to quickly identify it.
Simultaneous Removal of Multiple Deployment Archives
When working with multiple projects and/or their copies, your Deployment Manager could be occasionally over-filled with numerous Archives, uploaded to it. Such a mess makes it difficult to find the required package, decreasing the service usability in general. So, in order to make the task of unnecessary projects removal quicker and more comfortable, the possibility to delete multiple packages at once was implemented. Just select all of the unnecessary items with the appropriate check boxes and click the Delete button from the tools menu.
Improved Environment Management Panel Accessibility
For quicker access and more convenient usage of the Environment Management panel within the platform dashboard, the possibility to easily expand it to a full-screen size was implemented. Just double-click anywhere on the tabs pane at the top of a frame to fill the whole dashboard space with the current section (i.e. Deployment Manager, Tasks or a particular environment Settings). This allows to percept and manage the required configurations more comfortable. And in order to quickly return to the previous size of the Environment Management panel, just double-click at the top of the frame once more.
Scrollable Filters Section for Billing History
The platform Billing History frame provides an important information about account balance charges. Here, you can review all spends (either per environment or for the whole account) and see all of the appropriate resources (i.e which were charged for). Using the filters section to the left of the tab, you can adjust the Start and End date, select the required Interval, enable or disable the Group by node feature and Refresh results.
And starting with the current Platform release, there was implemented the possibility to operate with the filtering section in case of a cramped space (i.e. low Billing History frame height). For now, the appropriate scrolling bar will automatically appear in case elements can not be fitted within the filtering section.
Action Logs for Container (Re-)Deploy and Restart Operations
By default, the platform automatically provides details on container(s) restart, deploy and redeploy operations by opening a dedicated tab in the Environment Management panel, where the information on the appropriate action is displayed. Currently, such flow was optimized, providing just a dashboard notification with the Show Logs button. This allows to open action log only in case it’s actually necessary. Herewith, for Docker containers the button will expand a drop-down menu with possibility to review both Action Log and Run Log files.
Container Consumption Statistics for the Last Month
In order to allow better analysis of a resource usage on nodes, the Statistics section was adjusted to display data for the whole past month (rather than just a week). If needed, such enlarged period can be selected from the appropriate Duration drop-down list within the Statistics tab. Herewith, it can be used only with the 1 hour and 1 day intervals, which provide the appropriate level of data granulation.
Official NGINX Logo Integration
In the present 5.4 Platform release, the NGINX server logo in the platform dashboard was replaced with its most recent official version. Herewith, changes (with the appropriate recolor to match layers color scheme) were provided for the NGINX PHP/Ruby application servers and load balancer. Such an implementation ensures a more accurate reference to the stack.
Deployment Improvements
Application Deployment from Container Local File
Within the current Platform upgrade, a possibility to deploy application to container from archive located on the same node was implemented. This can be performed through the URL section of the deployment frame by providing address using the file:// protocol with path to local file (e.g. file:///path/to/archive.war). Herewith, such functionality works with external NFS storages through mount points. For example, you can mount directory with Java projects, which were built by Maven, to your application server, ensuring faster deployment (due to skipping file upload step).
Maven Build Node Amendments
In the present 5.4 Platform release, functionality of the Maven build node was extended with a number of new possibilities, aimed to enhance users experience during the appropriate Java projects deployment:
Added possibility to add, edit, remove and build project without specifying the target environment, i.e. allowing just to add a new project to the Deployment Manager and/or pre-build it within Maven without its actual deployment. As one of the main advantages, this eliminates the necessity to predefine repository data and re-build a project with exact target environment parameters upon deploying it to multiple environments.
The Maven build node stack template was provided with a dedicated /opt/maven/conf/variables.conf file, which, in conjunction with the pre-installed java-memory-agent add-on, allows to define values for the most essential Java server options (e.g. -Xmx, -Xms, -Xmn, etc.). Also, the MAVEN_RUN_ARGS and MAVEN_RUN_ARGS_{project} variables were added to the node’s default build, allowing to specify additional Maven command-line parameters for either all or a particular project respectively (where, the {project} name should be stated with underscores “_” instead of spaces and dashes).
Also, there was added a possibility to deploy Java projects, located in the VCS repository subdirectory, allowing to store various app versions within a single repo and organize them properly. This was implemented through the addition of a new Working Directory field within the Git / SVN deployment form (available for Java instances only). Here, if needed, you can set a repository subfolder with the required application sources.
- The Maven build process was adjusted to be run under the jelastic user to support the webhooks implementation. For now, as both operations are executed by the same user, all of the created files are accessible without any additional changes required. For example, with the appropriate post hook, this allows to run your project immediately after it was built.
Webhooks for Application Build and Deploy Operations
Webhook is a term used to indicate a code insertion to customize original flow of operations based on a certain condition. In the current Platform upgrade, such webhooks were added to provide a possibility to run custom script on nodes before and/or after application deployment. Additionally, for the Maven build node and the Golang application server the pre- and post-build hooks were implemented as well. Such functionality was added to all of the deployment forms (archive, URL, Git/SVN) at dashboard and is located within a new Hooks section of the appropriate frames.
Selecting the Pre or Post hook from the deployment form will open a code editor window, where you can provide your custom script. Herewith, any preferable programming language can be used, you just need to specify the appropriate program for code interpretation (should be pre-installed on container). For example:
Also, you can break your hook (and the appropriate deployment / build operation) execution at any point by providing an exit code, for example exit 1. Herewith, the 0 value is used to indicate success, while any other value assumes an error (will be shown at dashboard). Additionally, in case of a webhook failure, the dashboard notification will point to the appropriate hook.log file, providing details required for troubleshooting. More info
Web SSH Connection via Guacamole
Within the present PaaS 5.4 upgrade, the platform integrated the latest 0.9.13-incubating version of the Guacamole Gateway into the Platform to provide SSH connection to a container of any type directly in browser. Just click a new Web SSH button next to the required node and a dedicated tab with terminal emulator will be opened. Herewith, you’ll be automatically connected to the appropriate container without necessity to provide SSH key or perform any other additional actions.
In the tools panel of the opened frame, you are able to switch between nodes of the horizontally-scaled layer. Starting with the 3rd build of the 5.4 release, the Duplicate Session button was added to open another tab with connection to the current container. This option allows to perform several simultaneous operations on a single node (e.g. tail log in one terminal window and manage your application in another).
Composer Dependency Manager for PHP Servers
Composer is one of the most popular dependency managers for PHP, which provides all of the required packages and libraries for your applications. Being run on the per project basis, Composer allows each one to have a different set of dependencies installed directly into the appropriate working directory. Also, it can automatically load updates to keep your packages up-to-date.
Within the present 5.4 release, the Composer was integrated into both Apache and NGINX PHP application servers (located at the usr/local/bin folder). In order to be further operable from anywhere on the node, this tool was automatically added to the PATH variable and can be called with a composer shortcut (e.g. composer about). Additionally, in case the appropriate project has a composer.json file, such implementation allows to manage dependencies directly during the deploy operation with the appropriate post hook script. Namely, you need to move to your project directory and run the install command:
|
|
Herewith, Composer is automatically provided for all of the newly created PHP application servers, so you are able to operate dependencies even on the Platforms below 5.4 (e.g. through SSH). In order to work with Composer on the already existing nodes, follow the appropriate guide for manual installation.
HTTP 2.0 Support for Shared and Dedicated Load Balancers
The Shared Load Balancer processes all of the incoming requests to the platform (excluding direct connections to Public IP addresses) and routes them to the destination nodes. In the current PaaS release, to ensure a secure connections over SSL protocol, an OpenSSL tool on SLB was updated to its 1.0.2.k version. The new version additionally supports an ALPN (Application-Layer Protocol Negotiation) extension, which allows Shared Load Balancer to work over the HTTP 2.0 protocol, when SSL is enabled.
Herewith, to support direct access via Public IP, the NGINX and Varnish load balancers were similarly upgraded. In such a way, for the most cases a quicker request processing (compared to the commonly used HTTP 1.1) can be achieved without necessity to adjust your application, i.e. through improved compression of web pages, reduces latency, etc.
Logging of Requests Source Port
Starting with the present PaaS release, each platform’s entry point node - so-called Shared Load Balancer - was configured to automatically log the source port of each incoming requests. For example, such implementation allows to successfully track the users' activity over the mobile internet access, where source client can not be identified with the standard login.
Cloud Scripting Engine Optimization
In the current platform 5.4 upgrade, a number of optimizations were implemented for the Cloud Scripting engine to provide a better interaction with API methods:
- all parameters became case insensitive, so you can can define them in any preferable way
- optional parameters can be skipped entirely (instead of providing the null value)
- the appid (unique environment identifier) and session (unique session of a current user) parameters are specified automatically for all API requests
Short Aliases for Namespaces in API List for Tokens
Tokens is an authentication method to provide extra consistency compared to the default session-based implementation. It is commonly used within automatization scripts or for access sharing with other users (allowing just the specified range of commands). In the current PaaS release, the possibility to define a list of methods for token (the apiList parameter) using the appropriate API namespace aliases were implemented. Namely, the following shortcuts were allowed:
- env - for the environment group of methods, e.g. env.control.CreateEnvironment
- dev - for the development namespace, e.g. dev.applications.GetAppHosts
- mgmt - for the management API, e.g. mgmt.account.AddSHHKey
- util - for the utils methods, e.g. util.scheduler.GetTasks
AutoFS Package to Support Mounting on Certified Templates
AutoFS is a tool to automate directories mounting operations and to achieve an “as-needed” approach, which implies that shared folders are mounted only upon being accessed. Also, it automatically unmounts directories after a predefined period of inactivity (10 minutes by default for the platform). Such implementation provides a better overall performance compared to the static mounts. Namely, it reduces containers start up time (as no mounting is done during a boot time) and improves network efficiency (through reducing a number of the permanently active mount points).
Add-ons Button for the Load Balancer Layer
The platform provides a number of add-ons, which are suitable not only for the application servers, but for the load balancers as well. For example, one of the most popular Let’s Encrypt solution to issue a free SSL certificate or the recently added NGINX Amplify one to monitor and configure alerts for NGINX servers. In order to help you find and install such add-ons, the appropriate Add-ons button was permanently added to the load balancers layer (is displayed upon hovering over).
Locked Environment Issue Handling
Some of the hosting service providers implement an automatic environments backup within the platform to ensure data safety. The process is run periodically on each container, temporarily locking node for other management operations (e.g. stop, restart, etc.). Occasionally, an action can be called during the ongoing backup process on container, causing an error.
Starting with the current platform release, in case such issue occurs, the called process will be automatically repeated every 10 seconds. Herewith, the auto-retry will continue for an hour and, if container is still locked, an error with the appropriate description will be provided - Node with id NodeID is locked by another process. In most cases, this improvement allows to completely avoid any errors, causing only a brief delay of the executed operation.
Private Docker Container Credentials Change
The platform provides an ability to work with Docker templates from custom registry in the same way as with any public image. Herewith, in case repository is password-protected, the authentication credentials are stored and are automatically provided whenever needed (e.g. for the new containers creation, horizontal scaling or redeploy).
Herewith, in case one of these operations can not be performed due to the authentication failure (i.e. in case the access credentials to the appropriate repo were changed), the dashboard will respond with a warning notification, which provides the Update Credentials button. Starting with the Platform 5.4 upgrade, in case of the automatic horizontal scaling failure (due to the same authentication issue), the appropriate Verify Authentication button will be displayed within the Event History details. This allows to immediately update your access credentials, ensuring the success of the sequential auto-scaling operations.
Also, an ability to redefine authentication data for custom Docker containers, using the redeployment API requests, was implemented. Such possibility is available through a new RedeployContainers API method, which is provided with two optional parameters (login and password) to specify a new authentication credentials for your custom registry. Additionally, it can be used to redeploy either just a particular container or all nodes within a layer.
Container Restart Command Standardization
In the present PaaS release, a unified way to call container start, stop and restart operations for all dockerized software stack was developed. Simply execute one of the following commands via terminal and the required service will be detected automatically, allowing to process the required action:
- jem service stop
- jem service start
- jem service restart
With such improvement, it’s no longer necessary to memorize all of the stack specific commands, which simplifies operating with containers (e.g. during scripting or automatization).
Adding VCS Directory Shortcut to the List of Favorites
The /var/lib/jelastic/vcs directory is used by the platform to store configuration files for VCS projects and the appropriate SSH keys for authentication. In case of a frequent and/or multiple deployments (e.g. during development or testing), this folder is oftenly required by developers to review and manage projects. So, in the current PaaS 5.4 upgrade, to allow a quick access to the /var/lib/jelastic/vcs directory, it was added to the list of favorites on the Apache PHP, NGINX PHP, Node.js, Go and Maven nodes.
Environment Name within Load Alert Email Subject (build 3)
In the current PaaS 5.4 release, the email notifications, which are sent due to load alert triggers execution, were provided with a new subject. Here, the appropriate environment and node names are displayed. Such a change allows users to analyze and separate multiple monitoring alerts directly from inbox without necessity to process the content of each email.
Clarification for Docker Container Credentials Email
When creating environment based on the platform-certified templates, which includes database server or compute node with some management panel, you automatically get an email with the appropriate admin console credentials. Herewith, such data can not be extracted for custom Docker container, so Platform only sends credentials to gain a full root access to a node (for connections over Public IP).
Sometimes, when creating custom Docker container, a conflict between expected (admin panel access) and actual (external access) data can lead to these two concepts being confused. To avoid this issue, texts in the appropriate Docker container created email template were reviewed and rewritten to clarify the provided information.
Detailed Response for the Image not Found Issue
Rarely, while creating a Docker container at the platform, you can face the “Image not found” error. It can be caused by various reasons such as network issues, remote registry unavailability, etc. So, in the present PaaS release, an additional description was provided for such type of errors, explicitly identifying the root of the problem.
Fixes Compatible with Prior Versions
Below, you can find lists of fixes which except of being implemented within PaaS 5.4 release, have been also integrated to preceding platform versions by means of the appropriate patches:
PaaS 5.7.7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Software Stack Versions
Within the PaaS 5.4 release, the most notable innovation is addition of the Go programming language (check the linked section for additional details). Also, the Debian 9 OS template support was implemented for Docker containers.
Below, you can check the list of the most accurate software stacks for the current platform version:
Bug Fixes
In the table below, you can see the list of bug fixes in PaaS & CaaS 5.4:
PaaS 5.4 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|