feat: MediaServices | add ingress for arr services

This commit is contained in:
2025-11-29 13:20:31 +05:00
parent 33a8dcdaf2
commit 2c57f8005d
6 changed files with 92 additions and 13 deletions

View File

@@ -2,7 +2,11 @@ import { Construct } from "constructs";
import { DeploymentV1 } from "@cdktf/provider-kubernetes/lib/deployment-v1";
import { ServiceV1 } from "@cdktf/provider-kubernetes/lib/service-v1";
import { InternalIngressRoute, LonghornPvc } from "../../utils";
import {
InternalIngressRoute,
LonghornPvc,
PrivateCertificate,
} from "../../utils";
import {
BaseMediaServiceOptions,
getAamil3NodeSelector,
@@ -17,11 +21,7 @@ type QBittorrentServerOptions = BaseMediaServiceOptions & {
};
export class QBittorrentServer extends Construct {
constructor(
scope: Construct,
id: string,
options: QBittorrentServerOptions,
) {
constructor(scope: Construct, id: string, options: QBittorrentServerOptions) {
super(scope, id);
const { provider, namespace, downloadsPvcName, host } = options;
@@ -137,6 +137,15 @@ export class QBittorrentServer extends Construct {
},
});
new PrivateCertificate(this, "certificate", {
provider,
namespace,
name,
commonName: host,
dnsNames: [host],
secretName: `${name}-tls`,
});
// Ingress
new InternalIngressRoute(this, "ingress", {
provider,
@@ -145,6 +154,7 @@ export class QBittorrentServer extends Construct {
host,
serviceName: name,
servicePort: 80,
tlsSecretName: `${name}-tls`,
});
}
}