@tyevco/pulumi-homelab 0.5.3 → 0.5.5

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 (83) hide show
  1. package/dockgeStack.js +6 -0
  2. package/index.js +31 -0
  3. package/lxcContainer.js +55 -0
  4. package/notificationSettings.js +65 -0
  5. package/opnsenseAlias.js +52 -0
  6. package/opnsenseFirewallRule.js +52 -0
  7. package/opnsenseUnboundAcl.js +52 -0
  8. package/opnsenseUnboundDnsbl.js +52 -0
  9. package/opnsenseUnboundForward.js +52 -0
  10. package/opnsenseUnboundHostOverride.js +52 -0
  11. package/package.json +26 -29
  12. package/provider.js +62 -0
  13. package/stack.js +74 -0
  14. package/traefikRoute.js +55 -0
  15. package/traefikStaticConfig.js +55 -0
  16. package/unraidVm.js +67 -0
  17. package/.github/workflows/ci.yml +0 -42
  18. package/.github/workflows/release-please.yml +0 -88
  19. package/.github/workflows/release.yml +0 -87
  20. package/.release-please-manifest.json +0 -3
  21. package/CHANGELOG.md +0 -102
  22. package/CLAUDE.md +0 -35
  23. package/dist/index.js +0 -179
  24. package/jest.config.js +0 -23
  25. package/pulumi-resource-homelab +0 -3
  26. package/pulumi-resource-homelab.cmd +0 -2
  27. package/release-please-config.json +0 -22
  28. package/schema.json +0 -1109
  29. package/sdk/nodejs/package-lock.json +0 -2967
  30. package/sdk/nodejs/package.json +0 -35
  31. package/src/composeDiff.ts +0 -197
  32. package/src/envDiff.ts +0 -41
  33. package/src/helpers.ts +0 -114
  34. package/src/homelabClient.ts +0 -316
  35. package/src/index.ts +0 -218
  36. package/src/opnsenseClient.ts +0 -553
  37. package/src/provider.ts +0 -100
  38. package/src/resources/lxcContainer.ts +0 -285
  39. package/src/resources/notificationSettings.ts +0 -157
  40. package/src/resources/opnsenseAlias.ts +0 -176
  41. package/src/resources/opnsenseFirewallRule.ts +0 -194
  42. package/src/resources/opnsenseUnboundAcl.ts +0 -182
  43. package/src/resources/opnsenseUnboundDnsbl.ts +0 -174
  44. package/src/resources/opnsenseUnboundForward.ts +0 -182
  45. package/src/resources/opnsenseUnboundHostOverride.ts +0 -180
  46. package/src/resources/stack.ts +0 -326
  47. package/src/resources/traefikRoute.ts +0 -199
  48. package/src/resources/traefikStaticConfig.ts +0 -157
  49. package/src/resources/unraidVm.ts +0 -217
  50. package/tests/composeDiff.test.ts +0 -256
  51. package/tests/envDiff.test.ts +0 -84
  52. package/tests/helpers.test.ts +0 -313
  53. package/tests/homelabClient.test.ts +0 -530
  54. package/tests/lxcClient.test.ts +0 -240
  55. package/tests/lxcContainer.test.ts +0 -504
  56. package/tests/notificationSettings.test.ts +0 -197
  57. package/tests/opnsenseAlias.test.ts +0 -383
  58. package/tests/opnsenseClient.test.ts +0 -1669
  59. package/tests/opnsenseFirewallRule.test.ts +0 -397
  60. package/tests/opnsenseUnboundAcl.test.ts +0 -316
  61. package/tests/opnsenseUnboundDnsbl.test.ts +0 -314
  62. package/tests/opnsenseUnboundForward.test.ts +0 -305
  63. package/tests/opnsenseUnboundHostOverride.test.ts +0 -320
  64. package/tests/provider.test.ts +0 -243
  65. package/tests/stack.test.ts +0 -675
  66. package/tests/testUtils.ts +0 -123
  67. package/tests/traefikRoute.test.ts +0 -565
  68. package/tests/unraidVm.test.ts +0 -272
  69. package/tsconfig.json +0 -18
  70. /package/{sdk/nodejs/index.d.ts → index.d.ts} +0 -0
  71. /package/{sdk/nodejs/lxcContainer.d.ts → lxcContainer.d.ts} +0 -0
  72. /package/{sdk/nodejs/notificationSettings.d.ts → notificationSettings.d.ts} +0 -0
  73. /package/{sdk/nodejs/opnsenseAlias.d.ts → opnsenseAlias.d.ts} +0 -0
  74. /package/{sdk/nodejs/opnsenseFirewallRule.d.ts → opnsenseFirewallRule.d.ts} +0 -0
  75. /package/{sdk/nodejs/opnsenseUnboundAcl.d.ts → opnsenseUnboundAcl.d.ts} +0 -0
  76. /package/{sdk/nodejs/opnsenseUnboundDnsbl.d.ts → opnsenseUnboundDnsbl.d.ts} +0 -0
  77. /package/{sdk/nodejs/opnsenseUnboundForward.d.ts → opnsenseUnboundForward.d.ts} +0 -0
  78. /package/{sdk/nodejs/opnsenseUnboundHostOverride.d.ts → opnsenseUnboundHostOverride.d.ts} +0 -0
  79. /package/{sdk/nodejs/provider.d.ts → provider.d.ts} +0 -0
  80. /package/{sdk/nodejs/stack.d.ts → stack.d.ts} +0 -0
  81. /package/{sdk/nodejs/traefikRoute.d.ts → traefikRoute.d.ts} +0 -0
  82. /package/{sdk/nodejs/traefikStaticConfig.d.ts → traefikStaticConfig.d.ts} +0 -0
  83. /package/{sdk/nodejs/unraidVm.d.ts → unraidVm.d.ts} +0 -0
