@ydkn/pulumi-components 0.7.15 → 0.8.1

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 (176) hide show
  1. package/index.d.ts +2 -1
  2. package/index.js +2 -1
  3. package/index.js.map +1 -1
  4. package/lib/alpine/deployment.d.ts +9 -2
  5. package/lib/alpine/deployment.js +6 -1
  6. package/lib/alpine/deployment.js.map +1 -1
  7. package/lib/avahi/deployment.d.ts +4 -2
  8. package/lib/avahi/deployment.js +9 -2
  9. package/lib/avahi/deployment.js.map +1 -1
  10. package/lib/avahi/service.d.ts +6 -4
  11. package/lib/avahi/service.js +14 -11
  12. package/lib/avahi/service.js.map +1 -1
  13. package/lib/blocky/deployment.d.ts +6 -1
  14. package/lib/blocky/deployment.js +6 -1
  15. package/lib/blocky/deployment.js.map +1 -1
  16. package/lib/certManager/operator.d.ts +3 -1
  17. package/lib/certManager/operator.js.map +1 -1
  18. package/lib/common/componentResource.js.map +1 -1
  19. package/lib/cups/deployment.d.ts +6 -2
  20. package/lib/cups/deployment.js +2 -3
  21. package/lib/cups/deployment.js.map +1 -1
  22. package/lib/dhcpd/deployment.d.ts +3 -1
  23. package/lib/externalDns/dnsEndpoint.d.ts +3 -1
  24. package/lib/fcos/config.d.ts +2 -45
  25. package/lib/fcos/config.js +39 -44
  26. package/lib/fcos/config.js.map +1 -1
  27. package/lib/fcos/host.d.ts +3 -10
  28. package/lib/fcos/host.js +11 -2
  29. package/lib/fcos/host.js.map +1 -1
  30. package/lib/fcos/index.d.ts +2 -2
  31. package/lib/fcos/index.js +2 -2
  32. package/lib/fcos/index.js.map +1 -1
  33. package/lib/flatcar/config.d.ts +18 -0
  34. package/lib/flatcar/config.js +153 -0
  35. package/lib/flatcar/config.js.map +1 -0
  36. package/lib/flatcar/host.d.ts +25 -0
  37. package/lib/flatcar/host.js +53 -0
  38. package/lib/flatcar/host.js.map +1 -0
  39. package/lib/flatcar/index.d.ts +3 -0
  40. package/lib/flatcar/index.js +4 -0
  41. package/lib/flatcar/index.js.map +1 -0
  42. package/lib/freeradius/deployment.d.ts +3 -0
  43. package/lib/freeradius/deployment.js +6 -1
  44. package/lib/freeradius/deployment.js.map +1 -1
  45. package/lib/grafana/alloy.d.ts +5 -0
  46. package/lib/grafana/alloy.js +125 -5
  47. package/lib/grafana/alloy.js.map +1 -1
  48. package/lib/grafana/dashboard.js.map +1 -1
  49. package/lib/grafana/datasource.js.map +1 -1
  50. package/lib/grafana/deployment.d.ts +5 -0
  51. package/lib/grafana/deployment.js +55 -1
  52. package/lib/grafana/deployment.js.map +1 -1
  53. package/lib/hcloud/assets/fcos-install.sh +15 -13
  54. package/lib/hcloud/assets/flatcar-install.sh +19 -0
  55. package/lib/hcloud/cluster.d.ts +10 -16
  56. package/lib/hcloud/cluster.js +255 -117
  57. package/lib/hcloud/cluster.js.map +1 -1
  58. package/lib/k0s/cluster.js +37 -4
  59. package/lib/k0s/cluster.js.map +1 -1
  60. package/lib/kubernetes/assets/crashed-cleanup.sh +2 -2
  61. package/lib/kubernetes/crashedCleanup.js +4 -4
  62. package/lib/kubernetes/crashedCleanup.js.map +1 -1
  63. package/lib/kubernetes/v1/index.d.ts +3 -2
  64. package/lib/kubernetes/v1/index.js +2 -1
  65. package/lib/kubernetes/v1/index.js.map +1 -1
  66. package/lib/kubernetes/v1/secureIngress.js.map +1 -0
  67. package/lib/lldap/deployment.js +1 -2
  68. package/lib/lldap/deployment.js.map +1 -1
  69. package/lib/localPathProvisioner/deployment.d.ts +3 -1
  70. package/lib/localPathProvisioner/sharedFilesystem.js +1 -1
  71. package/lib/localPathProvisioner/sharedFilesystem.js.map +1 -1
  72. package/lib/loki/deployment.d.ts +3 -0
  73. package/lib/loki/deployment.js +3 -0
  74. package/lib/loki/deployment.js.map +1 -1
  75. package/lib/metallb/helpers.d.ts +13 -0
  76. package/lib/metallb/helpers.js +48 -0
  77. package/lib/metallb/helpers.js.map +1 -0
  78. package/lib/metallb/index.d.ts +2 -1
  79. package/lib/metallb/index.js +2 -1
  80. package/lib/metallb/index.js.map +1 -1
  81. package/lib/metallb/ipAddressPool.d.ts +4 -0
  82. package/lib/metallb/ipAddressPool.js.map +1 -1
  83. package/lib/minio/operator.d.ts +1 -0
  84. package/lib/minio/operator.js +1 -0
  85. package/lib/minio/operator.js.map +1 -1
  86. package/lib/minio/tenant.d.ts +12 -6
  87. package/lib/minio/tenant.js +3 -4
  88. package/lib/minio/tenant.js.map +1 -1
  89. package/lib/mongodb/cluster.d.ts +9 -2
  90. package/lib/mongodb/cluster.js +9 -3
  91. package/lib/mongodb/cluster.js.map +1 -1
  92. package/lib/mongodb/operator.d.ts +1 -0
  93. package/lib/mongodb/operator.js +1 -0
  94. package/lib/mongodb/operator.js.map +1 -1
  95. package/lib/nats/cluster.d.ts +3 -0
  96. package/lib/nats/cluster.js +1 -0
  97. package/lib/nats/cluster.js.map +1 -1
  98. package/lib/netbird/agent.d.ts +3 -1
  99. package/lib/netbird/agent.js +19 -6
  100. package/lib/netbird/agent.js.map +1 -1
  101. package/lib/netbird/assets/nftables.sh +12 -8
  102. package/lib/netbird/management.d.ts +4 -2
  103. package/lib/netbird/management.js +29 -9
  104. package/lib/netbird/management.js.map +1 -1
  105. package/lib/node/ignition.d.ts +49 -0
  106. package/lib/node/ignition.js +2 -0
  107. package/lib/node/ignition.js.map +1 -0
  108. package/lib/node/index.d.ts +2 -1
  109. package/lib/node/index.js.map +1 -1
  110. package/lib/node/node.d.ts +9 -2
  111. package/lib/node/node.js.map +1 -1
  112. package/lib/nodeExporter/deployment.js +1 -4
  113. package/lib/nodeExporter/deployment.js.map +1 -1
  114. package/lib/plex/mediaServer.d.ts +10 -2
  115. package/lib/plex/mediaServer.js +7 -1
  116. package/lib/plex/mediaServer.js.map +1 -1
  117. package/lib/plex/playlists.d.ts +2 -1
  118. package/lib/plex/playlists.js +15 -15
  119. package/lib/plex/playlists.js.map +1 -1
  120. package/lib/postgresql/cluster.d.ts +6 -1
  121. package/lib/postgresql/cluster.js +3 -1
  122. package/lib/postgresql/cluster.js.map +1 -1
  123. package/lib/postgresql/operator.d.ts +0 -1
  124. package/lib/postgresql/operator.js.map +1 -1
  125. package/lib/prometheus/operator.js +4 -3
  126. package/lib/prometheus/operator.js.map +1 -1
  127. package/lib/proxy/deployment.d.ts +3 -0
  128. package/lib/proxy/deployment.js +6 -1
  129. package/lib/proxy/deployment.js.map +1 -1
  130. package/lib/raspberrypi/cluster.d.ts +11 -8
  131. package/lib/raspberrypi/cluster.js +206 -67
  132. package/lib/raspberrypi/cluster.js.map +1 -1
  133. package/lib/rook/cluster.d.ts +1 -0
  134. package/lib/rook/cluster.js +2 -2
  135. package/lib/rook/cluster.js.map +1 -1
  136. package/lib/samba/dc.d.ts +15 -1
  137. package/lib/samba/dc.js +56 -11
  138. package/lib/samba/dc.js.map +1 -1
  139. package/lib/samba/deployment.d.ts +12 -2
  140. package/lib/samba/deployment.js +45 -1
  141. package/lib/samba/deployment.js.map +1 -1
  142. package/lib/torproxy/deployment.d.ts +3 -0
  143. package/lib/torproxy/deployment.js +6 -1
  144. package/lib/torproxy/deployment.js.map +1 -1
  145. package/lib/traefik/controller.d.ts +6 -1
  146. package/lib/traefik/controller.js +4 -0
  147. package/lib/traefik/controller.js.map +1 -1
  148. package/lib/traefik/index.d.ts +1 -2
  149. package/lib/traefik/index.js +1 -2
  150. package/lib/traefik/index.js.map +1 -1
  151. package/lib/traefik/middleware.d.ts +6 -2
  152. package/lib/transmission/deployment.d.ts +6 -2
  153. package/lib/transmission/deployment.js +2 -2
  154. package/lib/transmission/deployment.js.map +1 -1
  155. package/lib/ubuntu/deployment.d.ts +9 -2
  156. package/lib/ubuntu/deployment.js +6 -1
  157. package/lib/ubuntu/deployment.js.map +1 -1
  158. package/lib/unifi/assets/init-mongo.sh +19 -0
  159. package/lib/unifi/index.d.ts +2 -2
  160. package/lib/unifi/index.js +2 -2
  161. package/lib/unifi/index.js.map +1 -1
  162. package/lib/unifi/networkServer.d.ts +50 -0
  163. package/lib/unifi/networkServer.js +376 -0
  164. package/lib/unifi/networkServer.js.map +1 -0
  165. package/lib/versitygw/deployment.d.ts +6 -2
  166. package/lib/versitygw/deployment.js.map +1 -1
  167. package/lib/wireguard/deployment.d.ts +3 -1
  168. package/lib/wireguard/deployment.js +9 -2
  169. package/lib/wireguard/deployment.js.map +1 -1
  170. package/package.json +17 -17
  171. package/lib/traefik/secureIngress.js.map +0 -1
  172. package/lib/unifi/controller.d.ts +0 -29
  173. package/lib/unifi/controller.js +0 -192
  174. package/lib/unifi/controller.js.map +0 -1
  175. /package/lib/{traefik → kubernetes/v1}/secureIngress.d.ts +0 -0
  176. /package/lib/{traefik → kubernetes/v1}/secureIngress.js +0 -0
