Skip to content

Releases: aerokube/moon

v1.5.1: better container permissions management

09 Jun 18:13
Compare
Choose a tag to compare

Fixes

  • #42 - better user permissions behavior for logger and video-recorder

Improvements

  • #207 - do not require fsGroup for browser pods
  • #208, #210, #212 - documentation improvements

v1.5.0: Prometheus monitoring support

11 May 17:48
Compare
Choose a tag to compare

Breaking Changes

In this release we unified how you should specify resources for browser images in browsers.json and service images in service.json files. You can now specify requests and limits in service.json file as follows:

Before:

{
  "images": {
    "logger": {
      "image": "my-registry.example.com/moon/logger:latest-release",
      "cpu": "0.3",
      "mem": "1024Mi"
    }
  }
}

Now:

{
  "images": {
    "logger": {
      "image": "my-registry.example.com/moon/logger:latest-release",
      "resources": {
        "limits": {
          "cpu": "0.3",
          "memory": "1024Mi"
        },
        "requests": {
          "cpu": "0.3",
          "memory": "1024Mi"
        }
      }
    }
  }
}

Security Changes

In previous releases all browsers pods by default were created with SYS_ADMIN Linux kernel capability. To work in restricted environments starting from this release by default browser pods are created without this capability. This change mainly influences working with Chromium-based browsers. You have two options:

Option 1. Configure Moon to continue running all browser pods with SYS_ADMIN kernel capability. To have this option - just add the following to Moon service.json configuration file:

{
  "kernelCaps": [ "SYS_ADMIN" ]
}

This is what we do by default in our official deployment manifests.

Option 2. Start Chrome with --no-sandbox flag from your test code.

Known Update Issues

When doing a rolling update from 1.4.x series you can see the following messages in moon-api log:

2020/05/21 14:54:45 [STATUS_REQUEST_ERROR] [127.0.0.1] [parse enableVideo: strconv.ParseBool: parsing "": invalid syntax]

These messages will disappear as soon as browser pods created by 1.4.x are deleted.

New Features

  • #128 - ability to configure service account name
  • #139 - Prometheus monitoring support
  • #166 - showing enableVideo in /status API
  • #205 - ability to override requests and limits for service images separately

Improvements

v1.4.2: ability to run in restricted environment without root

29 Mar 18:19
Compare
Choose a tag to compare

Notes

Starting from this release Moon does not explicitly set SYS_ADMIN kernel capability by default and is trying to set correct uid and gid for browser pod. SYS_ADMIN capability could be added explicitly as shown in docs.

New features

  • #203 - ability to set custom uid and gid for browser pods

v1.4.1: ability to set smaller resource quota limit

25 Mar 03:28
Compare
Choose a tag to compare

Improvements

  • #198 - ability to set pods resource quota manually (and smaller than license allows)

v1.4.0: serviceless browser pods communication

04 Jan 15:59
Compare
Choose a tag to compare

Breaking Changes

In all previous releases Moon was automatically creating a separate Kubernetes service for every new browser pod for network connectivity purposes. Starting from this release these services are not created. Such architectural change leads to times less HTTP requests being sent to Kubernetes API and to improved Selenium session startup time. The only change you need to do in deployment manifests is adding one more service as follows:

apiVersion: v1
kind: Service
metadata:
  name: browsers
  namespace: moon
spec:
  selector:
    moon: browser
  clusterIP: None
  publishNotReadyAddresses: true

The name of the service should correspond to the value of Moon -domain-name flag (default is browsers). All required changes were already done in our official deployment manifests.

New Features

  • #176 - capability to set S3 key pattern
  • #177 - logging name capability during session creation
  • #180 - serviceless browser pods communication

Improvements

  • #173 - document default memory and cpu limits for service containers
  • #175 - improve documentation about turning off Kubernetes cache

v1.3.9: Chrome Devtools protocol support

30 Nov 14:56
Compare
Choose a tag to compare

New features

  • #157 - Chrome Devtools protocol support
  • #164, #174 - labels capability support
  • #167 - ability to turn off Linux capabilities
  • #169 - ability to customize -moon-url parameters

Improvements

  • #154, #164 - recommended Kubernetes cluster documentation
  • #165 - documentation about using Moon in cloud platforms
  • #171 - better logging during S3 initialization

v1.3.8: pod deletion retries and unsolicited response issue fix

22 Aug 13:23
Compare
Choose a tag to compare

Improvements

This release covers stability when creating new sessions and deleting them (some rare cases causing pods to freeze were fixed).

v1.3.7: ability to disable CPU and memory limits

30 Jul 04:13
Compare
Choose a tag to compare

New features

  • #155 - ability to disable CPU and memory limits

v1.3.6: new Kubernetes client and CPU \ memory fixes

05 Jul 12:06
Compare
Choose a tag to compare

Fixes

  • #137 - increased CPU consumption

Improvements

  • #148 - supporting W3C-style capabilities
  • #149 - updated Kubernetes client to support Kubernetes 1.14.0
  • #150 - documentation about skin capability

v1.3.5: custom annotations and S3 key pattern

01 Jun 14:15
Compare
Choose a tag to compare

New features

  • #126 - ability to add custom annotations to pods
  • #129 - ability to set custom S3 pattern

Fixes

  • #100 - broken videos are uploaded to S3
  • #145 - curl code example in Moon UI is incorrect

Improvements