Cycle StatusSTATUS
partial outage
Auth
Compute proxy
Console
DNS
Factory
Manager
Nexus
Portal
Public API

Announcements

  • There have been no announcements in the last month.

Recent Updates

  • 2024.09.24.3

    A Big Kernel Update and Major Improvements Land

    This latest update is focused on improvements to security, performance, and functionality. Stack builds get a nice upgrade to build variable handling, a race condition in neighbor lookups has been resolved, and CycleOS now uses the Linux 6.6.13 kernel as well as cgroups2. For the native load balancer, the web application firewall has been improved to support more complex conditions and the proxy feature set has been expanded.

    • improvement

      Stack Variables

      Stack variables no longer get injected into the saved 'stack build run', instead they're stored separately and utilized only at runtime. This prevents sensitive variables and secrets from being visible when users lookup previous stack builds.

    • fixed

      Neighbor Lookup Race Condition

      We fixed a race condition that would occasionally prevent some instances from being unavailable to other instances for roughly 60 seconds immediately following a deployment.

    • improvement

      6.6.13 Kernel

      CycleOS has been upgraded to utilize the latest long term support (LTS) Linux Kernel.

    • improvement

      Cgroups V2

      With the latest kernel upgrade, we've also updated Cycle to utilize cgroups v2 which enables more efficient, and customizable, resource constraints for containers.

    • changed

      Removed Image Source Create from Pipelines

      Supporting Image Source Create in pipelines encouraged a Cycle anti-pattern. We have since removed this setup to make it easier to adopt best practices.

    • improvement

      Updated Nvidia Drivers

      CycleOS now supports the 560.35.03 Nvidia drivers. Cycle natively supports GPU passthrough for any datacenter-class Nvidia GPU.

    • improvement

      Web Application Firewall

      The WAF now supports more complex rule conditionals along with more supported filters (URL Matching + Method Matching) for HTTP transports.

    • improvement

      Proxy URL Rewriting

      The proxy handler in the Native LB now supports URL rewriting based on the MatchPath for proxy requests.

    • improvement

      Active Instances for Functions

      The Functions Scheduler API now supports /active-instances which is a real-time return of functions that are currently processing workloads.

  • 2024.08.13.1

    Instance Logging Alpha, Stacks from Environments, and More

    This release marks the official beginning of Cycle's Logging Alpha. The alpha features the ability to see up to 72 hours of container instance logs, including simple to complex search. Users will also now have access to export their environments to stacks. This means that any environment can now be "exported" into a stack file and redeployed to create a new environment. Finally, a fix has been made to stacks so that when using YAML markup, scoped variables now properly import as expected.

    • added

      Instance Logging (Alpha)

      The alpha release of logging is now live. From the container modal, gain access to the last 72 hours worth of logs for your instances. You can also utilize this functionality for simple or complex (regex) search.

    • added

      Stack from Environment

      Configure an environment to exactly how you want it, then utilize this feature (found within Environment Settings) to export the environment to a stack.

    • fixed

      Scoped Variables in Stacks

      We recently discovered a bug that prevented scoped variables in YAML stacks from being properly imported, this has been resolved.

    • fixed

      Deployments Not Showing Up

      Deployments wouldn't properly display in the portal for environments that had more than 25 containers, this has been resolved.

  • 2024.07.29.1

    Magic Variables, DNS Zone Imports, and Scoped Variable Fixes

    In this release users will gain access to magic variables in pipelines. Dynamic pipelines can now take advantage of 4 different magic variables that will inject a special value based on the definition into the field assigned. This will make unique field entries that need to be tied to date like values much simpler to work with. DNS zones can now be imported via file, greatly reducing manual work in migrating to Cycle DNS. Finally, we've fixed an environment scoped variable priority order which could result in certain undefined environment variables not correctly being assigned when defined in both container config and scoped variables.

    • improvement

      V1 Load Balancer: Matching

      Users can now match routes to include or exclude specific containers.

    • fixed

      Scoped Variables Priority Order

      A bug that would cause environment variables with blank definitions to not be appropriately overwritten by scoped variables has been resolved.

    • added

      Magic Variables in Pipelines

      Users can now take advantage of magic variables in pipelines: {{-date}} {{-date-time}} {{-time}} {{-time-rfc3339}}, which will return these values in place of normal pipeline variables which require an input value on each pipeline run.

    • added

      DNS Zones Import

      Users can now import a DNS Zone file to their zones on Cycle, making transferring domains much simpler.

    • improvement

      Discovery Throttle

      The discovery service now has a throttle on queries that will protect users from services that would otherwise overwhelm the service with lookup requests.

    • improvement

      Pipelines: Overwrite Runtime Config

      Added the ability to Overwrite Runtime Config on the pipeline step Reimage Container, giving more flexibility to users looking to mutate the container runtime configuration on deployment.

    • added

      V1 Load Balancer Router Response Graph

      Users will now notice a Router Response graph located on the load balancer service dashboard for V1 type load balancers. This graph will show the HTTP response code if the load balancer is in HTTP mode.

  • 2024.07.09.2

    Web Application Firewall (alpha) and Improved Pipeline Parallelism

    The team is excited to release the alpha version of our web application firewall, which includes the ability to block or allow traffic based on IP at the load balancer. This first release marks the beginning and the WAF will be expanded to support features like geographic matching, url matching, and http controls over headers and methods. Pipeline parallelism has been improved through the rebuilding of the locking / exclusion mechanisms and the native load balancer now supports rewrite rules that allow for granular URL rewriting.

    • added

      Web Application Firewall (alpha)

      Using the Native Cycle LB? You can now block IPs and IP ranges at the load balancer. This is the first release with WAF functionality -- much more to come!

    • improvement

      URL Rewriting

      Users can now use URL rewriting (with variables!) in the Native Cycle LB. Use regex, with groups, for a path match then utilize a $$# format to insert the corresponding group matches.

    • fixed

      Instance Console Crashing

      Previously non-UTF8 characters would cause the console to crash and reconnect in a loop.

    • fixed

      GCP Server Tagging

      In the previous update, we started tagging servers at infrastructure providers. Under certain conditions, we were tagging servers with a character that wasn't allowed, preventing a provision.

    • fixed

      Race Condition with Wildcard Domains

      We discovered, and fixed, a race condition that existed when a load balancer was instructed to serve traffic for both a wildcard domain and a non-wildcard domain that would exist underneath the same wildcard.

    • improvement

      Better Parallelism With Pipelines

      We rebuilt the locking / exclusion mechanism in pipelines to better determine which resources needed read locks vs write locks. This improvement results in better data integrity while also enabling better performance while running concurrent pipelines.

  • 2024.06.28.3

    Native Monitoring, Granular ACLs, and Enhanced DNS Capabilities

    This update marks the beginning of our march toward native monitoring, laying the groundwork for comprehensive metrics, events, logging, and alerting. Users will notice initial visual enhancements, with a full monitoring dashboard to follow. This release also introduces granular access control lists (ACLs), allowing detailed permission settings for several resource types. Geographic DNS (GeoDNS) has been added to support the most latency-sensitive applications, and other improvements include enhanced cluster management, customizable shared memory per container, a rebuilt autoscaler, and expanded support for scoped variables.

    • added

      Monitoring Platform

      We've officially begun the start of Cycle's native monitoring (metrics, events, logging, and alerts) solution. This release contains the base primitives and data collection that the remainder of the monitoring solution will be built upon. You'll notice some new graphs and visual components in the portal, but a future release will contain a proper monitoring dashboard.

    • added

      Granular ACLs

      Building off the custom roles functionality we released in our previous update, organizations can now restrict access to clusters, environments, pipelines, and more via granular access control lists.

    • added

      Geographic DNS

      Deploying a latency sensitive application? Enable GeoDNS on any environment with 3 or more load balancers (entrypoints) to ensure your users get routed to the closest load balancer(s) to your users.

    • improvement

      Clusters

      Previously, Clusters were simply an identifier. Now, with Clusters being their own resource, they support ACLs with other new capabilities to come.

    • improvement

      Custom SHM Size

      Users can now customize the size of the /dev/shm (shared host memory) device that gets attached to container instances.

    • added

      Custom DNS Empty Set

      Since Cycle is IPv6 native, we previously delayed empty IPv4 lookup responses to assist with compatibility for older applications. We no longer enforce that delay for new environments, though it can be set via the discovery settings.

    • improvement

      Auto Scaling

      We've rebuilt the autoscaler to use the new monitoring primitives. These metrics enable us to perform autoscaling in a significantly more efficient, and predictable, manner.

    • improvement

      Scoped Variables Files

      Cycle will now generate the directories required to support the injection of scoped variables who utilize the 'file' access type.

    • improvement

      Scoped Variables with Identifiers

      Users can now specify container identifiers for limiting scoped variables, making gitops/pipeline automation easier.

    • improvement

      Build Variables Support in Pipelines

      When building images via pipelines, users can now pass variables to be injected into a container's build process.

    • improvement

      YAML Support for Stacks

      Not a fan of JSON? Stacks can now be defined via YAML.

    • improvement

      Instance Console Output

      The container instance console now persists (up to 128kb) through updates and restarts.

  • 2024.04.23.7

    UDP Support, Functions in Pipelines, and Latency Aware Load Balancing!

    The latest release of the Cycle Platform brings powerful support for native gaming and video streaming via UDP, more granular configuration for function containers, and massive performance gains when using Cycle's native load balancer.

    • added

      Ability to Trigger Function via Pipeline

      Functions can now be triggered via pipeline. Have a migration/init script that needs to run as part of a deployment? This can now easily be accomplished with functions and pipelines.

    • added

      UDP Support

      The Native Load Balancer now supports UDP connections which can be useful for VPNs, video streaming, gaming, etc.

    • added

      Function Configuration

      Max Runtime, Max Queue time, and other settings can now be configured for functions within the container config.

    • added

      Latency Aware Load Balancing

      The Native Load Balancer now supports, on a per-router basis, latency-based load balancing ensuring that traffic will be routed to the top quartile of instances relative to the ingress load balancer. This can reduce bandwidth costs while also yielding performance increases within environments that have multiple load balancers.

    • added

      Support for Multiple Stack Files

      Users can now specify the path to a stack file inside of a repo, enabling teams to have multiple stacks from one repo source.

    • improvement

      Auto Release Functions (Beta)

      Functions that terminate will now autorelease from the scheduler so they can be used again.

    • improvement

      Native Load Balancer V1 Optimization

      We've made a few improvements within the Native LB to more quickly adapt to routing changes. Additionally, the Native LB now uses less internal API calls when aligning with container state changes.

    • fixed

      Portal: Fixed Load Balancer Traffic Graphs

      We fixed a calculation error in our traffic graphs that was showing false traffic spikes.

    • improvement

      Portal: Pipeline Support for Scoped Variables in Stacks

      Scoped variables, that exist within stacks, can now be configured via pipelines.