Skip to content

v0.0.1-alpha.33

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Aug 22:12
4596790

Overcast v0.0.1-alpha.33

Docker Images

Full image with the web management console:

  • Pull: ghcr.io/neaox/overcast:0.0.1-alpha.33
  • Moving tag: ghcr.io/neaox/overcast:alpha
  • Registry: overcast package

Headless slim image for CI pipelines:

  • Pull: ghcr.io/neaox/overcast-slim:0.0.1-alpha.33
  • Moving tag: ghcr.io/neaox/overcast-slim:alpha
  • Registry: overcast-slim package
docker run --rm -p 4566:4566 -p 4567:4567 ghcr.io/neaox/overcast:0.0.1-alpha.33
docker run --rm -p 4566:4566 ghcr.io/neaox/overcast-slim:0.0.1-alpha.33

Native Binaries

Download a binary for your platform from the assets below and verify it with SHA256SUMS.

Asset SHA256
overcast-darwin-amd64 b1cd32963bb8e99b863a0d545235c0fa0b5a834b30af32407bd1f84fb8db5c96
overcast-darwin-arm64 c1ffe7553301245a5c9723a13d5635a680aaf968899c344d1576338d731ab1f9
overcast-linux-amd64 e842631ec5ccb9008035d3364638f08f7f92a86c245361921331f5dc6c6a67f8
overcast-linux-arm64 cdf3c046237fea0a9748599460cfbb9117f19e41e30326e006f406e9b17d6cff
overcast-windows-amd64.exe a89dc09adfdb2ecdece607a08e5d1a52361364ae9e5227af0f6fda7fc8844b6c
overcastd-darwin-amd64 a72e172dde09a90d61f7253ffbcf6d7126204aa2b9c95c8c706b8a0e041344fa
overcastd-darwin-arm64 c8905ee9bcf8e2857ff635662d0f200199078ed8b8dc5bd7aa6f4c5e826ca64f
overcastd-linux-amd64 d20e564c4002c23b87e548ccb6c88cf38df50a86504db437f9223c6388ba7015
overcastd-linux-arm64 9f459c5886b2f05b844049907d2439f40e447e5c80369bfc6ffe84f62d249627
overcastd-windows-amd64.exe 6fe65289848291b80f4f1c27c4aa31ae20145e05c8dba75b04dc1a9e70e643a9

Release Notes

Added

  • [cloudwatch] PutMetricAlarm carries more of the alarm: Tags are applied at creation as on AWS, and Unit selects which datapoints an alarm evaluates, so a metric published under several units evaluates separately per unit. PromQL alarms (EvaluationCriteria) join metric math and anomaly detection in returning 501 rather than being created un-evaluated

  • [iam] permissions boundaries — PutUserPermissionsBoundary, DeleteUserPermissionsBoundary, PutRolePermissionsBoundary and DeleteRolePermissionsBoundary, plus the PermissionsBoundary parameter on CreateUser/CreateRole and the PermissionsBoundary member on the user and role responses

Changed

  • BREAKING [cloudwatch] PutMetricAlarm requires Statistic, ComparisonOperator, Period, EvaluationPeriods and Threshold for an alarm on a metric
    migration: pass them explicitly. They are Required: No only because a PromQL alarm supplies them inside EvaluationCriteria; an alarm on a metric that omitted one used to be created with Average / GreaterThanThreshold / 60s / 1 period / 0.0 substituted, which arms an alarm nobody configured

  • [web/debug] the Request Traces status and method filters are multi-select, so "all errors" is 4xx and 5xx ticked together rather than two separate looks, and 3xx joins the status list; the filters live in the URL, so they survive Back from a trace's detail page and can be shared as a link