@@ -18,33 +18,22 @@ export class Config extends ComponentResource {
18
18
  .all([
19
19
  this.defaultConfig(),
20
20
  args.hostname,
21
- args.modules,
22
- args.packages,
23
21
  args.users,
24
22
  args.disks,
25
23
  args.filesystems,
26
24
  args.files,
27
25
  args.systemdUnits,
28
26
  ])
29
- .apply(([config, hostname, modules, packages, users, disks, filesystems, files, systemdUnits]) => {
30
- /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call */
27
+ .apply(([config, hostname, users, disks, filesystems, files, systemdUnits]) => {
28
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call */
31
29
  if (hostname !== undefined) {
32
30
  config.storage.files.push({
33
31
  path: "/etc/hostname",
34
- contents: this.storageContents(hostname),
32
+ contents: this.encodeContents(hostname),
35
33
  mode: 0o644,
34
+ overwrite: true,
36
35
  });
37
36
  }
38
- for (const module of modules ?? []) {
39
- config.storage.files.push({
40
- path: `/etc/modules-load.d/${module}.conf`,
41
- contents: this.storageContents(module),
42
- mode: 0o644,
43
- });
44
- }
45
- for (const pkg of packages ?? []) {
46
- config.storage.files.push({ path: `/etc/rpm-ostree-install/${pkg}` });
47
- }
48
37
  for (const user of users ?? []) {
49
38
  config.passwd.users.push(user);
50
39
  }
@@ -70,30 +59,33 @@ export class Config extends ComponentResource {
70
59
  format: filesystem.format,
71
60
  label: filesystem.label,
72
61
  });
73
- const checkSystemdName = filesystem.device.replace(/-/g, "\\x2d").replace(/^\//, "").replace(/\//g, "-");
74
- config.systemd.units.push({
75
- name: `${filesystem.path.replace(/^\//, "").replace(/\//g, "-")}.mount`,
76
- enabled: true,
77
- contents: [
78
- "[Unit]",
79
- "Before=local-fs.target",
80
- `Requires=systemd-fsck@${checkSystemdName}.service`,
81
- `After=systemd-fsck@${checkSystemdName}.service`,
82
- "[Mount]",
83
- `Where=${filesystem.path}`,
84
- `What=${filesystem.device}`,
85
- `Type=${filesystem.format}`,
86
- "Options=defaults,noatime",
87
- "[Install]",
88
- "RequiredBy=local-fs.target",
89
- ].join("\n"),
90
- });
62
+ if (filesystem.path !== undefined) {
63
+ const checkSystemdName = filesystem.device.replace(/-/g, "\\x2d").replace(/^\//, "").replace(/\//g, "-");
64
+ config.systemd.units.push({
65
+ name: `${filesystem.path.replace(/^\//, "").replace(/\//g, "-")}.mount`,
66
+ enabled: true,
67
+ contents: [
68
+ "[Unit]",
69
+ "Before=local-fs.target",
70
+ `Requires=systemd-fsck@${checkSystemdName}.service`,
71
+ `After=systemd-fsck@${checkSystemdName}.service`,
72
+ "[Mount]",
73
+ `Where=${filesystem.path}`,
74
+ `What=${filesystem.device}`,
75
+ `Type=${filesystem.format}`,
76
+ "Options=defaults,noatime",
77
+ "[Install]",
78
+ "RequiredBy=local-fs.target",
79
+ ].join("\n"),
80
+ });
81
+ }
91
82
  }
92
83
  for (const file of files ?? []) {
93
84
  config.storage.files.push({
94
85
  path: file.path,
95
- contents: this.storageContents(file.contents),
86
+ contents: this.encodeContents(file.contents),
96
87
  mode: file.mode ?? 0o644,
88
+ overwrite: file.overwrite ?? true,
97
89
  });
98
90
  }
99
91
  for (const unit of systemdUnits ?? []) {
@@ -117,31 +109,34 @@ export class Config extends ComponentResource {
117
109
  files: [
118
110
  {
119
111
  path: "/etc/sysctl.d/20-silence-audit.conf",
120
- contents: this.storageContents("kernel.printk=4"),
112
+ contents: this.encodeContents("kernel.printk=4"),
121
113
  mode: 0o644,
114
+ overwrite: true,
122
115
  },
123
116
  {
124
- overwrite: true,
125
117
  path: "/etc/sysctl.d/10-fs-inotify.conf",
126
- contents: this.storageContents("fs.inotify.max_user_instances = 8192\nfs.inotify.max_user_watches = 524288"),
118
+ contents: this.encodeContents("fs.inotify.max_user_instances = 8192\nfs.inotify.max_user_watches = 524288"),
119
+ overwrite: true,
127
120
  },
128
121
  {
129
- overwrite: true,
130
122
  path: "/etc/sysctl.d/90-ipv4-ip-forward.conf",
131
- contents: this.storageContents("net.ipv4.ip_forward = 1"),
123
+ contents: this.encodeContents("net.ipv4.ip_forward = 1"),
124
+ overwrite: true,
132
125
  },
133
126
  {
134
- overwrite: true,
135
127
  path: "/etc/sysctl.d/90-ipv6-ip-forwarding.conf",
136
- contents: this.storageContents("net.ipv6.conf.all.forwarding = 1"),
128
+ contents: this.encodeContents("net.ipv6.conf.all.forwarding = 1"),
129
+ overwrite: true,
137
130
  },
138
- { overwrite: false, path: "/etc/systemd/resolved.conf", append: [this.storageContents("LLMNR=no")] },
131
+ { path: "/etc/systemd/resolved.conf", append: [this.encodeContents("LLMNR=no")], overwrite: false },
139
132
  {
140
133
  path: "/usr/local/sbin/rpm-ostree-install",
141
- contents: this.storageContents(this.assetContent("rpm-ostree-install.sh")),
134
+ contents: this.encodeContents(this.assetContent("rpm-ostree-install.sh")),
142
135
  mode: 0o755,
136
+ overwrite: true,
143
137
  },
144
138
  ],
139
+ links: [],
145
140
  },
146
141
  systemd: {
147
142
  units: [
@@ -158,7 +153,7 @@ export class Config extends ComponentResource {
158
153
  // eslint-disable-next-line security/detect-non-literal-fs-filename
159
154
  return fs.readFileSync(path.join(path.dirname(url.fileURLToPath(import.meta.url)), "assets", filename), "utf-8");
160
155
  }
161
- storageContents(data) {
156
+ encodeContents(data) {
162
157
  return {
163
158
  compression: "gzip",
164
159
  source: `data:;base64,${compress.gzipSync(Buffer.from(data), { level: 9 }).toString("base64")}`,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../lib/fcos/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../lib/fcos/config.ts"],"names":[],"mappings":"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"}
@@ -3,25 +3,18 @@ import * as tls from "@pulumi/tls";
3
3
  import { ComponentResource } from "../common/index.js";
4
4
  import { ConfigArgs } from "./config.js";
5
5
  export interface HostUserArgs {
6
- /**
7
- * Username
8
- */
9
6
  name: pulumi.Input<string>;
10
- /**
11
- * Optional: Groups
12
- */
13
7
  groups?: pulumi.Input<pulumi.Input<string>[]>;
14
8
  }
15
9
  export interface HostArgs extends ConfigArgs {
16
- /**
17
- * Optional: Users with SSH access
18
- */
19
10
  sshUsers?: pulumi.Input<pulumi.Input<HostUserArgs>[]>;
20
11
  }
21
12
  export declare class Host extends ComponentResource {
22
13
  private static readonly defaultModules;
23
14
  private static readonly defaultPackages;
24
- readonly sshPrivateKeys: pulumi.Output<Record<string, tls.PrivateKey>>;
15
+ readonly sshPrivateKeys: pulumi.Output<{
16
+ [key: string]: tls.PrivateKey;
17
+ }>;
25
18
  readonly ignitionConfig: pulumi.Output<string>;
26
19
  /**
27
20
  * Create a new FCOS host resource.
package/lib/fcos/host.js CHANGED
@@ -33,8 +33,17 @@ export class Host extends ComponentResource {
33
33
  });
34
34
  this.ignitionConfig = new Config(name, {
35
35
  ...args,
36
- modules: pulumi.all([args.modules]).apply(([modules]) => (modules ?? []).concat(...Host.defaultModules)),
37
- packages: pulumi.all([args.packages]).apply(([packages]) => (packages ?? []).concat(...Host.defaultPackages)),
36
+ files: pulumi.all([args.files ?? []]).apply(([files]) => files.concat(Host.defaultModules
37
+ .map((module) => ({
38
+ path: `/etc/modules-load.d/${module}.conf`,
39
+ contents: module,
40
+ mode: 0o644,
41
+ }))
42
+ .concat(Host.defaultPackages.map((pkg) => ({
43
+ path: `/etc/rpm-ostree-install/${pkg}`,
44
+ contents: "",
45
+ mode: 0o644,
46
+ }))))),
38
47
  users: pulumi
39
48
  .all([args.users, args.sshUsers, this.sshPrivateKeys])
40
49
  .apply(([users, sshUsers, sshPrivateKeys]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../lib/fcos/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../lib/fcos/host.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { PartitionArgs, DiskArgs, FilesystemArgs, UserArgs, FilesArgs, SystemdUnitArgs, IgnitionArgs, ConfigArgs, Config } from "./config.js";
1
+ import { ConfigArgs, Config } from "./config.js";
2
2
  import { HostUserArgs, HostArgs, Host } from "./host.js";
3
- export { PartitionArgs, DiskArgs, FilesystemArgs, UserArgs, FilesArgs, SystemdUnitArgs, IgnitionArgs, ConfigArgs, Config, HostUserArgs, HostArgs, Host, };
3
+ export { ConfigArgs, Config, HostUserArgs, HostArgs, Host };
package/lib/fcos/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Config, } from "./config.js";
1
+ import { Config } from "./config.js";
2
2
  import { Host } from "./host.js";
3
- export { Config, Host, };
3
+ export { Config, Host };
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/fcos/index.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,MAAM,GACP,MAAM,aAAa,CAAC;AACrB,OAAO,EAA0B,IAAI,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EASL,MAAM,EAGN,IAAI,GACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/fcos/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAA0B,IAAI,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAc,MAAM,EAA0B,IAAI,EAAE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import { ComponentResource } from "../common/index.js";
3
+ import { IgnitionArgs } from "../node/index.js";
4
+ export interface ConfigArgs extends IgnitionArgs {
5
+ hostname: pulumi.Input<string>;
6
+ }
7
+ export declare class Config extends ComponentResource {
8
+ readonly ignitionConfig: pulumi.Output<string>;
9
+ /**
10
+ * Create a new Flatcar config resource.
11
+ * @param name The name of the Flatcar config resource.
12
+ * @param args A bag of arguments to control the Flatcar config creation.
13
+ * @param opts A bag of options that control this resource's behavior.
14
+ */
15
+ constructor(name: string, args: ConfigArgs, opts?: pulumi.ComponentResourceOptions);
16
+ private defaultConfig;
17
+ private encodeContents;
18
+ }
@@ -0,0 +1,153 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as compress from "zlib";
3
+ import { ComponentResource } from "../common/index.js";
4
+ export class Config extends ComponentResource {
5
+ ignitionConfig;
6
+ /**
7
+ * Create a new Flatcar config resource.
8
+ * @param name The name of the Flatcar config resource.
9
+ * @param args A bag of arguments to control the Flatcar config creation.
10
+ * @param opts A bag of options that control this resource's behavior.
11
+ */
12
+ constructor(name, args, opts) {
13
+ super("flatcar:config", name, args, opts);
14
+ this.ignitionConfig = pulumi
15
+ .all([
16
+ this.defaultConfig(),
17
+ args.hostname,
18
+ args.users,
19
+ args.disks,
20
+ args.filesystems,
21
+ args.files,
22
+ args.links,
23
+ args.systemdUnits,
24
+ ])
25
+ .apply(([config, hostname, users, disks, filesystems, files, links, systemdUnits]) => {
26
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call */
27
+ if (hostname !== undefined) {
28
+ config.storage.files.push({
29
+ path: "/etc/hostname",
30
+ contents: this.encodeContents(hostname),
31
+ mode: 0o644,
32
+ overwrite: true,
33
+ });
34
+ }
35
+ for (const user of users ?? []) {
36
+ config.passwd.users.push(user);
37
+ }
38
+ for (const disk of disks ?? []) {
39
+ config.storage.disks.push({
40
+ device: disk.device,
41
+ partitions: disk.partitions.map((partition) => {
42
+ return {
43
+ label: partition.label,
44
+ size_mib: partition.size,
45
+ start_mib: partition.start,
46
+ number: partition.number,
47
+ resize: partition.resize,
48
+ };
49
+ }),
50
+ wipe_table: disk.wipeTable,
51
+ });
52
+ }
53
+ for (const filesystem of filesystems ?? []) {
54
+ config.storage.filesystems.push({
55
+ device: filesystem.device,
56
+ path: filesystem.path,
57
+ format: filesystem.format,
58
+ label: filesystem.label,
59
+ });
60
+ if (filesystem.path !== undefined) {
61
+ const checkSystemdName = filesystem.device.replace(/-/g, "\\x2d").replace(/^\//, "").replace(/\//g, "-");
62
+ config.systemd.units.push({
63
+ name: `${filesystem.path.replace(/^\//, "").replace(/\//g, "-")}.mount`,
64
+ enabled: true,
65
+ contents: [
66
+ "[Unit]",
67
+ "Before=local-fs.target",
68
+ `Requires=systemd-fsck@${checkSystemdName}.service`,
69
+ `After=systemd-fsck@${checkSystemdName}.service`,
70
+ "[Mount]",
71
+ `Where=${filesystem.path}`,
72
+ `What=${filesystem.device}`,
73
+ `Type=${filesystem.format}`,
74
+ "Options=defaults,noatime",
75
+ "[Install]",
76
+ "RequiredBy=local-fs.target",
77
+ ].join("\n"),
78
+ });
79
+ }
80
+ }
81
+ for (const file of files ?? []) {
82
+ config.storage.files.push({
83
+ path: file.path,
84
+ contents: this.encodeContents(file.contents),
85
+ mode: file.mode ?? 0o644,
86
+ overwrite: file.overwrite ?? true,
87
+ });
88
+ }
89
+ for (const link of links ?? []) {
90
+ config.storage.links.push({
91
+ path: link.path,
92
+ target: link.target,
93
+ overwrite: true,
94
+ });
95
+ }
96
+ for (const unit of systemdUnits ?? []) {
97
+ config.systemd.units.push(unit);
98
+ }
99
+ return JSON.stringify(config);
100
+ });
101
+ this.registerOutputs();
102
+ }
103
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
104
+ defaultConfig() {
105
+ return {
106
+ ignition: { version: "3.3.0" },
107
+ passwd: {
108
+ users: [],
109
+ },
110
+ storage: {
111
+ disks: [],
112
+ filesystems: [],
113
+ directories: [],
114
+ files: [
115
+ {
116
+ path: "/etc/sysctl.d/10-kernel-logging.conf",
117
+ contents: this.encodeContents("kernel.printk=4"),
118
+ mode: 0o644,
119
+ overwrite: true,
120
+ },
121
+ {
122
+ path: "/etc/sysctl.d/20-fs-inotify.conf",
123
+ contents: this.encodeContents("fs.inotify.max_user_instances = 8192\nfs.inotify.max_user_watches = 524288"),
124
+ mode: 0o644,
125
+ overwrite: true,
126
+ },
127
+ {
128
+ path: "/etc/sysctl.d/90-ipv4-ip-forward.conf",
129
+ contents: this.encodeContents("net.ipv4.ip_forward = 1"),
130
+ mode: 0o644,
131
+ overwrite: true,
132
+ },
133
+ {
134
+ path: "/etc/sysctl.d/90-ipv6-ip-forwarding.conf",
135
+ contents: this.encodeContents("net.ipv6.conf.all.forwarding = 1"),
136
+ mode: 0o644,
137
+ overwrite: true,
138
+ },
139
+ { path: "/etc/systemd/resolved.conf", append: [this.encodeContents("LLMNR=no")], overwrite: false },
140
+ ],
141
+ links: [],
142
+ },
143
+ systemd: { units: [] },
144
+ };
145
+ }
146
+ encodeContents(data) {
147
+ return {
148
+ compression: "gzip",
149
+ source: `data:;base64,${compress.gzipSync(Buffer.from(data), { level: 9 }).toString("base64")}`,
150
+ };
151
+ }
152
+ }
153
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../lib/flatcar/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as tls from "@pulumi/tls";
3
+ import { ComponentResource } from "../common/index.js";
4
+ import { ConfigArgs } from "./config.js";
5
+ export interface HostUserArgs {
6
+ name: pulumi.Input<string>;
7
+ groups?: pulumi.Input<pulumi.Input<string>[]>;
8
+ }
9
+ export interface HostArgs extends ConfigArgs {
10
+ sshUsers?: pulumi.Input<pulumi.Input<HostUserArgs>[]>;
11
+ }
12
+ export declare class Host extends ComponentResource {
13
+ private static readonly defaultModules;
14
+ readonly sshPrivateKeys: pulumi.Output<{
15
+ [key: string]: tls.PrivateKey;
16
+ }>;
17
+ readonly ignitionConfig: pulumi.Output<string>;
18
+ /**
19
+ * Create a new Flatcar host resource.
20
+ * @param name The name of the Flatcar host resource.
21
+ * @param args A bag of arguments to control the Flatcar host creation.
22
+ * @param opts A bag of options that control this resource's behavior.
23
+ */
24
+ constructor(name: string, args: HostArgs, opts?: pulumi.ComponentResourceOptions);
25
+ }
@@ -0,0 +1,53 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as tls from "@pulumi/tls";
3
+ import { ComponentResource } from "../common/index.js";
4
+ import { Config } from "./config.js";
5
+ export class Host extends ComponentResource {
6
+ static defaultModules = ["wireguard"];
7
+ sshPrivateKeys;
8
+ ignitionConfig;
9
+ /**
10
+ * Create a new Flatcar host resource.
11
+ * @param name The name of the Flatcar host resource.
12
+ * @param args A bag of arguments to control the Flatcar host creation.
13
+ * @param opts A bag of options that control this resource's behavior.
14
+ */
15
+ constructor(name, args, opts) {
16
+ super("flatcar:host", name, args, opts);
17
+ const emptyOpts = this.opts();
18
+ this.sshPrivateKeys = pulumi.all([args.sshUsers]).apply(([sshUsers]) => {
19
+ const sshPrivateKeys = {};
20
+ for (const sshUser of sshUsers ?? []) {
21
+ sshPrivateKeys[sshUser.name] = new tls.PrivateKey(`${name}-${sshUser.name}`, { algorithm: "ED25519" }, emptyOpts);
22
+ }
23
+ return sshPrivateKeys;
24
+ });
25
+ this.ignitionConfig = new Config(name, {
26
+ ...args,
27
+ files: pulumi.all([args.files ?? []]).apply(([files]) => files.concat(Host.defaultModules.map((module) => ({
28
+ path: `/etc/modules-load.d/${module}.conf`,
29
+ contents: module,
30
+ mode: 0o644,
31
+ })))),
32
+ users: pulumi
33
+ .all([args.users, args.sshUsers, this.sshPrivateKeys])
34
+ .apply(([users, sshUsers, sshPrivateKeys]) => {
35
+ const allUsers = [];
36
+ for (const user of users ?? []) {
37
+ allUsers.push(user);
38
+ }
39
+ for (const sshUser of sshUsers ?? []) {
40
+ allUsers.push({
41
+ name: sshUser.name,
42
+ groups: sshUser.groups,
43
+ sshAuthorizedKeys: sshPrivateKeys[sshUser.name].publicKeyOpenssh.apply((key) => [key.trim()]),
44
+ });
45
+ }
46
+ return allUsers;
47
+ }),
48
+ systemdUnits: [],
49
+ }, emptyOpts).ignitionConfig;
50
+ this.registerOutputs();
51
+ }
52
+ }
53
+ //# sourceMappingURL=host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../lib/flatcar/host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAc,MAAM,EAAE,MAAM,aAAa,CAAC;AAWjD,MAAM,OAAO,IAAK,SAAQ,iBAAiB;IACjC,MAAM,CAAU,cAAc,GAAa,CAAC,WAAW,CAAC,CAAC;IAEjD,cAAc,CAAmD;IACjE,cAAc,CAAwB;IAEtD;;;;;OAKG;IACH,YAAY,IAAY,EAAE,IAAc,EAAE,IAAsC;QAC9E,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAExC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE9B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE;YACrE,MAAM,cAAc,GAAsC,EAAE,CAAC;YAE7D,KAAK,MAAM,OAAO,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;gBACrC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAC/C,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,EACzB,EAAE,SAAS,EAAE,SAAS,EAAE,EACxB,SAAS,CACV,CAAC;YACJ,CAAC;YAED,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,IAAI,MAAM,CAC9B,IAAI,EACJ;YACE,GAAG,IAAI;YACP,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CACtD,KAAK,CAAC,MAAM,CACV,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACnC,IAAI,EAAE,uBAAuB,MAAM,OAAO;gBAC1C,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC,CACJ,CACF;YACD,KAAK,EAAE,MAAM;iBACV,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;iBACrD,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,EAAE;gBAC3C,MAAM,QAAQ,GAAqC,EAAE,CAAC;gBAEtD,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;oBAC/B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;gBAED,KAAK,MAAM,OAAO,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;oBACrC,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,iBAAiB,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;qBAC9F,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC;YACJ,YAAY,EAAE,EAAE;SACjB,EACD,SAAS,CACV,CAAC,cAAc,CAAC;QAEjB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ConfigArgs, Config } from "./config.js";
2
+ import { HostUserArgs, HostArgs, Host } from "./host.js";
3
+ export { ConfigArgs, Config, HostUserArgs, HostArgs, Host };
@@ -0,0 +1,4 @@
1
+ import { Config } from "./config.js";
2
+ import { Host } from "./host.js";
3
+ export { Config, Host };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/flatcar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,MAAM,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAA0B,IAAI,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAc,MAAM,EAA0B,IAAI,EAAE,CAAC"}
@@ -13,6 +13,9 @@ export interface FreeRadiusServerArgs {
13
13
  domain: pulumi.Input<string>;
14
14
  ldap: pulumi.Input<LdapArgs>;
15
15
  serviceType?: pulumi.Input<string>;
16
+ serviceLabels?: pulumi.Input<{
17
+ [key: string]: pulumi.Input<string>;
18
+ }>;
16
19
  serviceLoadBalancerClass?: pulumi.Input<string>;
17
20
  resources?: pulumi.Input<k8s.types.input.core.v1.ResourceRequirements>;
18
21
  protect?: boolean;
@@ -154,7 +154,12 @@ export class FreeRadiusServer extends ComponentResource {
154
154
  },
155
155
  }, k8sOpts);
156
156
  this.service = new kubernetes.v1.Service(name, {
157
- metadata,
157
+ metadata: {
158
+ ...metadata,
159
+ labels: pulumi.all([args.serviceLabels]).apply(([labels]) => {
160
+ return { ...metadata.labels, ...labels };
161
+ }),
162
+ },
158
163
  spec: {
159
164
  loadBalancerClass: args.serviceLoadBalancerClass,
160
165
  type: args.serviceType ?? "ClusterIP",
@@ -1 +1 @@
1
- {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../lib/freeradius/deployment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../lib/freeradius/deployment.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import * as k8s from "@pulumi/kubernetes";
3
3
  import { ComponentResource } from "../common/index.js";
4
+ import { Node } from "../node/index.js";
4
5
  export interface PrometheusArgs {
5
6
  url: pulumi.Input<string>;
6
7
  username?: pulumi.Input<string>;
@@ -22,12 +23,16 @@ export interface AlloyArgs {
22
23
  clusterIssuer?: pulumi.Input<string>;
23
24
  resources?: pulumi.Input<k8s.types.input.core.v1.ResourceRequirements>;
24
25
  installPrometheusCRDs?: pulumi.Input<boolean>;
26
+ nodes: pulumi.Input<pulumi.Input<Node>[]>;
25
27
  }
26
28
  export declare class Alloy extends ComponentResource {
27
29
  private readonly prometheusCRDsRelease;
28
30
  private readonly prometheusSecret;
29
31
  private readonly lokiSecret;
30
32
  private readonly helmRelease;
33
+ private readonly kubeletService;
34
+ private readonly kubeletEndpoints;
35
+ private readonly kubeletServiceMonitor;
31
36
  readonly namespace: pulumi.Output<string>;
32
37
  /**
33
38
  * Create a new grafana alloy resource.