koppler 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.built +1 -1
- package/dist/core/terraform.js +67 -15
- package/dist/core/terraform.js.map +1 -1
- package/dist/engine/aws-check.js +133 -0
- package/dist/engine/aws-check.js.map +1 -0
- package/dist/engine/deployed.js +14 -2
- package/dist/engine/deployed.js.map +1 -1
- package/dist/koppler.mjs +10 -2
- package/dist/koppler.mjs.map +1 -1
- package/dist/page/assets/{index-cGqfl7Ue.js → index-Bi0_sPx0.js} +2 -2
- package/dist/page/index.html +1 -1
- package/package.json +1 -1
- package/skills/koppler-run/VERSION +1 -1
- package/skills/koppler-run/references/research.md +1 -1
- package/skills/koppler-run/references/stack.md +3 -1
package/dist/page/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
6
|
<title>Koppler</title>
|
|
7
7
|
<script src="./theme.js"></script>
|
|
8
|
-
<script type="module" crossorigin src="./assets/index-
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-Bi0_sPx0.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="./assets/index-e6-Jk1nK.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.9
|
|
@@ -42,7 +42,7 @@ Queues, topics and event buses go under `queues`, with `publishes` / `reads` on
|
|
|
42
42
|
## Trace what feeds a queue
|
|
43
43
|
|
|
44
44
|
A queue an app reads is often the end of a chain: a Kafka topic piped onto an event bus, whose rule forwards to another account's bus, which a rule hands to a Lambda.
|
|
45
|
-
`koppler discover --deployed` drafts what it can read from the Terraform
|
|
45
|
+
`koppler discover --deployed` drafts what it can read from the Terraform, and `koppler discover --deployed --aws` checks it against what AWS runs (read-only, the apps' own profiles): `FOUND` lines are links the stack misses. Trace the rest by hand, in every clone, and record each link with `koppler stack set queues.<id>.feeds.<other> '{"via":"pipe"}'`:
|
|
46
46
|
- **Kafka topics read:** `aws_pipes_pipe` and `awscc_pipes_pipe` with `self_managed_kafka_parameters` or `managed_streaming_kafka_parameters`; `topic_name`, often `each.key` over a list variable whose values are in the `.tfvars` (a commented-out item is not read). Also Lambda event source mappings on an MSK or Kafka source.
|
|
47
47
|
- **Kafka topics written:** app settings such as `KafkaSettings/Topic`, `Kafka__Topic` and `BootstrapServers` in the Terraform locals and `appsettings*.json`; the app `publishes` that topic.
|
|
48
48
|
- **Event buses:** `aws_cloudwatch_event_bus`; its rules (`aws_cloudwatch_event_rule` with `event_bus_name`) and their targets (`aws_cloudwatch_event_target`): a queue, a Lambda, an API destination, or another account's bus by its ARN (`event-bus/<name>`, often in a map per environment in the locals).
|
|
@@ -166,7 +166,9 @@ Tests, docs, lock files and migration tools are not searched.
|
|
|
166
166
|
- the names of its settings, and which of them hold or point to a secret;
|
|
167
167
|
- Secrets Manager secret names and Parameter Store paths;
|
|
168
168
|
- calls: a setting whose address belongs to another app;
|
|
169
|
-
- queues, topics and event buses, and what feeds what (`queueSuggestions`): SQS queues and SNS topics, EventBridge buses (`aws_cloudwatch_event_bus`), Kafka topics a pipe reads (`topic_name` of an `aws_pipes_pipe` or `awscc_pipes_pipe`, one per topic of a list), pipes (source to target), rules with their targets (a bus to a queue, a Lambda, or another account's bus by its ARN), and SNS subscriptions (`aws_sns_topic_subscription`). A queue read through a pipe or rule to a Lambda or an API destination is drafted as `reads` with `via`, such as `"rule to Lambda"`. Feeds of queues the stack already has are under `queueSuggestions.feeds`.
|
|
169
|
+
- queues, topics and event buses, and what feeds what (`queueSuggestions`): SQS queues and SNS topics, EventBridge buses (`aws_cloudwatch_event_bus`), Kafka topics a pipe reads (`topic_name` of an `aws_pipes_pipe` or `awscc_pipes_pipe`, one per topic of a list), pipes (source to target), rules with their targets (a bus to a queue, a Lambda, or another account's bus by its ARN), and SNS subscriptions (`aws_sns_topic_subscription`). A queue read through a pipe or rule to a Lambda or an API destination is drafted as `reads` with `via`, such as `"rule to Lambda"`. Feeds of queues the stack already has are under `queueSuggestions.feeds`. Topic names in a map (`for_each = var.kafka.topics`, `each.value`), in a `.tfvars.json`, or in the variables of the folder above a module are read too.
|
|
170
|
+
|
|
171
|
+
`koppler discover --deployed --aws [--env <env>]` then checks what AWS runs between the queues, with each app's AWS profile for that environment (its `-view` twin when the AWS config has one): it only lists and describes EventBridge Pipes and Lambda event source mappings, never a value or a message. Each line is `OK`, `FOUND` (in AWS, not in the stack) or `MISSING` (in the stack, not in AWS); a profile that is not signed in is named with its `aws sso login` command.
|
|
170
172
|
|
|
171
173
|
It reads out names and plain addresses only (a host, or an http(s) URL with no credentials or query); every other value stays in the repo.
|
|
172
174
|
Environments come from variable files named after them (`deployment-dev.tfvars`) or, without those, from trying each stack environment and alias as the Terraform workspace.
|