NotiOps v1.0.12
NotiOps v1.0.12
Uninstalling is now as much of a one-liner as installing. The one-click path has
had a TeardownMode parameter since v1.0.10, but the setup.sh path left you to
cdk destroy five stacks in the right order and then hunt down the things CDK
never owned. This release adds teardown.sh, and corrects a feature
comparison table that understated what the one-click path can do.
There are no changes to the application itself in this release — the agent,
BFF, frontend, and CloudFormation template are functionally identical to
v1.0.11. If you are running the one-click stack, there is nothing you need to do.
⚠️ 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
-
./teardown.sh— remove everythingsetup.shcreated, in one command.
Two tiers, mirroring the one-click stack'sTeardownMode:./teardown.sh --dry-run # inventory only, deletes nothing ./teardown.sh # keep data: delete stacks and runtimes, keep the three Retain'd tables ./teardown.sh --delete-everything # also delete the tables, CUR report/bucket, Athena saved queries, orphaned log groups
It deletes in reverse dependency order and covers the leftovers that
cdk destroydoes not, each of which breaks a later reinstall or quietly keeps
costing money if missed:- the CUR report definition and the CUR bucket (a report definition is a
Billing-console resource, not a stack resource); - the one-shot EventBridge schedule that finalizes the first CUR export;
- the WebSearch AgentCore gateway, its targets, and its IAM role;
- the 30-day recovery window on Secrets Manager secrets — a plain delete
only schedules deletion, so a same-name redeploy fails with a conflict
until the window expires. The script force-deletes instead.
Confirmation is required by typing the 12-digit account id, and
--delete-everythingadditionally asks you to typeDELETE EVERYTHING. Every
phase is idempotent: if a stack deletion fails, the script prints the failing
DELETE_FAILEDevents and you re-run it. - the CUR report definition and the CUR bucket (a report definition is a
-
It refuses to delete resources that belong to a different deployment. Both
deployment paths use the same physical resource names (notiops-config,
notiops-data-<account>-<region>, and so on), so on an account where both have
been installed, "empty the data bucket" is genuinely ambiguous. Before emptying
a bucket or deleting a table, the script asks CloudFormation which stack owns
it and skips anything owned by a stack it did not create — telling you
which stack to delete instead. Verified against a live one-click stack sharing
those names. -
The data bucket is backed up locally first, by default. On the
setup.sh
pathnotiops-data-<account>-<region>is destroyed with the stack — your
Skills and saved reports live there, and unlike the one-click path there is no
"keep data" setting that can protect it. So the default is tos3 syncit to a
local directory before deleting;--backup-dirchooses where,--no-backup
opts out. -
Cross-account resources are deliberately left alone. The member-account
StackSets and the per-account AWS Health event forwarders reach into accounts
other than the one you are running in, so the script prints the exact commands
and stops, rather than deciding for you:--delete-member-stacksetsopts into
removing the StackSets, and the PHD forwarders come out with
./setup.sh --phd --remove. Shared infrastructure — the CDK bootstrap stack
and its buckets, thecid_curGlue database, the Security Hub aggregator — is
never touched.
Docs
- The one-click column of the feature comparison table was wrong in three
places. Deep investigation, publishing a Skill to AWS DevOps Agent, and
multi-account inspection are all supported on the one-click path, and have been
since v1.0.11 — the table still showed them assetup.sh-only. All three now
read ✅, with a footnote covering what they actually depend on: one Agent Space,
created only whenEnableDeepInvestigation=Yesand the deploy Region is one
where AWS DevOps Agent is available. In other Regions the stack still deploys,
the related toggles are greyed out with the reason shown, and the
DeepInvestigationStatusoutput tells you which case you are in. - The "Web Search (Exa)" row is gone. It described a capability that requires
a third-party API key you supply yourself, which made it read as a product
feature rather than an optional integration. - One-click deploy time is stated as about 5 minutes rather than a
false-precision figure from a single measurement. - Both
docs/DEPLOYMENT.mdand its English version now point atteardown.sh
from the stack-deletion section, instead of implying stack-by-stack
cdk destroyis the way to remove an installation.
Fixes
- A golden test asserted against a hardcoded real AWS account id; it now uses a
placeholder. Test fixtures are not a place for account numbers.
Upgrading
One-click (CloudFormation): nothing to do — this release contains no
application changes. If you want your stack tagged to the current release anyway,
download notiops-webchat.template.json from the assets below and update the
stack with it (Replace existing template, then Use existing value for
every parameter).
setup.sh:
git pull # or re-clone at tag v1.0.12
./setup.sh # re-run; existing resources are updated in placeYour data is not touched: the conversation and configuration tables are Retain,
and re-seeding is idempotent.
Do not mix assets across releases — the template and the three .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)
3ab8ff61cf326df49851d1af2ee24b7c28074ab65db41e022737050258b1d5df bff.zip
c082239e0bed5f5742cb66c599d83eb8bddb9fec78441e7803866e9e737b5e39 chat-dist.zip
0789cd3fe0253c8440f0e96a8552ed990bdab18e880ce823bf2f27df186e7b40 agent-code.zip
Download
notiops-webchat.template.jsononly. The three.zipassets are
pulled into a bucket in your account by the stack itself; you never need to
download them by hand. The template is ~139 KB, 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.