feat: add d601 dev core manifests
This commit is contained in:
+15
-2
@@ -5,7 +5,7 @@ import { repoRoot, rootPath } from "./config";
|
||||
const defaultManifest = "src/components/microservices/k3sctl-adapter/k3s/dev/unidesk-dev-foundation.k8s.yaml";
|
||||
const devNamespace = "unidesk-dev";
|
||||
const prodNamespace = "unidesk";
|
||||
const requiredKinds = new Set([
|
||||
const foundationRequiredKinds = new Set([
|
||||
"Namespace/unidesk-dev",
|
||||
"Secret/unidesk-dev-runtime-secrets",
|
||||
"ConfigMap/unidesk-dev-runtime-config",
|
||||
@@ -15,6 +15,12 @@ const requiredKinds = new Set([
|
||||
"StatefulSet/postgres-dev",
|
||||
"Job/unidesk-dev-db-migrate",
|
||||
]);
|
||||
const coreRequiredKinds = new Set([
|
||||
"Service/backend-core-dev",
|
||||
"Deployment/backend-core-dev",
|
||||
"Service/frontend-dev",
|
||||
"Deployment/frontend-dev",
|
||||
]);
|
||||
|
||||
interface ManifestDocument {
|
||||
index: number;
|
||||
@@ -81,6 +87,12 @@ function parseManifestDocuments(text: string): ManifestDocument[] {
|
||||
});
|
||||
}
|
||||
|
||||
function requiredResourcesFor(resources: string[]): Set<string> {
|
||||
const resourceSet = new Set(resources);
|
||||
if (resourceSet.has("Deployment/backend-core-dev") || resourceSet.has("Deployment/frontend-dev")) return coreRequiredKinds;
|
||||
return foundationRequiredKinds;
|
||||
}
|
||||
|
||||
function databaseUrls(text: string): string[] {
|
||||
const urls: string[] = [];
|
||||
const pattern = /postgres(?:ql)?:\/\/[^\s"']+/gu;
|
||||
@@ -131,7 +143,7 @@ function devEnvHelp(): Record<string, unknown> {
|
||||
defaultManifest,
|
||||
checks: [
|
||||
"all namespaced resources must target unidesk-dev",
|
||||
"required dev namespace, postgres-dev, secret/config, guard, migration resources must exist",
|
||||
"required foundation resources or backend-core-dev/frontend-dev resources must exist",
|
||||
"dev DATABASE_URL values must target postgres-dev/unidesk_dev and not production routes",
|
||||
"--kubectl-dry-run optionally asks kubectl to client-dry-run the manifest without applying it",
|
||||
],
|
||||
@@ -148,6 +160,7 @@ export function runDevEnvCommand(args: string[]): unknown {
|
||||
const manifestText = readFileSync(manifestPath, "utf8");
|
||||
const docs = parseManifestDocuments(manifestText);
|
||||
const resources = docs.map((doc) => `${doc.kind}/${doc.name}`);
|
||||
const requiredKinds = requiredResourcesFor(resources);
|
||||
const namespacedViolations = docs
|
||||
.filter((doc) => doc.kind !== "Namespace")
|
||||
.filter((doc) => doc.namespace !== devNamespace)
|
||||
|
||||
Reference in New Issue
Block a user