feat(KB-335): rename environment variables from KB_* to FUSION_*
- Rename all KB_* environment variables to FUSION_* prefix across CLI and dashboard - Update CLI runtime files (native-patch.ts) and build configuration - Update dashboard server, badge-pubsub, GitHub webhooks, and terminal service - Update test files to use new FUSION_API_KEY and related env vars - Update documentation in README, AGENTS.md, STANDALONE.md, and dashboard README - Update changeset files with new environment variable names
This commit is contained in:
@@ -98,8 +98,8 @@ describe("createBadgePubSub", () => {
|
||||
|
||||
beforeEach(() => {
|
||||
process.env = { ...originalEnv };
|
||||
delete process.env.KB_BADGE_PUBSUB_REDIS_URL;
|
||||
delete process.env.KB_BADGE_PUBSUB_CHANNEL;
|
||||
delete process.env.FUSION_BADGE_PUBSUB_REDIS_URL;
|
||||
delete process.env.FUSION_BADGE_PUBSUB_CHANNEL;
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
@@ -111,24 +111,24 @@ describe("createBadgePubSub", () => {
|
||||
expect(pubsub).toBeInstanceOf(InMemoryBadgePubSub);
|
||||
});
|
||||
|
||||
it("returns RedisBadgePubSub when KB_BADGE_PUBSUB_REDIS_URL is set", () => {
|
||||
process.env.KB_BADGE_PUBSUB_REDIS_URL = "redis://localhost:6379";
|
||||
it("returns RedisBadgePubSub when FUSION_BADGE_PUBSUB_REDIS_URL is set", () => {
|
||||
process.env.FUSION_BADGE_PUBSUB_REDIS_URL = "redis://localhost:6379";
|
||||
const pubsub = createBadgePubSub({ sourceId: "server-1" });
|
||||
expect(pubsub).toBeInstanceOf(RedisBadgePubSub);
|
||||
});
|
||||
|
||||
it("uses default channel kb:badge-updates when KB_BADGE_PUBSUB_CHANNEL is unset", () => {
|
||||
process.env.KB_BADGE_PUBSUB_REDIS_URL = "redis://localhost:6379";
|
||||
delete process.env.KB_BADGE_PUBSUB_CHANNEL;
|
||||
it("uses default channel fusion:badge-updates when FUSION_BADGE_PUBSUB_CHANNEL is unset", () => {
|
||||
process.env.FUSION_BADGE_PUBSUB_REDIS_URL = "redis://localhost:6379";
|
||||
delete process.env.FUSION_BADGE_PUBSUB_CHANNEL;
|
||||
|
||||
const pubsub = createBadgePubSub({ sourceId: "server-1" });
|
||||
expect(pubsub).toBeInstanceOf(RedisBadgePubSub);
|
||||
// The channel is internal to the adapter; we verify by creating it without error
|
||||
});
|
||||
|
||||
it("uses custom channel when KB_BADGE_PUBSUB_CHANNEL is set", () => {
|
||||
process.env.KB_BADGE_PUBSUB_REDIS_URL = "redis://localhost:6379";
|
||||
process.env.KB_BADGE_PUBSUB_CHANNEL = "custom-channel";
|
||||
it("uses custom channel when FUSION_BADGE_PUBSUB_CHANNEL is set", () => {
|
||||
process.env.FUSION_BADGE_PUBSUB_REDIS_URL = "redis://localhost:6379";
|
||||
process.env.FUSION_BADGE_PUBSUB_CHANNEL = "custom-channel";
|
||||
|
||||
const pubsub = createBadgePubSub({ sourceId: "server-1" });
|
||||
expect(pubsub).toBeInstanceOf(RedisBadgePubSub);
|
||||
@@ -401,8 +401,8 @@ describe("RedisBadgePubSub (integration)", () => {
|
||||
});
|
||||
|
||||
it("reads configuration from environment variables", () => {
|
||||
process.env.KB_BADGE_PUBSUB_REDIS_URL = "redis://redis.example.com:6380";
|
||||
process.env.KB_BADGE_PUBSUB_CHANNEL = "prod-badges";
|
||||
process.env.FUSION_BADGE_PUBSUB_REDIS_URL = "redis://redis.example.com:6380";
|
||||
process.env.FUSION_BADGE_PUBSUB_CHANNEL = "prod-badges";
|
||||
|
||||
const pubsub = createBadgePubSub({ sourceId: "server-1" });
|
||||
expect(pubsub).toBeInstanceOf(RedisBadgePubSub);
|
||||
|
||||
@@ -20,10 +20,10 @@ describe("GitHub Webhooks Module", () => {
|
||||
beforeEach(() => {
|
||||
vi.resetModules();
|
||||
process.env = { ...originalEnv };
|
||||
delete process.env.KB_GITHUB_APP_ID;
|
||||
delete process.env.KB_GITHUB_APP_PRIVATE_KEY;
|
||||
delete process.env.KB_GITHUB_APP_PRIVATE_KEY_PATH;
|
||||
delete process.env.KB_GITHUB_WEBHOOK_SECRET;
|
||||
delete process.env.FUSION_GITHUB_APP_ID;
|
||||
delete process.env.FUSION_GITHUB_APP_PRIVATE_KEY;
|
||||
delete process.env.FUSION_GITHUB_APP_PRIVATE_KEY_PATH;
|
||||
delete process.env.FUSION_GITHUB_WEBHOOK_SECRET;
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
@@ -37,14 +37,14 @@ describe("GitHub Webhooks Module", () => {
|
||||
});
|
||||
|
||||
it("returns null when only appId is set", () => {
|
||||
process.env.KB_GITHUB_APP_ID = "12345";
|
||||
process.env.FUSION_GITHUB_APP_ID = "12345";
|
||||
expect(getGitHubAppConfig()).toBeNull();
|
||||
});
|
||||
|
||||
it("returns config when all required vars are set via direct key", () => {
|
||||
process.env.KB_GITHUB_APP_ID = "12345";
|
||||
process.env.KB_GITHUB_APP_PRIVATE_KEY = "-----BEGIN RSA PRIVATE KEY-----\ntest\n-----END RSA PRIVATE KEY-----";
|
||||
process.env.KB_GITHUB_WEBHOOK_SECRET = "webhook-secret";
|
||||
process.env.FUSION_GITHUB_APP_ID = "12345";
|
||||
process.env.FUSION_GITHUB_APP_PRIVATE_KEY = "-----BEGIN RSA PRIVATE KEY-----\ntest\n-----END RSA PRIVATE KEY-----";
|
||||
process.env.FUSION_GITHUB_WEBHOOK_SECRET = "webhook-secret";
|
||||
|
||||
const config = getGitHubAppConfig();
|
||||
expect(config).not.toBeNull();
|
||||
@@ -54,18 +54,18 @@ describe("GitHub Webhooks Module", () => {
|
||||
});
|
||||
|
||||
it("returns null when key file cannot be read", () => {
|
||||
process.env.KB_GITHUB_APP_ID = "12345";
|
||||
process.env.KB_GITHUB_APP_PRIVATE_KEY_PATH = "/nonexistent/path/key.pem";
|
||||
process.env.KB_GITHUB_WEBHOOK_SECRET = "webhook-secret";
|
||||
process.env.FUSION_GITHUB_APP_ID = "12345";
|
||||
process.env.FUSION_GITHUB_APP_PRIVATE_KEY_PATH = "/nonexistent/path/key.pem";
|
||||
process.env.FUSION_GITHUB_WEBHOOK_SECRET = "webhook-secret";
|
||||
|
||||
expect(getGitHubAppConfig()).toBeNull();
|
||||
});
|
||||
|
||||
it("prefers direct key over file path when both are set", () => {
|
||||
process.env.KB_GITHUB_APP_ID = "12345";
|
||||
process.env.KB_GITHUB_APP_PRIVATE_KEY = "direct-key-content";
|
||||
process.env.KB_GITHUB_APP_PRIVATE_KEY_PATH = "/nonexistent/path/key.pem";
|
||||
process.env.KB_GITHUB_WEBHOOK_SECRET = "webhook-secret";
|
||||
process.env.FUSION_GITHUB_APP_ID = "12345";
|
||||
process.env.FUSION_GITHUB_APP_PRIVATE_KEY = "direct-key-content";
|
||||
process.env.FUSION_GITHUB_APP_PRIVATE_KEY_PATH = "/nonexistent/path/key.pem";
|
||||
process.env.FUSION_GITHUB_WEBHOOK_SECRET = "webhook-secret";
|
||||
|
||||
const config = getGitHubAppConfig();
|
||||
expect(config?.privateKey).toBe("direct-key-content");
|
||||
@@ -78,9 +78,9 @@ describe("GitHub Webhooks Module", () => {
|
||||
});
|
||||
|
||||
it("returns true when fully configured", () => {
|
||||
process.env.KB_GITHUB_APP_ID = "12345";
|
||||
process.env.KB_GITHUB_APP_PRIVATE_KEY = "private-key";
|
||||
process.env.KB_GITHUB_WEBHOOK_SECRET = "webhook-secret";
|
||||
process.env.FUSION_GITHUB_APP_ID = "12345";
|
||||
process.env.FUSION_GITHUB_APP_PRIVATE_KEY = "private-key";
|
||||
process.env.FUSION_GITHUB_WEBHOOK_SECRET = "webhook-secret";
|
||||
|
||||
expect(isGitHubAppConfigured()).toBe(true);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user