@ydkn/pulumi-components 0.8.5 → 0.8.7

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 (91) hide show
  1. package/index.d.ts +7 -3
  2. package/index.js +6 -2
  3. package/index.js.map +1 -1
  4. package/lib/alpine/deployment.js +2 -2
  5. package/lib/avahi/service.d.ts +1 -0
  6. package/lib/avahi/service.js +4 -1
  7. package/lib/avahi/service.js.map +1 -1
  8. package/lib/blocky/deployment.js +2 -2
  9. package/lib/blocky/deployment.js.map +1 -1
  10. package/lib/certManager/index.d.ts +2 -2
  11. package/lib/certManager/index.js.map +1 -1
  12. package/lib/certManager/issuer.d.ts +8 -0
  13. package/lib/certManager/issuer.js.map +1 -1
  14. package/lib/certManager/operator.d.ts +13 -3
  15. package/lib/certManager/operator.js +103 -39
  16. package/lib/certManager/operator.js.map +1 -1
  17. package/lib/common/index.d.ts +1 -2
  18. package/lib/common/index.js.map +1 -1
  19. package/lib/externalDns/operator.d.ts +4 -0
  20. package/lib/externalDns/operator.js +49 -15
  21. package/lib/externalDns/operator.js.map +1 -1
  22. package/lib/freeradius/deployment.js +4 -1
  23. package/lib/freeradius/deployment.js.map +1 -1
  24. package/lib/grafana/alloy.js +4 -4
  25. package/lib/grafana/deployment.js +2 -2
  26. package/lib/hostPathProvisioner/deployment.d.ts +4 -0
  27. package/lib/hostPathProvisioner/deployment.js +36 -29
  28. package/lib/hostPathProvisioner/deployment.js.map +1 -1
  29. package/lib/jellyfin/deployment.d.ts +53 -0
  30. package/lib/jellyfin/deployment.js +205 -0
  31. package/lib/jellyfin/deployment.js.map +1 -0
  32. package/lib/jellyfin/index.d.ts +2 -0
  33. package/lib/jellyfin/index.js +3 -0
  34. package/lib/jellyfin/index.js.map +1 -0
  35. package/lib/mastodon/deployment.d.ts +74 -0
  36. package/lib/mastodon/deployment.js +358 -0
  37. package/lib/mastodon/deployment.js.map +1 -0
  38. package/lib/mastodon/index.d.ts +2 -0
  39. package/lib/mastodon/index.js +3 -0
  40. package/lib/mastodon/index.js.map +1 -0
  41. package/lib/metallb/controller.js +2 -2
  42. package/lib/netbird/management.js +8 -8
  43. package/lib/netbird/management.js.map +1 -1
  44. package/lib/nginx/deployment.d.ts +30 -0
  45. package/lib/nginx/deployment.js +167 -0
  46. package/lib/nginx/deployment.js.map +1 -0
  47. package/lib/nginx/index.d.ts +2 -0
  48. package/lib/nginx/index.js +3 -0
  49. package/lib/nginx/index.js.map +1 -0
  50. package/lib/plex/mediaServer.d.ts +1 -1
  51. package/lib/plex/mediaServer.js +15 -4
  52. package/lib/plex/mediaServer.js.map +1 -1
  53. package/lib/prometheus/operator.js +2 -2
  54. package/lib/prometheus/operator.js.map +1 -1
  55. package/lib/proxy/deployment.js +2 -2
  56. package/lib/redis/standalone.js +4 -4
  57. package/lib/reloader/deployment.d.ts +16 -0
  58. package/lib/reloader/deployment.js +48 -0
  59. package/lib/reloader/deployment.js.map +1 -0
  60. package/lib/reloader/index.d.ts +2 -0
  61. package/lib/reloader/index.js +3 -0
  62. package/lib/reloader/index.js.map +1 -0
  63. package/lib/samba/dc.js +2 -2
  64. package/lib/traefik/controller.js +2 -2
  65. package/lib/traefik/controller.js.map +1 -1
  66. package/lib/traefik/middleware.d.ts +5 -0
  67. package/lib/traefik/middleware.js.map +1 -1
  68. package/lib/unifi/networkServer.js +3 -3
  69. package/lib/utils/args.d.ts +2 -0
  70. package/lib/utils/args.js +13 -0
  71. package/lib/utils/args.js.map +1 -0
  72. package/lib/utils/index.d.ts +2 -0
  73. package/lib/utils/index.js +3 -0
  74. package/lib/utils/index.js.map +1 -0
  75. package/lib/velero/operator.d.ts +8 -0
  76. package/lib/velero/operator.js +46 -18
  77. package/lib/velero/operator.js.map +1 -1
  78. package/lib/zitadel/deployment.js +2 -2
  79. package/package.json +18 -18
  80. package/lib/common/types.d.ts +0 -2
  81. package/lib/common/types.js +0 -2
  82. package/lib/common/types.js.map +0 -1
  83. package/lib/minio/index.d.ts +0 -3
  84. package/lib/minio/index.js +0 -4
  85. package/lib/minio/index.js.map +0 -1
  86. package/lib/minio/operator.d.ts +0 -18
  87. package/lib/minio/operator.js +0 -48
  88. package/lib/minio/operator.js.map +0 -1
  89. package/lib/minio/tenant.d.ts +0 -70
  90. package/lib/minio/tenant.js +0 -192
  91. package/lib/minio/tenant.js.map +0 -1
