@tyevco/pulumi-homelab 0.2.3 → 0.3.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/index.d.ts CHANGED
@@ -8,4 +8,4 @@ export { OpnsenseUnboundHostOverride, OpnsenseUnboundHostOverrideArgs } from "./
8
8
  export { OpnsenseUnboundForward, OpnsenseUnboundForwardArgs } from "./opnsenseUnboundForward";
9
9
  export { OpnsenseUnboundAcl, OpnsenseUnboundAclArgs } from "./opnsenseUnboundAcl";
10
10
  export { OpnsenseUnboundDnsbl, OpnsenseUnboundDnsblArgs } from "./opnsenseUnboundDnsbl";
11
- export { DockgeStack, DockgeStackArgs, DockgeContainerInfo } from "./stack";
11
+ export { LxcContainer, LxcContainerArgs } from "./lxcContainer";
package/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
- // Pulumi SDK for Homelab - manages homelab infrastructure via the Dockge REST API
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.DockgeStack = exports.OpnsenseUnboundDnsbl = exports.OpnsenseUnboundAcl = exports.OpnsenseUnboundForward = exports.OpnsenseUnboundHostOverride = exports.OpnsenseAlias = exports.OpnsenseFirewallRule = exports.TraefikRoute = exports.TraefikStaticConfig = exports.Stack = exports.Provider = void 0;
3
+ exports.LxcContainer = exports.OpnsenseUnboundDnsbl = exports.OpnsenseUnboundAcl = exports.OpnsenseUnboundForward = exports.OpnsenseUnboundHostOverride = exports.OpnsenseAlias = exports.OpnsenseFirewallRule = exports.TraefikRoute = exports.TraefikStaticConfig = exports.Stack = exports.Provider = void 0;
5
4
  // Provider
6
5
  var provider_1 = require("./provider");
7
6
  Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return provider_1.Provider; } });
@@ -24,6 +23,5 @@ var opnsenseUnboundAcl_1 = require("./opnsenseUnboundAcl");
24
23
  Object.defineProperty(exports, "OpnsenseUnboundAcl", { enumerable: true, get: function () { return opnsenseUnboundAcl_1.OpnsenseUnboundAcl; } });
25
24
  var opnsenseUnboundDnsbl_1 = require("./opnsenseUnboundDnsbl");
26
25
  Object.defineProperty(exports, "OpnsenseUnboundDnsbl", { enumerable: true, get: function () { return opnsenseUnboundDnsbl_1.OpnsenseUnboundDnsbl; } });
