@pipeline-builder/pipeline-manager 4.5.2 → 4.5.4
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/README.md +62 -37
- package/dist/agent/post-steps.d.ts +5 -4
- package/dist/agent/post-steps.d.ts.map +1 -1
- package/dist/agent/post-steps.js +19 -7
- package/dist/agent/targets.d.ts +12 -2
- package/dist/agent/targets.d.ts.map +1 -1
- package/dist/agent/targets.js +20 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +16 -7
- package/dist/commands/audit-stacks.d.ts +42 -1
- package/dist/commands/audit-stacks.d.ts.map +1 -1
- package/dist/commands/audit-stacks.js +104 -23
- package/dist/commands/audit-tokens.d.ts.map +1 -1
- package/dist/commands/audit-tokens.js +3 -4
- package/dist/commands/create-pat.d.ts.map +1 -1
- package/dist/commands/create-pat.js +9 -6
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +15 -2
- package/dist/commands/login.d.ts +3 -2
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +19 -10
- package/dist/commands/logout.d.ts +24 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +105 -0
- package/dist/commands/new-plugin.js +5 -5
- package/dist/commands/org-export.js +2 -2
- package/dist/commands/pipeline-remove.d.ts +26 -0
- package/dist/commands/pipeline-remove.d.ts.map +1 -0
- package/dist/commands/pipeline-remove.js +84 -0
- package/dist/commands/provision-steps.d.ts.map +1 -1
- package/dist/commands/provision-steps.js +1 -2
- package/dist/commands/provision.d.ts.map +1 -1
- package/dist/commands/provision.js +6 -5
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +3 -4
- package/dist/commands/status.d.ts +5 -2
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +65 -25
- package/dist/commands/toolchain.d.ts +21 -0
- package/dist/commands/toolchain.d.ts.map +1 -0
- package/dist/commands/toolchain.js +70 -0
- package/dist/commands/validate-templates.d.ts.map +1 -1
- package/dist/commands/validate-templates.js +4 -5
- package/dist/config/cli.constants.d.ts +8 -0
- package/dist/config/cli.constants.d.ts.map +1 -1
- package/dist/config/cli.constants.js +21 -2
- package/dist/types/plugin.d.ts +0 -6
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/plugin.js +1 -1
- package/dist/utils/command-utils.d.ts +13 -0
- package/dist/utils/command-utils.d.ts.map +1 -1
- package/dist/utils/command-utils.js +31 -17
- package/dist/utils/config-loader.d.ts +2 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +14 -4
- package/dist/utils/credential-store.d.ts +9 -1
- package/dist/utils/credential-store.d.ts.map +1 -1
- package/dist/utils/credential-store.js +21 -2
- package/dist/utils/error-handler.d.ts +10 -1
- package/dist/utils/error-handler.d.ts.map +1 -1
- package/dist/utils/error-handler.js +20 -8
- package/dist/utils/pipeline-config.d.ts +5 -2
- package/dist/utils/pipeline-config.d.ts.map +1 -1
- package/dist/utils/pipeline-config.js +12 -3
- package/dist/utils/plugin-resolver.d.ts +21 -6
- package/dist/utils/plugin-resolver.d.ts.map +1 -1
- package/dist/utils/plugin-resolver.js +42 -9
- package/dist/utils/response-utils.d.ts +11 -0
- package/dist/utils/response-utils.d.ts.map +1 -1
- package/dist/utils/response-utils.js +23 -1
- package/dist/utils/toolchain.d.ts +78 -0
- package/dist/utils/toolchain.d.ts.map +1 -0
- package/dist/utils/toolchain.js +195 -0
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -16,17 +16,19 @@ Requires Node.js 26.13.1+.
|
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
# Sign in — prints a short code, opens your browser to approve it, and stores
|
|
19
|
-
# the session in ~/.pipeline-manager/credentials.json (no password on the CLI)
|
|
19
|
+
# the session in ~/.pipeline-manager/credentials.json (no password on the CLI).
|
|
20
|
+
# The platform you sign in to becomes the one every later command talks to.
|
|
20
21
|
pipeline-manager auth login --url https://platform.example.com
|
|
21
22
|
|
|
22
|
-
#
|
|
23
|
-
pipeline-manager infra bootstrap
|
|
23
|
+
# One-time per AWS account/region: deploy the CDK toolkit stack pipelines deploy into
|
|
24
|
+
pipeline-manager infra bootstrap --account 123456789012 --region us-east-1
|
|
24
25
|
|
|
25
|
-
#
|
|
26
|
-
pipeline-manager pipeline
|
|
26
|
+
# Register a pipeline definition (props.json from `template instantiate`, or your own)
|
|
27
|
+
pipeline-manager pipeline create -f props.json
|
|
27
28
|
|
|
28
|
-
#
|
|
29
|
-
pipeline-manager pipeline
|
|
29
|
+
# Synthesize the CDK app into a CloudFormation template, then deploy it to AWS
|
|
30
|
+
pipeline-manager pipeline synth --id <pipelineId>
|
|
31
|
+
pipeline-manager pipeline deploy --id <pipelineId>
|
|
30
32
|
```
|
|
31
33
|
|
|
32
34
|
## Install the platform (`provision`)
|
|
@@ -62,62 +64,85 @@ pipeline-manager infra provision --target docker --repo --with-all --with-smoke-
|
|
|
62
64
|
- **AI-optional.** Set `ANTHROPIC_API_KEY` (or `AI_PROVIDER` + its key) to parse a natural-language `--prompt` and add free-form failure diagnosis; without a key it falls back to the deterministic issue matcher.
|
|
63
65
|
- **Bootstrap a fresh machine (`--repo`).** Without a checkout, `--repo` git-clones the platform repo first, then runs from it. The clone is **sparse + partial** (`--filter=blob:none` + cone `sparse-checkout`, git ≥ 2.27 — else a full-clone fallback): it materializes only the deploy folders the selected target + options need. The common base is just `deploy/bin`; each target adds its own folder (e.g. `deploy/local/docker`; minikube is self-contained), and each post-install load adds its folder. Re-syncs are **additive** — a single `--workdir` can accumulate multiple targets. Override with `--repo <url>`, `--ref <branch|tag>`, `--workdir <dir>`.
|
|
64
66
|
- **Run in Docker, zero host installs.** Don't want `git`/`yq`/AWS CLI on your machine? [`deploy/bin/provision-docker.sh`](../../deploy/bin/provision-docker.sh) runs `provision` inside a throwaway `node:26-slim` container, installing only the tools the chosen target needs: **ec2** → git + AWS CLI (mounts `~/.aws` read-only); **eks** → + openssl + envsubst + eksctl + kubectl (mounts `~/.aws` + `~/.kube`); **local** → git + yq + openssl, with **Docker + Docker Compose used *externally*** from the host via the mounted socket (Docker Desktop already provides them — they're never installed in the image). Host footprint = just Docker. Args pass straight through: `deploy/bin/provision-docker.sh --target eks --repo --domain … --yes`. (On macOS the container can't drive Docker Desktop's CLI, so run **local** on the host instead — the wrapper shines for the AWS targets.)
|
|
65
|
-
- **Post-install steps.** After deploy + health, `provision` registers the admin (non-interactive with `--admin-email`/`--admin-password`) and runs the opt-in loads — passed as flags, or **offered interactively after the clone** when none are given (each picked load is then fetched via an additive sparse re-sync): `--with-plugins` (adds `deploy/plugins`
|
|
67
|
+
- **Post-install steps.** After deploy + health, `provision` registers the admin (non-interactive with `--admin-email`/`--admin-password`) and runs the opt-in loads — passed as flags, or **offered interactively after the clone** when none are given (each picked load is then fetched via an additive sparse re-sync): `--with-plugins` (adds `deploy/plugins`), `--with-compliance` (`deploy/compliance`), `--with-samples` (`deploy/samples`), or `--with-all`. Plus `--with-smoke-test` (read-only API check), **`--with-events`** (AWS event ingestion — a two-step bundle: **`store-token`** writes a platform JWT to Secrets Manager at pipeline-builder's own pattern `pipeline-builder/{orgId}/platform`, then **`setup-events`** deploys the EventBridge → SQS → Lambda that reads it), and repeatable `--post-step "<cmd>"`. Default is register-only; `--init skip` skips even that. All steps are idempotent, so re-running with more options just layers them on.
|
|
66
68
|
|
|
67
69
|
The underlying `bin/setup.sh` / `bin/shutdown.sh` scripts (and `aws cloudformation delete-stack` for ec2) remain the source of truth and can always be run directly. Full guide: [AWS deployment → AI-assisted install](https://mwashburn160.github.io/pipeline-builder/docs/aws-deployment#ai-assisted-install-provision).
|
|
68
70
|
|
|
69
71
|
## Commands
|
|
70
72
|
|
|
71
|
-
|
|
73
|
+
Commands are grouped by task: `pipeline-manager <group> <verb>`. `pipeline-manager --help` lists the groups and `pipeline-manager <group> --help` a group's verbs.
|
|
74
|
+
|
|
75
|
+
### `auth` — credentials
|
|
72
76
|
|
|
73
77
|
| Command | Purpose |
|
|
74
78
|
| --- | --- |
|
|
75
|
-
| `
|
|
79
|
+
| `auth login` | Sign in through your browser (device authorization — no password on the command line) and store the session for that platform. The platform becomes the active one for later commands (`PLATFORM_BASE_URL` still overrides it). `--org <orgId>` switches organization; `--token` / `--quiet` print the token for `export PLATFORM_TOKEN=…` |
|
|
80
|
+
| `auth logout` | Revoke the stored session on the platform (`POST /auth/logout`) and delete it from this device. The local copy is removed even when the platform can't be reached — the command then says to revoke the device from Settings → Sessions and devices |
|
|
81
|
+
| `auth pat` | Create a named access key (`pb_pat_…`, long-lived, for CI as `PLATFORM_TOKEN`). The step-up is approved in the browser; the key is printed once |
|
|
76
82
|
|
|
77
|
-
###
|
|
83
|
+
### `pipeline` — define, deploy and reconcile pipelines
|
|
78
84
|
|
|
79
85
|
| Command | Purpose |
|
|
80
86
|
| --- | --- |
|
|
81
|
-
| `
|
|
82
|
-
| `
|
|
83
|
-
| `
|
|
84
|
-
| `
|
|
85
|
-
| `
|
|
87
|
+
| `pipeline create` | Register a pipeline definition from a props file (`--deploy` to also deploy it) |
|
|
88
|
+
| `pipeline list` / `pipeline get` | Inspect the pipelines your organization can see |
|
|
89
|
+
| `pipeline synth` | Run CDK synth to emit the CloudFormation template for a pipeline |
|
|
90
|
+
| `pipeline deploy` | Deploy the synthesized stack to AWS (also registers the deployment by its `pipelineId`). `--local-spec <pipeline.json>` deploys without the platform and needs `--toolchain-file` (from `toolchain export`) |
|
|
91
|
+
| `pipeline register` | Re-register a deployed pipeline and drain registrations queued by failed deploys (recovery path; non-zero exit if any still fails) |
|
|
92
|
+
| `pipeline deregister` | Remove one `pipeline_registry` row by its registry id (`--yes` required) — the fix for an `audit stacks` missing-stack finding |
|
|
93
|
+
| `pipeline delete` | Delete a pipeline definition (`--yes` required). A deployed stack is left in AWS |
|
|
94
|
+
|
|
95
|
+
### `plugin` — author and publish plugins
|
|
86
96
|
|
|
87
|
-
|
|
97
|
+
| Command | Purpose |
|
|
98
|
+
| --- | --- |
|
|
99
|
+
| `plugin new` | Scaffold a plugin from a `plugin-<eco>-base` image (Dockerfile, spec, README, LICENSE) |
|
|
100
|
+
| `plugin validate` | Validate a local plugin with the server's schemas and report its catalog metadata |
|
|
101
|
+
| `plugin test` | Run a plugin's install + build commands locally in its image against a sample workspace |
|
|
102
|
+
| `plugin publish` | Pre-flight, scan-preview and upload a plugin, then request its listing in the plugin ecosystem |
|
|
103
|
+
| `plugin upload` | Upload and deploy a plugin package |
|
|
104
|
+
| `plugin list` / `plugin get` | Browse the plugin catalog and fetch one plugin |
|
|
105
|
+
| `plugin deprecate` | Deprecate a version (it keeps resolving, with a warning); `--undo` clears it |
|
|
106
|
+
| `plugin yank` | Yank a version (stops resolving for ranges, `latest` and the default) |
|
|
107
|
+
| `plugin verify` | Report the current vulnerability state of a pipeline's pinned plugin images at run time (never fails on it) |
|
|
108
|
+
|
|
109
|
+
### `template` — golden-path templates
|
|
88
110
|
|
|
89
111
|
| Command | Purpose |
|
|
90
112
|
| --- | --- |
|
|
91
|
-
| `
|
|
92
|
-
| `
|
|
93
|
-
| `list-plugins` / `get-plugin` | Browse the plugin catalog and fetch a single plugin spec |
|
|
94
|
-
| `upload-plugin` | Publish a custom plugin spec + Dockerfile to the platform |
|
|
95
|
-
| `validate-templates` | Parse and validate `{{ ... }}` templates in a pipeline or plugin spec (local file, registered pipeline by ID, or registered plugin by `name:version`) |
|
|
96
|
-
| `org-export` | Export an organization's data as JSON for GDPR portability (sysadmins can export any org; org admins their own only) |
|
|
113
|
+
| `template instantiate` | Render a pipeline template into concrete pipeline props (creates nothing) |
|
|
114
|
+
| `template validate` | Parse and validate `{{ ... }}` templates in a local file, a registered pipeline (by id) or a registered plugin (`name:version`) |
|
|
97
115
|
|
|
98
|
-
###
|
|
116
|
+
### `infra` — AWS and platform infrastructure
|
|
99
117
|
|
|
100
118
|
| Command | Purpose |
|
|
101
119
|
| --- | --- |
|
|
102
|
-
| `
|
|
103
|
-
| `
|
|
104
|
-
| `
|
|
120
|
+
| `infra bootstrap` | Deploy the AWS CDK toolkit stack in the target account/region (`--account`, `--qualifier`, `--trust` for cross-account) — needed once before the first `pipeline deploy` there |
|
|
121
|
+
| `infra setup-events` | Deploy the EventBridge → SQS → Lambda stack that streams CodePipeline events into reporting |
|
|
122
|
+
| `infra redrive-events` | Move dead-lettered CodePipeline events back onto the ingestion queue (manual fallback for the Lambda's own redrive) |
|
|
123
|
+
| `infra store-token` | Provision an org service-account key and store it in AWS Secrets Manager for CDK synth steps and the events Lambda (`--schedule` adds daily auto-renewal) |
|
|
124
|
+
| `infra provision` | Install (or `--teardown`) the **platform** on local/Minikube/EC2/EKS. See [Install the platform](#install-the-platform-provision) |
|
|
105
125
|
|
|
106
|
-
###
|
|
126
|
+
### `audit` — operator audits (cron-friendly)
|
|
107
127
|
|
|
108
|
-
These
|
|
128
|
+
These report drift and exit non-zero when there are findings. Designed to run on a schedule.
|
|
109
129
|
|
|
110
130
|
| Command | Purpose | Exit codes |
|
|
111
131
|
| --- | --- | --- |
|
|
112
|
-
| `audit
|
|
113
|
-
| `audit
|
|
132
|
+
| `audit stacks` | Diff the CloudFormation stacks tagged `pipeline-builder` in ONE region (`--region`) against your org's `pipeline_registry` rows for that region (every page). Surfaces orphaned stacks (no registry row) and missing stacks (a row but no live stack), each with the command that reconciles it. `--org` audits another org when your credential may list it (a system admin). See [drift detection](https://mwashburn160.github.io/pipeline-builder/docs/aws-deployment.html#drift-detection-audit-stacks). | `0` clean / `1` findings or an incomplete scan / `2` AWS or platform error |
|
|
133
|
+
| `audit tokens` | Scan platform tokens stored in AWS Secrets Manager and flag any expiring within `--warn-days` (default 7) | `0` clean / `1` at-risk / `2` AWS error |
|
|
114
134
|
|
|
115
|
-
###
|
|
135
|
+
### Other groups
|
|
116
136
|
|
|
117
137
|
| Command | Purpose |
|
|
118
138
|
| --- | --- |
|
|
119
|
-
| `
|
|
120
|
-
| `
|
|
139
|
+
| `toolchain export` | Write the pipeline toolchain release your org resolves to (or `--release <V>`) as JSON: both images' repositories and signed digests, the release and its tool versions — the input to `pipeline deploy --local-spec --toolchain-file` |
|
|
140
|
+
| `org export` | Export an organization's data as JSON for GDPR portability (sysadmins any org; org admins their own) |
|
|
141
|
+
| `report list` / `create` / `run` / `publish` / `link` / `pdf` / `transfer` | Stakeholder reports: save a scheduled report, compose a period (or backfill past ones), publish it, mint a read-only link, download the PDF, hand it to a new owner |
|
|
142
|
+
| `security-report upload` | Upload a SARIF / trivy / grype report produced inside a pipeline |
|
|
143
|
+
| `status` | Show the CLI's setup: the platform it talks to, the credential it would use and its expiry, whether the platform accepts it (and as whom), CDK availability and `/health` reachability |
|
|
144
|
+
| `version` | Print CLI version info (`--check-config` validates the configuration) |
|
|
145
|
+
| `completions` | Print a shell completion script for `bash`, `zsh` or `fish`, e.g. `eval "$(pipeline-manager completions bash)"` (derived from the live command tree, so it never drifts) |
|
|
121
146
|
|
|
122
147
|
Run `pipeline-manager <command> --help` for the full flag reference on any command.
|
|
123
148
|
|
|
@@ -125,8 +150,8 @@ Run `pipeline-manager <command> --help` for the full flag reference on any comma
|
|
|
125
150
|
|
|
126
151
|
| Variable | Required | Purpose |
|
|
127
152
|
| --- | --- | --- |
|
|
128
|
-
| `PLATFORM_TOKEN` |
|
|
129
|
-
| `PLATFORM_BASE_URL` |
|
|
153
|
+
| `PLATFORM_TOKEN` | No | Access key or token; overrides the stored `auth login` session (what CI uses) |
|
|
154
|
+
| `PLATFORM_BASE_URL` | No | Base URL of your platform; overrides the platform `auth login` signed in to and `config.yml` |
|
|
130
155
|
| `AWS_REGION` | Yes (for deploy) | Target AWS region for `synth` / `deploy` / `provision` teardown |
|
|
131
156
|
| `ANTHROPIC_API_KEY` (or other provider key) | No | Enables `provision`'s natural-language `--prompt` parsing + failure diagnosis (else it falls back to the deterministic issue matcher) |
|
|
132
157
|
| `AI_PROVIDER` / `AI_MODEL` | No | Provider + model for `provision` (`anthropic` \| `openai` \| `google` \| `xai` \| `bedrock`) |
|
|
@@ -137,7 +162,7 @@ Full reference: [Environment Variables](https://mwashburn160.github.io/pipeline-
|
|
|
137
162
|
|
|
138
163
|
- [Getting started](https://mwashburn160.github.io/pipeline-builder/)
|
|
139
164
|
- [CDK usage](https://mwashburn160.github.io/pipeline-builder/docs/cdk-usage)
|
|
140
|
-
- [Plugin catalog (
|
|
165
|
+
- [Plugin catalog (118 plugins)](https://mwashburn160.github.io/pipeline-builder/docs/plugins/)
|
|
141
166
|
- [API reference](https://mwashburn160.github.io/pipeline-builder/docs/api-reference)
|
|
142
167
|
- [AWS deployment](https://mwashburn160.github.io/pipeline-builder/docs/aws-deployment)
|
|
143
168
|
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Post-install steps.
|
|
3
3
|
*
|
|
4
4
|
* After the platform is deployed + health-checked, provision runs an ordered set
|
|
5
|
-
* of post-install steps: **
|
|
5
|
+
* of post-install steps: an optional **build-bootstrap** (`--build-bootstrap`:
|
|
6
|
+
* `build-plugin-images.sh --only pipeline-bootstrap`), **register** (the admin, via `init-platform.sh`, driven
|
|
6
7
|
* non-interactively by env — which also performs any opt-in plugin/compliance/
|
|
7
8
|
* sample loads), then an optional **smoke-test**, **events** (AWS), and any
|
|
8
9
|
* operator **--post-step** commands. Pure, deterministic assembly here — provision
|
|
@@ -36,7 +37,7 @@ export interface PostStepOptions {
|
|
|
36
37
|
readonly region?: string;
|
|
37
38
|
/** Load-step ids enabled via `--with-*` (drive init-platform's LOAD_* envs + sparse paths). */
|
|
38
39
|
readonly enabledLoadIds: readonly string[];
|
|
39
|
-
/** `--build-bootstrap`: build
|
|
40
|
+
/** `--build-bootstrap`: build + publish pipeline-bootstrap before register. */
|
|
40
41
|
readonly buildBootstrap: boolean;
|
|
41
42
|
/** False when `--no-init` — skips the register step entirely. */
|
|
42
43
|
readonly init: boolean;
|
|
@@ -52,8 +53,8 @@ export interface PostStepOptions {
|
|
|
52
53
|
readonly steps: readonly string[];
|
|
53
54
|
}
|
|
54
55
|
/**
|
|
55
|
-
* Resolve the ordered post-install step list:
|
|
56
|
-
* custom. `register` carries the
|
|
56
|
+
* Resolve the ordered post-install step list: build-bootstrap → register →
|
|
57
|
+
* smoke-test → events → custom. `register` carries the LOAD_* env so init-platform runs
|
|
57
58
|
* the enabled loads non-interactively. Requested-but-inapplicable steps land in
|
|
58
59
|
* `skipped` so the caller can warn rather than silently drop them.
|
|
59
60
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-steps.d.ts","sources":["../../src/agent/post-steps.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"post-steps.d.ts","sources":["../../src/agent/post-steps.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AAEH,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oFAAoF;IACpF,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,yCAAyC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,+FAA+F;IAC/F,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;qDAGiD;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,oFAAoF;IACpF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AASD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,iBAAiB,CA0IzE"}
|
package/dist/agent/post-steps.js
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* Post-install steps.
|
|
5
5
|
*
|
|
6
6
|
* After the platform is deployed + health-checked, provision runs an ordered set
|
|
7
|
-
* of post-install steps: **
|
|
7
|
+
* of post-install steps: an optional **build-bootstrap** (`--build-bootstrap`:
|
|
8
|
+
* `build-plugin-images.sh --only pipeline-bootstrap`), **register** (the admin, via `init-platform.sh`, driven
|
|
8
9
|
* non-interactively by env — which also performs any opt-in plugin/compliance/
|
|
9
10
|
* sample loads), then an optional **smoke-test**, **events** (AWS), and any
|
|
10
11
|
* operator **--post-step** commands. Pure, deterministic assembly here — provision
|
|
@@ -12,21 +13,32 @@
|
|
|
12
13
|
*/
|
|
13
14
|
import { LOAD_STEPS } from './targets.js';
|
|
14
15
|
/** Compute the non-interactive env that drives init-platform's prompts. */
|
|
15
|
-
function registerEnv(enabledLoadIds
|
|
16
|
-
const env = {
|
|
16
|
+
function registerEnv(enabledLoadIds) {
|
|
17
|
+
const env = {};
|
|
17
18
|
for (const step of LOAD_STEPS)
|
|
18
19
|
env[step.env] = enabledLoadIds.includes(step.id) ? 'y' : 'n';
|
|
19
20
|
return env;
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
|
-
* Resolve the ordered post-install step list:
|
|
23
|
-
* custom. `register` carries the
|
|
23
|
+
* Resolve the ordered post-install step list: build-bootstrap → register →
|
|
24
|
+
* smoke-test → events → custom. `register` carries the LOAD_* env so init-platform runs
|
|
24
25
|
* the enabled loads non-interactively. Requested-but-inapplicable steps land in
|
|
25
26
|
* `skipped` so the caller can warn rather than silently drop them.
|
|
26
27
|
*/
|
|
27
28
|
export function resolvePostSteps(opts) {
|
|
28
29
|
const steps = [];
|
|
29
30
|
const skipped = [];
|
|
31
|
+
// Runs from the clone (TOOLCHAIN_SPARSE_PATHS), with the target's push transport.
|
|
32
|
+
// init-platform.sh builds the whole release (both halves) itself; this is the
|
|
33
|
+
// explicit bootstrap-only build, e.g. with `--init skip`.
|
|
34
|
+
if (opts.buildBootstrap) {
|
|
35
|
+
steps.push({
|
|
36
|
+
id: 'build-bootstrap',
|
|
37
|
+
label: 'Build + publish the pipeline-bootstrap image',
|
|
38
|
+
command: './deploy/bin/build-plugin-images.sh --only pipeline-bootstrap',
|
|
39
|
+
env: { DEPLOY_TARGET: opts.target },
|
|
40
|
+
});
|
|
41
|
+
}
|
|
30
42
|
// `--init auto` (the default) on the AWS targets: the deploy runs init-platform itself —
|
|
31
43
|
// ec2 on the instance on first boot, eks in setup.sh's final phase — so DON'T add a register
|
|
32
44
|
// step here; it would duplicate the deploy-managed run. (minikube/local run init via provision.)
|
|
@@ -46,7 +58,7 @@ export function resolvePostSteps(opts) {
|
|
|
46
58
|
id: 'register',
|
|
47
59
|
label: `Register admin${loads}`,
|
|
48
60
|
command: registerCommand,
|
|
49
|
-
env: registerEnv(opts.enabledLoadIds
|
|
61
|
+
env: registerEnv(opts.enabledLoadIds),
|
|
50
62
|
});
|
|
51
63
|
}
|
|
52
64
|
if (opts.smokeTest) {
|
|
@@ -148,4 +160,4 @@ export function resolvePostSteps(opts) {
|
|
|
148
160
|
});
|
|
149
161
|
return { steps, skipped };
|
|
150
162
|
}
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdC1zdGVwcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FnZW50L3Bvc3Qtc3RlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7Ozs7Ozs7O0dBU0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFpQixNQUFNLGNBQWMsQ0FBQztBQWdEekQsMkVBQTJFO0FBQzNFLFNBQVMsV0FBVyxDQUFDLGNBQWlDLEVBQUUsY0FBdUI7SUFDN0UsTUFBTSxHQUFHLEdBQTJCLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNwRixLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVU7UUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUM1RixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFxQjtJQUNwRCxNQUFNLEtBQUssR0FBZSxFQUFFLENBQUM7SUFDN0IsTUFBTSxPQUFPLEdBQWtCLEVBQUUsQ0FBQztJQUVsQyx5RkFBeUY7SUFDekYsNkZBQTZGO0lBQzdGLGlHQUFpRztJQUNqRyxNQUFNLGVBQWUsR0FDbkIsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDMUYsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDbEMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FB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LENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDaEMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtZQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDM0csQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQzVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBQb3N0LWluc3RhbGwgc3RlcHMuXG4gKlxuICogQWZ0ZXIgdGhlIHBsYXRmb3JtIGlzIGRlcGxveWVkICsgaGVhbHRoLWNoZWNrZWQsIHByb3Zpc2lvbiBydW5zIGFuIG9yZGVyZWQgc2V0XG4gKiBvZiBwb3N0LWluc3RhbGwgc3RlcHM6ICoqcmVnaXN0ZXIqKiAodGhlIGFkbWluLCB2aWEgYGluaXQtcGxhdGZvcm0uc2hgLCBkcml2ZW5cbiAqIG5vbi1pbnRlcmFjdGl2ZWx5IGJ5IGVudiDigJQgd2hpY2ggYWxzbyBwZXJmb3JtcyBhbnkgb3B0LWluIHBsdWdpbi9jb21wbGlhbmNlL1xuICogc2FtcGxlIGxvYWRzKSwgdGhlbiBhbiBvcHRpb25hbCAqKnNtb2tlLXRlc3QqKiwgKipldmVudHMqKiAoQVdTKSwgYW5kIGFueVxuICogb3BlcmF0b3IgKiotLXBvc3Qtc3RlcCoqIGNvbW1hbmRzLiBQdXJlLCBkZXRlcm1pbmlzdGljIGFzc2VtYmx5IGhlcmUg4oCUIHByb3Zpc2lvblxuICogcnVucyBlYWNoIHZpYSB0aGUgc2FtZSBnYXRlZCBgcnVuU2NyaXB0KClgIGFzIHRoZSBkZXBsb3kuXG4gKi9cblxuaW1wb3J0IHsgTE9BRF9TVEVQUywgdHlwZSBUYXJnZXRJZCB9IGZyb20gJy4vdGFyZ2V0cy5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdFN0ZXAge1xuICAvKiogU3RhYmxlIGlkIChgcmVnaXN0ZXJgIC8gYHNtb2tlLXRlc3RgIC8gYGV2ZW50c2ApIG9yIGBjdXN0b20tTmAuICovXG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIC8qKiBIdW1hbiBsYWJlbCBzaG93biBpbiB0aGUgcGxhbi4gKi9cbiAgcmVhZG9ubHkgbGFiZWw6IHN0cmluZztcbiAgLyoqIFRoZSBleGFjdCBjb21tYW5kIHRvIHJ1bi4gKi9cbiAgcmVhZG9ubHkgY29tbWFuZDogc3RyaW5nO1xuICAvKiogTm9uLXNlY3JldCBlbnYgYXBwbGllZCB0byB0aGUgY2hpbGQgZm9yIHRoaXMgc3RlcCAoZS5nLiBMT0FEXyogZm9yIHJlZ2lzdGVyKS4gKi9cbiAgcmVhZG9ubHkgZW52PzogUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG59XG5cbi8qKiBBIHJlcXVlc3RlZCBzdGVwIHRoYXQgZG9lc24ndCBhcHBseSB0byB0aGUgY2hvc2VuIHRhcmdldC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2tpcHBlZFN0ZXAge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSByZWFzb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZFBvc3RTdGVwcyB7XG4gIHJlYWRvbmx5IHN0ZXBzOiBQb3N0U3RlcFtdO1xuICByZWFkb25seSBza2lwcGVkOiBTa2lwcGVkU3RlcFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RTdGVwT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHRhcmdldDogVGFyZ2V0SWQ7XG4gIC8qKiBCYXNlIFVSTCBvZiB0aGUgZGVwbG95ZWQgcGxhdGZvcm0gKGZyb20gZGVyaXZlSGVhbHRoVXJsKSwgb3IgbnVsbC4gKi9cbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmcgfCBudWxsO1xuICAvKiogQVdTIHJlZ2lvbiAoZWMyL2VrcyksIGlmIHByb3ZpZGVkLiAqL1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG4gIC8qKiBMb2FkLXN0ZXAgaWRzIGVuYWJsZWQgdmlhIGAtLXdpdGgtKmAgKGRyaXZlIGluaXQtcGxhdGZvcm0ncyBMT0FEXyogZW52cyArIHNwYXJzZSBwYXRocykuICovXG4gIHJlYWRvbmx5IGVuYWJsZWRMb2FkSWRzOiByZWFkb25seSBzdHJpbmdbXTtcbiAgLyoqIGAtLWJ1aWxkLWJvb3RzdHJhcGA6IGJ1aWxkIHRoZSBDb2RlQnVpbGQgYm9vdHN0cmFwIGltYWdlIGR1cmluZyByZWdpc3Rlci4gKi9cbiAgcmVhZG9ubHkgYnVpbGRCb290c3RyYXA6IGJvb2xlYW47XG4gIC8qKiBGYWxzZSB3aGVuIGAtLW5vLWluaXRgIOKAlCBza2lwcyB0aGUgcmVnaXN0ZXIgc3RlcCBlbnRpcmVseS4gKi9cbiAgcmVhZG9ubHkgaW5pdDogYm9vbGVhbjtcbiAgLyoqIFRydWUgZm9yIGAtLWluaXQgYXV0b2AgKHRoZSBkZWZhdWx0IG1vZGUpLiBPbiB0aGUgQVdTIHRhcmdldHMgdGhlIGRlcGxveSBzZWxmLXJ1bnNcbiAgICogIGluaXQtcGxhdGZvcm0gKGVjMiBvbiBmaXJzdCBib290LCBla3MgaW4gc2V0dXAuc2gncyBmaW5hbCBwaGFzZSksIHNvIHRoZSByZWdpc3RlciBzdGVwIGlzXG4gICAqICBOT1Qgc3VyZmFjZWQgaGVyZSDigJQgaXQgd291bGQgZHVwbGljYXRlIHRoYXQgZGVwbG95LW1hbmFnZWQgcnVuLiAobWluaWt1YmUvbG9jYWwgcnVuIGluaXRcbiAgICogIHZpYSBwcm92aXNpb24sIG5vdCBhIGRlcGxveS1tYW5hZ2VkIGluaXQuKSAqL1xuICByZWFkb25seSBhdXRvSW5pdD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNtb2tlVGVzdDogYm9vbGVhbjtcbiAgLyoqIGAtLXdpdGgtZXZlbnRzYDogdGhlIEFXUyBldmVudC1pbmdlc3Rpb24gYnVuZGxlIChzdG9yZS10b2tlbiDihpIgc2V0dXAtZXZlbnRzKS4gKi9cbiAgcmVhZG9ubHkgZXZlbnRzOiBib29sZWFuO1xuICAvKiogUmF3IG9wZXJhdG9yIGAtLXBvc3Qtc3RlcGAgY29tbWFuZHMsIGluIG9yZGVyLiAqL1xuICByZWFkb25seSBzdGVwczogcmVhZG9ubHkgc3RyaW5nW107XG59XG5cbi8qKiBDb21wdXRlIHRoZSBub24taW50ZXJhY3RpdmUgZW52IHRoYXQgZHJpdmVzIGluaXQtcGxhdGZvcm0ncyBwcm9tcHRzLiAqL1xuZnVuY3Rpb24gcmVnaXN0ZXJFbnYoZW5hYmxlZExvYWRJZHM6IHJlYWRvbmx5IHN0cmluZ1tdLCBidWlsZEJvb3RzdHJhcDogYm9vbGVhbik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICBjb25zdCBlbnY6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7IEJVSUxEX0JPT1RTVFJBUDogYnVpbGRCb290c3RyYXAgPyAneScgOiAnbicgfTtcbiAgZm9yIChjb25zdCBzdGVwIG9mIExPQURfU1RFUFMpIGVudltzdGVwLmVudl0gPSBlbmFibGVkTG9hZElkcy5pbmNsdWRlcyhzdGVwLmlkKSA/ICd5JyA6ICduJztcbiAgcmV0dXJuIGVudjtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSBvcmRlcmVkIHBvc3QtaW5zdGFsbCBzdGVwIGxpc3Q6IHJlZ2lzdGVyIOKGkiBzbW9rZS10ZXN0IOKGkiBldmVudHMg4oaSXG4gKiBjdXN0b20uIGByZWdpc3RlcmAgY2FycmllcyB0aGUgbG9hZCArIEJVSUxEX0JPT1RTVFJBUCBlbnYgc28gaW5pdC1wbGF0Zm9ybSBydW5zXG4gKiB0aGUgZW5hYmxlZCBsb2FkcyBub24taW50ZXJhY3RpdmVseS4gUmVxdWVzdGVkLWJ1dC1pbmFwcGxpY2FibGUgc3RlcHMgbGFuZCBpblxuICogYHNraXBwZWRgIHNvIHRoZSBjYWxsZXIgY2FuIHdhcm4gcmF0aGVyIHRoYW4gc2lsZW50bHkgZHJvcCB0aGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVBvc3RTdGVwcyhvcHRzOiBQb3N0U3RlcE9wdGlvbnMpOiBSZXNvbHZlZFBvc3RTdGVwcyB7XG4gIGNvbnN0IHN0ZXBzOiBQb3N0U3RlcFtdID0gW107XG4gIGNvbnN0IHNraXBwZWQ6IFNraXBwZWRTdGVwW10gPSBbXTtcblxuICAvLyBgLS1pbml0IGF1dG9gICh0aGUgZGVmYXVsdCkgb24gdGhlIEFXUyB0YXJnZXRzOiB0aGUgZGVwbG95IHJ1bnMgaW5pdC1wbGF0Zm9ybSBpdHNlbGYg4oCUXG4gIC8vIGVjMiBvbiB0aGUgaW5zdGFuY2Ugb24gZmlyc3QgYm9vdCwgZWtzIGluIHNldHVwLnNoJ3MgZmluYWwgcGhhc2Ug4oCUIHNvIERPTidUIGFkZCBhIHJlZ2lzdGVyXG4gIC8vIHN0ZXAgaGVyZTsgaXQgd291bGQgZHVwbGljYXRlIHRoZSBkZXBsb3ktbWFuYWdlZCBydW4uIChtaW5pa3ViZS9sb2NhbCBydW4gaW5pdCB2aWEgcHJvdmlzaW9uLilcbiAgY29uc3QgYXV0b0luaXRNYW5hZ2VkID1cbiAgICBvcHRzLmluaXQgJiYgb3B0cy5hdXRvSW5pdCA9PT0gdHJ1ZSAmJiAob3B0cy50YXJnZXQgPT09ICdlYzInIHx8IG9wdHMudGFyZ2V0ID09PSAnZWtzJyk7XG4gIGlmIChvcHRzLmluaXQgJiYgIWF1dG9Jbml0TWFuYWdlZCkge1xuICAgIGNvbnN0IGVuYWJsZWQgPSBMT0FEX1NURVBTLmZpbHRlcigocykgPT4gb3B0cy5lbmFibGVkTG9hZElkcy5pbmNsdWRlcyhzLmlkKSkubWFwKChzKSA9PiBzLmlkKTtcbiAgICBjb25zdCBsb2FkcyA9IGVuYWJsZWQubGVuZ3RoID4gMCA/IGAgKCsgJHtlbmFibGVkLmpvaW4oJywgJyl9KWAgOiAnJztcbiAgICAvLyBSZWdpc3RlciBpcyBzdXJmYWNlZCBhcyBhIG1hbnVhbCBuZXh0LXN0ZXAgb24gQVdTIChzZWUgcnVuUG9zdFN0ZXBzKS4gVGhlIGNvbW1hbmQgZGlmZmVyczpcbiAgICAvLyAgLSBlYzI6IHJ1bnMgT04gdGhlIGJveCBhcyB0aGUgbWluaWt1YmUgdXNlciwgd2hlcmUgdGhlIGluLVZQQyBVUkwgcmVzb2x2ZXMg4oaSIGJha2UgUExBVEZPUk1fQkFTRV9VUkwuXG4gICAgLy8gIC0gZWtzOiBpbml0LXBsYXRmb3JtIHBvcnQtZm9yd2FyZHMgdG8gc3ZjL25naW54LCBzbyBpdCBydW5zIGZyb20gYW55d2hlcmUgd2l0aCBrdWJlY3RsIGFjY2VzcyDigJRcbiAgICAvLyAgICBkbyBOT1QgYmFrZSBQTEFURk9STV9CQVNFX1VSTCAodGhhdCB3b3VsZCBmb3JjZSB0aGUgcHVibGljIFVSTCBhbmQgd2FpdCBvbiB0aGUgQUxCL0ROUykuXG4gICAgLy8gIC0gbG9jYWwvbWluaWt1YmU6IHBsYWluIGNvbW1hbmQgKHRoZSBVUkwgaXMgbG9jYWxob3N0KS5cbiAgICBjb25zdCByZWdpc3RlckNvbW1hbmQgPSBvcHRzLnRhcmdldCA9PT0gJ2VjMicgJiYgb3B0cy51cmxcbiAgICAgID8gYFBMQVRGT1JNX0JBU0VfVVJMPSR7b3B0cy51cmx9IC4vZGVwbG95L2Jpbi9pbml0LXBsYXRmb3JtLnNoIGVjMmBcbiAgICAgIDogYC4vZGVwbG95L2Jpbi9pbml0LXBsYXRmb3JtLnNoICR7b3B0cy50YXJnZXR9YDtcbiAgICBzdGVwcy5wdXNoKHtcbiAgICAgIGlkOiAncmVnaXN0ZXInLFxuICAgICAgbGFiZWw6IGBSZWdpc3RlciBhZG1pbiR7bG9hZHN9YCxcbiAgICAgIGNvbW1hbmQ6IHJlZ2lzdGVyQ29tbWFuZCxcbiAgICAgIGVudjogcmVnaXN0ZXJFbnYob3B0cy5lbmFibGVkTG9hZElkcywgb3B0cy5idWlsZEJvb3RzdHJhcCksXG4gICAgfSk7XG4gIH1cblxuICBpZiAob3B0cy5zbW9rZVRlc3QpIHtcbiAgICBpZiAob3B0cy51cmwpIHtcbiAgICAgIC8vIC1rOiBsb2NhbC9taW5pa3ViZSBmcm9udCBhIHNlbGYtc2lnbmVkIGNlcnQ7IGhhcm1sZXNzIGFnYWluc3QgcmVhbC1jZXJ0IEFXUyBVUkxzLlxuICAgICAgLy8gUHJvYmUgL2hlYWx0aCDigJQgdGhlIG9uZSByb3V0ZSBndWFyYW50ZWVkIHRvIGV4aXN0IGFuZCBzZXJ2ZSB1bmF1dGhlbnRpY2F0ZWRcbiAgICAgIC8vIHRocm91Z2ggbmdpbnggKGV2ZXJ5IC9hcGkvKiByb3V0ZSByZXF1aXJlcyBhdXRoIOKGkiA0MDE7IC9hcGkvdmVyc2lvbiBkb2Vzbid0XG4gICAgICAvLyBleGlzdCBhbmQgd291bGQgZmFsbCB0aHJvdWdoIHRvIHRoZSBTUEEsIG1ha2luZyBgY3VybCAtZmAgbWVhbmluZ2xlc3MpLlxuICAgICAgc3RlcHMucHVzaCh7XG4gICAgICAgIGlkOiAnc21va2UtdGVzdCcsXG4gICAgICAgIGxhYmVsOiAnU21va2UgdGVzdCDigJQgZ2F0ZXdheS9BUEkgcmVhY2hhYmlsaXR5JyxcbiAgICAgICAgY29tbWFuZDogYGN1cmwgLWZzU2sgJHtvcHRzLnVybH0vaGVhbHRoICYmIGVjaG8gJ3Ntb2tlLXRlc3Q6IEFQSSByZWFjaGFibGUnYCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBza2lwcGVkLnB1c2goeyBpZDogJ3Ntb2tlLXRlc3QnLCByZWFzb246ICdubyBwbGF0Zm9ybSBVUkwgdG8gcHJvYmUgZm9yIHRoaXMgdGFyZ2V0JyB9KTtcbiAgICB9XG4gIH1cblxuICBpZiAob3B0cy5ldmVudHMpIHtcbiAgICBpZiAob3B0cy50YXJnZXQgPT09ICdlYzInIHx8IG9wdHMudGFyZ2V0ID09PSAnZWtzJykge1xuICAgICAgLy8gRXZlbnQgaW5nZXN0aW9uIGlzIGEgVEhSRUUtc3RlcCBidW5kbGUsIGluIHRoaXMgb3JkZXI6XG4gICAgICAvLyAgIDEuIHN0b3JlLXRva2VuICAgICAgICAgIOKAlCB0aGUgb3JnJ3MgZnVsbC1wcml2aWxlZ2UgU0VSVklDRS1BQ0NPVU5UIGtleVxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzeW50aC9kZXBsb3kgY2FsbGJhY2tzIGFuZCBDb2RlQnVpbGQncyByZWdpc3RyeVxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWRlbnRpYWxzIHJlYWQgaXQ7IC0tc2NoZWR1bGUgYXV0by1yb3RhdGVzIGl0KS5cbiAgICAgIC8vICAgMi4gc3RvcmUtdG9rZW4gLS1zY29wZSByZXBvcnRpbmc6aW5nZXN0IC0tc2NoZWR1bGVcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAg4oCUIGEgRElTVElOQ1QgbGVhc3QtcHJpdmlsZWdlIEtFWSB3aG9zZSBleGNoYW5nZWRcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbiBjYXJyaWVzIGV4YWN0bHkgYHJlcG9ydGluZzppbmdlc3RgIGFuZCBub1xuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zIGF0IGFsbC4gVGhlIGluZ2VzdCBlbmRwb2ludCByZXF1aXJlc1xuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgc2NvcGUgYW5kIGBoYXNTY29wZWAgaXMgYSBzaW5nbGUtdmFsdWVcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcXVhbGl0eSBjaGVjaywgc28gdGhlIHBsYXRmb3JtIGtleSAobm8gc2NvcGUpXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuIE5FVkVSIGluZ2VzdCDigJQgdGhlIExhbWJkYSBtdXN0IHJlYWQgdGhpc1xuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZGljYXRlZCBzZWNyZXQuIFN0b3JlZCBhdCBgLi4uL3JlcG9ydGluZy1pbmdlc3RgLlxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tc2NoZWR1bGUgZGVwbG95cyBpdHMgT1dOIHJvdGF0aW9uIHN0YWNrIChuYW1lZFxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAtcmVwb3J0aW5nLWluZ2VzdGAsIGRpc3RpbmN0IGZyb20gdGhlIHBsYXRmb3JtXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25lKSwgd2hpY2ggcm90YXRlcyB0aGUga2V5IGluIHBsYWNlIHNvIGl0IG5ldmVyXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFwc2VzLiBTZWUgc2V0dXAtZXZlbnRzIC0tc2NvcGVkLWluZ2VzdC5cbiAgICAgIC8vICAgMmIuIHN0b3JlLXRva2VuIC0tc2NvcGUgcmVnaXN0cnk6cHVzaCAtLXNjaGVkdWxlXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgIOKAlCB0aGUgQ0kgcmVnaXN0cnkgY3JlZGVudGlhbCBDb2RlQnVpbGQgcHJlc2VudHNcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyBCYXNpYyBhdXRoLiBTeW50aCB3aXJlc1xuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAuLi4vcmVnaXN0cnktcHVzaGAgaW50byBldmVyeSBidWlsZCBpbWFnZSdzXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHNlY3JldHNNYW5hZ2VyQ3JlZGVudGlhbHNgLCBzbyBhIGRlcGxveW1lbnRcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRob3V0IGl0IGNhbm5vdCBwdWxsIGl0cyBidWlsZCBpbWFnZXMuXG4gICAgICAvLyAgIDMuIHNldHVwLWV2ZW50cyAtLXNjb3BlZC1pbmdlc3RcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAg4oCUIGRlcGxveXMgdGhlIEV2ZW50QnJpZGdlIOKGkiBTUVMg4oaSIExhbWJkYSBhbmQgcG9pbnRzXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIExhbWJkYSBhdCB0aGUgcmVwb3J0aW5nLWluZ2VzdCBzZWNyZXQgZnJvbSAjMi5cbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXSVRIT1VUIC0tc2NvcGVkLWluZ2VzdCB0aGUgTGFtYmRhIHJlYWRzIHRoZVxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXRmb3JtIHNlY3JldCBhbmQgZXZlcnkgaW5nZXN0IDQwM3NcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXCJUb2tlbiBtdXN0IGNhcnJ5IHRoZSAncmVwb3J0aW5nOmluZ2VzdCcgc2NvcGVcIikuXG4gICAgICAvLyBCb3RoIHN0b3JlLXRva2VuIHN0ZXBzIGFyZSBzdGVwLXVwIGdhdGVkIG9uIHRoZSBwbGF0Zm9ybSwgc28gdGhleSBuZWVkXG4gICAgICAvLyBQTEFURk9STV9QQVNTV09SRCBpbiB0aGUgZW52aXJvbm1lbnQgKHByb3Zpc2lvbiBhbHJlYWR5IHBhc3NlcyBpdCkuXG4gICAgICAvLyBwcm92aXNpb24gc3VyZmFjZXMgKGRvZXMgbm90IGF1dG8tcnVuKSB0aGUgYnVuZGxlIG9uIEFXUyDigJQgaXQgbmVlZHMgYVxuICAgICAgLy8gcmVnaXN0ZXJlZCwgaW4tVlBDIHBsYXRmb3JtLlxuICAgICAgY29uc3QgcmVnaW9uID0gb3B0cy5yZWdpb24gPyBgIC0tcmVnaW9uICR7b3B0cy5yZWdpb259YCA6ICcnO1xuICAgICAgLy8gTWlycm9yIHRoZSByZWdpc3RlciBicmFuY2gncyB0YXJnZXQgcnVsZTogYmFrZSBQTEFURk9STV9CQVNFX1VSTCBvbmx5IG9uXG4gICAgICAvLyBlYzIgKHRoZSBpbi1WUEMgVVJMIHJlc29sdmVzIG9uIHRoZSBib3gpLiBPbiBla3MgdGhlIHB1YmxpYyBBTEIvRE5TIGlzbid0XG4gICAgICAvLyB1cCB5ZXQsIHNvIGJha2luZyBpdCB3b3VsZCBwb2ludCBzdG9yZS10b2tlbi9zZXR1cC1ldmVudHMgYXQgYW5cbiAgICAgIC8vIHVucmVzb2x2YWJsZSBob3N0IOKAlCB0aGUgb3BlcmF0b3Igc2V0cyBQTEFURk9STV9CQVNFX1VSTCB3aGVuIHJ1bm5pbmcgdGhlXG4gICAgICAvLyBzdXJmYWNlZCBidW5kbGUsIG9uY2UgdGhlIEFMQiBpcyByZWFkeS5cbiAgICAgIGNvbnN0IGVudiA9IG9wdHMudGFyZ2V0ID09PSAnZWMyJyAmJiBvcHRzLnVybCA/IHsgUExBVEZPUk1fQkFTRV9VUkw6IG9wdHMudXJsIH0gOiB1bmRlZmluZWQ7XG4gICAgICBzdGVwcy5wdXNoKHtcbiAgICAgICAgaWQ6ICdzdG9yZS10b2tlbicsXG4gICAgICAgIGxhYmVsOiAnU3RvcmUgdGhlIHBsYXRmb3JtIHNlcnZpY2UtYWNjb3VudCBrZXkgaW4gQVdTIFNlY3JldHMgTWFuYWdlciAoKyBkYWlseSBhdXRvLXJvdGF0aW9uKScsXG4gICAgICAgIC8vIC0tc2NoZWR1bGU6IHN5bnRoL2RlcGxveSBjYWxsYmFja3MgcmVhZCB0aGlzIGtleSwgc28gaW5zdGFsbCB0aGVcbiAgICAgICAgLy8gcm90YXRpb24gc3RhY2sgc28gaXQgbmV2ZXIgbGFwc2VzIChzdG9yZS10b2tlbiBkb2VzIG5vdCBkZXBsb3kgaXQgYnkgZGVmYXVsdCkuXG4gICAgICAgIGNvbW1hbmQ6IGBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tc2NoZWR1bGUke3JlZ2lvbn1gLFxuICAgICAgICBlbnYsXG4gICAgICB9KTtcbiAgICAgIHN0ZXBzLnB1c2goe1xuICAgICAgICBpZDogJ3N0b3JlLXRva2VuLXJlZ2lzdHJ5JyxcbiAgICAgICAgbGFiZWw6ICdTdG9yZSB0aGUgcmVnaXN0cnktcHVzaCAoc2NvcGVkKSBzZXJ2aWNlLWFjY291bnQga2V5IGluIEFXUyBTZWNyZXRzIE1hbmFnZXIgKCsgYXV0by1yb3RhdGlvbiknLFxuICAgICAgICAvLyBDb2RlQnVpbGQncyBgc2VjcmV0c01hbmFnZXJDcmVkZW50aWFsc2AgcmVhZHMgVEhJUyBzZWNyZXQsIG5vdCB0aGVcbiAgICAgICAgLy8gcGxhdGZvcm0gb25lOiBpdHMgZXhjaGFuZ2VkIHRva2VuIGNhcnJpZXMgb25seSBgcmVnaXN0cnk6cHVzaGAsIHNvIGFcbiAgICAgICAgLy8gbGVha2VkIGJ1aWxkIGNyZWRlbnRpYWwgY2FuIG1vdmUgaW1hZ2VzIGluc2lkZSB0aGUgb3JnJ3MgbmFtZXNwYWNlIGFuZFxuICAgICAgICAvLyBub3RoaW5nIGVsc2UuIFN5bnRoIHBvaW50cyBhdCBgLi4uL3JlZ2lzdHJ5LXB1c2hgIHVuY29uZGl0aW9uYWxseSwgc29cbiAgICAgICAgLy8gdGhpcyBzdGVwIGlzIG5vdCBvcHRpb25hbCBvbiBBV1MuXG4gICAgICAgIGNvbW1hbmQ6IGBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tc2NvcGUgcmVnaXN0cnk6cHVzaCAtLXNjaGVkdWxlJHtyZWdpb259YCxcbiAgICAgICAgZW52LFxuICAgICAgfSk7XG4gICAgICBzdGVwcy5wdXNoKHtcbiAgICAgICAgaWQ6ICdzdG9yZS10b2tlbi1pbmdlc3QnLFxuICAgICAgICBsYWJlbDogJ1N0b3JlIHRoZSByZXBvcnRpbmctaW5nZXN0IChzY29wZWQpIHNlcnZpY2UtYWNjb3VudCBrZXkgaW4gQVdTIFNlY3JldHMgTWFuYWdlciAoKyBhdXRvLXJvdGF0aW9uKScsXG4gICAgICAgIGNvbW1hbmQ6IGBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHN0b3JlLXRva2VuIC0tc2NvcGUgcmVwb3J0aW5nOmluZ2VzdCAtLXNjaGVkdWxlJHtyZWdpb259YCxcbiAgICAgICAgZW52LFxuICAgICAgfSk7XG4gICAgICBzdGVwcy5wdXNoKHtcbiAgICAgICAgaWQ6ICdldmVudHMnLFxuICAgICAgICBsYWJlbDogJ0V2ZW50QnJpZGdlIGluZ2VzdGlvbiAoc2V0dXAtZXZlbnRzLCBzY29wZWQtaW5nZXN0KScsXG4gICAgICAgIGNvbW1hbmQ6IGBwaXBlbGluZS1tYW5hZ2VyIGluZnJhIHNldHVwLWV2ZW50cyAtLXNjb3BlZC1pbmdlc3Qke3JlZ2lvbn1gLFxuICAgICAgICBlbnYsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2tpcHBlZC5wdXNoKHsgaWQ6ICdldmVudHMnLCByZWFzb246IGBub3QgYXBwbGljYWJsZSB0byB0YXJnZXQgJyR7b3B0cy50YXJnZXR9JyAoZWMyL2VrcyBvbmx5KWAgfSk7XG4gICAgfVxuICB9XG5cbiAgb3B0cy5zdGVwcy5mb3JFYWNoKChjb21tYW5kLCBpKSA9PiB7XG4gICAgaWYgKGNvbW1hbmQudHJpbSgpICE9PSAnJykgc3RlcHMucHVzaCh7IGlkOiBgY3VzdG9tLSR7aSArIDF9YCwgbGFiZWw6IGBDdXN0b20gc3RlcCAke2kgKyAxfWAsIGNvbW1hbmQgfSk7XG4gIH0pO1xuXG4gIHJldHVybiB7IHN0ZXBzLCBza2lwcGVkIH07XG59XG4iXX0=
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdC1zdGVwcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FnZW50L3Bvc3Qtc3RlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0Qzs7Ozs7Ozs7OztHQVVHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxjQUFjLENBQUM7QUFnRHpELDJFQUEyRTtBQUMzRSxTQUFTLFdBQVcsQ0FBQyxjQUFpQztJQUNwRCxNQUFNLEdBQUcsR0FBMkIsRUFBRSxDQUFDO0lBQ3ZDLEtBQUssTUFBTSxJQUFJLElBQUksVUFBVTtRQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzVGLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQXFCO0lBQ3BELE1BQU0sS0FBSyxHQUFlLEVBQUUsQ0FBQztJQUM3QixNQUFNLE9BQU8sR0FBa0IsRUFBRSxDQUFDO0lBRWxDLGtGQUFrRjtJQUNsRiw4RUFBOEU7SUFDOUUsMERBQTBEO0lBQzFELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDVCxFQUFFLEVBQUUsaUJBQWlCO1lBQ3JCLEtBQUssRUFBRSw4Q0FBOEM7WUFDckQsT0FBTyxFQUFFLCtEQUErRDtZQUN4RSxHQUFHLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTtTQUNwQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQseUZBQXlGO0lBQ3pGLDZGQUE2RjtJQUM3RixpR0FBaUc7SUFDakcsTUFBTSxlQUFlLEdBQ25CLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEs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O1lBQ04sT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLDZCQUE2QixJQUFJLENBQUMsTUFBTSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDckcsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRyxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIFBvc3QtaW5zdGFsbCBzdGVwcy5cbiAqXG4gKiBBZnRlciB0aGUgcGxhdGZvcm0gaXMgZGVwbG95ZWQgKyBoZWFsdGgtY2hlY2tlZCwgcHJvdmlzaW9uIHJ1bnMgYW4gb3JkZXJlZCBzZXRcbiAqIG9mIHBvc3QtaW5zdGFsbCBzdGVwczogYW4gb3B0aW9uYWwgKipidWlsZC1ib290c3RyYXAqKiAoYC0tYnVpbGQtYm9vdHN0cmFwYDpcbiAqIGBidWlsZC1wbHVnaW4taW1hZ2VzLnNoIC0tb25seSBwaXBlbGluZS1ib290c3RyYXBgKSwgKipyZWdpc3RlcioqICh0aGUgYWRtaW4sIHZpYSBgaW5pdC1wbGF0Zm9ybS5zaGAsIGRyaXZlblxuICogbm9uLWludGVyYWN0aXZlbHkgYnkgZW52IOKAlCB3aGljaCBhbHNvIHBlcmZvcm1zIGFueSBvcHQtaW4gcGx1Z2luL2NvbXBsaWFuY2UvXG4gKiBzYW1wbGUgbG9hZHMpLCB0aGVuIGFuIG9wdGlvbmFsICoqc21va2UtdGVzdCoqLCAqKmV2ZW50cyoqIChBV1MpLCBhbmQgYW55XG4gKiBvcGVyYXRvciAqKi0tcG9zdC1zdGVwKiogY29tbWFuZHMuIFB1cmUsIGRldGVybWluaXN0aWMgYXNzZW1ibHkgaGVyZSDigJQgcHJvdmlzaW9uXG4gKiBydW5zIGVhY2ggdmlhIHRoZSBzYW1lIGdhdGVkIGBydW5TY3JpcHQoKWAgYXMgdGhlIGRlcGxveS5cbiAqL1xuXG5pbXBvcnQgeyBMT0FEX1NURVBTLCB0eXBlIFRhcmdldElkIH0gZnJvbSAnLi90YXJnZXRzLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBQb3N0U3RlcCB7XG4gIC8qKiBTdGFibGUgaWQgKGByZWdpc3RlcmAgLyBgc21va2UtdGVzdGAgLyBgZXZlbnRzYCkgb3IgYGN1c3RvbS1OYC4gKi9cbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgLyoqIEh1bWFuIGxhYmVsIHNob3duIGluIHRoZSBwbGFuLiAqL1xuICByZWFkb25seSBsYWJlbDogc3RyaW5nO1xuICAvKiogVGhlIGV4YWN0IGNvbW1hbmQgdG8gcnVuLiAqL1xuICByZWFkb25seSBjb21tYW5kOiBzdHJpbmc7XG4gIC8qKiBOb24tc2VjcmV0IGVudiBhcHBsaWVkIHRvIHRoZSBjaGlsZCBmb3IgdGhpcyBzdGVwIChlLmcuIExPQURfKiBmb3IgcmVnaXN0ZXIpLiAqL1xuICByZWFkb25seSBlbnY/OiBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+Pjtcbn1cblxuLyoqIEEgcmVxdWVzdGVkIHN0ZXAgdGhhdCBkb2Vzbid0IGFwcGx5IHRvIHRoZSBjaG9zZW4gdGFyZ2V0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa2lwcGVkU3RlcCB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlYXNvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVkUG9zdFN0ZXBzIHtcbiAgcmVhZG9ubHkgc3RlcHM6IFBvc3RTdGVwW107XG4gIHJlYWRvbmx5IHNraXBwZWQ6IFNraXBwZWRTdGVwW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdFN0ZXBPcHRpb25zIHtcbiAgcmVhZG9ubHkgdGFyZ2V0OiBUYXJnZXRJZDtcbiAgLyoqIEJhc2UgVVJMIG9mIHRoZSBkZXBsb3llZCBwbGF0Zm9ybSAoZnJvbSBkZXJpdmVIZWFsdGhVcmwpLCBvciBudWxsLiAqL1xuICByZWFkb25seSB1cmw6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBBV1MgcmVnaW9uIChlYzIvZWtzKSwgaWYgcHJvdmlkZWQuICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcbiAgLyoqIExvYWQtc3RlcCBpZHMgZW5hYmxlZCB2aWEgYC0td2l0aC0qYCAoZHJpdmUgaW5pdC1wbGF0Zm9ybSdzIExPQURfKiBlbnZzICsgc3BhcnNlIHBhdGhzKS4gKi9cbiAgcmVhZG9ubHkgZW5hYmxlZExvYWRJZHM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuICAvKiogYC0tYnVpbGQtYm9vdHN0cmFwYDogYnVpbGQgKyBwdWJsaXNoIHBpcGVsaW5lLWJvb3RzdHJhcCBiZWZvcmUgcmVnaXN0ZXIuICovXG4gIHJlYWRvbmx5IGJ1aWxkQm9vdHN0cmFwOiBib29sZWFuO1xuICAvKiogRmFsc2Ugd2hlbiBgLS1uby1pbml0YCDigJQgc2tpcHMgdGhlIHJlZ2lzdGVyIHN0ZXAgZW50aXJlbHkuICovXG4gIHJlYWRvbmx5IGluaXQ6IGJvb2xlYW47XG4gIC8qKiBUcnVlIGZvciBgLS1pbml0IGF1dG9gICh0aGUgZGVmYXVsdCBtb2RlKS4gT24gdGhlIEFXUyB0YXJnZXRzIHRoZSBkZXBsb3kgc2VsZi1ydW5zXG4gICAqICBpbml0LXBsYXRmb3JtIChlYzIgb24gZmlyc3QgYm9vdCwgZWtzIGluIHNldHVwLnNoJ3MgZmluYWwgcGhhc2UpLCBzbyB0aGUgcmVnaXN0ZXIgc3RlcCBpc1xuICAgKiAgTk9UIHN1cmZhY2VkIGhlcmUg4oCUIGl0IHdvdWxkIGR1cGxpY2F0ZSB0aGF0IGRlcGxveS1tYW5hZ2VkIHJ1bi4gKG1pbmlrdWJlL2xvY2FsIHJ1biBpbml0XG4gICAqICB2aWEgcHJvdmlzaW9uLCBub3QgYSBkZXBsb3ktbWFuYWdlZCBpbml0LikgKi9cbiAgcmVhZG9ubHkgYXV0b0luaXQ/OiBib29sZWFuO1xuICByZWFkb25seSBzbW9rZVRlc3Q6IGJvb2xlYW47XG4gIC8qKiBgLS13aXRoLWV2ZW50c2A6IHRoZSBBV1MgZXZlbnQtaW5nZXN0aW9uIGJ1bmRsZSAoc3RvcmUtdG9rZW4g4oaSIHNldHVwLWV2ZW50cykuICovXG4gIHJlYWRvbmx5IGV2ZW50czogYm9vbGVhbjtcbiAgLyoqIFJhdyBvcGVyYXRvciBgLS1wb3N0LXN0ZXBgIGNvbW1hbmRzLCBpbiBvcmRlci4gKi9cbiAgcmVhZG9ubHkgc3RlcHM6IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKiogQ29tcHV0ZSB0aGUgbm9uLWludGVyYWN0aXZlIGVudiB0aGF0IGRyaXZlcyBpbml0LXBsYXRmb3JtJ3MgcHJvbXB0cy4gKi9cbmZ1bmN0aW9uIHJlZ2lzdGVyRW52KGVuYWJsZWRMb2FkSWRzOiByZWFkb25seSBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICBjb25zdCBlbnY6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgZm9yIChjb25zdCBzdGVwIG9mIExPQURfU1RFUFMpIGVudltzdGVwLmVudl0gPSBlbmFibGVkTG9hZElkcy5pbmNsdWRlcyhzdGVwLmlkKSA/ICd5JyA6ICduJztcbiAgcmV0dXJuIGVudjtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSBvcmRlcmVkIHBvc3QtaW5zdGFsbCBzdGVwIGxpc3Q6IGJ1aWxkLWJvb3RzdHJhcCDihpIgcmVnaXN0ZXIg4oaSXG4gKiBzbW9rZS10ZXN0IOKGkiBldmVudHMg4oaSIGN1c3RvbS4gYHJlZ2lzdGVyYCBjYXJyaWVzIHRoZSBMT0FEXyogZW52IHNvIGluaXQtcGxhdGZvcm0gcnVuc1xuICogdGhlIGVuYWJsZWQgbG9hZHMgbm9uLWludGVyYWN0aXZlbHkuIFJlcXVlc3RlZC1idXQtaW5hcHBsaWNhYmxlIHN0ZXBzIGxhbmQgaW5cbiAqIGBza2lwcGVkYCBzbyB0aGUgY2FsbGVyIGNhbiB3YXJuIHJhdGhlciB0aGFuIHNpbGVudGx5IGRyb3AgdGhlbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQb3N0U3RlcHMob3B0czogUG9zdFN0ZXBPcHRpb25zKTogUmVzb2x2ZWRQb3N0U3RlcHMge1xuICBjb25zdCBzdGVwczogUG9zdFN0ZXBbXSA9IFtdO1xuICBjb25zdCBza2lwcGVkOiBTa2lwcGVkU3RlcFtdID0gW107XG5cbiAgLy8gUnVucyBmcm9tIHRoZSBjbG9uZSAoVE9PTENIQUlOX1NQQVJTRV9QQVRIUyksIHdpdGggdGhlIHRhcmdldCdzIHB1c2ggdHJhbnNwb3J0LlxuICAvLyBpbml0LXBsYXRmb3JtLnNoIGJ1aWxkcyB0aGUgd2hvbGUgcmVsZWFzZSAoYm90aCBoYWx2ZXMpIGl0c2VsZjsgdGhpcyBpcyB0aGVcbiAgLy8gZXhwbGljaXQgYm9vdHN0cmFwLW9ubHkgYnVpbGQsIGUuZy4gd2l0aCBgLS1pbml0IHNraXBgLlxuICBpZiAob3B0cy5idWlsZEJvb3RzdHJhcCkge1xuICAgIHN0ZXBzLnB1c2goe1xuICAgICAgaWQ6ICdidWlsZC1ib290c3RyYXAnLFxuICAgICAgbGFiZWw6ICdCdWlsZCArIHB1Ymxpc2ggdGhlIHBpcGVsaW5lLWJvb3RzdHJhcCBpbWFnZScsXG4gICAgICBjb21tYW5kOiAnLi9kZXBsb3kvYmluL2J1aWxkLXBsdWdpbi1pbWFnZXMuc2ggLS1vbmx5IHBpcGVsaW5lLWJvb3RzdHJhcCcsXG4gICAgICBlbnY6IHsgREVQTE9ZX1RBUkdFVDogb3B0cy50YXJnZXQgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIGAtLWluaXQgYXV0b2AgKHRoZSBkZWZhdWx0KSBvbiB0aGUgQVdTIHRhcmdldHM6IHRoZSBkZXBsb3kgcnVucyBpbml0LXBsYXRmb3JtIGl0c2VsZiDigJRcbiAgLy8gZWMyIG9uIHRoZSBpbnN0YW5jZSBvbiBmaXJzdCBib290LCBla3MgaW4gc2V0dXAuc2gncyBmaW5hbCBwaGFzZSDigJQgc28gRE9OJ1QgYWRkIGEgcmVnaXN0ZXJcbiAgLy8gc3RlcCBoZXJlOyBpdCB3b3VsZCBkdXBsaWNhdGUgdGhlIGRlcGxveS1tYW5hZ2VkIHJ1bi4gKG1pbmlrdWJlL2xvY2FsIHJ1biBpbml0IHZpYSBwcm92aXNpb24uKVxuICBjb25zdCBhdXRvSW5pdE1hbmFnZWQgPVxuICAgIG9wdHMuaW5pdCAmJiBvcHRzLmF1dG9Jbml0ID09PSB0cnVlICYmIChvcHRzLnRhcmdldCA9PT0gJ2VjMicgfHwgb3B0cy50YXJnZXQgPT09ICdla3MnKTtcbiAgaWYgKG9wdHMuaW5pdCAmJiAhYXV0b0luaXRNYW5hZ2VkKSB7XG4gICAgY29uc3QgZW5hYmxlZCA9IExPQURfU1RFUFMuZmlsdGVyKChzKSA9PiBvcHRzLmVuYWJsZWRMb2FkSWRzLmluY2x1ZGVzKHMuaWQpKS5tYXAoKHMpID0+IHMuaWQpO1xuICAgIGNvbnN0IGxvYWRzID0gZW5hYmxlZC5sZW5ndGggPiAwID8gYCAoKyAke2VuYWJsZWQuam9pbignLCAnKX0pYCA6ICcnO1xuICAgIC8vIFJlZ2lzdGVyIGlzIHN1cmZhY2VkIGFzIGEgbWFudWFsIG5leHQtc3RlcCBvbiBBV1MgKHNlZSBydW5Qb3N0U3RlcHMpLiBUaGUgY29tbWFuZCBkaWZmZXJzOlxuICAgIC8vICAtIGVjMjogcnVucyBPTiB0aGUgYm94IGFzIHRoZSBtaW5pa3ViZSB1c2VyLCB3aGVyZSB0aGUgaW4tVlBDIFVSTCByZXNvbHZlcyDihpIgYmFrZSBQTEFURk9STV9CQVNFX1VSTC5cbiAgICAvLyAgLSBla3M6IGluaXQtcGxhdGZvcm0gcG9ydC1mb3J3YXJkcyB0byBzdmMvbmdpbngsIHNvIGl0IHJ1bnMgZnJvbSBhbnl3aGVyZSB3aXRoIGt1YmVjdGwgYWNjZXNzIOKAlFxuICAgIC8vICAgIGRvIE5PVCBiYWtlIFBMQVRGT1JNX0JBU0VfVVJMICh0aGF0IHdvdWxkIGZvcmNlIHRoZSBwdWJsaWMgVVJMIGFuZCB3YWl0IG9uIHRoZSBBTEIvRE5TKS5cbiAgICAvLyAgLSBsb2NhbC9taW5pa3ViZTogcGxhaW4gY29tbWFuZCAodGhlIFVSTCBpcyBsb2NhbGhvc3QpLlxuICAgIGNvbnN0IHJlZ2lzdGVyQ29tbWFuZCA9IG9wdHMudGFyZ2V0ID09PSAnZWMyJyAmJiBvcHRzLnVybFxuICAgICAgPyBgUExBVEZPUk1fQkFTRV9VUkw9JHtvcHRzLnVybH0gLi9kZXBsb3kvYmluL2luaXQtcGxhdGZvcm0uc2ggZWMyYFxuICAgICAgOiBgLi9kZXBsb3kvYmluL2luaXQtcGxhdGZvcm0uc2ggJHtvcHRzLnRhcmdldH1gO1xuICAgIHN0ZXBzLnB1c2goe1xuICAgICAgaWQ6ICdyZWdpc3RlcicsXG4gICAgICBsYWJlbDogYFJlZ2lzdGVyIGFkbWluJHtsb2Fkc31gLFxuICAgICAgY29tbWFuZDogcmVnaXN0ZXJDb21tYW5kLFxuICAgICAgZW52OiByZWdpc3RlckVudihvcHRzLmVuYWJsZWRMb2FkSWRzKSxcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChvcHRzLnNtb2tlVGVzdCkge1xuICAgIGlmIChvcHRzLnVybCkge1xuICAgICAgLy8gLWs6IGxvY2FsL21pbmlrdWJlIGZyb250IGEgc2VsZi1zaWduZWQgY2VydDsgaGFybWxlc3MgYWdhaW5zdCByZWFsLWNlcnQgQVdTIFVSTHMuXG4gICAgICAvLyBQcm9iZSAvaGVhbHRoIOKAlCB0aGUgb25lIHJvdXRlIGd1YXJhbnRlZWQgdG8gZXhpc3QgYW5kIHNlcnZlIHVuYXV0aGVudGljYXRlZFxuICAgICAgLy8gdGhyb3VnaCBuZ2lueCAoZXZlcnkgL2FwaS8qIHJvdXRlIHJlcXVpcmVzIGF1dGgg4oaSIDQwMTsgL2FwaS92ZXJzaW9uIGRvZXNuJ3RcbiAgICAgIC8vIGV4aXN0IGFuZCB3b3VsZCBmYWxsIHRocm91Z2ggdG8gdGhlIFNQQSwgbWFraW5nIGBjdXJsIC1mYCBtZWFuaW5nbGVzcykuXG4gICAgICBzdGVwcy5wdXNoKHtcbiAgICAgICAgaWQ6ICdzbW9rZS10ZXN0JyxcbiAgICAgICAgbGFiZWw6ICdTbW9rZSB0ZXN0IOKAlCBnYXRld2F5L0FQSSByZWFjaGFiaWxpdHknLFxuICAgICAgICBjb21tYW5kOiBgY3VybCAtZnNTayAke29wdHMudXJsfS9oZWFsdGggJiYgZWNobyAnc21va2UtdGVzdDogQVBJIHJlYWNoYWJsZSdgLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNraXBwZWQucHVzaCh7IGlkOiAnc21va2UtdGVzdCcsIHJlYXNvbjogJ25vIHBsYXRmb3JtIFVSTCB0byBwcm9iZSBmb3IgdGhpcyB0YXJnZXQnIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChvcHRzLmV2ZW50cykge1xuICAgIGlmIChvcHRzLnRhcmdldCA9PT0gJ2VjMicgfHwgb3B0cy50YXJnZXQgPT09ICdla3MnKSB7XG4gICAgICAvLyBFdmVudCBpbmdlc3Rpb24gaXMgYSBUSFJFRS1zdGVwIGJ1bmRsZSwgaW4gdGhpcyBvcmRlcjpcbiAgICAgIC8vICAgMS4gc3RvcmUtdG9rZW4gICAgICAgICAg4oCUIHRoZSBvcmcncyBmdWxsLXByaXZpbGVnZSBTRVJWSUNFLUFDQ09VTlQga2V5XG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN5bnRoL2RlcGxveSBjYWxsYmFja3MgYW5kIENvZGVCdWlsZCdzIHJlZ2lzdHJ5XG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlZGVudGlhbHMgcmVhZCBpdDsgLS1zY2hlZHVsZSBhdXRvLXJvdGF0ZXMgaXQpLlxuICAgICAgLy8gICAyLiBzdG9yZS10b2tlbiAtLXNjb3BlIHJlcG9ydGluZzppbmdlc3QgLS1zY2hlZHVsZVxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICDigJQgYSBESVNUSU5DVCBsZWFzdC1wcml2aWxlZ2UgS0VZIHdob3NlIGV4Y2hhbmdlZFxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuIGNhcnJpZXMgZXhhY3RseSBgcmVwb3J0aW5nOmluZ2VzdGAgYW5kIG5vXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbnMgYXQgYWxsLiBUaGUgaW5nZXN0IGVuZHBvaW50IHJlcXVpcmVzXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBzY29wZSBhbmQgYGhhc1Njb3BlYCBpcyBhIHNpbmdsZS12YWx1ZVxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVxdWFsaXR5IGNoZWNrLCBzbyB0aGUgcGxhdGZvcm0ga2V5IChubyBzY29wZSlcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW4gTkVWRVIgaW5nZXN0IOKAlCB0aGUgTGFtYmRhIG11c3QgcmVhZCB0aGlzXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkaWNhdGVkIHNlY3JldC4gU3RvcmVkIGF0IGAuLi4vcmVwb3J0aW5nLWluZ2VzdGAuXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1zY2hlZHVsZSBkZXBsb3lzIGl0cyBPV04gcm90YXRpb24gc3RhY2sgKG5hbWVkXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYC1yZXBvcnRpbmctaW5nZXN0YCwgZGlzdGluY3QgZnJvbSB0aGUgcGxhdGZvcm1cbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmUpLCB3aGljaCByb3RhdGVzIHRoZSBrZXkgaW4gcGxhY2Ugc28gaXQgbmV2ZXJcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXBzZXMuIFNlZSBzZXR1cC1ldmVudHMgLS1zY29wZWQtaW5nZXN0LlxuICAgICAgLy8gICAyYi4gc3RvcmUtdG9rZW4gLS1zY29wZSByZWdpc3RyeTpwdXNoIC0tc2NoZWR1bGVcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAg4oCUIHRoZSBDSSByZWdpc3RyeSBjcmVkZW50aWFsIENvZGVCdWlsZCBwcmVzZW50c1xuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIEJhc2ljIGF1dGguIFN5bnRoIHdpcmVzXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYC4uLi9yZWdpc3RyeS1wdXNoYCBpbnRvIGV2ZXJ5IGJ1aWxkIGltYWdlJ3NcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgc2VjcmV0c01hbmFnZXJDcmVkZW50aWFsc2AsIHNvIGEgZGVwbG95bWVudFxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgaXQgY2Fubm90IHB1bGwgaXRzIGJ1aWxkIGltYWdlcy5cbiAgICAgIC8vICAgMy4gc2V0dXAtZXZlbnRzIC0tc2NvcGVkLWluZ2VzdFxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICDigJQgZGVwbG95cyB0aGUgRXZlbnRCcmlkZ2Ug4oaSIFNRUyDihpIgTGFtYmRhIGFuZCBwb2ludHNcbiAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgTGFtYmRhIGF0IHRoZSByZXBvcnRpbmctaW5nZXN0IHNlY3JldCBmcm9tICMyLlxuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdJVEhPVVQgLS1zY29wZWQtaW5nZXN0IHRoZSBMYW1iZGEgcmVhZHMgdGhlXG4gICAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhdGZvcm0gc2VjcmV0IGFuZCBldmVyeSBpbmdlc3QgNDAzc1xuICAgICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChcIlRva2VuIG11c3QgY2FycnkgdGhlICdyZXBvcnRpbmc6aW5nZXN0JyBzY29wZVwiKS5cbiAgICAgIC8vIEJvdGggc3RvcmUtdG9rZW4gc3RlcHMgYXJlIHN0ZXAtdXAgZ2F0ZWQgb24gdGhlIHBsYXRmb3JtLCBzbyB0aGV5IG5lZWRcbiAgICAgIC8vIFBMQVRGT1JNX1BBU1NXT1JEIGluIHRoZSBlbnZpcm9ubWVudCAocHJvdmlzaW9uIGFscmVhZHkgcGFzc2VzIGl0KS5cbiAgICAgIC8vIHByb3Zpc2lvbiBzdXJmYWNlcyAoZG9lcyBub3QgYXV0by1ydW4pIHRoZSBidW5kbGUgb24gQVdTIOKAlCBpdCBuZWVkcyBhXG4gICAgICAvLyByZWdpc3RlcmVkLCBpbi1WUEMgcGxhdGZvcm0uXG4gICAgICBjb25zdCByZWdpb24gPSBvcHRzLnJlZ2lvbiA/IGAgLS1yZWdpb24gJHtvcHRzLnJlZ2lvbn1gIDogJyc7XG4gICAgICAvLyBNaXJyb3IgdGhlIHJlZ2lzdGVyIGJyYW5jaCdzIHRhcmdldCBydWxlOiBiYWtlIFBMQVRGT1JNX0JBU0VfVVJMIG9ubHkgb25cbiAgICAgIC8vIGVjMiAodGhlIGluLVZQQyBVUkwgcmVzb2x2ZXMgb24gdGhlIGJveCkuIE9uIGVrcyB0aGUgcHVibGljIEFMQi9ETlMgaXNuJ3RcbiAgICAgIC8vIHVwIHlldCwgc28gYmFraW5nIGl0IHdvdWxkIHBvaW50IHN0b3JlLXRva2VuL3NldHVwLWV2ZW50cyBhdCBhblxuICAgICAgLy8gdW5yZXNvbHZhYmxlIGhvc3Qg4oCUIHRoZSBvcGVyYXRvciBzZXRzIFBMQVRGT1JNX0JBU0VfVVJMIHdoZW4gcnVubmluZyB0aGVcbiAgICAgIC8vIHN1cmZhY2VkIGJ1bmRsZSwgb25jZSB0aGUgQUxCIGlzIHJlYWR5LlxuICAgICAgY29uc3QgZW52ID0gb3B0cy50YXJnZXQgPT09ICdlYzInICYmIG9wdHMudXJsID8geyBQTEFURk9STV9CQVNFX1VSTDogb3B0cy51cmwgfSA6IHVuZGVmaW5lZDtcbiAgICAgIHN0ZXBzLnB1c2goe1xuICAgICAgICBpZDogJ3N0b3JlLXRva2VuJyxcbiAgICAgICAgbGFiZWw6ICdTdG9yZSB0aGUgcGxhdGZvcm0gc2VydmljZS1hY2NvdW50IGtleSBpbiBBV1MgU2VjcmV0cyBNYW5hZ2VyICgrIGRhaWx5IGF1dG8tcm90YXRpb24pJyxcbiAgICAgICAgLy8gLS1zY2hlZHVsZTogc3ludGgvZGVwbG95IGNhbGxiYWNrcyByZWFkIHRoaXMga2V5LCBzbyBpbnN0YWxsIHRoZVxuICAgICAgICAvLyByb3RhdGlvbiBzdGFjayBzbyBpdCBuZXZlciBsYXBzZXMgKHN0b3JlLXRva2VuIGRvZXMgbm90IGRlcGxveSBpdCBieSBkZWZhdWx0KS5cbiAgICAgICAgY29tbWFuZDogYHBpcGVsaW5lLW1hbmFnZXIgaW5mcmEgc3RvcmUtdG9rZW4gLS1zY2hlZHVsZSR7cmVnaW9ufWAsXG4gICAgICAgIGVudixcbiAgICAgIH0pO1xuICAgICAgc3RlcHMucHVzaCh7XG4gICAgICAgIGlkOiAnc3RvcmUtdG9rZW4tcmVnaXN0cnknLFxuICAgICAgICBsYWJlbDogJ1N0b3JlIHRoZSByZWdpc3RyeS1wdXNoIChzY29wZWQpIHNlcnZpY2UtYWNjb3VudCBrZXkgaW4gQVdTIFNlY3JldHMgTWFuYWdlciAoKyBhdXRvLXJvdGF0aW9uKScsXG4gICAgICAgIC8vIENvZGVCdWlsZCdzIGBzZWNyZXRzTWFuYWdlckNyZWRlbnRpYWxzYCByZWFkcyBUSElTIHNlY3JldCwgbm90IHRoZVxuICAgICAgICAvLyBwbGF0Zm9ybSBvbmU6IGl0cyBleGNoYW5nZWQgdG9rZW4gY2FycmllcyBvbmx5IGByZWdpc3RyeTpwdXNoYCwgc28gYVxuICAgICAgICAvLyBsZWFrZWQgYnVpbGQgY3JlZGVudGlhbCBjYW4gbW92ZSBpbWFnZXMgaW5zaWRlIHRoZSBvcmcncyBuYW1lc3BhY2UgYW5kXG4gICAgICAgIC8vIG5vdGhpbmcgZWxzZS4gU3ludGggcG9pbnRzIGF0IGAuLi4vcmVnaXN0cnktcHVzaGAgdW5jb25kaXRpb25hbGx5LCBzb1xuICAgICAgICAvLyB0aGlzIHN0ZXAgaXMgbm90IG9wdGlvbmFsIG9uIEFXUy5cbiAgICAgICAgY29tbWFuZDogYHBpcGVsaW5lLW1hbmFnZXIgaW5mcmEgc3RvcmUtdG9rZW4gLS1zY29wZSByZWdpc3RyeTpwdXNoIC0tc2NoZWR1bGUke3JlZ2lvbn1gLFxuICAgICAgICBlbnYsXG4gICAgICB9KTtcbiAgICAgIHN0ZXBzLnB1c2goe1xuICAgICAgICBpZDogJ3N0b3JlLXRva2VuLWluZ2VzdCcsXG4gICAgICAgIGxhYmVsOiAnU3RvcmUgdGhlIHJlcG9ydGluZy1pbmdlc3QgKHNjb3BlZCkgc2VydmljZS1hY2NvdW50IGtleSBpbiBBV1MgU2VjcmV0cyBNYW5hZ2VyICgrIGF1dG8tcm90YXRpb24pJyxcbiAgICAgICAgY29tbWFuZDogYHBpcGVsaW5lLW1hbmFnZXIgaW5mcmEgc3RvcmUtdG9rZW4gLS1zY29wZSByZXBvcnRpbmc6aW5nZXN0IC0tc2NoZWR1bGUke3JlZ2lvbn1gLFxuICAgICAgICBlbnYsXG4gICAgICB9KTtcbiAgICAgIHN0ZXBzLnB1c2goe1xuICAgICAgICBpZDogJ2V2ZW50cycsXG4gICAgICAgIGxhYmVsOiAnRXZlbnRCcmlkZ2UgaW5nZXN0aW9uIChzZXR1cC1ldmVudHMsIHNjb3BlZC1pbmdlc3QpJyxcbiAgICAgICAgY29tbWFuZDogYHBpcGVsaW5lLW1hbmFnZXIgaW5mcmEgc2V0dXAtZXZlbnRzIC0tc2NvcGVkLWluZ2VzdCR7cmVnaW9ufWAsXG4gICAgICAgIGVudixcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBza2lwcGVkLnB1c2goeyBpZDogJ2V2ZW50cycsIHJlYXNvbjogYG5vdCBhcHBsaWNhYmxlIHRvIHRhcmdldCAnJHtvcHRzLnRhcmdldH0nIChlYzIvZWtzIG9ubHkpYCB9KTtcbiAgICB9XG4gIH1cblxuICBvcHRzLnN0ZXBzLmZvckVhY2goKGNvbW1hbmQsIGkpID0+IHtcbiAgICBpZiAoY29tbWFuZC50cmltKCkgIT09ICcnKSBzdGVwcy5wdXNoKHsgaWQ6IGBjdXN0b20tJHtpICsgMX1gLCBsYWJlbDogYEN1c3RvbSBzdGVwICR7aSArIDF9YCwgY29tbWFuZCB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHsgc3RlcHMsIHNraXBwZWQgfTtcbn1cbiJdfQ==
|
package/dist/agent/targets.d.ts
CHANGED
|
@@ -60,6 +60,15 @@ export declare function isTargetId(value: unknown): value is TargetId;
|
|
|
60
60
|
* in only when their post-install option is selected (see LOAD_STEPS).
|
|
61
61
|
*/
|
|
62
62
|
export declare const COMMON_SPARSE_PATHS: readonly string[];
|
|
63
|
+
/**
|
|
64
|
+
* The managed toolchain release's build inputs: init-platform.sh always builds
|
|
65
|
+
* `build-plugin-images.sh --only pipeline-bootstrap,cdk-synth` (after the `_base`
|
|
66
|
+
* images), and `--build-bootstrap` runs `--only pipeline-bootstrap`, so every
|
|
67
|
+
* clone that runs either needs these folders — with or without `--with-plugins`.
|
|
68
|
+
* The release has its own source root, `deploy/toolchain` (both halves), beside
|
|
69
|
+
* the plugin catalog; of the catalog it needs only the `_base` images.
|
|
70
|
+
*/
|
|
71
|
+
export declare const TOOLCHAIN_SPARSE_PATHS: readonly string[];
|
|
63
72
|
/**
|
|
64
73
|
* Opt-in post-install load steps. Each maps a provision `--with-*` flag to the
|
|
65
74
|
* init-platform env var that enables it AND the repo folder(s) it reads — so the
|
|
@@ -69,7 +78,7 @@ export declare const LOAD_STEPS: readonly [{
|
|
|
69
78
|
readonly id: 'plugins';
|
|
70
79
|
readonly flag: 'withPlugins';
|
|
71
80
|
readonly env: 'LOAD_PLUGINS';
|
|
72
|
-
readonly paths: readonly ['deploy/plugins'
|
|
81
|
+
readonly paths: readonly ['deploy/plugins'];
|
|
73
82
|
}, {
|
|
74
83
|
readonly id: 'compliance';
|
|
75
84
|
readonly flag: 'withCompliance';
|
|
@@ -84,7 +93,8 @@ export declare const LOAD_STEPS: readonly [{
|
|
|
84
93
|
export type LoadStepId = (typeof LOAD_STEPS)[number]['id'];
|
|
85
94
|
/**
|
|
86
95
|
* The de-duplicated set of sparse paths for a target plus the enabled load
|
|
87
|
-
* steps: common base ∪ target folder(s) ∪
|
|
96
|
+
* steps: common base ∪ target folder(s) ∪ the toolchain build inputs ∪ each
|
|
97
|
+
* enabled step's folder(s).
|
|
88
98
|
*/
|
|
89
99
|
export declare function sparsePathsFor(target: TargetId, enabledLoadIds: readonly string[]): string[];
|
|
90
100
|
export interface AssembleResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targets.d.ts","sources":["../../src/agent/targets.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7D,2DAA2D;AAC3D,MAAM,WAAW,SAAS;IACxB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,qEAAqE;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClE;AA4CD,eAAO,MAAM,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CA0E1D,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAAyC,CAAC;AAEpF,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AAID;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAmB,CAAC;AAErE;;;;GAIG;AACH,eAAO,MAAM,UAAU;
|
|
1
|
+
{"version":3,"file":"targets.d.ts","sources":["../../src/agent/targets.ts"],"names":[],"mappings":"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"}
|