ghcr-manager 0.9.7 → 0.9.8
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.
Potentially problematic release.
This version of ghcr-manager might be problematic. Click here for more details.
- package/CHANGELOG.md +39 -1
- package/LICENSE +1 -1
- package/README.md +37 -56
- package/dist/cleanup-summary/_cleanup-summary-markdown.js +7 -10
- package/dist/cleanup-summary/_cleanup-summary.d.ts +3 -4
- package/dist/cleanup-summary/_cleanup-summary.js +2 -3
- package/dist/cli/_cleanup-command.js +1 -1
- package/dist/cli/_tag-selector-resolver.js +29 -9
- package/dist/cli/index.js +0 -4
- package/dist/core/_types.d.ts +1 -6
- package/dist/core/_types.js +1 -1
- package/dist/db/_db-merge-scan-copy.js +3 -2
- package/dist/db/_manifest-reachability.js +47 -8
- package/dist/db/_scan-writer.js +1 -13
- package/dist/db/planner/_planner-direct-target-root-options.d.ts +11 -0
- package/dist/db/planner/_planner-direct-target-root-options.js +1 -0
- package/dist/db/planner/_planner-direct-target-root-tag-filters.d.ts +9 -0
- package/dist/db/planner/_planner-direct-target-root-tag-filters.js +42 -0
- package/dist/db/planner/_planner-direct-target-roots-combined-sql.d.ts +7 -0
- package/dist/db/planner/_planner-direct-target-roots-combined-sql.js +198 -0
- package/dist/db/planner/_planner-direct-target-roots-combined.d.ts +4 -0
- package/dist/db/planner/_planner-direct-target-roots-combined.js +10 -0
- package/dist/db/planner/_planner-direct-target-roots-tagged.d.ts +4 -0
- package/dist/db/planner/_planner-direct-target-roots-tagged.js +125 -0
- package/dist/db/planner/_planner-direct-target-roots.d.ts +2 -12
- package/dist/db/planner/_planner-direct-target-roots.js +8 -203
- package/dist/db/planner/_planner-direct-target-tags.js +3 -4
- package/dist/db/planner/_planner-output.js +28 -8
- package/dist/db/planner/_planner-plan-artifacts-blocked-roots-sql.d.ts +1 -0
- package/dist/db/planner/_planner-plan-artifacts-blocked-roots-sql.js +65 -0
- package/dist/db/planner/_planner-plan-artifacts-closure-sql.d.ts +1 -0
- package/dist/db/planner/_planner-plan-artifacts-closure-sql.js +195 -0
- package/dist/db/planner/_planner-plan-artifacts-supported-untag-only-sql.d.ts +1 -0
- package/dist/db/planner/_planner-plan-artifacts-supported-untag-only-sql.js +86 -0
- package/dist/db/planner/_planner-plan-artifacts.js +26 -128
- package/dist/db/planner/_planner-sql.js +13 -2
- package/dist/db/planner/_planner-types.d.ts +2 -0
- package/dist/db/planner/_planner-types.js +1 -0
- package/dist/execute/_plan-executor.js +7 -11
- package/dist/execute/_types.d.ts +2 -19
- package/dist/execute/_untag-client.d.ts +2 -2
- package/dist/execute/_untag-client.js +1 -42
- package/dist/execute/index.d.ts +1 -1
- package/dist/ingest/github/_manifest-kind.d.ts +6 -0
- package/dist/ingest/github/_manifest-kind.js +16 -2
- package/package.json +16 -10
- package/resources/sql/schema/001_schema.sql +14 -4
- package/dist/cli/_untag-command.d.ts +0 -1
- package/dist/cli/_untag-command.js +0 -58
- package/dist/db/_manifest-kind-refinement.d.ts +0 -2
- package/dist/db/_manifest-kind-refinement.js +0 -43
- package/resources/sql/views/002_v_scan_root_manifests.sql +0 -44
- package/resources/sql/views/003_v_digest_tag_relations.sql +0 -50
- package/resources/sql/views/004_v_cleanup_root_closure_members.sql +0 -101
- package/resources/sql/views/005_v_cleanup_blocking_overlaps.sql +0 -42
- package/resources/sql/views/006_v_cleanup_root_decision_readable.sql +0 -67
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
DROP VIEW IF EXISTS v_cleanup_blocking_overlaps;
|
|
2
|
-
|
|
3
|
-
CREATE VIEW v_cleanup_blocking_overlaps AS
|
|
4
|
-
SELECT
|
|
5
|
-
run.cleanup_run_id,
|
|
6
|
-
run.scan_id,
|
|
7
|
-
ps.owner,
|
|
8
|
-
ps.package_name,
|
|
9
|
-
block.protected_digest,
|
|
10
|
-
protected_manifest.version_id AS protected_version_id,
|
|
11
|
-
protected_manifest.manifest_kind AS protected_manifest_kind,
|
|
12
|
-
block.blocked_digest,
|
|
13
|
-
blocked_manifest.version_id AS blocked_version_id,
|
|
14
|
-
blocked_manifest.manifest_kind AS blocked_manifest_kind,
|
|
15
|
-
decision.selection_mode AS blocked_selection_mode,
|
|
16
|
-
decision.selection_reason AS blocked_selection_reason,
|
|
17
|
-
decision.validation_status AS blocked_validation_status,
|
|
18
|
-
decision.validation_reason_code AS blocked_validation_reason_code,
|
|
19
|
-
decision.validation_reason AS blocked_validation_reason,
|
|
20
|
-
block.block_reason_code,
|
|
21
|
-
block.overlap_digest,
|
|
22
|
-
overlap_manifest.version_id AS overlap_version_id,
|
|
23
|
-
overlap_manifest.manifest_kind AS overlap_manifest_kind
|
|
24
|
-
FROM cleanup_protected_root_blocks block
|
|
25
|
-
JOIN cleanup_runs run
|
|
26
|
-
ON run.cleanup_run_id = block.cleanup_run_id
|
|
27
|
-
AND run.scan_id = block.scan_id
|
|
28
|
-
JOIN package_scans ps
|
|
29
|
-
ON ps.scan_id = run.scan_id
|
|
30
|
-
JOIN manifests protected_manifest
|
|
31
|
-
ON protected_manifest.scan_id = block.scan_id
|
|
32
|
-
AND protected_manifest.digest = block.protected_digest
|
|
33
|
-
JOIN manifests blocked_manifest
|
|
34
|
-
ON blocked_manifest.scan_id = block.scan_id
|
|
35
|
-
AND blocked_manifest.digest = block.blocked_digest
|
|
36
|
-
JOIN cleanup_root_decisions decision
|
|
37
|
-
ON decision.cleanup_run_id = block.cleanup_run_id
|
|
38
|
-
AND decision.scan_id = block.scan_id
|
|
39
|
-
AND decision.digest = block.blocked_digest
|
|
40
|
-
LEFT JOIN manifests overlap_manifest
|
|
41
|
-
ON overlap_manifest.scan_id = block.scan_id
|
|
42
|
-
AND overlap_manifest.digest = block.overlap_digest;
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
DROP VIEW IF EXISTS v_cleanup_root_decision_readable;
|
|
2
|
-
|
|
3
|
-
CREATE VIEW v_cleanup_root_decision_readable AS
|
|
4
|
-
WITH selected_tag_summary AS (
|
|
5
|
-
SELECT
|
|
6
|
-
selected.cleanup_run_id,
|
|
7
|
-
tag.version_id AS root_version_id,
|
|
8
|
-
COUNT(*) AS selected_tag_count,
|
|
9
|
-
GROUP_CONCAT(selected.tag, ', ') AS selected_tags
|
|
10
|
-
FROM cleanup_selected_tags selected
|
|
11
|
-
JOIN tags tag
|
|
12
|
-
ON tag.scan_id = selected.scan_id
|
|
13
|
-
AND tag.tag = selected.tag
|
|
14
|
-
GROUP BY
|
|
15
|
-
selected.cleanup_run_id,
|
|
16
|
-
tag.version_id
|
|
17
|
-
)
|
|
18
|
-
SELECT
|
|
19
|
-
run.cleanup_run_id,
|
|
20
|
-
run.scan_id,
|
|
21
|
-
scan.owner,
|
|
22
|
-
scan.package_name,
|
|
23
|
-
decision.digest AS root_digest,
|
|
24
|
-
root_manifest.version_id AS root_version_id,
|
|
25
|
-
root_manifest.manifest_kind AS root_manifest_kind,
|
|
26
|
-
decision.selection_mode,
|
|
27
|
-
CASE decision.selection_mode
|
|
28
|
-
WHEN 'delete-root' THEN 'delete root'
|
|
29
|
-
WHEN 'untag-only' THEN 'detach selected tags only'
|
|
30
|
-
END AS selection_mode_label,
|
|
31
|
-
decision.selection_reason,
|
|
32
|
-
CASE decision.selection_reason
|
|
33
|
-
WHEN 'delete-tags-all-tags-selected' THEN 'all tags on this root were selected'
|
|
34
|
-
WHEN 'delete-tags-partial-tag-match' THEN 'only part of this root''s tag set was selected'
|
|
35
|
-
WHEN 'delete-untagged' THEN 'root was selected because it is untagged'
|
|
36
|
-
WHEN 'keep-n-tagged-overflow' THEN 'root fell outside the tagged keep window'
|
|
37
|
-
WHEN 'keep-n-untagged-overflow' THEN 'root fell outside the untagged keep window'
|
|
38
|
-
END AS selection_reason_label,
|
|
39
|
-
decision.validation_status,
|
|
40
|
-
CASE decision.validation_status
|
|
41
|
-
WHEN 'fully-deletable' THEN 'root and closure can be deleted'
|
|
42
|
-
WHEN 'untag-only' THEN 'only selected tags can be detached'
|
|
43
|
-
WHEN 'blocked' THEN 'root deletion is blocked'
|
|
44
|
-
END AS validation_status_label,
|
|
45
|
-
decision.validation_reason_code,
|
|
46
|
-
CASE decision.validation_reason_code
|
|
47
|
-
WHEN 'fully-deletable-no-retained-overlap' THEN 'no retained root overlaps this closure'
|
|
48
|
-
WHEN 'untag-only-partial-tag-match' THEN 'matched tags cover only part of the root tag set'
|
|
49
|
-
WHEN 'blocked-overlap-with-retained-root' THEN 'a retained root still requires an overlapping manifest'
|
|
50
|
-
END AS validation_reason_code_label,
|
|
51
|
-
decision.validation_reason,
|
|
52
|
-
decision.blocking_digest,
|
|
53
|
-
decision.overlap_digest,
|
|
54
|
-
COALESCE(tag_summary.selected_tag_count, 0) AS selected_tag_count,
|
|
55
|
-
tag_summary.selected_tags
|
|
56
|
-
FROM cleanup_root_decisions decision
|
|
57
|
-
JOIN cleanup_runs run
|
|
58
|
-
ON run.cleanup_run_id = decision.cleanup_run_id
|
|
59
|
-
AND run.scan_id = decision.scan_id
|
|
60
|
-
JOIN package_scans scan
|
|
61
|
-
ON scan.scan_id = run.scan_id
|
|
62
|
-
JOIN manifests root_manifest
|
|
63
|
-
ON root_manifest.scan_id = decision.scan_id
|
|
64
|
-
AND root_manifest.digest = decision.digest
|
|
65
|
-
LEFT JOIN selected_tag_summary tag_summary
|
|
66
|
-
ON tag_summary.cleanup_run_id = decision.cleanup_run_id
|
|
67
|
-
AND tag_summary.root_version_id = root_manifest.version_id;
|