27
- // Backward compatibility aliases
28
- var stack_2 = require("./stack");
29
- Object.defineProperty(exports, "DockgeStack", { enumerable: true, get: function () { return stack_2.DockgeStack; } });
26
+ var lxcContainer_1 = require("./lxcContainer");
27
+ Object.defineProperty(exports, "LxcContainer", { enumerable: true, get: function () { return lxcContainer_1.LxcContainer; } });
@@ -0,0 +1,28 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ export interface LxcContainerArgs {
3
+ /** The container name. Must match ^[a-z0-9_.-]+$. */
4
+ name: pulumi.Input<string>;
5
+ /** The Linux distribution (e.g., ubuntu, debian, alpine). */
6
+ dist: pulumi.Input<string>;
7
+ /** The distribution release (e.g., jammy, bookworm). */
8
+ release: pulumi.Input<string>;
9
+ /** The architecture (e.g., amd64, arm64). */
10
+ arch: pulumi.Input<string>;
11
+ /** Optional LXC container configuration file content. */
12
+ config?: pulumi.Input<string>;
13
+ /** Whether the container should autostart (default: false). */
14
+ autostart?: pulumi.Input<boolean>;
15
+ }
16
+ export declare class LxcContainer extends pulumi.CustomResource {
17
+ readonly name: pulumi.Output<string>;
18
+ readonly dist: pulumi.Output<string>;
19
+ readonly release: pulumi.Output<string>;
20
+ readonly arch: pulumi.Output<string>;
21
+ readonly config: pulumi.Output<string>;
22
+ readonly autostart: pulumi.Output<boolean>;
23
+ readonly status: pulumi.Output<number>;
24
+ readonly ip: pulumi.Output<string>;
25
+ readonly pid: pulumi.Output<number>;
26
+ readonly memory: pulumi.Output<string>;
27
+ constructor(name: string, args: LxcContainerArgs, opts?: pulumi.CustomResourceOptions);
28
+ }
@@ -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;
@@ -2,7 +2,7 @@ import * as pulumi from "@pulumi/pulumi";
2
2
  export interface OpnsenseAliasArgs {
3
3
  /** The alias name. Must be unique. */
4
4
  name: pulumi.Input<string>;
5
- /** Alias type: host, network, port, url, or urltable. */
5
+ /** Alias type: host, network, port, mac, url, or urltable. */
6
6
  type: pulumi.Input<string>;
7
7
  /** Alias content (newline-separated entries, e.g., IP addresses, networks, ports, or URLs). */
8
8
  content?: pulumi.Input<string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyevco/pulumi-homelab",
3
- "version": "0.2.3",
3
+ "version": "0.3.0",
4
4
  "description": "Pulumi SDK for managing homelab infrastructure",
5
5
  "main": "index.js",
6
6
  "typings": "index.d.ts",
package/stack.d.ts CHANGED
@@ -8,9 +8,8 @@ export interface ContainerInfo {
8
8
  health: string;
9
9
  ports: string[];
10
10
  }
11
- export type DockgeContainerInfo = ContainerInfo;
12
11
  export interface StackArgs {
13
- /** The stack name. Must be unique on the Dockge server. */
12
+ /** The stack name. Must be unique on the homelab server. */
14
13
  name: pulumi.Input<string>;
15
14
  /** The Docker Compose YAML content for this stack. */
16
15
  composeYaml: pulumi.Input<string>;
@@ -25,9 +24,8 @@ export interface StackArgs {
25
24
  /** Whether the stack should be running (default: true). */
26
25
  running?: pulumi.Input<boolean>;
27
26
  }
28
- export type DockgeStackArgs = StackArgs;
29
27
  /**
30
- * Manages a Docker Compose stack on a Dockge server via the REST API.
28
+ * Manages a Docker Compose stack on a homelab server via the REST API.
31
29
  * Supports creating, updating, starting, stopping, and deleting stacks.
32
30
  *
33
31
  * ## Example Usage
@@ -58,5 +56,3 @@ export declare class Stack extends pulumi.CustomResource {
58
56
  readonly containers: pulumi.Output<ContainerInfo[]>;
59
57
  constructor(name: string, args: StackArgs, opts?: pulumi.CustomResourceOptions);
60
58
  }
61
- export declare class DockgeStack extends Stack {
62
- }
package/stack.js CHANGED
@@ -33,12 +33,12 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.DockgeStack = exports.Stack = void 0;
36
+ exports.Stack = void 0;
37
37
  const pulumi = __importStar(require("@pulumi/pulumi"));
38
38
  const PLUGIN_VERSION = require("./package.json").version;
39
39
  const PLUGIN_DOWNLOAD_URL = "github://api.github.com/tyevco/pulumi-homelab";
40
40
  /**
41
- * Manages a Docker Compose stack on a Dockge server via the REST API.
41
+ * Manages a Docker Compose stack on a homelab server via the REST API.
42
42
  * Supports creating, updating, starting, stopping, and deleting stacks.
43
43
  *
44
44
  * ## Example Usage
@@ -67,11 +67,7 @@ class Stack extends pulumi.CustomResource {
67
67
  version: PLUGIN_VERSION,
68
68
  pluginDownloadURL: PLUGIN_DOWNLOAD_URL,
69
69
  ...opts,
70
- aliases: [{ type: "dockge:index:DockgeStack" }],
71
70
  });
72
71
  }
73
72
  }
74
73
  exports.Stack = Stack;
75
- class DockgeStack extends Stack {
76
- }
77
- exports.DockgeStack = DockgeStack;