@ydkn/pulumi-components 0.8.9 → 0.9.2
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 +2 -4
- package/index.js +2 -4
- package/index.js.map +1 -1
- package/lib/alpine/assets/init.sh +0 -0
- package/lib/alpine/config.js +1 -0
- package/lib/alpine/config.js.map +1 -1
- package/lib/alpine/deployment.js +1 -1
- package/lib/alpine/deployment.js.map +1 -1
- package/lib/alpine/host.js +2 -0
- package/lib/alpine/host.js.map +1 -1
- package/lib/avahi/deployment.js +1 -1
- package/lib/dhcpd/deployment.d.ts +1 -0
- package/lib/dhcpd/deployment.js +6 -0
- package/lib/dhcpd/deployment.js.map +1 -1
- package/lib/fcos/assets/rpm-ostree-install.sh +0 -0
- package/lib/freeradius/deployment.js +1 -1
- package/lib/grafana/alloy.js +14 -4
- package/lib/grafana/alloy.js.map +1 -1
- package/lib/hcloud/assets/alpine-install.sh +0 -0
- package/lib/hcloud/assets/fcos-install.sh +0 -0
- package/lib/hcloud/assets/flatcar-install.sh +0 -0
- package/lib/kubernetes/assets/crashed-cleanup.sh +0 -0
- package/lib/kubernetes/index.d.ts +1 -2
- package/lib/kubernetes/index.js +1 -2
- package/lib/kubernetes/index.js.map +1 -1
- package/lib/kured/deployment.d.ts +17 -0
- package/lib/kured/deployment.js +43 -0
- package/lib/kured/deployment.js.map +1 -0
- package/lib/kured/index.d.ts +2 -0
- package/lib/kured/index.js +3 -0
- package/lib/kured/index.js.map +1 -0
- package/lib/nats/cluster.js +14 -10
- package/lib/nats/cluster.js.map +1 -1
- package/lib/netbird/agent.d.ts +0 -4
- package/lib/netbird/agent.js +2 -36
- package/lib/netbird/agent.js.map +1 -1
- package/lib/netbird/management.d.ts +1 -0
- package/lib/netbird/management.js +3 -3
- package/lib/netbird/management.js.map +1 -1
- package/lib/plex/mediaServer.js +1 -1
- package/lib/plex/mediaServer.js.map +1 -1
- package/lib/raspberrypi/cluster.js +18 -0
- package/lib/raspberrypi/cluster.js.map +1 -1
- package/lib/rook/blockPool.js +1 -1
- package/lib/rook/blockPool.js.map +1 -1
- package/lib/rook/filesystem.js +1 -0
- package/lib/rook/filesystem.js.map +1 -1
- package/lib/rook/operator.d.ts +8 -0
- package/lib/rook/operator.js +116 -120
- package/lib/rook/operator.js.map +1 -1
- package/lib/samba/dc.js +3 -3
- package/lib/samba/dc.js.map +1 -1
- package/lib/samba/deployment.js +1 -1
- package/lib/samba/deployment.js.map +1 -1
- package/lib/traefik/controller.js +6 -3
- package/lib/traefik/controller.js.map +1 -1
- package/lib/ubuntu/assets/init.sh +0 -0
- package/lib/ubuntu/deployment.js +1 -1
- package/lib/ubuntu/deployment.js.map +1 -1
- package/lib/unifi/osServer.js +5 -8
- package/lib/unifi/osServer.js.map +1 -1
- package/lib/wireguard/deployment.js +1 -1
- package/package.json +28 -25
- package/lib/cilium/deployment.d.ts +0 -33
- package/lib/cilium/deployment.js +0 -112
- package/lib/cilium/deployment.js.map +0 -1
- package/lib/cilium/index.d.ts +0 -5
- package/lib/cilium/index.js +0 -6
- package/lib/cilium/index.js.map +0 -1
- package/lib/cilium/l2AnnouncementPolicy.d.ts +0 -22
- package/lib/cilium/l2AnnouncementPolicy.js +0 -25
- package/lib/cilium/l2AnnouncementPolicy.js.map +0 -1
- package/lib/cilium/loadBalancerIPPool.d.ts +0 -22
- package/lib/cilium/loadBalancerIPPool.js +0 -18
- package/lib/cilium/loadBalancerIPPool.js.map +0 -1
- package/lib/cilium/localRedirectPolicy.d.ts +0 -40
- package/lib/cilium/localRedirectPolicy.js +0 -13
- package/lib/cilium/localRedirectPolicy.js.map +0 -1
- package/lib/kubernetes/interfaceBridge/assets/bridge.sh +0 -43
- package/lib/kubernetes/interfaceBridge/bridge.d.ts +0 -6
- package/lib/kubernetes/interfaceBridge/bridge.js +0 -26
- package/lib/kubernetes/interfaceBridge/bridge.js.map +0 -1
- package/lib/kubernetes/interfaceBridge/index.d.ts +0 -2
- package/lib/kubernetes/interfaceBridge/index.js +0 -3
- package/lib/kubernetes/interfaceBridge/index.js.map +0 -1
- package/lib/netbird/assets/nftables.sh +0 -44
- package/lib/oauth2Proxy/deployment.d.ts +0 -20
- package/lib/oauth2Proxy/deployment.js +0 -56
- package/lib/oauth2Proxy/deployment.js.map +0 -1
- package/lib/oauth2Proxy/index.d.ts +0 -2
- package/lib/oauth2Proxy/index.js +0 -3
- package/lib/oauth2Proxy/index.js.map +0 -1
- package/lib/paperless/deployment.d.ts +0 -36
- package/lib/paperless/deployment.js +0 -164
- package/lib/paperless/deployment.js.map +0 -1
- package/lib/paperless/index.d.ts +0 -2
- package/lib/paperless/index.js +0 -3
- package/lib/paperless/index.js.map +0 -1
- package/lib/qbittorrent/deployment.d.ts +0 -65
- package/lib/qbittorrent/deployment.js +0 -410
- package/lib/qbittorrent/deployment.js.map +0 -1
- package/lib/qbittorrent/index.d.ts +0 -2
- package/lib/qbittorrent/index.js +0 -3
- package/lib/qbittorrent/index.js.map +0 -1
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
|
|
3
|
-
INTERVAL="20"
|
|
4
|
-
INITAL_DELAY="10"
|
|
5
|
-
|
|
6
|
-
apk --quiet --no-cache add nftables
|
|
7
|
-
|
|
8
|
-
sleep "${INITAL_DELAY}" &
|
|
9
|
-
wait $!
|
|
10
|
-
|
|
11
|
-
while :; do
|
|
12
|
-
if [ -n "${NETWORK_RANGE}" ]; then
|
|
13
|
-
input_handle=$(nft -a -n list chain ip netbird netbird-acl-input-filter 2>/dev/null | grep "iifname \"${NB_INTERFACE_NAME}\" ip saddr ${NETWORK_RANGE} ip daddr ${NETWORK_RANGE} jump netbird-acl-input-rules" | awk '{print $NF}')
|
|
14
|
-
if [ -z "${input_handle}" ]; then
|
|
15
|
-
nft insert rule ip netbird netbird-acl-input-filter iifname "${NB_INTERFACE_NAME}" ip saddr "${NETWORK_RANGE}" ip daddr "${NETWORK_RANGE}" jump netbird-acl-input-rules
|
|
16
|
-
fi
|
|
17
|
-
|
|
18
|
-
output_handle=$(nft -a -n list chain ip netbird netbird-acl-output-filter 2>/dev/null | grep "oifname \"${NB_INTERFACE_NAME}\" ip saddr ${NETWORK_RANGE} ip daddr ${NETWORK_RANGE} jump netbird-acl-output-rules" | awk '{print $NF}')
|
|
19
|
-
if [ -z "${output_handle}" ]; then
|
|
20
|
-
nft insert rule ip netbird netbird-acl-output-filter oifname "${NB_INTERFACE_NAME}" ip saddr "${NETWORK_RANGE}" ip daddr "${NETWORK_RANGE}" jump netbird-acl-output-rules
|
|
21
|
-
fi
|
|
22
|
-
fi
|
|
23
|
-
|
|
24
|
-
if [ "${MASQUERADE_ALL}" = "true" ]; then
|
|
25
|
-
if ! nft -a -n list chain ip netbird netbird-rt-postrouting 2>/dev/null | grep "type nat hook postrouting priority" >/dev/null; then
|
|
26
|
-
nft add chain ip netbird netbird-rt-postrouting '{ type nat hook postrouting priority srcnat - 1; }'
|
|
27
|
-
fi
|
|
28
|
-
|
|
29
|
-
masquerade_handle=$(nft -a -n list chain ip netbird netbird-rt-postrouting 2>/dev/null | grep "oifname \"${NB_INTERFACE_NAME}\" masquerade" | awk '{print $NF}')
|
|
30
|
-
if [ -z "${masquerade_handle}" ]; then
|
|
31
|
-
nft insert rule ip netbird netbird-rt-postrouting oifname "${NB_INTERFACE_NAME}" masquerade
|
|
32
|
-
fi
|
|
33
|
-
fi
|
|
34
|
-
|
|
35
|
-
if [ -n "${MSS}" ]; then
|
|
36
|
-
mss_handle=$(nft -a -n list chain ip netbird netbird-rt-fwd 2>/dev/null | grep "oifname \"${NB_INTERFACE_NAME}\"" | grep "maxseg size set ${MSS}" | awk '{print $NF}')
|
|
37
|
-
if [ -z "${mss_handle}" ]; then
|
|
38
|
-
nft insert rule ip netbird netbird-rt-fwd oifname "${NB_INTERFACE_NAME}" tcp flags syn / syn,rst counter tcp option maxseg size set "${MSS}"
|
|
39
|
-
fi
|
|
40
|
-
fi
|
|
41
|
-
|
|
42
|
-
sleep "${INTERVAL}" &
|
|
43
|
-
wait $!
|
|
44
|
-
done
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
-
import { ComponentResource } from "../common/index.js";
|
|
3
|
-
export interface OAuth2ProxyArgs {
|
|
4
|
-
namespace?: pulumi.Input<string>;
|
|
5
|
-
replicas?: pulumi.Input<number>;
|
|
6
|
-
hostname: pulumi.Input<string>;
|
|
7
|
-
ingressClassName?: pulumi.Input<string>;
|
|
8
|
-
clusterIssuer?: pulumi.Input<string>;
|
|
9
|
-
}
|
|
10
|
-
export declare class OAuth2Proxy extends ComponentResource {
|
|
11
|
-
private readonly helmRelease;
|
|
12
|
-
readonly namespace: pulumi.Output<string>;
|
|
13
|
-
/**
|
|
14
|
-
* Create a new OAuth2-Proxy resource.
|
|
15
|
-
* @param name The name of OAuth2-Proxy resource.
|
|
16
|
-
* @param args A bag of arguments to control the OAuth2-Proxy creation.
|
|
17
|
-
* @param opts A bag of options that control this resource's behavior.
|
|
18
|
-
*/
|
|
19
|
-
constructor(name: string, args: OAuth2ProxyArgs, opts?: pulumi.ComponentResourceOptions);
|
|
20
|
-
}
|
|
@@ -1,56 +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
|
-
import { Certificate } from "../certManager/index.js";
|
|
6
|
-
export class OAuth2Proxy extends ComponentResource {
|
|
7
|
-
helmRelease;
|
|
8
|
-
namespace;
|
|
9
|
-
/**
|
|
10
|
-
* Create a new OAuth2-Proxy resource.
|
|
11
|
-
* @param name The name of OAuth2-Proxy resource.
|
|
12
|
-
* @param args A bag of arguments to control the OAuth2-Proxy creation.
|
|
13
|
-
* @param opts A bag of options that control this resource's behavior.
|
|
14
|
-
*/
|
|
15
|
-
constructor(name, args, opts) {
|
|
16
|
-
super("oauth2proxy", name, args, opts);
|
|
17
|
-
opts = this.opts(k8s.Provider);
|
|
18
|
-
args.replicas ??= 1;
|
|
19
|
-
this.namespace = args.namespace
|
|
20
|
-
? pulumi.output(args.namespace)
|
|
21
|
-
: new k8s.core.v1.Namespace(name, { metadata: { name } }, opts).metadata.name;
|
|
22
|
-
this.helmRelease = new kubernetes.helm.v3.Release(name, {
|
|
23
|
-
name,
|
|
24
|
-
namespace: this.namespace,
|
|
25
|
-
repositoryOpts: { repo: "https://oauth2-proxy.github.io/manifests" },
|
|
26
|
-
chart: "oauth2-proxy",
|
|
27
|
-
values: {
|
|
28
|
-
fullnameOverride: name,
|
|
29
|
-
replicaCount: args.replicas,
|
|
30
|
-
alphaConfig: { enabled: true, serverConfigData: {}, metricsConfigData: {} },
|
|
31
|
-
//service: { ipDualStack: { enabled: true } },
|
|
32
|
-
resources: {
|
|
33
|
-
requests: { memory: "128Mi" },
|
|
34
|
-
limits: { memory: "192Mi" },
|
|
35
|
-
},
|
|
36
|
-
/*
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
*/
|
|
40
|
-
ingress: {
|
|
41
|
-
enabled: false,
|
|
42
|
-
className: args.ingressClassName,
|
|
43
|
-
annotations: {
|
|
44
|
-
"traefik.ingress.kubernetes.io/router.entrypoints": "websecure",
|
|
45
|
-
"traefik.ingress.kubernetes.io/router.tls": "true",
|
|
46
|
-
"cert-manager.io/cluster-issuer": args.clusterIssuer ?? Certificate.DefaultClusterIssuer,
|
|
47
|
-
},
|
|
48
|
-
hosts: [{ host: args.hostname, paths: [{ path: "/", pathType: "Prefix" }] }],
|
|
49
|
-
tls: [{ secretName: `${name}-tls`, hosts: [args.hostname] }],
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
}, opts);
|
|
53
|
-
this.registerOutputs();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=deployment.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../lib/oauth2Proxy/deployment.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;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAUtD,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAC/B,WAAW,CAA6B;IACzC,SAAS,CAAwB;IAEjD;;;;;OAKG;IACH,YAAY,IAAY,EAAE,IAAqB,EAAE,IAAsC;QACrF,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEvC,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,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,EAAE,IAAI,EAAE,0CAA0C,EAAE;YACpE,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE;gBACN,gBAAgB,EAAE,IAAI;gBACtB,YAAY,EAAE,IAAI,CAAC,QAAQ;gBAC3B,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE;gBAC3E,8CAA8C;gBAC9C,SAAS,EAAE;oBACT,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;oBAC7B,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;iBAC5B;gBAED;;;kBAGE;gBAEF,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,IAAI,CAAC,gBAAgB;oBAChC,WAAW,EAAE;wBACX,kDAAkD,EAAE,WAAW;wBAC/D,0CAA0C,EAAE,MAAM;wBAClD,gCAAgC,EAAE,IAAI,CAAC,aAAa,IAAI,WAAW,CAAC,oBAAoB;qBACzF;oBACD,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBAC5E,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;iBAC7D;aACF;SACF,EACD,IAAI,CACL,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;CACF"}
|
package/lib/oauth2Proxy/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/oauth2Proxy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAmB,WAAW,EAAE,CAAC"}
|
|
@@ -1,36 +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 RedisArgs {
|
|
5
|
-
address: pulumi.Input<string>;
|
|
6
|
-
database?: pulumi.Input<number>;
|
|
7
|
-
}
|
|
8
|
-
export interface PaperlessArgs {
|
|
9
|
-
namespace?: pulumi.Input<string>;
|
|
10
|
-
replicas?: pulumi.Input<number>;
|
|
11
|
-
storageClassName?: pulumi.Input<string>;
|
|
12
|
-
storage?: pulumi.Input<string>;
|
|
13
|
-
redis?: pulumi.Input<RedisArgs>;
|
|
14
|
-
hostname: pulumi.Input<string>;
|
|
15
|
-
ingressClassName?: pulumi.Input<string>;
|
|
16
|
-
ingressAnnotations?: pulumi.Input<{
|
|
17
|
-
[key: string]: pulumi.Input<string>;
|
|
18
|
-
}>;
|
|
19
|
-
resources?: pulumi.Input<k8s.types.input.core.v1.ResourceRequirements>;
|
|
20
|
-
protect?: boolean;
|
|
21
|
-
}
|
|
22
|
-
export declare class Paperless extends ComponentResource {
|
|
23
|
-
private readonly dataVolumeClaim;
|
|
24
|
-
private readonly deployment;
|
|
25
|
-
private readonly podDisruptionBudget;
|
|
26
|
-
private readonly service;
|
|
27
|
-
private readonly ingress;
|
|
28
|
-
readonly namespace: pulumi.Output<string>;
|
|
29
|
-
/**
|
|
30
|
-
* Create a new paperless resource.
|
|
31
|
-
* @param name The name of the paperless resource.
|
|
32
|
-
* @param args A bag of arguments to control the paperless creation.
|
|
33
|
-
* @param opts A bag of options that control this resource's behavior.
|
|
34
|
-
*/
|
|
35
|
-
constructor(name: string, args: PaperlessArgs, opts?: pulumi.ComponentResourceOptions);
|
|
36
|
-
}
|
|
@@ -1,164 +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 Paperless extends ComponentResource {
|
|
6
|
-
dataVolumeClaim;
|
|
7
|
-
deployment;
|
|
8
|
-
podDisruptionBudget;
|
|
9
|
-
service;
|
|
10
|
-
ingress;
|
|
11
|
-
namespace;
|
|
12
|
-
/**
|
|
13
|
-
* Create a new paperless resource.
|
|
14
|
-
* @param name The name of the paperless resource.
|
|
15
|
-
* @param args A bag of arguments to control the paperless creation.
|
|
16
|
-
* @param opts A bag of options that control this resource's behavior.
|
|
17
|
-
*/
|
|
18
|
-
constructor(name, args, opts) {
|
|
19
|
-
super("paperless", name, args, opts);
|
|
20
|
-
opts = this.opts(k8s.Provider);
|
|
21
|
-
args.replicas ??= 1;
|
|
22
|
-
args.storage ??= "10Gi";
|
|
23
|
-
args.resources ??= {
|
|
24
|
-
requests: { memory: "512Mi" },
|
|
25
|
-
limits: { memory: "768Mi" },
|
|
26
|
-
};
|
|
27
|
-
this.namespace = args.namespace
|
|
28
|
-
? pulumi.output(args.namespace)
|
|
29
|
-
: new k8s.core.v1.Namespace(name, { metadata: { name } }, opts).metadata.name;
|
|
30
|
-
const metadata = {
|
|
31
|
-
name,
|
|
32
|
-
namespace: this.namespace,
|
|
33
|
-
labels: {
|
|
34
|
-
"app.kubernetes.io/name": "paperless",
|
|
35
|
-
"app.kubernetes.io/component": "paperless",
|
|
36
|
-
"app.kubernetes.io/instance": name,
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
const dataVolumeClaimName = pulumi.interpolate `${metadata.name}-data`;
|
|
40
|
-
this.dataVolumeClaim = new k8s.core.v1.PersistentVolumeClaim(`${name}-data`, {
|
|
41
|
-
metadata: { ...metadata, name: dataVolumeClaimName },
|
|
42
|
-
spec: {
|
|
43
|
-
storageClassName: args.storageClassName,
|
|
44
|
-
accessModes: ["ReadWriteOnce"],
|
|
45
|
-
resources: { requests: { storage: args.storage } },
|
|
46
|
-
},
|
|
47
|
-
}, { ...opts, protect: args.protect });
|
|
48
|
-
this.deployment = new k8s.apps.v1.Deployment(name, {
|
|
49
|
-
metadata,
|
|
50
|
-
spec: {
|
|
51
|
-
selector: { matchLabels: metadata.labels },
|
|
52
|
-
replicas: args.replicas,
|
|
53
|
-
strategy: { type: "Recreate" },
|
|
54
|
-
template: {
|
|
55
|
-
metadata: { labels: metadata.labels },
|
|
56
|
-
spec: {
|
|
57
|
-
enableServiceLinks: false,
|
|
58
|
-
containers: [
|
|
59
|
-
{
|
|
60
|
-
name: "paperless",
|
|
61
|
-
image: "ghcr.io/paperless-ngx/paperless-ngx:latest",
|
|
62
|
-
imagePullPolicy: "Always",
|
|
63
|
-
ports: [{ name: "http", protocol: "TCP", containerPort: 8000 }],
|
|
64
|
-
env: pulumi.all([args.redis]).apply(([redis]) => {
|
|
65
|
-
return [
|
|
66
|
-
{
|
|
67
|
-
name: "PAPERLESS_REDIS",
|
|
68
|
-
value: pulumi.interpolate `redis://${redis?.address ?? "redis"}/${redis?.database ?? 0}`,
|
|
69
|
-
},
|
|
70
|
-
{ name: "PAPERLESS_URL", value: pulumi.interpolate `https://${args.hostname}` },
|
|
71
|
-
];
|
|
72
|
-
}),
|
|
73
|
-
resources: args.resources,
|
|
74
|
-
readinessProbe: {
|
|
75
|
-
exec: { command: ["curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"] },
|
|
76
|
-
periodSeconds: 30,
|
|
77
|
-
failureThreshold: 2,
|
|
78
|
-
successThreshold: 1,
|
|
79
|
-
timeoutSeconds: 10,
|
|
80
|
-
},
|
|
81
|
-
livenessProbe: {
|
|
82
|
-
exec: { command: ["curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"] },
|
|
83
|
-
periodSeconds: 30,
|
|
84
|
-
failureThreshold: 5,
|
|
85
|
-
successThreshold: 1,
|
|
86
|
-
timeoutSeconds: 10,
|
|
87
|
-
},
|
|
88
|
-
volumeMounts: [
|
|
89
|
-
{ name: "data", mountPath: "/usr/src/paperless/data", subPath: "data" },
|
|
90
|
-
{ name: "data", mountPath: "/usr/src/paperless/media", subPath: "media" },
|
|
91
|
-
{ name: "data", mountPath: "/usr/src/paperless/export", subPath: "export" },
|
|
92
|
-
{ name: "data", mountPath: "/usr/src/paperless/consume", subPath: "consume" },
|
|
93
|
-
],
|
|
94
|
-
},
|
|
95
|
-
],
|
|
96
|
-
affinity: {
|
|
97
|
-
podAntiAffinity: {
|
|
98
|
-
preferredDuringSchedulingIgnoredDuringExecution: [
|
|
99
|
-
{
|
|
100
|
-
weight: 100,
|
|
101
|
-
podAffinityTerm: {
|
|
102
|
-
labelSelector: {
|
|
103
|
-
matchExpressions: [
|
|
104
|
-
{
|
|
105
|
-
key: "app.kubernetes.io/name",
|
|
106
|
-
operator: "In",
|
|
107
|
-
values: [metadata.labels["app.kubernetes.io/name"]],
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
key: "app.kubernetes.io/instance",
|
|
111
|
-
operator: "In",
|
|
112
|
-
values: [metadata.labels["app.kubernetes.io/instance"]],
|
|
113
|
-
},
|
|
114
|
-
],
|
|
115
|
-
},
|
|
116
|
-
topologyKey: "kubernetes.io/hostname",
|
|
117
|
-
},
|
|
118
|
-
},
|
|
119
|
-
],
|
|
120
|
-
},
|
|
121
|
-
},
|
|
122
|
-
volumes: [{ name: "data", persistentVolumeClaim: { claimName: dataVolumeClaimName } }],
|
|
123
|
-
},
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
}, opts);
|
|
127
|
-
this.podDisruptionBudget = new k8s.policy.v1.PodDisruptionBudget(name, {
|
|
128
|
-
metadata,
|
|
129
|
-
spec: {
|
|
130
|
-
minAvailable: 1,
|
|
131
|
-
selector: { matchLabels: metadata.labels },
|
|
132
|
-
},
|
|
133
|
-
}, opts);
|
|
134
|
-
this.service = new kubernetes.v1.Service(name, {
|
|
135
|
-
metadata,
|
|
136
|
-
spec: {
|
|
137
|
-
selector: metadata.labels,
|
|
138
|
-
ports: [{ name: "http", protocol: "TCP", port: 80, targetPort: 8000 }],
|
|
139
|
-
},
|
|
140
|
-
}, { ...opts, dependsOn: [this.deployment] });
|
|
141
|
-
this.ingress = new kubernetes.v1.SecureIngress(name, {
|
|
142
|
-
metadata: { ...metadata, annotations: args.ingressAnnotations },
|
|
143
|
-
spec: {
|
|
144
|
-
ingressClassName: args.ingressClassName,
|
|
145
|
-
rules: [
|
|
146
|
-
{
|
|
147
|
-
host: args.hostname,
|
|
148
|
-
http: {
|
|
149
|
-
paths: [
|
|
150
|
-
{
|
|
151
|
-
path: "/",
|
|
152
|
-
pathType: "Prefix",
|
|
153
|
-
backend: { service: { name: this.service.metadata.name, port: { name: "http" } } },
|
|
154
|
-
},
|
|
155
|
-
],
|
|
156
|
-
},
|
|
157
|
-
},
|
|
158
|
-
],
|
|
159
|
-
},
|
|
160
|
-
}, { ...opts, dependsOn: [this.service] });
|
|
161
|
-
this.registerOutputs();
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
//# sourceMappingURL=deployment.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../lib/paperless/deployment.ts"],"names":[],"mappings":"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"}
|
package/lib/paperless/index.d.ts
DELETED
package/lib/paperless/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/paperless/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAiB,SAAS,EAAE,CAAC"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
-
import { ComponentResource } from "../common/index.js";
|
|
3
|
-
import * as kubernetes from "../kubernetes/index.js";
|
|
4
|
-
export interface VolumeArgs {
|
|
5
|
-
id: pulumi.Input<string>;
|
|
6
|
-
filesystemSubPath?: pulumi.Input<string>;
|
|
7
|
-
}
|
|
8
|
-
export interface PVCVolumeArgs extends VolumeArgs {
|
|
9
|
-
accessModes?: pulumi.Input<pulumi.Input<string>[]>;
|
|
10
|
-
storageClassName?: pulumi.Input<string>;
|
|
11
|
-
size?: pulumi.Input<string>;
|
|
12
|
-
}
|
|
13
|
-
export interface NFSVolumeArgs extends VolumeArgs, kubernetes.v1.NfsVolumeConfig {
|
|
14
|
-
accessModes?: pulumi.Input<pulumi.Input<string>[]>;
|
|
15
|
-
storageClassName?: pulumi.Input<string>;
|
|
16
|
-
size?: pulumi.Input<string>;
|
|
17
|
-
}
|
|
18
|
-
export interface QBittorrentArgs {
|
|
19
|
-
namespace?: pulumi.Input<string>;
|
|
20
|
-
hostname: pulumi.Input<string>;
|
|
21
|
-
ingressClassName?: pulumi.Input<string>;
|
|
22
|
-
blocklist?: pulumi.Input<string>;
|
|
23
|
-
speedLimitDown: pulumi.Input<number>;
|
|
24
|
-
altSpeedDown: pulumi.Input<number>;
|
|
25
|
-
downloadQueueSize: pulumi.Input<number>;
|
|
26
|
-
peerLimitGlobal?: pulumi.Input<number>;
|
|
27
|
-
peerLimitTorrent?: pulumi.Input<number>;
|
|
28
|
-
uid: pulumi.Input<number>;
|
|
29
|
-
gid: pulumi.Input<number>;
|
|
30
|
-
storageClassName?: pulumi.Input<string>;
|
|
31
|
-
pvcVolumes?: pulumi.Input<pulumi.Input<PVCVolumeArgs>[]>;
|
|
32
|
-
nfsVolumes?: pulumi.Input<pulumi.Input<NFSVolumeArgs>[]>;
|
|
33
|
-
sharedFilesystemVolumes?: pulumi.Input<pulumi.Input<VolumeArgs>[]>;
|
|
34
|
-
nodeSelector?: pulumi.Input<{
|
|
35
|
-
[key: string]: pulumi.Input<string>;
|
|
36
|
-
}>;
|
|
37
|
-
version?: pulumi.Input<string>;
|
|
38
|
-
protect?: boolean;
|
|
39
|
-
}
|
|
40
|
-
export declare class QBittorrent extends ComponentResource {
|
|
41
|
-
private static readonly defaultVersion;
|
|
42
|
-
private static readonly webUIPort;
|
|
43
|
-
private static readonly torrentingPort;
|
|
44
|
-
static sharedFilesystemsConfigs?: pulumi.Input<{
|
|
45
|
-
[key: string]: pulumi.Input<kubernetes.v1.SharedFilesystemConfig>;
|
|
46
|
-
}>;
|
|
47
|
-
private readonly credentials;
|
|
48
|
-
private readonly settings;
|
|
49
|
-
private readonly configVolumeClaim;
|
|
50
|
-
private readonly deployment;
|
|
51
|
-
private readonly service;
|
|
52
|
-
private readonly middleware;
|
|
53
|
-
private readonly ingress;
|
|
54
|
-
readonly username: pulumi.Output<string>;
|
|
55
|
-
readonly password: pulumi.Output<string>;
|
|
56
|
-
readonly namespace: pulumi.Output<string>;
|
|
57
|
-
readonly internalHostname: pulumi.Output<string>;
|
|
58
|
-
/**
|
|
59
|
-
* Create a new qBittorrent resource.
|
|
60
|
-
* @param name The name of qBittorrent resource.
|
|
61
|
-
* @param args A bag of arguments to control the qBittorrent creation.
|
|
62
|
-
* @param opts A bag of options that control this resource's behavior.
|
|
63
|
-
*/
|
|
64
|
-
constructor(name: string, args: QBittorrentArgs, opts?: pulumi.ComponentResourceOptions);
|
|
65
|
-
}
|