gitops-ai 1.0.0 → 1.2.0
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/LICENSE +21 -0
- package/README.md +74 -41
- package/dist/commands/bootstrap.js +641 -117
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/template-sync-wizard.d.ts +1 -0
- package/dist/commands/template-sync-wizard.js +169 -0
- package/dist/commands/template-sync-wizard.js.map +1 -0
- package/dist/commands/template-sync.d.ts +8 -0
- package/dist/commands/template-sync.js +41 -0
- package/dist/commands/template-sync.js.map +1 -0
- package/dist/core/bootstrap-runner.js +28 -11
- package/dist/core/bootstrap-runner.js.map +1 -1
- package/dist/core/cloudflare-oauth.d.ts +1 -0
- package/dist/core/cloudflare-oauth.js +311 -0
- package/dist/core/cloudflare-oauth.js.map +1 -0
- package/dist/core/dependencies.js +0 -12
- package/dist/core/dependencies.js.map +1 -1
- package/dist/core/encryption.js +1 -1
- package/dist/core/encryption.js.map +1 -1
- package/dist/core/flux.d.ts +1 -1
- package/dist/core/flux.js +57 -8
- package/dist/core/flux.js.map +1 -1
- package/dist/core/git-provider.d.ts +38 -0
- package/dist/core/git-provider.js +30 -0
- package/dist/core/git-provider.js.map +1 -0
- package/dist/core/github-oauth.d.ts +1 -0
- package/dist/core/github-oauth.js +110 -0
- package/dist/core/github-oauth.js.map +1 -0
- package/dist/core/github.d.ts +12 -0
- package/dist/core/github.js +188 -0
- package/dist/core/github.js.map +1 -0
- package/dist/core/gitlab-oauth.d.ts +1 -0
- package/dist/core/gitlab-oauth.js +194 -0
- package/dist/core/gitlab-oauth.js.map +1 -0
- package/dist/core/gitlab.d.ts +4 -9
- package/dist/core/gitlab.js +127 -56
- package/dist/core/gitlab.js.map +1 -1
- package/dist/core/kubernetes.d.ts +9 -0
- package/dist/core/kubernetes.js +51 -1
- package/dist/core/kubernetes.js.map +1 -1
- package/dist/core/template-sync.d.ts +46 -0
- package/dist/core/template-sync.js +249 -0
- package/dist/core/template-sync.js.map +1 -0
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +17 -4
- package/dist/schemas.js +17 -3
- package/dist/schemas.js.map +1 -1
- package/package.json +32 -2
package/dist/index.js
CHANGED
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
import { Command } from "commander";
|
|
3
3
|
import { bootstrap, openclawPair } from "./commands/bootstrap.js";
|
|
4
4
|
import { sops } from "./commands/sops.js";
|
|
5
|
+
import { registerTemplateSyncCommand } from "./commands/template-sync.js";
|
|
6
|
+
import { readPackageVersion } from "./core/template-sync.js";
|
|
5
7
|
import pc from "picocolors";
|
|
6
8
|
const program = new Command();
|
|
7
9
|
program
|
|
8
|
-
.name("
|
|
10
|
+
.name("gitops-ai")
|
|
9
11
|
.description("Flux GitOps cluster bootstrap CLI with interactive TUI")
|
|
10
|
-
.version(
|
|
12
|
+
.version(readPackageVersion());
|
|
11
13
|
program
|
|
12
14
|
.command("bootstrap")
|
|
13
15
|
.alias("install")
|
|
@@ -45,5 +47,6 @@ program
|
|
|
45
47
|
process.exit(1);
|
|
46
48
|
}
|
|
47
49
|
});
|
|
50
|
+
registerTemplateSyncCommand(program);
|
|
48
51
|
program.parse();
|
|
49
52
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,wDAAwD,CAAC;KACrE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAEjC,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,KAAK,CAAC,SAAS,CAAC;KAChB,WAAW,CAAC,mFAAmF,CAAC;KAChG,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,cAAe,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,0BAA0B,CAAC;KACnC,WAAW,CAAC,0FAA0F,CAAC;KACvG,MAAM,CAAC,KAAK,EAAE,UAAmB,EAAE,IAAa,EAAE,EAAE;IACnD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,cAAe,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,YAAY,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,cAAe,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAErC,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import type { ProviderType } from "./core/git-provider.js";
|
|
2
3
|
export declare const ClusterConfigSchema: z.ZodObject<{
|
|
3
4
|
clusterName: z.ZodString;
|
|
4
5
|
clusterDomain: z.ZodString;
|
|
@@ -6,8 +7,14 @@ export declare const ClusterConfigSchema: z.ZodObject<{
|
|
|
6
7
|
letsencryptEmail: z.ZodOptional<z.ZodString>;
|
|
7
8
|
ingressAllowedIps: z.ZodString;
|
|
8
9
|
}, z.core.$strip>;
|
|
9
|
-
export declare const
|
|
10
|
-
|
|
10
|
+
export declare const GitConfigSchema: z.ZodObject<{
|
|
11
|
+
gitProvider: z.ZodDefault<z.ZodEnum<{
|
|
12
|
+
gitlab: "gitlab";
|
|
13
|
+
github: "github";
|
|
14
|
+
}>>;
|
|
15
|
+
gitToken: z.ZodString;
|
|
16
|
+
gitFluxToken: z.ZodOptional<z.ZodString>;
|
|
17
|
+
gitHost: z.ZodOptional<z.ZodString>;
|
|
11
18
|
repoName: z.ZodString;
|
|
12
19
|
repoOwner: z.ZodString;
|
|
13
20
|
repoBranch: z.ZodString;
|
|
@@ -18,11 +25,14 @@ export declare const SecretsConfigSchema: z.ZodObject<{
|
|
|
18
25
|
openclawGatewayToken: z.ZodOptional<z.ZodString>;
|
|
19
26
|
}, z.core.$strip>;
|
|
20
27
|
export type ClusterConfig = z.infer<typeof ClusterConfigSchema>;
|
|
21
|
-
export type
|
|
28
|
+
export type GitConfig = z.infer<typeof GitConfigSchema>;
|
|
22
29
|
export type SecretsConfig = z.infer<typeof SecretsConfigSchema>;
|
|
23
|
-
export type BootstrapConfig = ClusterConfig &
|
|
30
|
+
export type BootstrapConfig = ClusterConfig & GitConfig & SecretsConfig & {
|
|
24
31
|
selectedComponents: string[];
|
|
32
|
+
/** Tag or branch used for the template clone */
|
|
33
|
+
templateRef?: string;
|
|
25
34
|
};
|
|
35
|
+
export type { ProviderType };
|
|
26
36
|
export interface SopsConfig {
|
|
27
37
|
keyDir: string;
|
|
28
38
|
keyFile: string;
|
|
@@ -42,9 +52,12 @@ export interface ComponentDef {
|
|
|
42
52
|
export declare const COMPONENTS: ComponentDef[];
|
|
43
53
|
export declare const REQUIRED_COMPONENT_IDS: string[];
|
|
44
54
|
export declare const DNS_TLS_COMPONENT_IDS: string[];
|
|
55
|
+
export declare const MONITORING_COMPONENT_IDS: string[];
|
|
45
56
|
export declare const OPTIONAL_COMPONENTS: ComponentDef[];
|
|
46
57
|
export declare const KUBERNETES_VERSION = "1.35.1";
|
|
47
58
|
export declare const SOURCE_GITLAB_HOST = "gitlab.com";
|
|
48
59
|
export declare const SOURCE_PROJECT_PATH = "everythings-gonna-be-alright/fluxcd_ai_template";
|
|
49
60
|
export declare const INSTALL_PLAN_PATH = "/tmp/installplan.json";
|
|
61
|
+
export declare function isShortLivedGitHubToken(token: string): boolean;
|
|
62
|
+
export declare function shouldUseSshDeployKey(config: BootstrapConfig): boolean;
|
|
50
63
|
export declare function defaultSopsConfig(repoRoot: string): SopsConfig;
|
package/dist/schemas.js
CHANGED
|
@@ -12,8 +12,11 @@ export const ClusterConfigSchema = z.object({
|
|
|
12
12
|
letsencryptEmail: z.string().optional(),
|
|
13
13
|
ingressAllowedIps: z.string().min(1),
|
|
14
14
|
});
|
|
15
|
-
export const
|
|
16
|
-
|
|
15
|
+
export const GitConfigSchema = z.object({
|
|
16
|
+
gitProvider: z.enum(["gitlab", "github"]).default("gitlab"),
|
|
17
|
+
gitToken: z.string().min(1, "Git token is required"),
|
|
18
|
+
gitFluxToken: z.string().optional(),
|
|
19
|
+
gitHost: z.string().min(1).optional(),
|
|
17
20
|
repoName: z.string().min(1),
|
|
18
21
|
repoOwner: z.string().min(1),
|
|
19
22
|
repoBranch: z.string().min(1),
|
|
@@ -29,12 +32,15 @@ export const COMPONENTS = [
|
|
|
29
32
|
{ id: "cert-manager", label: "Cert Manager", hint: "Automatic TLS certificates via Let's Encrypt", required: false, secrets: ["secret-cloudflare.yaml"] },
|
|
30
33
|
{ id: "external-dns", label: "External DNS", hint: "Automatic DNS records in Cloudflare", required: false, secrets: ["secret-cloudflare.yaml"] },
|
|
31
34
|
{ id: "prometheus-operator-crds", label: "Prometheus CRDs", hint: "Monitoring custom resource definitions", required: true },
|
|
35
|
+
{ id: "grafana-operator", label: "Grafana Operator", hint: "Grafana dashboards and datasources via CRDs", required: false, subdomain: "grafana" },
|
|
36
|
+
{ id: "victoria-metrics-k8s-stack", label: "Victoria Metrics Stack", hint: "Metrics collection, alerting and long-term storage", required: false, subdomain: "victoria" },
|
|
32
37
|
{ id: "flux-web", label: "Flux Web UI", hint: "Web dashboard for Flux status", required: false, subdomain: "flux" },
|
|
33
38
|
{ id: "openclaw", label: "OpenClaw", hint: "AI assistant gateway (requires OpenAI key)", required: false, secrets: ["secret-openclaw-envs.yaml"], subdomain: "openclaw" },
|
|
34
39
|
];
|
|
35
40
|
export const REQUIRED_COMPONENT_IDS = COMPONENTS.filter((c) => c.required).map((c) => c.id);
|
|
36
41
|
export const DNS_TLS_COMPONENT_IDS = ["cert-manager", "external-dns"];
|
|
37
|
-
export const
|
|
42
|
+
export const MONITORING_COMPONENT_IDS = ["grafana-operator", "victoria-metrics-k8s-stack"];
|
|
43
|
+
export const OPTIONAL_COMPONENTS = COMPONENTS.filter((c) => !c.required && !DNS_TLS_COMPONENT_IDS.includes(c.id) && !MONITORING_COMPONENT_IDS.includes(c.id));
|
|
38
44
|
// ---------------------------------------------------------------------------
|
|
39
45
|
// Constants
|
|
40
46
|
// ---------------------------------------------------------------------------
|
|
@@ -42,6 +48,14 @@ export const KUBERNETES_VERSION = "1.35.1";
|
|
|
42
48
|
export const SOURCE_GITLAB_HOST = "gitlab.com";
|
|
43
49
|
export const SOURCE_PROJECT_PATH = "everythings-gonna-be-alright/fluxcd_ai_template";
|
|
44
50
|
export const INSTALL_PLAN_PATH = "/tmp/installplan.json";
|
|
51
|
+
export function isShortLivedGitHubToken(token) {
|
|
52
|
+
return token.startsWith("gho_") || token.startsWith("ghu_");
|
|
53
|
+
}
|
|
54
|
+
export function shouldUseSshDeployKey(config) {
|
|
55
|
+
return (config.gitProvider === "github" &&
|
|
56
|
+
isShortLivedGitHubToken(config.gitToken) &&
|
|
57
|
+
!config.gitFluxToken);
|
|
58
|
+
}
|
|
45
59
|
export function defaultSopsConfig(repoRoot) {
|
|
46
60
|
const keyDir = process.env.SOPS_AGE_KEY_DIR ?? `${process.env.HOME}/.sops`;
|
|
47
61
|
return {
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gitops-ai",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Flux GitOps infrastructure management CLI with interactive TUI",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"gitops",
|
|
7
|
+
"flux",
|
|
8
|
+
"fluxcd",
|
|
9
|
+
"kubernetes",
|
|
10
|
+
"k8s",
|
|
11
|
+
"infrastructure",
|
|
12
|
+
"iac",
|
|
13
|
+
"cli",
|
|
14
|
+
"bootstrap",
|
|
15
|
+
"helm",
|
|
16
|
+
"kustomize",
|
|
17
|
+
"sops",
|
|
18
|
+
"template-sync",
|
|
19
|
+
"gitlab",
|
|
20
|
+
"github",
|
|
21
|
+
"devops",
|
|
22
|
+
"platform-engineering",
|
|
23
|
+
"cd",
|
|
24
|
+
"continuous-delivery",
|
|
25
|
+
"homelab"
|
|
26
|
+
],
|
|
27
|
+
"license": "MIT",
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "https://gitlab.com/everythings-gonna-be-alright/gitops_ai_bootstrapper.git"
|
|
31
|
+
},
|
|
32
|
+
"homepage": "https://gitlab.com/everythings-gonna-be-alright/gitops_ai_bootstrapper",
|
|
33
|
+
"author": "everythings-gonna-be-alright",
|
|
5
34
|
"type": "module",
|
|
6
35
|
"main": "dist/index.js",
|
|
7
36
|
"bin": {
|
|
@@ -16,7 +45,8 @@
|
|
|
16
45
|
"prepublishOnly": "npm run build",
|
|
17
46
|
"typecheck": "tsc --noEmit",
|
|
18
47
|
"test:validate": "tsx --test tests/validate.ts",
|
|
19
|
-
"test:
|
|
48
|
+
"test:sync": "tsx --test tests/template-sync.test.ts",
|
|
49
|
+
"test:integration": "tsx --test tests/integration.test.ts"
|
|
20
50
|
},
|
|
21
51
|
"dependencies": {
|
|
22
52
|
"@clack/prompts": "^1.1.0",
|