NotiOps v1.0.17
NotiOps v1.0.17
This release is about the deployment finishing on its own. Creating an Agent
Space now also enables its operator web app, so nobody has to find the
Configure web app button in the console — and without that button, four
DevOps Agent capabilities used to fail with an error that never mentioned it.
The other half is a one-click fix that mattered more than it looked: in any
account that had ever run setup.sh, the one-click stack failed entirely, in
about nine seconds, over a log group name. Both deployment paths upgrade in
place.
⚠️ Sample/reference code, not a production-ready product. Review it with your
own security, legal, and compliance teams before deploying into an AWS account.
Features
-
The DevOps Agent operator web app is enabled for you. Deploying used to
leave one manual step behind: open the console, go to Agent Space → Access →
Operator access → Configure web app, and click it. Skip it and the Agent
Space has nohttps://<spaceId>.aidevops.global.app.awsdomain, so
CreateChat/CreateBacklogTaskanswerInvalid or unregistered domainand
four capabilities die together — deep investigation, deep investigation
(direct), DevOps Chat, and publishing a Skill to your DevOps Agent — while the
error says nothing about a button you did not press.The Agent Space resource now carries the operator app configuration directly,
along with the role it needs, so all three paths that create a space do
this at create time:- the one-click CloudFormation stack,
setup.sh,- and the member-account StackSet — the biggest win, because a multi-account
customer previously had to log into every member account and click it once
per account.
Only the
iamauthentication flow is configured (the BFF connects with
SigV4); IAM Identity Center and external IdPs are left for you to choose.
Deleting the stack disables the operator app on the way out. The one-click /
setup.shparity test has a new criterion that pins all three paths, so this
cannot silently regress on one of them.Upgrading an existing deployment: if your Agent Space already exists and
its web app was enabled by hand in the console, this template change asks
CloudFormation to enable an already-enabled app. That path is not verified —
it may be a no-op or it may conflict. If it conflicts, run
aws devops-agent disable-operator-app --agent-space-id <id>and deploy again;
the domain is derived from the space id, so turning it off and on does not
change your URL. New deployments are unaffected.
Fixes
-
One-click deployment failed for the whole stack in any account that had ever
runsetup.sh. The stack died in about nine seconds with a single line:Resource of type 'AWS::Logs::LogGroup' with identifier '/aws/lambda/notiops-web-notif-handler' already exists.(and only
aws cloudformation describe-eventsshows even that much —
describe-stack-eventsjust says Validation failed with 1 error(s)).The name collision was not the whole story: a
/aws/lambda/<function>group is
also created by Lambda itself, and the one Lambda creates belongs to no
stack — it never expires and it survives stack deletion. So one earlier
setup.shrun in an account was enough for CloudFormation's
NAME_CONFLICT_VALIDATIONpre-check to reject every later one-click
deployment, with nothing in the message tying it to notifications.The notification handler's log group is no longer named — CloudFormation names
it and the function points at it throughLoggingConfig, the shape the BFF
already used. That also fixes the thing the hard-coded name was there for: the
function writes only to this group and no longer creates a second one on first
invocation. Both deployment paths are fixed, and the release gate now refuses
to emit a template containing any hard-codedLogGroupName(names that
include the stack name are allowed — those are unique per stack).Already-deployed
setup.shenvironments keep the old orphan group after
upgrading (old logs are still there, still never expiring); delete it by hand
if you want it gone. -
The one-click parameter undersold what it controls. The Agent Space that
EnableDeepInvestigationcreates carries four capabilities — deep
investigation, deep investigation (direct), DevOps Chat, and publishing a Skill
to your DevOps Agent — but the console label only said "deep investigation".
Customers chose No expecting to lose one feature and lost DevOps Chat as
well: greyed out, no error, the hardest kind to diagnose. The label now reads
Enable AWS DevOps Agent features (deep investigation, DevOps Chat)? and the
description names all four plus what No costs you. The parameter name is
deliberately unchanged — renaming it would drop the value when an existing
stack is updated. -
The "Escalate to AWS Support" shortcut button after an investigation is
hidden. The capability is untouched: the tool is still registered and still
routed, so asking in plain language ("open a support case for this") works
exactly as before.
Docs
- One-click deployment §6.1 contained a
promise that does not hold.KeepDatawas described as leaving your data for
the next deployment to pick up; it does not, because the table and bucket names
are fixed and CloudFormation's name-conflict pre-check fails the entire
stack before creating a single resource. Verified with a two-line probe stack.
KeepDatais for keeping data in place to export or examine, not for
redeploying on top of it — the stack cannot adopt tables that already exist.
§6.4 now says plainly that you must delete those tables first if you intend to
redeploy. §2.7 gains a note on the operator app, §3's resource count moves
65 → 66, and §6.3 carries measured teardown times for both modes instead of
claiming they are the same. - Which notification sources are on by default was backwards in four
documents. It is: on — AWS Health, CloudWatch Alarm, Cost Anomaly, Trusted
Advisor, GuardDuty; off — Backup, EC2 Spot, Auto Scaling, RDS, Config. The
user guide also now says the two things a reader
actually needs: three of the on-by-default sources only produce events once you
enable the corresponding service (until then the rule is enabled but silent —
harmless, no cost, effective the moment you enable it), and how to turn on the
off-by-default ones on each path. - Deployment has a new §5.3.3 on the operator app,
including the upgrade caveat above.
Upgrading
setup.sh:
git pull # or re-clone at tag v1.0.17
./setup.sh # re-run; existing resources are updated in placeOne-click (CloudFormation): download notiops-webchat.template.json from the
assets below and update your stack with it — Replace existing template, then
Use existing value for every parameter. This upgrade replaces the
notification handler's log group with a CloudFormation-named one; it does not
resend the invitation email, change the admin credentials, revert Admin settings,
or clear chat history.
Your data is not touched: the conversation and configuration tables are Retain,
and re-seeding is idempotent.
If your deployment already has an Agent Space whose web app you enabled by hand,
read the upgrade note under Features before updating.
Do not mix assets across releases — the template and the four .zip files are
cryptographically bound (each checksum is baked into the template and the release
tag is part of every object key), and the stack verifies every checksum before
use.
Asset checksums (sha256)
b80f66fd5b73f4524796c1b3e36943f9e25171f13948db92634b280820e9548a bff.zip
ed74863e3aa1bec38c0a8cf1b0977dd0d358adb624eaae7b0b5bd66ddc4e5109 chat-dist.zip
562440c873bbf88e558ffbf6ef4d8e3ad80204f4404b78a1d996da7167f5ef89 web-notif.zip
727acc3ef34c51635d9dc3797c1edc5054715646a43cd57b5fb804aeafb1bce0 agent-code.zip
Download
notiops-webchat.template.jsononly. The four.zipassets are
pulled into a bucket in your account by the stack itself; you never need to
download them by hand. The template is above CloudFormation's 51,200-byte
--template-bodylimit — from the CLI, upload it to S3 first and pass
--template-url.
See README for full setup, one-click deployment
for the console walkthrough, and the documentation for architecture
and operations.