@@ -1,8 +1,16 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  import { ComponentResource } from "../common/index.js";
3
+ export interface S3Args {
4
+ bucket: pulumi.Input<string>;
5
+ endpoint: pulumi.Input<string>;
6
+ region?: pulumi.Input<string>;
7
+ accessKeyId: pulumi.Input<string>;
8
+ accessKeySecret: pulumi.Input<string>;
9
+ }
3
10
  export interface VeleroArgs {
4
11
  namespace?: pulumi.Input<string>;
5
12
  clusterName: pulumi.Input<string>;
13
+ s3?: pulumi.Input<S3Args>;
6
14
  protect?: boolean;
7
15
  }
8
16
  export declare class Velero extends ComponentResource {
@@ -22,7 +22,26 @@ export class Velero extends ComponentResource {
22
22
  const emptyOpts = this.opts();
23
23
  const awsOpts = this.opts(aws.Provider);
24
24
  const k8sOpts = this.opts(k8s.Provider);
25
- this.bucket = new Bucket(name, { name: pulumi.interpolate `${name}-${args.clusterName}`, protect: args.protect }, awsOpts);
25
+ if (args.s3 === undefined) {
26
+ const bucket = new Bucket(name, { name: pulumi.interpolate `${name}-${args.clusterName}`, protect: args.protect }, awsOpts);
27
+ this.bucket = pulumi.output({
28
+ bucket: bucket.bucket.id,
29
+ region: bucket.bucket.region,
30
+ accessKeyId: bucket.accessKey.accessKey.id,
31
+ accessKeySecret: bucket.accessKey.accessKey.secret,
32
+ });
33
+ }
34
+ else {
35
+ this.bucket = pulumi.all([args.s3]).apply(([s3]) => {
36
+ return {
37
+ bucket: s3.bucket,
38
+ endpoint: s3.endpoint,
39
+ region: s3.region,
40
+ accessKeyId: s3.accessKeyId,
41
+ accessKeySecret: s3.accessKeySecret,
42
+ };
43
+ });
44
+ }
26
45
  this.resticPassword = pulumi.secret(new random.RandomPassword(name, { length: 64, special: false }, emptyOpts).result);
27
46
  this.namespace = args.namespace
28
47
  ? pulumi.output(args.namespace)
@@ -54,28 +73,37 @@ export class Velero extends ComponentResource {
54
73
  deployNodeAgent: true,
55
74
  configuration: {
56
75
  backupStorageLocation: [
57
- {
58
- name: "default",
59
- provider: "aws",
60
- bucket: this.bucket.bucket.id,
61
- config: {
62
- region: this.bucket.bucket.region,
63
- },
64
- },
76
+ pulumi.all([this.bucket]).apply(([s3]) => {
77
+ return {
78
+ name: "default",
79
+ provider: "aws",
80
+ bucket: s3.bucket,
81
+ config: {
82
+ region: s3.region,
83
+ s3Url: s3.endpoint,
84
+ },
85
+ };
86
+ }),
65
87
  ],
88
+ repositoryMaintenanceJob: { latestJobsCount: "0" },
89
+ defaultRepoMaintainFrequency: "6h",
66
90
  },
67
91
  credentials: {
68
92
  secretContents: {
69
93
  cloud: pulumi
70
- .all([this.bucket.accessKey.accessKey.id, this.bucket.accessKey.accessKey.secret])
71
- .apply(([accessKey, secretKey]) => ["[default]", `aws_access_key_id=${accessKey}`, `aws_secret_access_key=${secretKey}`].join("\n")),
94
+ .all([this.bucket])
95
+ .apply(([bucket]) => [
96
+ "[default]",
97
+ `aws_access_key_id=${bucket.accessKeyId}`,
98
+ `aws_secret_access_key=${bucket.accessKeySecret}`,
99
+ ].join("\n")),
72
100
  },
73
101
  },
74
102
  nodeAgent: {
75
103
  privileged: true,
76
104
  resources: {
77
- requests: { memory: "192Mi" },
78
- limits: { memory: "384Mi" },
105
+ requests: { memory: "128Mi" },
106
+ limits: { memory: "256Mi" },
79
107
  },
80
108
  tolerations: [
81
109
  { key: "node-role.kubernetes.io/master", operator: "Exists", effect: "NoSchedule" },
@@ -97,19 +125,19 @@ export class Velero extends ComponentResource {
97
125
  daily: {
98
126
  schedule: "0 2 * * *",
99
127
  template: {
100
- ttl: "170h", // ~7 days
128
+ ttl: "168h", // ~1 week
101
129
  },
102
130
  },
103
131
  weekly: {
104
132
  schedule: "0 3 * * 0",
105
133
  template: {
106
- ttl: "730h", // ~4 weeks
134
+ ttl: "720h", // ~1 month
107
135
  },
108
136
  },
109
137
  monthly: {
110
138
  schedule: "0 4 1 * *",
111
139
  template: {
112
- ttl: "2200h", // ~3 months
140
+ ttl: "8640h", // ~1 year
113
141
  },
114
142
  },
115
143
  },
@@ -132,8 +160,8 @@ export class Velero extends ComponentResource {
132
160
  },
133
161
  },
134
162
  resources: {
135
- requests: { memory: "256Mi" },
136
- limits: { memory: "512Mi" },
163
+ requests: { memory: "96Mi" },
164
+ limits: { memory: "256Mi" },
137
165
  },
138
166
  metrics: { serviceMonitor: { enabled: true } },
139
167
  },
@@ -1 +1 @@
1
- {"version":3,"file":"operator.js","sourceRoot":"","sources":["../../../lib/velero/operator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operator.js","sourceRoot":"","sources":["../../../lib/velero/operator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAiBzC,MAAM,OAAO,MAAO,SAAQ,iBAAiB;IAC1B,kBAAkB,CAAuB;IACzC,WAAW,CAA6B;IACxC,MAAM,CAMpB;IACa,cAAc,CAAwB;IACtC,SAAS,CAAwB;IAEjD;;;;;OAKG;IACH,YAAY,IAAY,EAAE,IAAgB,EAAE,IAAsC;QAChF,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,IAAI,EACJ,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,CAAA,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAChF,OAAO,CACR,CAAC;YAEF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE;gBACxB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;gBAC5B,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;gBAC1C,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM;aACnD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,OAAO;oBACL,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBACrB,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,WAAW,EAAE,EAAE,CAAC,WAAW;oBAC3B,eAAe,EAAE,EAAE,CAAC,eAAe;iBACpC,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CACjC,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC,MAAM,CAClF,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;YAC7B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC/B,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAEnF,MAAM,QAAQ,GAAG;YACf,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE;gBACN,wBAAwB,EAAE,QAAQ;gBAClC,6BAA6B,EAAE,QAAQ;gBACvC,4BAA4B,EAAE,IAAI;aACnC;SACF,CAAC;QAEF,IAAI,CAAC,kBAAkB,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,MAAM,CAChD,IAAI,EACJ;YACE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,CAAA,GAAG,IAAI,mBAAmB,EAAE;YAC7E,UAAU,EAAE;gBACV,qBAAqB,EAAE,IAAI,CAAC,cAAc;aAC3C;SACF,EACD,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAC/C,IAAI,EACJ;YACE,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,cAAc,EAAE,EAAE,IAAI,EAAE,4CAA4C,EAAE;YACtE,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE;gBACN,gBAAgB,EAAE,IAAI;gBACtB,cAAc,EAAE,IAAI;gBACpB,gBAAgB,EAAE,KAAK;gBACvB,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE;oBACb,qBAAqB,EAAE;wBACrB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;4BACvC,OAAO;gCACL,IAAI,EAAE,SAAS;gCACf,QAAQ,EAAE,KAAK;gCACf,MAAM,EAAE,EAAE,CAAC,MAAM;gCACjB,MAAM,EAAE;oCACN,MAAM,EAAE,EAAE,CAAC,MAAM;oCACjB,KAAK,EAAE,EAAE,CAAC,QAAQ;iCACnB;6BACF,CAAC;wBACJ,CAAC,CAAC;qBACH;oBACD,wBAAwB,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE;oBAClD,4BAA4B,EAAE,IAAI;iBACnC;gBACD,WAAW,EAAE;oBACX,cAAc,EAAE;wBACd,KAAK,EAAE,MAAM;6BACV,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;6BAClB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAClB;4BACE,WAAW;4BACX,qBAAqB,MAAM,CAAC,WAAW,EAAE;4BACzC,yBAAyB,MAAM,CAAC,eAAe,EAAE;yBAClD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;qBACJ;iBACF;gBACD,SAAS,EAAE;oBACT,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE;wBACT,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;wBAC7B,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;qBAC5B;oBACD,WAAW,EAAE;wBACX,EAAE,GAAG,EAAE,gCAAgC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE;wBACnF,EAAE,GAAG,EAAE,uCAAuC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE;qBAC3F;iBACF;gBACD,cAAc,EAAE;oBACd;wBACE,IAAI,EAAE,uBAAuB;wBAC7B,KAAK,EAAE,qCAAqC;wBAC5C,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;wBACzD,SAAS,EAAE;4BACT,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;4BAC5B,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;yBAC3B;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE;4BACR,GAAG,EAAE,MAAM,EAAE,UAAU;yBACxB;qBACF;oBACD,MAAM,EAAE;wBACN,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE;4BACR,GAAG,EAAE,MAAM,EAAE,WAAW;yBACzB;qBACF;oBACD,OAAO,EAAE;wBACP,QAAQ,EAAE,WAAW;wBACrB,QAAQ,EAAE;4BACR,GAAG,EAAE,OAAO,EAAE,UAAU;yBACzB;qBACF;iBACF;gBACD,QAAQ,EAAE;oBACR,eAAe,EAAE;wBACf,+CAA+C,EAAE;4BAC/C;gCACE,MAAM,EAAE,GAAG;gCACX,eAAe,EAAE;oCACf,aAAa,EAAE;wCACb,gBAAgB,EAAE;4CAChB,EAAE,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE;4CACrE,EAAE,GAAG,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;yCACtE;qCACF;oCACD,WAAW,EAAE,wBAAwB;iCACtC;6BACF;yBACF;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;oBAC5B,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;iBAC5B;gBACD,OAAO,EAAE,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;aAC/C;SACF,EACD,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -158,8 +158,8 @@ export class Zitadel extends ComponentResource {
158
158
  },
159
159
  },
160
160
  resources: {
161
- requests: { memory: "640Mi" },
162
- limits: { memory: "896Mi" },
161
+ requests: { memory: "512Mi" },
162
+ limits: { memory: "768Mi" },
163
163
  },
164
164
  },
165
165
  }, k8sOpts);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ydkn/pulumi-components",
3
- "version": "0.8.5",
3
+ "version": "0.8.7",
4
4
  "keywords": [
5
5
  "pulumi"
6
6
  ],
@@ -14,34 +14,34 @@
14
14
  },