package/dockgeStack.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DockgeStack = void 0;
4
+ // Backward compatibility — re-exports from renamed module
5
+ var stack_1 = require("./stack");
6
+ Object.defineProperty(exports, "DockgeStack", { enumerable: true, get: function () { return stack_1.DockgeStack; } });
package/index.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnraidVm = exports.NotificationSettings = exports.LxcContainer = exports.OpnsenseUnboundDnsbl = exports.OpnsenseUnboundAcl = exports.OpnsenseUnboundForward = exports.OpnsenseUnboundHostOverride = exports.OpnsenseAlias = exports.OpnsenseFirewallRule = exports.TraefikRoute = exports.TraefikStaticConfig = exports.Stack = exports.Provider = void 0;
4
+ // Provider
5
+ var provider_1 = require("./provider");
6
+ Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return provider_1.Provider; } });
7
+ // Resources
8
+ var stack_1 = require("./stack");
9
+ Object.defineProperty(exports, "Stack", { enumerable: true, get: function () { return stack_1.Stack; } });
10
+ var traefikStaticConfig_1 = require("./traefikStaticConfig");
11
+ Object.defineProperty(exports, "TraefikStaticConfig", { enumerable: true, get: function () { return traefikStaticConfig_1.TraefikStaticConfig; } });
12
+ var traefikRoute_1 = require("./traefikRoute");
13
+ Object.defineProperty(exports, "TraefikRoute", { enumerable: true, get: function () { return traefikRoute_1.TraefikRoute; } });
14
+ var opnsenseFirewallRule_1 = require("./opnsenseFirewallRule");
15
+ Object.defineProperty(exports, "OpnsenseFirewallRule", { enumerable: true, get: function () { return opnsenseFirewallRule_1.OpnsenseFirewallRule; } });
16
+ var opnsenseAlias_1 = require("./opnsenseAlias");
17
+ Object.defineProperty(exports, "OpnsenseAlias", { enumerable: true, get: function () { return opnsenseAlias_1.OpnsenseAlias; } });
18
+ var opnsenseUnboundHostOverride_1 = require("./opnsenseUnboundHostOverride");
19
+ Object.defineProperty(exports, "OpnsenseUnboundHostOverride", { enumerable: true, get: function () { return opnsenseUnboundHostOverride_1.OpnsenseUnboundHostOverride; } });
20
+ var opnsenseUnboundForward_1 = require("./opnsenseUnboundForward");
21
+ Object.defineProperty(exports, "OpnsenseUnboundForward", { enumerable: true, get: function () { return opnsenseUnboundForward_1.OpnsenseUnboundForward; } });
22
+ var opnsenseUnboundAcl_1 = require("./opnsenseUnboundAcl");
23
+ Object.defineProperty(exports, "OpnsenseUnboundAcl", { enumerable: true, get: function () { return opnsenseUnboundAcl_1.OpnsenseUnboundAcl; } });
24
+ var opnsenseUnboundDnsbl_1 = require("./opnsenseUnboundDnsbl");
25
+ Object.defineProperty(exports, "OpnsenseUnboundDnsbl", { enumerable: true, get: function () { return opnsenseUnboundDnsbl_1.OpnsenseUnboundDnsbl; } });
26
+ var lxcContainer_1 = require("./lxcContainer");
27
+ Object.defineProperty(exports, "LxcContainer", { enumerable: true, get: function () { return lxcContainer_1.LxcContainer; } });
28
+ var notificationSettings_1 = require("./notificationSettings");
29
+ Object.defineProperty(exports, "NotificationSettings", { enumerable: true, get: function () { return notificationSettings_1.NotificationSettings; } });
30
+ var unraidVm_1 = require("./unraidVm");
31
+ Object.defineProperty(exports, "UnraidVm", { enumerable: true, get: function () { return unraidVm_1.UnraidVm; } });
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.LxcContainer = void 0;
37
+ const pulumi = __importStar(require("@pulumi/pulumi"));
38
+ const PLUGIN_VERSION = require("./package.json").version;
39
+ const PLUGIN_DOWNLOAD_URL = "github://api.github.com/tyevco/pulumi-homelab";
40
+ class LxcContainer extends pulumi.CustomResource {
41
+ constructor(name, args, opts) {
42
+ super("homelab:index:LxcContainer", name, {
43
+ status: undefined,
44
+ ip: undefined,
45
+ pid: undefined,
46
+ memory: undefined,
47
+ ...args,
48
+ }, {
49
+ version: PLUGIN_VERSION,
50
+ pluginDownloadURL: PLUGIN_DOWNLOAD_URL,
51
+ ...opts,
52
+ });
53
+ }
54
+ }
55
+ exports.LxcContainer = LxcContainer;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.NotificationSettings = void 0;
37
+ const pulumi = __importStar(require("@pulumi/pulumi"));
38
+ const PLUGIN_VERSION = require("./package.json").version;
39
+ const PLUGIN_DOWNLOAD_URL = "github://api.github.com/tyevco/pulumi-homelab";
40
+ /**
41
+ * Manages notification provider settings on the homelab server.
42
+ * This is a singleton resource — only one instance should exist per provider.
43
+ *
44
+ * ## Example Usage
45
+ *
46
+ * ```typescript
47
+ * const notifications = new homelab.NotificationSettings("notifications", {
48
+ * ntfyEnabled: true,
49
+ * ntfyUrl: "https://ntfy.sh/my-homelab-alerts",
50
+ * });
51
+ * ```
52
+ */
53
+ class NotificationSettings extends pulumi.CustomResource {
54
+ constructor(name, args, opts) {
55
+ super("homelab:index:NotificationSettings", name, {
56
+ ...args,
57
+ }, {
58
+ version: PLUGIN_VERSION,
59
+ pluginDownloadURL: PLUGIN_DOWNLOAD_URL,
60
+ additionalSecretOutputs: ["gotifyToken"],
61
+ ...opts,
62
+ });
63
+ }
64
+ }
65
+ exports.NotificationSettings = NotificationSettings;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.OpnsenseAlias = void 0;
37
+ const pulumi = __importStar(require("@pulumi/pulumi"));
38
+ const PLUGIN_VERSION = require("./package.json").version;
39
+ const PLUGIN_DOWNLOAD_URL = "github://api.github.com/tyevco/pulumi-homelab";
40
+ class OpnsenseAlias extends pulumi.CustomResource {
41
+ constructor(name, args, opts) {
42
+ super("homelab:index:OpnsenseAlias", name, {
43
+ uuid: undefined,
44
+ ...args,
45
+ }, {
46
+ version: PLUGIN_VERSION,
47
+ pluginDownloadURL: PLUGIN_DOWNLOAD_URL,
48
+ ...opts,
49
+ });
50
+ }
51
+ }
52
+ exports.OpnsenseAlias = OpnsenseAlias;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.OpnsenseFirewallRule = void 0;
37
+ const pulumi = __importStar(require("@pulumi/pulumi"));
38
+ const PLUGIN_VERSION = require("./package.json").version;
39
+ const PLUGIN_DOWNLOAD_URL = "github://api.github.com/tyevco/pulumi-homelab";
40
+ class OpnsenseFirewallRule extends pulumi.CustomResource {
41
+ constructor(name, args, opts) {
42
+ super("homelab:index:OpnsenseFirewallRule", name, {
43
+ uuid: undefined,
44
+ ...args,
45
+ }, {
46
+ version: PLUGIN_VERSION,
47
+ pluginDownloadURL: PLUGIN_DOWNLOAD_URL,
48
+ ...opts,
49
+ });
50
+ }
51
+ }
52
+ exports.OpnsenseFirewallRule = OpnsenseFirewallRule;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.OpnsenseUnboundAcl = void 0;
37
+ const pulumi = __importStar(require("@pulumi/pulumi"));
38
+ const PLUGIN_VERSION = require("./package.json").version;
39
+ const PLUGIN_DOWNLOAD_URL = "github://api.github.com/tyevco/pulumi-homelab";
40
+ class OpnsenseUnboundAcl extends pulumi.CustomResource {
41
+ constructor(name, args, opts) {
42
+ super("homelab:index:OpnsenseUnboundAcl", name, {
43
+ uuid: undefined,
44
+ ...args,
45
+ }, {
46
+ version: PLUGIN_VERSION,
47
+ pluginDownloadURL: PLUGIN_DOWNLOAD_URL,
48
+ ...opts,
49
+ });
50
+ }
51
+ }
52
+ exports.OpnsenseUnboundAcl = OpnsenseUnboundAcl;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.OpnsenseUnboundDnsbl = void 0;
37
+ const pulumi = __importStar(require("@pulumi/pulumi"));
38
+ const PLUGIN_VERSION = require("./package.json").version;
39
+ const PLUGIN_DOWNLOAD_URL = "github://api.github.com/tyevco/pulumi-homelab";
40
+ class OpnsenseUnboundDnsbl extends pulumi.CustomResource {
41
+ constructor(name, args, opts) {
42
+ super("homelab:index:OpnsenseUnboundDnsbl", name, {
43
+ uuid: undefined,
44
+ ...args,
45
+ }, {
46
+ version: PLUGIN_VERSION,
47
+ pluginDownloadURL: PLUGIN_DOWNLOAD_URL,
48
+ ...opts,
49
+ });
50
+ }
51
+ }
52
+ exports.OpnsenseUnboundDnsbl = OpnsenseUnboundDnsbl;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.OpnsenseUnboundForward = void 0;
37
+ const pulumi = __importStar(require("@pulumi/pulumi"));
38
+ const PLUGIN_VERSION = require("./package.json").version;
39
+ const PLUGIN_DOWNLOAD_URL = "github://api.github.com/tyevco/pulumi-homelab";
40
+ class OpnsenseUnboundForward extends pulumi.CustomResource {
41
+ constructor(name, args, opts) {
42
+ super("homelab:index:OpnsenseUnboundForward", name, {
43
+ uuid: undefined,
44
+ ...args,
45
+ }, {
46
+ version: PLUGIN_VERSION,
47
+ pluginDownloadURL: PLUGIN_DOWNLOAD_URL,
48
+ ...opts,
49
+ });
50
+ }
51
+ }
52
+ exports.OpnsenseUnboundForward = OpnsenseUnboundForward;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.OpnsenseUnboundHostOverride = void 0;
37
+ const pulumi = __importStar(require("@pulumi/pulumi"));
38
+ const PLUGIN_VERSION = require("./package.json").version;
39
+ const PLUGIN_DOWNLOAD_URL = "github://api.github.com/tyevco/pulumi-homelab";
40
+ class OpnsenseUnboundHostOverride extends pulumi.CustomResource {
41
+ constructor(name, args, opts) {
42
+ super("homelab:index:OpnsenseUnboundHostOverride", name, {
43
+ uuid: undefined,
44
+ ...args,
45
+ }, {
46
+ version: PLUGIN_VERSION,
47
+ pluginDownloadURL: PLUGIN_DOWNLOAD_URL,
48
+ ...opts,
49
+ });
50
+ }
51
+ }
52
+ exports.OpnsenseUnboundHostOverride = OpnsenseUnboundHostOverride;
package/package.json CHANGED
@@ -1,38 +1,35 @@
1
1
  {
2
2
  "name": "@tyevco/pulumi-homelab",
3
- "version": "0.5.3",
4
- "description": "A Pulumi native provider for managing homelab infrastructure via the homelab REST API",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
3
+ "version": "0.5.5",
4
+ "description": "Pulumi SDK for managing homelab infrastructure",
5
+ "main": "index.js",
6
+ "typings": "index.d.ts",
7
+ "files": [
8
+ "*.js",
9
+ "*.d.ts",
10
+ "package.json"
11
+ ],
7
12
  "scripts": {
8
- "build": "tsc",
9
- "clean": "rm -rf dist",
10
- "rebuild": "npm run clean && npm run build",
11
- "deploy:local": "npm run rebuild && VERSION=$(node -p \"require('./package.json').version\") && mkdir -p ~/.pulumi/plugins/resource-homelab-v${VERSION} && cp -r dist package.json node_modules schema.json pulumi-resource-homelab pulumi-resource-homelab.cmd ~/.pulumi/plugins/resource-homelab-v${VERSION}/",
12
- "prepublishOnly": "npm run build",
13
- "test": "jest"
13
+ "build": "tsc"
14
14
  },
15
- "keywords": [
16
- "pulumi",
17
- "homelab",
18
- "lxc",
19
- "infrastructure",
20
- "docker-compose"
21
- ],
22
- "license": "Apache-2.0",
23
15
  "dependencies": {
24
- "@grpc/grpc-js": "^1.8.0",
25
- "@pulumi/pulumi": "^3.132.0",
26
- "cross-fetch": "^4.0.0",
27
- "google-protobuf": "3.21.4",
28
- "yaml": "^2.8.2"
16
+ "@pulumi/pulumi": "^3.132.0"
29
17
  },
30
18
  "devDependencies": {
31
- "@types/google-protobuf": "^3.15.0",
32
- "@types/jest": "^30.0.0",
33
- "@types/node": "^20.0.0",
34
- "jest": "^30.2.0",
35
- "ts-jest": "^29.4.6",
36
- "typescript": "^5.0.0"
19
+ "typescript": "^5.0.0",
20
+ "@types/node": "^20.0.0"
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "https://github.com/tyevco/pulumi-homelab.git",
25
+ "directory": "sdk/nodejs"
26
+ },
27
+ "license": "Apache-2.0",
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
31
+ "pulumi": {
32
+ "resource": true,
33
+ "pluginDownloadURL": "github://api.github.com/tyevco/pulumi-homelab"
37
34
  }
38
35
  }
