@firestartr/cli 2.7.0-snapshot-13 → 2.7.0-snapshot-14

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.
Files changed (26) hide show
  1. package/build/index.js +1171 -273
  2. package/build/packages/cdk8s_renderer/index.d.ts +5 -3
  3. package/build/packages/cdk8s_renderer/src/charts/github/index.d.ts +1 -0
  4. package/build/packages/cdk8s_renderer/src/charts/github/orgSettingsChart.d.ts +8 -0
  5. package/build/packages/cdk8s_renderer/src/charts/index.d.ts +2 -1
  6. package/build/packages/cdk8s_renderer/src/claims/base/index.d.ts +1 -0
  7. package/build/packages/cdk8s_renderer/src/claims/base/orgSettings.d.ts +5 -0
  8. package/build/packages/cdk8s_renderer/src/claims/base/schemas/index.d.ts +139 -0
  9. package/build/packages/cdk8s_renderer/src/claims/base/schemas/orgsettings.schema.d.ts +32 -0
  10. package/build/packages/cdk8s_renderer/src/claims/github/index.d.ts +109 -0
  11. package/build/packages/cdk8s_renderer/src/claims/github/orgSettings.d.ts +34 -0
  12. package/build/packages/cdk8s_renderer/src/claims/github/orgsettings.schema.d.ts +111 -0
  13. package/build/packages/cdk8s_renderer/src/config.d.ts +4 -0
  14. package/build/packages/cdk8s_renderer/src/loader/lazy_loader.d.ts +1 -1
  15. package/build/packages/cdk8s_renderer/src/loader/loader.d.ts +7 -1
  16. package/build/packages/cdk8s_renderer/src/renderer/claims-render.d.ts +1 -1
  17. package/build/packages/cdk8s_renderer/src/validations/githubOrgSettings.d.ts +2 -0
  18. package/build/packages/gh_provisioner/src/entities/ghorgsettings/index.d.ts +7 -0
  19. package/build/packages/importer/src/decanter/gh/github_org_settings.d.ts +10 -0
  20. package/build/packages/importer/src/decanter/gh/github_org_settings_collection.d.ts +10 -0
  21. package/build/packages/importer/src/decanter/index.d.ts +2 -0
  22. package/build/packages/operator/src/ctl.d.ts +7 -0
  23. package/build/packages/operator/src/parentDependency.d.ts +30 -0
  24. package/build/packages/operator/src/processItem.d.ts +3 -0
  25. package/build/packages/operator/src/queueSort.d.ts +2 -0
  26. package/package.json +1 -1
@@ -0,0 +1,30 @@
1
+ import { WorkItem } from './definitions';
2
+ export declare function getParentKindForDependent(kind: string): string | undefined;
3
+ export declare function isDependentKind(kind: string): boolean;
4
+ export declare function isRelevantKind(kind: string): boolean;
5
+ export declare function getParentRef(workItem: WorkItem): {
6
+ kind: string;
7
+ name: string;
8
+ } | null;
9
+ export declare function buildActiveParentKeys(queue: WorkItem[]): Set<string>;
10
+ /**
11
+ * Scan the queue for dependent children whose parent is not in the active set
12
+ * and verify whether each parent exists in the K8s cluster and has been
13
+ * provisioned. Parents that are absent from the queue and either missing from
14
+ * the cluster OR not yet provisioned are added to a deferred set, which
15
+ * `hasActiveParent` uses to block the child from being dispatched.
16
+ *
17
+ * A parent CR exists in the cluster immediately after `kubectl apply`, but it
18
+ * is not usable until the operator has reconciled it and set PROVISIONED=True.
19
+ * Checking only for cluster existence would let children slip through while
20
+ * the parent is still being processed. This function also checks the parent's
21
+ * status conditions so that children are deferred until the parent is fully
22
+ * provisioned.
23
+ *
24
+ * @param getItemByItemPath - function to look up a CR in the K8s cluster by
25
+ * its item path (namespace/pluralKind/name). Should return null (not throw)
26
+ * when the resource is absent or not yet available (e.g. 404/409), so that
27
+ * missing parents are deferred without generating spurious error logs.
28
+ */
29
+ export declare function buildDeferredParentKeys(queue: WorkItem[], activeParentKeys: Set<string>, getItemByItemPath: (itemPath: string) => Promise<any>): Promise<Set<string>>;
30
+ export declare function hasActiveParent(workItem: WorkItem, queueOrKeys: WorkItem[] | Set<string>, deferredParentKeys?: Set<string>): boolean;
@@ -6,6 +6,8 @@ export declare function getQueueMetrics(): {
6
6
  nItemsPending: number;
7
7
  nItemsProcessing: number;
8
8
  nItemsInDeadLetterHandling: number;
9
+ nItemsBlocked: number;
10
+ nItemsDeferred: number;
9
11
  nItemsTypes: {
10
12
  nothing: number;
11
13
  retry: number;
@@ -22,6 +24,7 @@ export declare function getQueueMetrics(): {
22
24
  * @param {WorkItem} workItem - WorkItem to process
23
25
  */
24
26
  export declare function processItem(workItem: WorkItem): Promise<void>;
27
+ export { sortQueue } from './queueSort';
25
28
  /**
26
29
  * Periodically checks the queue for finished WorkItems and removes them
27
30
  * @param {WorkItem[]} queue - Queue of WorkItems
@@ -0,0 +1,2 @@
1
+ import { WorkItem } from './definitions';
2
+ export declare function sortQueue(queue: WorkItem[]): WorkItem[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firestartr/cli",
3
- "version": "2.7.0-snapshot-13",
3
+ "version": "2.7.0-snapshot-14",
4
4
  "private": false,
5
5
  "description": "Commandline tool",
6
6
  "main": "build/main.js",