Flightcontrol changelog
Lambda in private preview + cost controls
Hi folks! As of Monday, our lambda function feature is in private preview and being tested by users. If you'd like to opt in, please contact support. We've also started work on adding cost controls to Flightdeck, which will allow you to receive a notification if a Flightcontrol service or environment is exceeding your expected costs, and if desired, limit the service to prevent additional costs.
π Features
Standalone lambda function with function URL - in private preview. Read the docs.
π Bug Fixes
UI bug that prevented users from saving changes to side car config
Service domain was not being shown in maintenance mode
Lambda private preview coming soon
Hi everybody! Our Lambda function feature is on the home stretch and will soon be available in private preview. This first Lambda feature is a standalone lambda with function url support. Contact support if you'd like to participate in the private preview.
π Bug Fixes
Fixed a bug where long service names would throw an error when creating a cloudformation stack
Fixed a bug for duplicated ECR resource
Fixed a bug where form validation errors were not being shown in some cases
API endpoint to get service details
π Features
Added an API endpoint to retrieve service details
Read the docs
Allow
branch
as a query parameter in the deploy hook API endpoint
π Bug Fixes
includeEnvVariablesInBuild
not working in the new build systemEnvironment status incorrectly being set to "operational" before all resources are provisioned
Lambda Updates & Bug Fixes
Hi everyone! We now have an internal Lambda that is deploying through Flightcontrol. We're continuing to get this feature-complete and on-par with our other service offerings before we release this to customers, so stay tuned! As always, please let us know if you have any feature requests, UX issues, or bugs.
π Bug Fixes
Error was not being reported if user attempted to change service type
RDS service config was not being updated all services successfully deployed
π Added Firelens support
π Features
Added Firelens support, which improves logging options.
π§ Improvements
Added start command for sidecar containers
Added service deployment ID to
getDeployment
API
π Bug Fixes
Project cost estimates incorrect at beginning of month
Auto-complete was incorrectly filling in values for environment variables in the UI, so it appeared that user secrets were being stored as environment varirables
Preview environment database name was incorrect
Project danger zone not accessible from service settings
Adding environment variables in new logging section makes form unresponsive
Copy/paste for JSON was not working without curly braces
No warning for environment variables that matched RDS or elasticache connection strings
Work on Lambda & Firelens Support
Hi folks! We're hard at work on our Lambda service offering, and we should have our first working prototype in production this week. In parallel, we're working on adding AWS Firelens support to improve logging options.
π Bug Fixes
Connections tab was throwing an internal error when provisioning a new DB
Users were not informed when they did not have an active subscription
App instances not visible in UI for private web services
π Bug Fixes
Fixed a bug where preview environment deletions were not working
Fixed a bug where deployment cancellation was not working correctly
Fixed a bug where rollback was missing
fromService
environment variablesFixed a bug where service names that started with a number would fail provisioning
Fixed a billing bug that prevented users from downgrading their pricing plan
Small UI/UX fixes
π Beginning Lambda
Hi everyone! We're excited to announce that the team has officially began working on our new Lambda offering. Since the use cases are so broad, we intend to ship small, complete units of functionality that will be usable immediately, even if we don't cover all of the use cases immediately. We'd love to hear your feedback about what you're looking for!
π Improvements
Convert the preview environment service configuration flow to be the same as standard environment service configuration, which includes environment variables
Show the last config that was attempted to be deployed for
flightcontrol.json
projects with services that are not yet live instead of the initially deployed config
π Bug Fixes
Fixed a bug where preview environments were using the incorrect domain
Fixed a bug where the VPC selector in the onboarding flow was not loading
Fixed a bug where users could not migrate to AWS Marketplace
Fixed a bug where a pull request preview environment would be deleted if the user closed and then reopened the pull request in Github
Fixed a billing bug where duplicate Stripe subscriptions were being created for some users
Fixed a billing bug where users who had downgraded to free could not upgrade to another plan
Automatically enable AWS regions if disabled
π Improvements
Automatically enable AWS region if disabled
π Bug Fixes
Fixed a bug where service cost estimation showed accrued cost for the month instead of the total estimated cost
Fixed a bug where revoking membership would require a refresh before clicking anywhere else on the page
More deletion reliability improvements
A few small UI fixes/improvements
Deletion fixes and Improvements
Hey folks! We're wrapping up our open projects (build system, deletion improvements, AWS Marketplace) and fixing bugs so that we can begin research & development on our upcoming Lambda offering. Please let us know if you have any feedback!
π Bug Fixes
Deletion bug fixes & improvements
Fixed a bug where users could not upgrade their pricing plan in the onboarding flow
Fixed a bug where copy/paste for environment variables did not work in the new environment or project flow
Fixed stuck deploys when changing target type for existing services
Fixed a bug where deploy errors were not shown in full screen logs
Small copy/UX/UI improvements
π AWS Marketplace, Improved Deletion, Service Env Vars
Hi folks! This week, we're excited to announce the AWS Marketplace integration, which allows you to unify your billing by paying for Flightcontrol and AWS costs, all through AWS. We've also worked on improving the robustness of our deletion flows.
π Features
Added AWS Marketplace integration. To get set up:
Go to the org settings page in your dashboard and click "Activate default provider" on the AWS Marketplace card.
Subscribe in AWS Marketplace. You'll be redirected back to Flightcontrol.
Select the org you wish to connect with your AWS Marketplace integration.
Added ECS sidecar fields for projects configured with the UI.
Added service-level environment variables, accessible in the service side pane.
Added "Networking" page for environments, which shows VPC and NAT gateway information.
βοΈ Improvements
Numerous UX improvements and bug fixes related to deleting services and cleaning up of AWS resources
π Bug Fixes
Fixed a bug where
fromService
env vars were not removed when a service was deletedFixed a bug where health check errors were not being displayed properly
Fixed a bug where existing vpcs for preview environments were not being shown correctly
Fixed a bug where environment variable UI was broken in safari
Fixed confusing runtime logs copy when there are no recent logs
Many small UX/UI bug fixes & improvements
Environment Variables V2
π Features
Added
flightcontrol.json
feature parity for environment variables- through the environment settings page in the dashboard, users can now:link existing
fromParamterStore
orfromSecretsManager
environment variablesadd
fromService
environment variables (example:HOST
,DATABASE_URL
)
π Bug Fixes
Fixed a bug where deploy hooks were ignoring the commit parameters
Fixed a bug where cost estimates were too low during first part of the month
Fixed a bug where CNAME records with two TLDs was showing the incorrect records to copy
Fixed a bug where EC2 memory config was not being validated correctly
A few small UI/UX tweaks
In-app support form + improvements & fixes
π Features
Added in-app support form
Added config display for services in preview environments using
flightcontrol.json
βοΈ Improvements
Build system
Allow configuration of the build system type in the UI
Automatically refresh the builder instance if necessary
π Bug Fixes
Fixed a bug where standard environment certificates were not being renewed
Fixed a bug that prevented users from adding private web services
Fixed several bugs for config display for projects using
flightcontrol.json
Fixed a bug affecting deletion of jobs for projects using
flightcontrol.json
Fixed a bug where organizations who had previously configured Slack notifications could not downgrade
Fixed a bug where configuring
dependsOn
didn't work when creating projectsFixed a bug where users with previously cancelled Stripe subscriptions could not downgrade their pricing plan
Fixed a bug where deploy step times where not being updated
Added `fromService` build type to UI
π οΈ New Build System
Added the option to use Docker build secrets for custom docker builds
Build Runners will now respect static IP address if used by the environment.
π Features
Add
fromService
build type to UIAdd VPC configuration to environment settings UI
π Bug Fixes
Fixed a bug where users were unable to downgrade their pricing plan
Fixed a bug where users could not remove watch paths config
Fixed a bug where Slack integration connected to an incorrect org
UI improvements and tweaks
Added "dependsOn" to UI for service configuration
π οΈ New Build System
Added env var:
FC_FORCE_NO_CACHE
, which allows users to deploy without the build cache.Added health stats to build logs
π Features
Added the "dependsOn" field to the service configuration in the UI, which allows you to configure dependent services for building and deploying (previously only available with a
flightcontrol.json
file)Added an option to deploy without the build cache (works for both new and old build system)
π Bug Fixes
Fixed a bug where runtime logs were not working if a service did not match a deployment's watchpath
Various small UI fixes
Working on flightcontrol.json parity
π Features
Added VPC configuration fields to projects configured in the dashboard
Added read-only preview environment settings pane for environments configured with a
flightcontrol.json
file
βοΈ Improvements
Improve error information for provisioning errors
Added new service icons
π Bug Fixes
Fixed a bug where retries for preview environments did not work
Fixed a bug where Github reauthentication was not working
Fixed a bug where whitespace could be added to environment variable keys
Fixed a few UI bugs
Bug fixes & iterating on build system
π οΈ New build system update
We're seeing 4-7x increase in build speeds for most users
Slowly rolling out the system to more users, fixing edge cases and making further optimizations as we go
βοΈ Improvements
Improved form copy and added hints according to user feedback
π Bug Fixes
Fixed missing AWS resources in the "AWS Resources" tab
Fixed a couple of bugs in the "retry" UI
Fixed several form bugs
Fixed unhelpful errors during service provisioning steps
Several small UI fixes
Hard at work π οΈ
Hey everyone! We've been hard at work on the new build system, AWS marketplace, UI tweaks and bug fixes. Please continue to let us know if you have any feedback!
π Features
Allow org owners to configure email/password along with Github and Google
βοΈ Changes & Improvements
Updated ECS link in Flightcontrol dashboard to link directly to ECS service
Added helpful error message & link to "destroying errors" for projects, environments, and services
π Bug Fixes
Fixed a bug where runtime logs would error before a successful deployment
Fixed a bug where Github comments where not being updated correctly
Fixed a bug where the main projects list was showing incorrect cost
Fixed a few 404 errors that were being thrown unexpectedly
Fixed a number of bugs dealing with memberships
Fixed a bug where the service card was not showing the "DNS Propagating" status
Fixed a bug which prevented retrying service deletion if environment was being deleted
Fixed a bug where health check errors were not being shown in the service forms
Allow users to accept invitations when logging in if they have the invitation link
Introducing Job Runner API
Hello folks! We've just added an API to trigger job executions which allows overriding the configured start command. We've also started work on an integration with AWS Marketplace, which will allow Flightcontrol cost to be paid with AWS credits and consolidate vendors. We're continuing work on our new build system and SOC2 compliance in parallel.
π Features
Added an API to trigger job executions - see docs here
Added
FLIGHTCONTROL=true
as a default environment variable
π Bug Fixes
Fixed an issue where adding many environment variables would result in a timeout
Fixed a bug where reinstalling the Flightcontrol GitHub app broke deployments
Fixed an issue where a errors from an invalid config with the
fromService
build type were not being shown to the user
π Introducing Private Web Service Type
Hi everyone! We've introduced the private web service type and have begun alpha testing with users for the new build system. Please let us know if you have any feedback!
π Features
Private web service type - same as the standard web service but is not public on the internet. It is only accessible within the VPC.
βοΈ Changes + Improvements
Updated UI to show helpful information when cost reporting is not working
Improved deployment cancellation logic so that cancel button is always visible and improved the enabled/disabled logic
Made memory & cpu configuration optional for job runners- you can now define the cpu & memory on the base service and all jobs you configure will automatically inherit that configuration
π Bug Fixes
Fixed a bug where redis services in preview environments were not being marked as complete
Fix light/dark mode selector not working
Fixed a bug where CSS was not being applied to runtime logs
Fixed a bug where the cloudformation stack for fargate services was not being deleted but did not error the service deletion
Security improvements
Product improvement
Hey folks, we're making good progress on the build system, and in the meantime, we're still tweaking and tuning and fixing our product to deliver the best user experience possible!
βοΈ Improvements
Allow contributor role to create environment variables
Updated the availability of the deployment cancel button
Added the service overview page for jobs runner
Added AWS console link for the cloudformation AWS resource stack
π Bugs / UX Improvements
Removed duplicate/incorrect service deployment steps and improved the UI to more accurately display the deployment progress
Fixed a bug where the jobs form were lagging
Fixed a bug where users were redirected to an inaccessible organization on login
Announcing ECS+EC2 In Public Preview
Hi everyone! ECS+EC2 is now in public preview! This enables GPUs and allows significant cost reductions, especially when leveraging Reserved Instances.
π Features
ECS-EC2 is now in public preview! See docs here
Added cost display to all fargate size options
Allow jobs using docker to have a start command that is an array of strings
βοΈ Changes
All
fargate*
servicetype
names have been renamed, now that we have a newtarget
field for choosing betweentarget: fargate
andtarget: ecs-ec2
fargate
β‘οΈweb
fargate-worker
β‘οΈworker
fargate-scheduler
β‘οΈscheduler
The old types will continue to work and are fully backwards compatible
π Bugs / UX Improvements
Fix a number of bugs related to jobs
Small fixes and copy improvements from user feedback
Releasing SSO π
Hey folks! We've released SSO, which willl allow you to use Google or Github to sign in. Also, org owners can configure these providers for their organization, which will allow enforcement of 2FA through Google or Github. In the meantime, we're nearing a beta release for our new build system. β‘οΈ
π Features
SSO through Google and Github (see docs here)
Add "download logs" button directly in logs viewer
Add 6 new AWS regions:
eu-central-2
,eu-south-2
,ap-south-2
,ap-southeast-4
,me-central-1
, andil-central-1
π Bugs / UX Improvements
Show environment variables as a password and hide credentials behind a view button to prevent accidental display of secrets
Fixed a bug where provisioning services were not being marked as error if provisioning failed
Fixed a UI bug where deployment steps were being shown on incorrect service types
Other few small UI/UX bugs
See connection details for RDS and Elasticache in UI
Hi everyone! We've added connection details for RDS and Elasticache services in the service side pane so that you can easily get the relevant information to connect your database. We're continuing work on the build system, and have completed final testing for SSO, which will launch soon.
π Features
Show connection details for RDS and Elasticache
π Bug Fixes + UX Improvements
Fixed a bug where provisioning services were not being marked as error when provisioning failed
Fixed autoscroll on logs
Improved AWS account deletion UX and error handling
Fixed a bug where the UI would become unsuable after opening certain modals
Small bug fixes and UX improvements
Security fixes
ECS-EC2 is now available in preview
Hi folks! ECS-EC2 is now available in preview, which adds support for GPU workloads and increased customization of your instances. We're also testing SSO right now and making good headway on our build system!
π Features
ECS-EC2 available in preview, contact us to opt in
New pricing plan display
Added project config file path to project settings
π Bug Fixes + UX Improvements
Fixed issue where logs could not be copied
Fixed an intermittent issue where cancelling the deployment would not work
Ensure that the environment sidebar automatically refreshes
Fixed an issue where invalid rebuild options were being displayed to the user
Lots of UX Improvements
Hey folks! We've shipped a number of UI/UX improvements last week: most notably, we've increased the dashboard speed. Additionally, we've added additional information and refined current displays to be more helpful. Meanwhile, we're continuing to make great progress on SSO, our new build system, and EC2-ECS!
π UX Improvements + Bug Fixes
Improve dashboard speed
Change environment status shown on the project card to show the status of the latest deployment
Show load balancer and cloudfront domains, when available
Fixed a bug where cost was $0 on the first day of the month
More small UX/UI improvements
π Announcing Role-Based Access Control
Hello everyone! We've got a lot of items this week. First, role-based access control is now live! Organization owners can update roles in the organization settings side pane under the "Members" tab.
In addition to that, we're making great progress on SSO, as well as EC2 for ECS which will greatly increase the customizable options for your instances as well as add opportunities to reduce cost.
π Features
Add GitHub CI checks for deployments
Show current running instances for servers and workers
Add Github deployments for standard environments
Add commit sha options to deploy hooks
Add more ids in our
getDeployment
api (docs)Add documentation for Github deployment actions CI integration (docs)
π Bug Fixes / UX Improvements
Fix cost displays
Performance improvements for the dashboard
Fixed a bug where no commit author profile pic was being shown
Fix a bug where an error message was shown when rolling back a deployment even though the rollback succeeded
Improve UX when adding image registries
Cron jobs
Fixed a bug where builds were failing for docker build types
Fix an bug where "next run at" was incorrect when using timezones
Improve speed of job graph pop-up
Improve UX of form
π Cron Jobs now generally available
Hi folks! We're stoked to announce that cron jobs is now available for general access! We hope you'll enjoy using the feature- please give us any feedback! Next up- SSO!
You can read more in our announcement post, and if you'd like, help spread the word on social media (Twitter, LinkedIn)
π Features
Cron jobs - released for GA π
Allow selection of an IANA timezone constant in the UI
Add timezone labels
Add schedule presets
π Bugs / UX Improvements
Hide "deploy this commit" for deployments with GIT_CLONE_ERROR as this operation is not possible
Fixed an issue where static site previews are not renewing their SSL certificate
A few small bug fixes and copy improvements
Added Support For Redis 7.1 & Postgres 16
Hello all! We've updated support for Redis & Postgres to keep up to date. For cron jobs, we plan to roll the feature out for GA by the end of this week. We're so excited to finish this work and hope that you all will find it useful. Next, we're going to start working on a few security features such as SSO.
π Features
Adds support for Redis 7.1
Adds support Postgres 16
Added date stamp popup for graphs
Cron jobs
Added graphs
Allowed job execution logs to be accessed with a unique URL
Added timezones in the UI
Show upcoming job execution
π Bugs
Fixed an issue where users could run a job before successfully deploying
Fixed cancellation button display
Fixed several job runner preview environment bugs
Several small UI/UX tweaks and fixes
Improving Cron Jobs
Hello and happy Tuesday! We're working on the finishing touches on opening cron jobs for GA- fixing bugs reported by our preview users and fleshing out the features. Please let us know if you have any feedback for us- we want to make the best product possible!
π Features
Cron jobs features (in preview, please contact support to use it)
Added cron jobs docs, available here.
Allowed creation of fargate scheduler when creating new environment/project
Added deletion of fargate scheduler service and service jobs
Added hints for chron string input in the UI
Added notifications for job execution failures
Add custom timeout for jobs
Added pre-deploy and post-deploy commands to all build types
Added container insights to all fargate services: docs
π Bugs
Hid logs displayed incorrectly for rds & elasticache
Fixed a bug where elasticache was not setting network as private
Fixed an issue where config changes would use the active commit instead of the latest commit
Fixed an issue where deploy hooks would not respect the force flag
Other various UI/UX fixes and improvements
Announcing Cron Jobs and Ad-hoc Commands
Hello all! We're excited to announce that cron jobs are now available as a preview feature, and you can opt-in by contacting support. This feature will allow you to run commands manually or on a schedule. We expect this to be generally available within two or three weeks.
π Features
Cron jobs!
π Bug Fixes
Fixed an issue where deployments using environment variables from secrets manager were failing
Fixed an issue where the domains page was throwing an error
Fixed an issue where users could see the config tab on services from pull requests
Fixed an issue in onboarding where user projects were not being deployed if they closed their browser window
Continuing Work on Cron Jobs
Hi everyone! We're continuing our work on cron jobs while also making sure we address bugs that users report during the week. We had several team members taking time off last week, so development pace was slower, but we're looking to pick up speed this week.
π UI/UX Improvements & Bug Fixes
Fixed a bug where elasticache cost was always $0
Fixed a bug where a deployment after editing environment variables would deploy latest commit on the branch instead of the currently active commit
Fixed a bug where users could not create a Dockerhub image registry in onboarding
Fixed a bug where users could not create an environment immediately after deleting an old one
Improved deployment UX not to skip a deployment if global (project/environment) environment variables are changed
Introducing Post-deploy Commands
Hey folks! We added post-deploy commands as a preview feature last week. In parallel, we're still working on cron jobs and other small UI/UX improvements. Please let us know if you have any feedback!
π New Features
Post deploy commands
You can now configure a command to run automatically after a successful deploy (such as busting a cache). Read more in the docs.
π Bug Fixes & UI Improvements
Fixed a bug where watch paths field kept resetting for Safari users configuring a new project
A few other small UX improvements
Cron Jobs Coming Soon
Hello everyone! Work started this week on cron jobs, which we're very excited about- more news to follow. In addition to that, we've also been finishing pre-deploy commands and working on improving the UI/UX of the product.
π New Features
Added user settings pane- you can update your username, email and password. This can be accessed in the top right dropdown:
Improved Github comment layout
Added helpful documentation links on confusing error messages (think concurrent build and VPC limits) - we'll continue to add more of these links to our errors
Allow updating config and triggering a new deployment for a project when the config file is not found
Added ability to destroy a pull request preview environment
π Improvements & Bug Fixes
Improved UX when changing environment/service configuration: when you have an environment with trigger source
manual
, changing the config will now redeploy the active commit rather than deploying the latest commit on the branchFixed a bug where the duplicate environment flow would not allow you to change the region of the new environment
Various other UI/UX fixes
Introducing Pre-deploy Commands
Hi everyone! This week, we're excited to announce pre-deploy commands, beginning with a private rollout- contact us if you'd like to try out the feature.
With pre-deploy commands, you'll be able to define commands that automatically run in between the build and deploy step of your service. See the docs here for more information.
In addition to pre-deploy commands, we've been working on rounding out the new website to be feature complete with the legacy site, as well as introducing many UX improvement & bug fixes.
π New features
Pre-deploy commands
Added UI for when your project has an AWS account that has not yet been connected to AWS
π Improvements & Bug Fixes
Fixed a UX problem where users clicking "abort" on a form would still get prompted to confirm changes
Fixed a bug where users could create environment variables with duplicate keys in the UI
Fixed a bug where users could not cancel deployments of a preview environment
Fixed a bug where the environment trigger was not being shown in the selector
Fixed a bug where preview envs were not being deleted on project deletion
Removed port field from RDS forms as it was unsupported
Various other small UI/UX fixes & improvements
Added Health Check Grace Period Config
Happy new year everyone! We're hard at work on a new pre-deploy command feature, and we're continuing to address user feedback on the new dashboard.
π New Features
Allow configuration of health check grace period. You can now configure how long the ECS service waits before allowing health checks- you may want to use this if you have a process that takes longer than normal to start. See the docs for more information.
π Improvements & Bug Fixes
Fixed a bug where environment variables with "=" could not be used
Fixed an oboarding issue where users were unable to progress after creating their initial project
Fixed an issue where users could have duplicate service environment variables
Improved cost estimates
Various UI/UX fixes
Developer Experience Improvements
We've been improving the developer experience for you with several quality-of-life improvements in the past week. Most of these have been suggestions from users, or thigns we've noticed could make your job easier!
Important Note for the default or "nodejs" build type
Flightcontrol's original build system was Node.js only, not the Nixpacks system we use today. We still support the "nodejs" build type, but we encourage everyone to move to Nixpacks, as the "nodejs" build type is limited to Node 16 or below, and that version is now past end-of-life.
Previously, if you do not specify a build type for your services in a flightcontrol.json file, Flightcontrol will default to "nodejs", which may or may not be what you want. For all new projects, the Flightcontrol platform will require you to explicitly set the build type in your flightcontrol.json file. We strongly encourage you to use "nixpacks" for all builds, so that you can use Node 18, Node 20, or other languages such as Python, Ruby, Go, or Java. You can also build from a Dockerfile or pull from a custom image registry.
This does not affect currently deployed projects, however if you would like to either set your build type to "nodejs", or change your build system to Nixpacks in your flightcontrol.json file, we are happy to assist with this.
π Developer Experience Improvements
Increased the default CodeBuild size for Fargate and Static Site builds from Small to Large. This alleviates failing builds for large JavaScript projects due to out-of-memory errors.
Added the CloudFront-Forwarded-Proto=https header to all Web Services for better Clerk support
Other improvements & fixes
Fixed several minor UX issues in the dashboard
Dashboard Improvements + New Features
We've worked really hard on improving the dashboard we shipped two weeks ago as Flightcontrol 2.0! Overall feedback was very positive, and we got a lot of "It would be great if..." feature requests and minor bugs that we fixed.
In addition to these improvements, we added two new features to Flightcontrol that we think you'll find useful.
π New Features
Runtime-only environment variable support. By default, Flightcontrol includes your environment variables in the build for Nixpacks or Dockerfile builds. If you would like to only use environment variables at runtime, you now have that option on a per-service basis.
Preview Environments for draft pull requests. One of our most requested features has been to support preview environments for draft pull requests. Please try this out!
π Bug Fixes and Improvements
After launching the dashboard, we've made many individual improvements to the user experience and developer experience. We're continuing to make it the best dashboard!
Launching the New Dashboard Next Week!
We've been hard at work on the new Flightcontrol dashboard, and we're so excited to officially launch it and make it the default going forward! Right now, the new dashboard is in open preview, and you can use it side-by-side with the current dashboard.
In the meantime, we've also made several improvements to the platform that we'd like to share with all of you.
π New Features
Added support for the GitHub Container Registry to deploy public Docker images.
Added the ability to use Container Insights for ECS Fargate for additional service metrics
π« Improvements and Changes
Increased the default read timeout for CloudFront to 60 seconds from 30 seconds for new environments. This means that your service can now take longer to respond to an HTTP request.
For brand new projects, we no longer set the NODE_ENV and RAILS_ENV variables by default for builds using Dockerfiles. This lets users set their own values (such as staging or test) for these environment variables.
For new services, we now use Nixpacks version 1.17.0 for builds.
π Docs
Added tip for build performance improvements with Nixpacks
Customer Feedback Requested on New Dashboard
We've revamped our dashboard, and we're in the process of getting it ready for early adopters to try out. In the mean time, anyone on our teams plans can schedule a quick meeting to preview the new dashboard with us - we want to show it off and hear your feedback!
π New Features
Changed the default Nixpacks build system version to 1.13.0 for all new services. Especially for PHP-based projects, this should mean more projects deploy successfully without any initial changes. You can still choose any version of Nixpacks to use by setting a NIXPACKS_VERSION environment variable.
π Docs
Added docs page for Uploading Source Maps to Sentry
Created new AWS Virtual Private Clouds docs page
AWS CodeBuild Concurrency Limit Changed + Sidecar Containers + Sentry Integration
Many of our customers are reporting that AWS has lowered the CodeBuild concurrency limits (https://docs.aws.amazon.com/codebuild/latest/userguide/limits.html) on their accounts. This affects how many builds Flightcontrol runs for you at a time - you may request a quota limit change from AWS through the console to address this:
Linux/Medium Builds - used for Web Server and Worker service builds - https://console.aws.amazon.com/servicequotas/home/services/codebuild/quotas/L-2DC20C30
Linux/Small Builds - used for Static service builds - https://console.aws.amazon.com/servicequotas/home/services/codebuild/quotas/L-9D07B6EF
π New Features
Sidecar Containers
Starting with Datadog, Flightcontrol now supports adding sidecar containers to your Web Server and Worker services. You can decide how much CPU and memory gets allocated to each sidecar, along with the image to use, the port, and any environment variables for configuration.
Sentry integration
Flightcontrol is rolling out first-class integrations with selected developer tools. Sentry is our first integration - we support uploading source maps to Sentry after Nixpacks builds. Want something integrated? Let us know on our roadmap!
Post Build commands for Nixpacks builds
After your application builds, you can automatically run a command or script. Use this as a build hook. The post build command will only run once, not on each container. This is available for Web Server, Worker, and Static service types.
Postgres 15 Preview Environments now support SSL connections.
If you're using SSL connections with the latest version of Postgres on RDS, our preview environments now fully support this approach.
π Improvements and Fixes
Fixed issue where changing saved credentials on existing image registries wasn't persisting
Added better error messages for cases where the build fails to deploy on ECS - we display more information from ECS.
Fixed issue where cancelling pull request deployments for preview environments failed to actually cancel.
π Docs
Added guide for Migrating from Heroku to AWS
Added guide for Migrating from Heroku Postgres to Amazon RDS
Updated guide for Monorepos
Redis for Preview Envs + Deploy hooks for Preview Envs + GitHub Container Registry!
We've been hard at work on the all new dashboard with new UI/UX, but we've also working hard to continue shipping new hotly requsted features. Hope you enjoy them! And if you don't, please give us feedback!
π New Features
Redis for Preview Environments
Redis is now fully supported in preview environments. It works the same as RDS, sharing a single ElastiCache instance accross all your preview environments to keep your costs low.
Deploy Hook support for Preview Environments
Deploy Hooks are now fully supported for preview environments! You can create and manage hooks for preview environments by clicking on Edit Environment in the Preview Environment section from your Project page.
GitHub Container Registry
In addition to DockerHub & AWS ECR, GHCR is now supported as a first class registry. If you'd rather manage your build, you can point us to an image registry and then trigger a deploy with a deploy hook.
π Improvements & Fixes
Fixed some edge case bugs around preview environments not being created
Added Laravel demo as option during onboarding
Various bug fixes & improvements
π Docs
Added guide on Environment Variables
Added Docusaurus deploy guide
Added Solid deploy guide
Added Vite deploy guide
Improve image loading and caching performance
Autoscaling Improvements
Our Flightcontrol engineering team developed and released autoscaling improvements for new services on Flightcontrol. Existing services will continue with their current autoscaling settings.
For new services, if you set different minimum and maximum number of instances for your web servers or workers, Flightcontrol will use the following default rules for autoscaling:
70% CPU utilization
70% Memory utilization
For web services only - 500 requests/minute
The cooldown for creation or deletion of a service is 300 seconds, so your instance pool can respond to the incoming traffic before deploying or destroying instances.
All of these default settings may be changed in the flightcontrol.json configuration file.
π Docs
Added Docs on Getting Started with Remix, Using CloudWatch Logs, and Using venv with Python and Nixpacks.
Announcing Preview Environments for Static Sites!
Flightcontrol supports Preview Environments for web servers, workers, databases, and now static sites as well! What this means is that if you use a static site generator (like Astro or Eleventy) to build your web site, Flightcontrol can create a preview environment with its own URL for each open pull request. Use that preview environment to do testing or gather feedback.
We're continuing work on our dashboard overhaul as well, to deliver the best UI/UX for all of you!
π Docs
Added a Docker Resource Center with guides for working with your own Dockerfiles, Docker Hub, and Amazon ECR.
We've added several examples - Strapi, Bullet Train, Gatsby, Hasura, and Shopify Apps
Added docs for Autoscaling and Database Migrations
Rollback is Live!
Our much-requested rollback feature is now live for all customers. The Rollback page in the docs has more details. Please let us know if you have any feedback!
Brandon will be speaking at the Infobip Shift conference in Miami this week - say hi!
π Docs
Added a page about Flightcontrol's Build Types
New page that explains Nixpacks in more detail
π Fixed Bugs
Fixed the way we provide commands for Nixpacks for static site builds, which means more builds will be successful without requiring manual configuration for commands
Fixed notes display in Docs on Dark Mode to be legible
Rollback GA This Week + Work on Dashboard Overhaul
We have Rollback available as an opt-in early access feature, and we will be making it generally available later this week for everyone to use.
On the dashboard side, we're working on the new UI/UX for our Dashboard - send any ideas for improvements our way!
π Improvement
Updated our ElastiCache pricing estimates to take into account that we run two instances of ElastiCache, along with updated pricing information from AWS
π Docs
Added a Rollback page
π Fixed Bugs
For users with over 100 GitHub repositories in their accounts, we were not fetching and displaying all of them in our dashboard for you to choose from. We now fetch all of your repositories.
Sometimes when multiple pull requests were opened all at once, preview environment builds were timing out. This issue is now fixed.
Rollback + Preview Environment Watch Paths
Our new Rollback functionality is available as early access now! Reach out to us using Slack, Discord, or email to turn on rollbacks, restarts, and rebuilds for your projects. We're making Rollback available to any user that wants to use it now, and then making the feature generally available by next week.
This week, we're at the Write the Docs conference in Portland, Oregon and the Remix conference in Salt Lake City, Utah. Come say hi!
π New Features + Improvements
Rollback, restart, and rebuild for a given deployment. Now in early access.
Added watch paths to preview environments. Choose which services to build when selected files or directories change in your repository for a given pull request.
π Docs
Added a guide for Deploying Laravel Applications with Flightcontrol.
Added a page for Deploying PHP/Composer Applications on Flightcontrol.
Added the PHP Resource Center
π Fixed Bug
Fixed a bug with our database engine selector in the dashboard. Previously, if you were using a certain database engine (such as MySQL) and database version (example, 8), the database version would be reset if you modified the database engine but then went back to the original. This bug is now fixed.
Working on Rollbacks + Dashboard Overhaul
We're finishing up the deployment rollbacks functionality, so that you can re-deploy previous builds with confidence. Our development team is also moving forward with a user interface and user experience overhaul of our dashboard. We want to create the best place for all of you to deploy your builds and monitor their behavior over time, and we'll be excited to show you our new dashboard when it's finished.
This week, Flightcontrol will be at the Deep Dish Swift conference in Chicago, as well as the Reactathon conference in San Francisco. Come find us there and say hi!
π New Features + Improvements
We added support for using Postgres version 15 with Amazon's Relational Database Service (RDS). Version 15 is now the default version selected for new databases. You can select another Postgres version if needed, going back to version 9. Existing deployments will not be affected.
π Docs
Added a guide to using Sidekiq on Flightcontrol with a Rails application.
Added a troubleshooting page for Changing your Nixpacks Version to help fix build issues that might be addressed in more recent versions of the Nixpacks build packs we use.
Added a JavaScript Resource Center for Flightcontrol deployment tips.
React Miami + Rollback + Dashboard UX Project
Last week, the Flightcontrol team gathered together at the amazing React Miami conference in Miami Beach, Florida!
We started work on an overhaul of the Flightcontrol dashboard's user interface and user experience. We're trying to make our dashboard the most intuitive developer experience out there for cloud deployments.
Our team also continued to work on the rollback capability for service deployments, as we know this is an important feature for many of you.
π New Features + Improvements
You now must pick an AWS region to deploy in, instead of using the default (this was us-west-2). It wasn't always clear that you could or should be changing that AWS region, so we now have you make the choice yourself.
We changed the way we load environment variables to display them in the user interface, so that users with many environment variables will see those pages initially load much faster.
π Bug
Fixed a bug where Next.js Typescript builds would fail with next.config.mjs (Next Config for ES Modules)
React Miami! Meet the Flightcontrol Team + Rollback Work
Our big announcement for the week is that the Flightcontrol team is assembling together at the React Miami conference this week! We want to meet our Flightcontrol users and anyone else who is busy writing and pushing code to production. How do you deploy things?
It's not just all React this week - we're working on the Rollback feature so that you can redeploy your last good build easily.
Last week, in addition to the Rollback work, we also made some improvements to better support Incremental Static Regeneration (ISR) with Next.js, and added a few new docs to the site.
π New Features + Improvements
Improvements for working with Next.js Incremental Static Regeneration (ISR) - add support for Next.js preview mode, and detect Next.js applications better to support ISR if they don't have a next.config.js file.
Also support loading Next.js config as an ES module with the next.config.mjs file
π Docs
Added Getting Started with Python and Flask guide, along with Python and Ruby resource centers
Improved Get Deployment API examples
Added a "copy" button to all source code examples
Work on Deployment Rollbacks + React Miami Coming Up!
After shipping email and Slack notifications, we have to keep the momentum going! We're adding support for rolling back deployments. For all of us that have shipped some code that didn't quite go as planned, this new feature will make it easy for you to use your last known good build.
We're also getting the team together at the React Miami conference on April 20-21, 2023 in Miami Beach, Florida. If you are going to the conference, come find us and say hi! We'll have stickers to give away, and all of us like talking to our Flightcontrol users!
π Docs
Added Getting Started with Rails and Connecting GitHub guides
π Fixed Bugs
Fixed a bug where it was possible to specify a non-existent database version for an RDS service
Fixed an issue where Flightcontrol would not clone Git submodules properly during a deployment,
Fixed a bug in deployments where the yarn install command failed with the error message "lockfile would have been modified"
Notifications Launch + Relaunch of Docs Site!
This week is a double launch for us at Flightcontrol! We're turning notifications on today (Monday, April 3, 2023). The first thing you will see is an email from us to all members of your organization if a build fails. You can customize the email notifications you get, as well as sending Flightcontrol notifications to a Slack channel on your Organization Settings page. Learn more about configuring notifications in our docs.
Speaking of docs - we redid our documentation site (https://www.flightcontrol.dev/docs)! We organized the docs with a new information architecture, added a full-text instant search, setup code highlighting, and made updates to every piece of content on the site. We used the Nextra site generator, and we hope you try out Nextra too! You'll see more improvements and additions to the docs, and we'll call attention to the big changes in these weekly changelogs.
To sum up this week:
π New Features + Improvements
Email and Slack notifications for important events, like deployments failing
Relaunched the Docs web site (https://www.flightcontrol.dev/docs)
Added the ability to set the base path to the static site form when configuring a service in the dashboard
π Changes
Preview environments are now a Team feature, and not part of the Hobby plan.
π Bugs
Fixed a bug in deployments where the error analyzing screen was being shown, even if the deployment was actually up and running fine. If there is an error, display more contextual information to explain why the error occurred.
In existing environments, the region is now locked down, and can not be edited. It's never been supported, but we erroneously let you try to change it.
Miscellaneous bug fixes
Rolling Out Notifications Later This Week!
We'll be launching Notifications at the end of this week. Now you'll get email and Slack alerts for your important deployment events. No more wondering whether a deployment failed or keeping a browser tab open to your project page - Flightcontrol will send you an email to let you know! If you install our Slack integration, we'll also be able to update you there.
We're progressively rolling it out this week, and expecting it to be generally available for everyone at the end of the week.
Have any ideas about how else you'd like to get notifications? Let us know through the Roadmap (https://roadmap.flightcontrol.dev/roadmap).
π Improvements
All new Flightcontrol services (not just projects) will use Nixpacks 1.6.0 instead of an older version, if you use Nixpacks for deployment.
To use another version of Nixpacks, set the NIXPACKS_VERSION environment variable for your service. Existing services will continue to use whatever Nixpacks version you currently have.
π Bug
Fixed an issue related to deleting a Flightcontrol service from the dashboard - if you have had services that you could not delete from your environment, this bug has been addressed.
Notifications Shipping Very Soon + Status Page
Last week, we accomplished a lot of our remaining work on Notifications. We are now polishing up our Notifications functionality so that you and your team get timely build and deployment events.
We've also added a status page (https://status.flightcontrol.dev/). You can see how the Flightcontrol Platform is performing, as well as the services and APIs (GitHub + AWS) we use to deploy your projects.
π Improvements
New Projects will use Nixpacks 1.5.0 instead of an older version, if you use Nixpacks for deployment. If you would like to use another version of Nixpacks, set the NIXPACKS_VERSION environment variable for your service. Existing projects will continue to use whatever Nixpacks version you currently have.
Updated the AWS Code Build base image to Ubuntu 22 so that we have Python 3.10 installed. This is important for the AWS Command Line Interface.
Added Destroy Service button to the Environment edit screen, so that you can remove services from an environment more easily.
π Bug
Fixed an issue where it was not possible to change the size of your Relational Database Service (RDS) databases when editing a service.
Working Hard on our Notifications Project
The team at Flightcontrol is still working hard on our notifications project! We've heard from many of you about how important notifications are for your deployments, and we're committed to delivering this for you. In addition to the team effort towards notifications, we've made some other improvements to the platform and fixed a bug in the AWS cost estimations we show you.
π New Features
Added the ability to leave single line (//) comments in your flightcontrol.json configuration files. Now you can document the reasoning behind your configuration. The comments can go on a new line, or at the end of a line. Although the // comment is not part of the JSON specification, Flightcontrol will be able to parse your configuration files.
Added a SENTRY_RELEASE environment variable which contains the Git commit hash for the deployment. This is useful when you integrate the Sentry error monitoring tool.
π Improvements
Added an in-app chat messaging window in the dashboard. Ask a friendly Flightcontroller your questions, or send us some feedback and we'll get right on it!
Added the error type to some of our error messages in the dashboard. We're hoping that this will give you more context when we detect a problem with your deployments.
Removed the legacy nodejs build type for new services. You can still build your existing services with the nodejs build type, but for new Node.js deployments, use nixpacks instead for a better developer experience.
π Bug
Fixed the cost estimation for Fargate workers - removed a $17/month load balancer cost that isn't actually included with Fargate worker tasks. This should give you a better representation of your actual costs when using Fargate workers.
Ongoing Work on the Notifications Project
Another great week for development here at Flightcontrol! We're working hard on our notifications project, and can't wait to share it with all of you. We've also shipped several bug fixes and one improvement that should help clarify when we deploy pull requests.
π Improvements
Update our messaging on draft pull requests to make it more apparent that pull requests get deployed when they get marked "Ready for Review"
π Bugs
Fix issue with creating project using public GitHub repositories
Fixed a bug that wouldn't let you change the port number (such as 3000) on a new service. For already deployed services, you will still need to delete the service and recreate it to change the port number.
Fixed a bug that threw an unnecessary error when deploying a new environment - "Failed to find environment or project for this deploy hook"
Fixed a bug that led to degraded performance on some deploys
Auto-updating CodeBuild Environments and Starting Notifications Project
Hi everybody! We're working hard on Flightcontrol, we shipped a number of improvements, and are starting work on the notifications project. Once we're finished with this project, you'll be able to subscribe to important events from your deployments.
π Improvements
CodeBuild environments now use the latest AWS Linux builds, and will be auto-updated to the latest if necessary
π UX
For Hobby users, choosing a GitHub repository from an organization account will ask you if you want to become a Business account
The Custom Domains screen will show the app's CNAME Domain Status until it is actually routed, with support for zero downtime migration to your domain
π Bug Fixes
Fixed a bug where a static build will fail when outputDirectory is a path
Fixed a bug where dotfolders and dotfiles weren't being watched with a watchPath
Miscellaneous bug fixes
Improve Repository Watch Path Logic, Other Improvements & Bug Fixes
Hello everyone. This week we made several user experience improvements and bug fixes for deployments.
π UX
Change watch path logic to be ignored (deploy everything) if git diff fails for any reason.
Documentation now shows a message saying no results found instead of a 404.
π Bug Fixes
Fixed a bug where during onboarding flow gets to bad state if user goes back.
Fixed a bug where deployments are not cancelled during certain failures.
Fixed a bug where previous deployment errors were being overwritten.
Redis Encryption at Rest & Get Deployment Status API
Hello everyone. We're back to the office today after our week long retreat in Thailand. We were able to work on multiple improvements and bug fixes during our time together last week. Some of the improvements we shipped mono repository support, and provide more configuration options for preview environments.
π« New Features
Added the new supported field
basePath
which indicates in which folder thenixpacks
build should run. See more in the docs.Added a new configuration option called
encryptionAtRest
to configure if Redis is encrypted at rest. This option is enabled by default. See the docs for more information.Added new Flightcontrol API endpoint to get the status of a deployment. See more in the docs.
Added the
fromBranches
filter for preview environments, used to specify which branches should be deployed to a preview environment. See more in the docs.
π UX
An environment's AWS account is now displayed next to the environment's region.
In dashboard, move the Install Command field out of advanced configuration up next to Build Command.
π Bug Fixes
Fixed a bug where public API endpoints threw a CSRF error on POST requests
Fixed a bug where deleting a Redis cluster didn't delete correctly the first time.
Fixed delete certificate workflow to use
us-east-1
in retry custom domains.
Changelog: Thailand Edition - UX & Bug Fixes
Hello everyone! I'm writing this from Thailand, where everyone but Kayla (passport troubles) has met up for a week-long retreat. We've spent a lot of time focused on reinforcing team values and refining our team processes, as well as working on a new feature to alleviate monorepo headaches.
π UX
Added framework presets to new environments. Previously, these were only available when creating a project for the first time.
π Bug
Fixed a bug where projects would not show preview environments if it was in an error state.
Fixed a bug where users could not remove services in the project creation page
Increased a timeout for one of our temporal workflows to facilitate support for massive repos
Pre-built Image Support and Nixpacks Improvements
Hi everyone! This week, I'm excited to announce pre-built image support, which allows you to "bring-your-own-image" to Flightcontrol. This feature means instead of only using Flightcontrol as CI/CD, you can use it as primarily CI.
π Features
Added pre-built image support: see the docs for more information.
Added support to deploy public docker images without a Dockerfile: see the docs for more information.
π πΌ UX Improvements
Change build auto cancellation to only cancel "pending" builds. This ensures new code is deployed even if you are git pushing faster than the build/deploy cycle time.
Improved Nixpacks caching
π Bugs
Fixed watch paths not working when the path starts with `/`
β οΈ Deprecation
Nodejs builds for static sites are deprecated. We recommend using nixpacks instead because it will automatically determine node version & package manager type.
Update Build Cancel Behavior & Other UX Improvements and Bug Fixes
Everyone is back in the office now, and work on pre-built images has been moving steadily, with a release coming very soon. In the meantime, here are some bug fixes and UX improvements that we've shipped.
π UX
Changed how builds are canceled- now, only builds that have not been started will be canceled. In-progress builds will never be canceled
Fixed an issue where users could unintentionally create multiple Flightcontrol AWS accounts in the onboarding flow
π Bug
Fixed the incorrect services being copied for preview environments when attempting to copy an environment config
Service's environment variable have unexpected numbers appended on project creation
Fixed CloudFront cache policies limit
Added missing build link for our Github preview environment comment
Add new FC_AWS_REGION environment variable
It was another quiet week as we had several engineers out of office, however, everyone is back for this coming week. During the past week, we have been working on pre-built image support as well as various UI/UX improvements.
π Feature
Add FC_AWS_REGION as an automatically env variable
Add Nixpacks for Static Sites & Allow Deletion of AWS Accounts
It was a short week for us at Flightcontrol, with half of our team off for the holidays. Next week will also be a short week, with the other half of the team on holidays.
We have shipped a couple high priority features, and we are committed to continuing to work on UX improvements and bug smashing over the next two weeks.
π Feature
Add NixPacks support for static sites
π UX
Allow deletion of AWS accounts
This includes an option to eject from Flightcontrol while maintaining your AWS infrastructure
π Bugs
Fix watch paths not working
Git LFS Support & Customize Fargate Task Storage
π Feature
Add the ability to configure Fargate Task Storage. See the docs for more information.
Add Git LFS Support
π UX
Change custom domain connection to show details until traffic CNAME is connected
Add CAA record to the DNS values if needed
π Bug
Fix disappearing cancel button when there is Redis service type with `success`
Fix an issue with custom domain verification
Kicking off Bug Smashing & UX Improvements Month
We're taking the next month to focus on fixing bugs and improving UX across the board. Please let us know if you come across any bugs or friction in your user experience, no matter how small it may seem, so that we can fix those issues and ensure you have an excellent experience using our product!
π UX
Allow users who haven't finished onboarding to return their previous page instead of restarting the onboarding process
Note: if you're currently stuck with the onboarding flow, please contact us in Discord.
Fix invoice calculation & description to round to nearest cent
Surface custom domain issues to the user
π Bug Fixes
Sanitize input Github Repo URL to avoid unmatched projects
First time projects get stuck in "Hang tight..." if there is an invalid config
Improve displayed deployment & service deployment errors
Fix onboarding flow for users using a ref link
Fix error connecting Github account: `Both "code" & "state" parameters are required`
Allow GUI users to remove services from the environment edit page if they have not yet saved them to their environment configuration
Fix responsive UI in onboarding flow
Small Fixes & Improvements
π Bug
Watch paths in GUI throws error if it has a single value
π UX
Improve build error UX slightly
Replace the clever RDS preset names like βbobcatβ with small, medium, etc
Redis & RDS Preview Environments
π« New Features
RDS Preview Environments
You can setup your preview environments to include a preview database using AWS RDS.
How it works: You will have a clean database for each preview environment created from your pull request. On the AWS resource level, only 1 RDS instance will be used for all preview environments (unless youβve configured more than one RDS for the preview environment).
How to configure it: You need to add a RDS service type to your preview environment.
You can check the docs for more info: https://www.flightcontrol.dev/docs/guides/config/preview-environment
Redis
You can now create a Redis instance using AWS Elasticache with Flightcontrol!
Not available in preview environments yet.
How to configure it: If you use flightcontrol.json you can add a new service to your environment using the type: "elasticache". If you use the UI, you'll see a new service type option to select.
Check the docs for more details: https://www.flightcontrol.dev/docs/guides/config/using-code
Watch Paths / Next.js ISR Manual Revalidation / Multi-stage Docker Caching
π« New Features
Watch paths feature
Git Submodule support
Next.js ISR manual revalidation support β `req.revalidate()`
Build caching for multi-stage dockerfiles
Sort env variables in GUI so it's easier to find what you are looking for
Enable AWS Origin Shield for new services, resulting in faster app performance
(huge improvement in first load time for static sites after new deploys)
π UX
Add configured port to failed healthcheck error message
Stop hiding BUILD_ERROR messages in deployment list
π Bug Fixes
Two services with the same given ID cause issues when destroying the service
Add 404 status code in static sites when file not found
Static site fixes
Click to Copy doesn't work on firefox
Fix environment name not updating
Fix all links to flightcontrol.notion.site to point to our new docs