mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
move certificate generation to runnables
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
This commit is contained in:
parent
e8625b42e0
commit
78769602ef
@ -3,40 +3,21 @@
|
|||||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
*/
|
*/
|
||||||
import { getInjectable } from "@ogre-tools/injectable";
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
import { generate } from "selfsigned";
|
import type { SelfSignedCert } from "selfsigned";
|
||||||
import { lensProxyCertificateInjectionToken } from "../../common/certificate/lens-proxy-certificate-injection-token";
|
import { lensProxyCertificateInjectionToken } from "../../common/certificate/lens-proxy-certificate-injection-token";
|
||||||
|
|
||||||
const lensProxyCertificateInjectable = getInjectable({
|
const lensProxyCertificateInjectable = getInjectable({
|
||||||
id: "lens-proxy-certificate",
|
id: "lens-proxy-certificate",
|
||||||
instantiate: () => {
|
instantiate: () => {
|
||||||
const cert = generate([
|
let certState: SelfSignedCert;
|
||||||
{ name: "commonName", value: "Lens Certificate Authority" },
|
|
||||||
{ name: "organizationName", value: "Lens" },
|
|
||||||
], {
|
|
||||||
keySize: 2048,
|
|
||||||
algorithm: "sha256",
|
|
||||||
days: 365,
|
|
||||||
extensions: [
|
|
||||||
{
|
|
||||||
name: "basicConstraints",
|
|
||||||
cA: true,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "subjectAltName",
|
|
||||||
altNames: [
|
|
||||||
{ type: 2, value: "*.lens.app" },
|
|
||||||
{ type: 2, value: "lens.app" },
|
|
||||||
{ type: 2, value: "localhost" },
|
|
||||||
{ type: 7, ip: "127.0.0.1" },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
});
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
get: () => cert,
|
get: () => certState,
|
||||||
set: (): void => {
|
set: (cert: SelfSignedCert): void => {
|
||||||
throw "cannot override cert";
|
if (certState) {
|
||||||
|
throw "cannot override cert";
|
||||||
|
}
|
||||||
|
certState = cert;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|||||||
@ -0,0 +1,53 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||||
|
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||||
|
*/
|
||||||
|
import { getInjectable } from "@ogre-tools/injectable";
|
||||||
|
import { generate } from "selfsigned";
|
||||||
|
import lensProxyCertificateInjectable from "../../lens-proxy/lens-proxy-certificate.injectable";
|
||||||
|
import { beforeElectronIsReadyInjectionToken } from "../runnable-tokens/before-electron-is-ready-injection-token";
|
||||||
|
|
||||||
|
const setupLensProxyCertificateInjectable = getInjectable({
|
||||||
|
id: "setup-lens-proxy-certificate",
|
||||||
|
|
||||||
|
instantiate: (di) => {
|
||||||
|
const lensProxyCertificate = di.inject(lensProxyCertificateInjectable);
|
||||||
|
|
||||||
|
return {
|
||||||
|
id: "setup-lens-proxy-certificate",
|
||||||
|
run: () => {
|
||||||
|
const cert = generate([
|
||||||
|
{ name: "commonName", value: "Lens Certificate Authority" },
|
||||||
|
{ name: "organizationName", value: "Lens" },
|
||||||
|
], {
|
||||||
|
keySize: 2048,
|
||||||
|
algorithm: "sha256",
|
||||||
|
days: 365,
|
||||||
|
extensions: [
|
||||||
|
{
|
||||||
|
name: "basicConstraints",
|
||||||
|
cA: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "subjectAltName",
|
||||||
|
altNames: [
|
||||||
|
{ type: 2, value: "*.lens.app" },
|
||||||
|
{ type: 2, value: "lens.app" },
|
||||||
|
{ type: 2, value: "localhost" },
|
||||||
|
{ type: 7, ip: "127.0.0.1" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
|
lensProxyCertificate.set(cert);
|
||||||
|
|
||||||
|
return undefined;
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
injectionToken: beforeElectronIsReadyInjectionToken,
|
||||||
|
});
|
||||||
|
|
||||||
|
export default setupLensProxyCertificateInjectable;
|
||||||
Loading…
Reference in New Issue
Block a user