15
15
  "type": "module",
16
16
  "devDependencies": {
17
- "@eslint/js": "^9.23.0",
17
+ "@eslint/js": "^9.26.0",
18
18
  "@types/bcrypt": "^5.0.2",
19
19
  "@types/js-yaml": "^4.0.9",
20
- "@types/node": "^22.13.14",
20
+ "@types/node": "^22.15.3",
21
21
  "bcrypt": "^5.1.1",
22
22
  "copyfiles": "^2.4.1",
23
- "eslint": "^9.23.0",
24
- "eslint-config-prettier": "^10.1.1",
23
+ "eslint": "^9.26.0",
24
+ "eslint-config-prettier": "^10.1.2",
25
25
  "eslint-plugin-promise": "^7.2.1",
26
26
  "eslint-plugin-security": "^3.0.1",
27
27
  "prettier": "^3.5.3",
28
28
  "rimraf": "^6.0.1",
29
- "typescript": "^5.8.2",
30
- "typescript-eslint": "^8.28.0"
29
+ "typescript": "^5.8.3",
30
+ "typescript-eslint": "^8.31.1"
31
31
  },
32
32
  "dependencies": {
33
- "@pulumi/aws": "^6.74.0",
34
- "@pulumi/cloudflare": "^5.49.1",
35
- "@pulumi/command": "^1.0.2",
36
- "@pulumi/gitlab": "^8.10.0",
37
- "@pulumi/hcloud": "^1.22.0",
38
- "@pulumi/kubernetes": "^4.22.1",
39
- "@pulumi/mailgun": "^3.5.8",
40
- "@pulumi/pulumi": "^3.159.0",
41
- "@pulumi/random": "^4.18.0",
42
- "@pulumi/tls": "^5.1.1",
33
+ "@pulumi/aws": "^6.79.1",
34
+ "@pulumi/cloudflare": "^6.1.2",
35
+ "@pulumi/command": "^1.0.3",
36
+ "@pulumi/gitlab": "^8.11.0",
37
+ "@pulumi/hcloud": "^1.22.1",
38
+ "@pulumi/kubernetes": "^4.23.0",
39
+ "@pulumi/mailgun": "^3.5.9",
40
+ "@pulumi/pulumi": "^3.167.0",
41
+ "@pulumi/random": "^4.18.2",
42
+ "@pulumi/tls": "^5.2.0",
43
43
  "@ydkn/pulumi-k0s": "^0.3.0",
44
- "glob": "^11.0.1",
44
+ "glob": "^11.0.2",
45
45
  "js-yaml": "^4.1.0",
46
46
  "just-template": "^2.2.0",
47
47
  "template-file": "^6.0.1",
@@ -1,2 +0,0 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- export type TransformationFunc = (o: any, opts: pulumi.CustomResourceOptions) => void;
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../lib/common/types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- import { OperatorArgs, Operator } from "./operator.js";
2
- import { TenantArgs, Tenant } from "./tenant.js";
3
- export { OperatorArgs, Operator, TenantArgs, Tenant };
@@ -1,4 +0,0 @@
1
- import { Operator } from "./operator.js";
2
- import { Tenant } from "./tenant.js";
3
- export { Operator, Tenant };
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/minio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAc,MAAM,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAgB,QAAQ,EAAc,MAAM,EAAE,CAAC"}
@@ -1,18 +0,0 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import { ComponentResource } from "../common/index.js";
3
- export interface OperatorArgs {
4
- namespace?: pulumi.Input<string>;
5
- replicas?: pulumi.Input<number>;
6
- clusterDomain?: pulumi.Input<string>;
7
- }
8
- export declare class Operator extends ComponentResource {
9
- private readonly helmRelease;
10
- readonly namespace: pulumi.Output<string>;
11
- /**
12
- * Create a new MinIO operator resource.
13
- * @param name The name of the MinIO operator resource.
14
- * @param args A bag of arguments to control the MinIO operator creation.
15
- * @param opts A bag of options that control this resource's behavior.
16
- */
17
- constructor(name: string, args: OperatorArgs, opts?: pulumi.ComponentResourceOptions);
18
- }
@@ -1,48 +0,0 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import * as k8s from "@pulumi/kubernetes";
3
- import { ComponentResource } from "../common/index.js";
4
- import * as kubernetes from "../kubernetes/index.js";
5
- export class Operator extends ComponentResource {
6
- helmRelease;
7
- namespace;
8
- /**
9
- * Create a new MinIO operator resource.
10
- * @param name The name of the MinIO operator resource.
11
- * @param args A bag of arguments to control the MinIO operator creation.
12
- * @param opts A bag of options that control this resource's behavior.
13
- */
14
- constructor(name, args, opts) {
15
- super("minio:operator", name, args, opts);
16
- opts = this.opts(k8s.Provider);
17
- args.replicas ??= 1;
18
- this.namespace = args.namespace
19
- ? pulumi.output(args.namespace)
20
- : new k8s.core.v1.Namespace(name, { metadata: { name } }, opts).metadata.name;
21
- this.helmRelease = new kubernetes.helm.v3.Release(name, {
22
- namespace: this.namespace,
23
- repositoryOpts: { repo: "https://operator.min.io/" },
24
- chart: "operator",
25
- values: {
26
- fullnameOverride: name,
27
- operator: {
28
- replicaCount: args.replicas,
29
- env: [
30
- { name: "WATCHED_NAMESPACE", value: "" },
31
- { name: "MINIO_CONSOLE_TLS_ENABLE", value: "false" },
32
- { name: "OPERATOR_STS_ENABLED", value: "on" },
33
- { name: "CLUSTER_DOMAIN", value: args.clusterDomain ?? "cluster.local" },
34
- ],
35
- resources: {
36
- requests: { cpu: "100m", memory: "192Mi" },
37
- limits: { cpu: "400m", memory: "256Mi" },
38
- },
39
- },
40
- console: {
41
- enabled: false,
42
- },
43
- },
44
- }, opts);
45
- this.registerOutputs();
46
- }
47
- }
48
- //# sourceMappingURL=operator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operator.js","sourceRoot":"","sources":["../../../lib/minio/operator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAC;AAQrD,MAAM,OAAO,QAAS,SAAQ,iBAAiB;IAC5B,WAAW,CAA6B;IACzC,SAAS,CAAwB;IAEjD;;;;;OAKG;IACH,YAAY,IAAY,EAAE,IAAkB,EAAE,IAAsC;QAClF,KAAK,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE1C,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/B,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC;QAEpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;YAC7B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC/B,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAEhF,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAC/C,IAAI,EACJ;YACE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE;YACpD,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE;gBACN,gBAAgB,EAAE,IAAI;gBACtB,QAAQ,EAAE;oBACR,YAAY,EAAE,IAAI,CAAC,QAAQ;oBAC3B,GAAG,EAAE;wBACH,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,EAAE;wBACxC,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,OAAO,EAAE;wBACpD,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC7C,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,IAAI,eAAe,EAAE;qBACzE;oBACD,SAAS,EAAE;wBACT,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;wBAC1C,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;qBACzC;iBACF;gBACD,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;iBACf;aACF;SACF,EACD,IAAI,CACL,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -1,70 +0,0 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import * as k8s from "@pulumi/kubernetes";
3
- import { ComponentResource } from "../common/index.js";
4
- export interface PoolArgs {
5
- name: pulumi.Input<string>;
6
- servers: pulumi.Input<number>;
7
- volumesPerServer?: pulumi.Input<number>;
8
- size?: pulumi.Input<string>;
9
- storageClassName?: pulumi.Input<string>;
10
- resources?: pulumi.Input<k8s.types.input.core.v1.ResourceRequirements>;
11
- }
12
- export interface IngressArgs {
13
- enabled?: pulumi.Input<boolean>;
14
- ingressClassName?: pulumi.Input<string>;
15
- annotations?: pulumi.Input<{
16
- [key: string]: pulumi.Input<string>;
17
- }>;
18
- host: pulumi.Input<string>;
19
- }
20
- export interface BucketsIngressArgs {
21
- ingressClassName?: pulumi.Input<string>;
22
- annotations?: pulumi.Input<{
23
- [key: string]: pulumi.Input<string>;
24
- }>;
25
- hosts: pulumi.Input<pulumi.Input<string>[]>;
26
- }
27
- export interface BucketArgs {
28
- name: pulumi.Input<string>;
29
- objectLock?: pulumi.Input<boolean>;
30
- }
31
- export interface UserArgs {
32
- name: pulumi.Input<string>;
33
- }
34
- export interface TenantArgs {
35
- namespace?: pulumi.Input<string>;
36
- pools: pulumi.Input<pulumi.Input<PoolArgs>[]>;
37
- resources?: pulumi.Input<k8s.types.input.core.v1.ResourceRequirements>;
38
- apiIngress?: pulumi.Input<IngressArgs>;
39
- consoleIngress?: pulumi.Input<IngressArgs>;
40
- bucketsIngress?: pulumi.Input<BucketsIngressArgs>;
41
- standardStorageClass?: pulumi.Input<string>;
42
- reducedStorageClass?: pulumi.Input<string>;
43
- domains?: pulumi.Input<pulumi.Input<string>[]>;
44
- buckets?: pulumi.Input<pulumi.Input<BucketArgs>[]>;
45
- users?: pulumi.Input<pulumi.Input<UserArgs>[]>;
46
- region?: pulumi.Input<string>;
47
- protect?: boolean;
48
- }
49
- export declare class Tenant extends ComponentResource {
50
- private readonly helmRelease;
51
- readonly namespace: pulumi.Output<string>;
52
- readonly region: pulumi.Output<string>;
53
- readonly hostname: pulumi.Output<string>;
54
- readonly adminUsername: pulumi.Output<string>;
55
- readonly adminPassword: pulumi.Output<string>;
56
- readonly users: pulumi.Output<{
57
- [key: string]: {
58
- accessKey: pulumi.Output<string>;
59
- secretKey: pulumi.Output<string>;
60
- };
61
- }>;
62
- /**
63
- * Create a new MinIO tenant resource.
64
- * @param name The name of the MinIO tenant resource.
65
- * @param args A bag of arguments to control the MinIO tenant creation.
66
- * @param opts A bag of options that control this resource's behavior.
67
- */
68
- constructor(name: string, args: TenantArgs, opts?: pulumi.ComponentResourceOptions);
69
- private ingressValues;
70
- }
@@ -1,192 +0,0 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import * as random from "@pulumi/random";
3
- import * as k8s from "@pulumi/kubernetes";
4
- import { ComponentResource } from "../common/index.js";
5
- import * as kubernetes from "../kubernetes/index.js";
6
- import { Certificate } from "../certManager/index.js";
7
- export class Tenant extends ComponentResource {
8
- helmRelease;
9
- namespace;
10
- region;
11
- hostname;
12
- adminUsername;
13
- adminPassword;
14
- users;
15
- /**
16
- * Create a new MinIO tenant resource.
17
- * @param name The name of the MinIO tenant resource.
18
- * @param args A bag of arguments to control the MinIO tenant creation.
19
- * @param opts A bag of options that control this resource's behavior.
20
- */
21
- constructor(name, args, opts) {
22
- super("minio:tenant", name, args, opts);
23
- const emptyOpts = this.opts();
24
- const k8sOpts = this.opts(k8s.Provider);
25
- args.region ??= "minio";
26
- this.adminUsername = pulumi.secret(new random.RandomPassword(`${name}-admin-username`, { length: 24, special: false }, emptyOpts).result);
27
- this.adminPassword = pulumi.secret(new random.RandomPassword(`${name}-admin-password`, { length: 40, special: false }, emptyOpts).result);
28
- this.namespace = args.namespace
29
- ? pulumi.output(args.namespace)
30
- : new k8s.core.v1.Namespace(name, { metadata: { name } }, k8sOpts).metadata.name;
31
- const adminCredentialsSecret = `${name}-admin-credentials`;
32
- this.region = pulumi.output(args.region);
33
- this.hostname = pulumi
34
- .all([args.apiIngress, this.namespace])
35
- .apply(([apiIngress, ns]) => apiIngress?.host ?? `${name}.${ns}.svc`);
36
- this.users = pulumi.all([args.users]).apply(([users]) => pulumi.all(users ?? []).apply((users) => {
37
- const usersMap = {};
38
- for (const user of users ?? []) {
39
- const accessKey = pulumi.secret(new random.RandomPassword(`${name}-${user.name}-username`, { length: 24, special: false }, emptyOpts)
40
- .result);
41
- const secretKey = pulumi.secret(new random.RandomPassword(`${name}-${user.name}-password`, { length: 48, special: false }, emptyOpts)
42
- .result);
43
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
44
- const secret = new kubernetes.v1.Secret(`${name}-user-${user.name}`, {
45
- metadata: { name: `${name}-user-${user.name}`, namespace: this.namespace },
46
- stringData: {
47
- CONSOLE_ACCESS_KEY: accessKey,
48
- CONSOLE_SECRET_KEY: secretKey,
49
- },
50
- }, k8sOpts);
51
- usersMap[user.name] = pulumi.output({ accessKey, secretKey });
52
- }
53
- return usersMap;
54
- }));
55
- this.helmRelease = new kubernetes.helm.v3.Release(name, {
56
- namespace: this.namespace,
57
- repositoryOpts: { repo: "https://operator.min.io/" },
58
- chart: "tenant",
59
- values: {
60
- fullnameOverride: name,
61
- tenant: {
62
- name,
63
- configuration: { name: adminCredentialsSecret },
64
- configSecret: {
65
- name: adminCredentialsSecret,
66
- accessKey: this.adminUsername,
67
- secretKey: this.adminPassword,
68
- },
69
- env: [
70
- { name: "MINIO_STORAGE_CLASS_STANDARD", value: args.standardStorageClass ?? "EC:2" },
71
- { name: "MINIO_STORAGE_CLASS_RRS", value: args.reducedStorageClass ?? "EC:1" },
72
- { name: "MINIO_BROWSER", value: "on" },
73
- { name: "MINIO_BROWSER_LOGIN_ANIMATION", value: "off" },
74
- { name: "MINIO_BROWSER_REDIRECT", value: "false" },
75
- { name: "MINIO_PROMETHEUS_AUTH_TYPE", value: "public" },
76
- { name: "MINIO_PROMETHEUS_JOB_ID", value: "minio" },
77
- { name: "MINIO_UPDATE", value: "off" },
78
- { name: "MINIO_REGION", value: this.region },
79
- { name: "MINIO_SERVER_URL", value: this.hostname.apply((hostname) => `https://${hostname}/`) },
80
- ],
81
- logging: {
82
- anonymous: true,
83
- json: true,
84
- quiet: true,
85
- },
86
- pools: pulumi.all([args.pools]).apply(([pools]) => {
87
- return pools.map((pool) => {
88
- return {
89
- name: pool.name,
90
- servers: pool.servers,
91
- volumesPerServer: pool.volumesPerServer ?? 1,
92
- size: pool.size ?? "10Gi",
93
- storageClassName: pool.storageClassName,
94
- resources: pool.resources ?? args.resources,
95
- affinity: {
96
- podAntiAffinity: {
97
- preferredDuringSchedulingIgnoredDuringExecution: [
98
- {
99
- weight: 100,
100
- podAffinityTerm: {
101
- labelSelector: {
102
- matchExpressions: [{ key: "v1.min.io/tenant", operator: "In", values: [name] }],
103
- },
104
- topologyKey: "kubernetes.io/hostname",
105
- },
106
- },
107
- ],
108
- },
109
- },
110
- };
111
- });
112
- }),
113
- features: {
114
- domains: {
115
- minio: pulumi
116
- .all([args.domains])
117
- .apply(([domains]) => (domains ?? []).map((domain) => `https://${domain}`)),
118
- console: pulumi
119
- .all([args.consoleIngress, this.hostname])
120
- .apply(([consoleIngress, hostname]) => `https://${consoleIngress?.host ?? hostname}`),
121
- },
122
- },
123
- buckets: pulumi.all([args.buckets]).apply(([buckets]) => pulumi.all(buckets ?? []).apply((buckets) => {
124
- return buckets.map((bucket) => {
125
- return {
126
- name: bucket.name,
127
- objectLock: bucket.objectLock ?? false,
128
- };
129
- });
130
- })),
131
- users: pulumi.all([args.users]).apply(([users]) => pulumi.all(users ?? []).apply((users) => {
132
- return users.map((user) => {
133
- return {
134
- name: `${name}-user-${user.name}`,
135
- };
136
- });
137
- })),
138
- metrics: { enabled: false },
139
- prometheusOperator: false,
140
- certificate: {
141
- requestAutoCert: true,
142
- },
143
- },
144
- ingress: {
145
- api: this.ingressValues(name, "api", args.apiIngress),
146
- console: this.ingressValues(name, "console", args.consoleIngress),
147
- },
148
- },
149
- }, { ...k8sOpts, protect: args.protect });
150
- pulumi.all([args.bucketsIngress]).apply(([bucketsIngress]) => {
151
- if (bucketsIngress === undefined || bucketsIngress.hosts.length === 0) {
152
- return;
153
- }
154
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
155
- const bucketsSecureIngress = new kubernetes.v1.SecureIngress(`${name}-buckets`, {
156
- metadata: { name: `${name}-buckets`, namespace: this.namespace, annotations: bucketsIngress.annotations },
157
- spec: {
158
- ingressClassName: bucketsIngress.ingressClassName,
159
- rules: bucketsIngress.hosts.map((host) => {
160
- return {
161
- host: host,
162
- http: {
163
- paths: [{ path: "/", pathType: "Prefix", backend: { service: { name, port: { number: 443 } } } }],
164
- },
165
- };
166
- }),
167
- },
168
- }, k8sOpts);
169
- });
170
- this.registerOutputs();
171
- }
172
- ingressValues(name, type, args) {
173
- return pulumi.all([args]).apply(([args]) => {
174
- if (args?.enabled === undefined || args.enabled === false) {
175
- return { enabled: false, host: "", tls: [] };
176
- }
177
- return {
178
- enabled: true,
179
- ingressClassName: args.ingressClassName,
180
- annotations: {
181
- "traefik.ingress.kubernetes.io/router.entrypoints": "websecure",
182
- "traefik.ingress.kubernetes.io/router.tls": "true",
183
- "cert-manager.io/cluster-issuer": Certificate.DefaultClusterIssuer,
184
- ...args.annotations,
185
- },
186
- host: args.host,
187
- tls: [{ hosts: [args.host], secretName: `${name}-${type}-tls` }],
188
- };
189
- });
190
- }
191
- }
192
- //# sourceMappingURL=tenant.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tenant.js","sourceRoot":"","sources":["../../../lib/minio/tenant.ts"],"names":[],"mappings":"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"}