package/provider.js ADDED
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.Provider = void 0;
37
+ const pulumi = __importStar(require("@pulumi/pulumi"));
38
+ const PLUGIN_VERSION = require("./package.json").version;
39
+ const PLUGIN_DOWNLOAD_URL = "github://api.github.com/tyevco/pulumi-homelab";
40
+ /**
41
+ * The provider type for the Homelab package. By default, resources use package-wide configuration
42
+ * settings, however an explicit `Provider` instance may be created and passed during resource
43
+ * construction to achieve fine-grained programmatic control over provider settings.
44
+ */
45
+ class Provider extends pulumi.ProviderResource {
46
+ constructor(name, args, opts) {
47
+ const inputs = {
48
+ url: args?.url,
49
+ apiKey: args?.apiKey,
50
+ opnsenseUrl: args?.opnsenseUrl,
51
+ opnsenseApiKey: args?.opnsenseApiKey,
52
+ opnsenseApiSecret: args?.opnsenseApiSecret,
53
+ opnsenseInsecure: args?.opnsenseInsecure,
54
+ };
55
+ super("homelab", name, inputs, {
56
+ version: PLUGIN_VERSION,
57
+ pluginDownloadURL: PLUGIN_DOWNLOAD_URL,
58
+ ...opts,
59
+ });
60
+ }
61
+ }
62
+ exports.Provider = Provider;