Fixed

  • [cloudformation/cloudwatch] an AWS::CloudWatch::Alarm the template does not name deploys — CloudFormation mints {Stack}-{Logical}-{RANDOM} for an omitted AlarmName, which is what CDK's Alarm construct and every metric.createAlarm() helper rely on, where the empty name used to reach PutMetricAlarm and come back as AWS's own Value null at 'alarmName'. Every property now reaches the alarm too: DatapointsToAlarm and TreatMissingData were dropped, so an "M out of N" alarm was evaluated as "N out of N" and notBreaching reverted to missing. A property the template omits is left out of the request rather than sent empty

  • [cloudformation] AWS::Events::Rule, AWS::StepFunctions::StateMachine, AWS::ApiGateway::RestApi, AWS::Scheduler::ScheduleGroup, AWS::ECR::Repository and AWS::IAM::User are named by CloudFormation when the template omits their name. Each carries the logical ID, so two unnamed resources of one type in a stack are two resources — the rule and the schedule group used to share one empty name and quietly become a single resource, and the rest failed the stack

  • [cloudformation] a stack that rolls an update back is handed its previous template and parameters again, so GetTemplate describes what is deployed rather than the attempt that failed and the next update resolves parameters from it; a nested stack whose own update fails restores its child template and parameters as part of rolling its resources back, instead of keeping the failed attempt's metadata because the parent never recorded the update as a success; and a rollback that cannot persist the metadata it restored reports UPDATE_ROLLBACK_FAILED rather than claiming the rollback completed

  • [cloudformation] UpdateStack honours the DisableRollback member of the request it was given, rather than the value the stack was created with, and an update that fails with rollback disabled keeps the resource records the attempt reached — so DescribeStackResources no longer reports pre-update properties for a resource the update already changed, and no longer drops the resources it updated before the failure

  • [debug/cloudformation] request traces record every internal hop, including the work that continues after the response is sent — a CloudFormation or CDK deploy runs for minutes past its HTTP reply, and every hop after the first second used to be dropped. DeleteStack and RollbackStack record the internal calls they make, as CreateStack and UpdateStack already did, where teardown hops were previously never recorded at all; and a stack created from a TemplateURL records the template fetch as a hop, with the S3 request it makes linking back to the CloudFormation request that triggered it

  • [debug/s3] hops are named and linked whatever protocol answered them: a hop links reliably to the request it triggered, where S3 hops in particular used to link to nothing; hops for S3 calls name the service instead of showing a blank one, S3's REST paths being bare bucket paths that no prefix rule can attribute; and a Query-protocol request is named by its operation however the client ordered the form parameters, where one with a large parameter ahead of Action — a CreateStack carrying a real template, typically — used to show a blank operation

  • [iam] permissions boundaries attached to a user or role are applied by SimulatePrincipalPolicy and by opt-in request-time enforcement, so a bounded principal no longer gets permissions AWS would deny through the boundary intersection

  • [lambda] a failed CreateFunction or UpdateFunctionCode no longer leaves the stored deployment package ahead of the function's CodeSha256, RevisionId and source metadata, so a later read or cold start cannot run code the configuration does not describe

  • [lambda] a PutObject landing the bytes a function is already running is no longer treated as a new deployment. Re-uploading an unchanged asset — or the very upload the function read at create time — leaves RevisionId, LastModified and the warm execution environment alone, instead of rotating the revision under callers using it for optimistic concurrency and forcing a needless cold start

  • [scheduler] schedules fire SNS, Step Functions, Kinesis, Firehose, ECS and EventBridge event bus targets, not just Lambda and SQS — delivery goes through the same dispatcher EventBridge rules and Pipes use, so one target ARN behaves identically on a schedule and on a rule — and SqsParameters.MessageGroupId, KinesisParameters.PartitionKey, EventBridgeParameters and EcsParameters are honoured when a schedule fires. CreateSchedule and UpdateSchedule reject a target type Overcast cannot fire with a ValidationException, instead of accepting a schedule that would silently never fire

  • [scheduler] RetryPolicy and DeadLetterConfig are honoured: a failed firing is retried up to MaximumRetryAttempts (capped at 6 attempts) while MaximumEventAgeInSeconds allows, then sent to the configured SQS dead-letter queue

  • [state] Lambda deployment packages carry an explicit storage-tier classification, pinning them to the SQLite-backed tier so a future change cannot silently make every stored zip memory-resident at startup

  • [web/debug] long request paths no longer stretch the traces table off-screen — the Path column is bounded against the page's own width and carries the full path as a tooltip — and the table's horizontal scrollbar is reachable without scrolling to the bottom of an infinitely growing list

Release: https://github.com/Neaox/overcast/releases/tag/v0.0.1-alpha.33