Compare commits

...

65 Commits
1.4.0 ... main

Author SHA1 Message Date
Mirco c5b802543e version to 9457-2 3 weeks ago
Mirco d8f13cc9cc bump version to: 2.1.1-SNAPSHOT 3 weeks ago
Mirco c4ec458c6b release: 2.1.0 3 weeks ago
bom a9760ccf04 bump version to: 2.0.3-SNAPSHOT 4 months ago
bom 30c0ad8ee4 release: 2.0.2 4 months ago
bom ddc4bd3b22 Bump CI image version 4 months ago
Mirco d4efc9f593 [skip-ci] infrastructure/../test folder removed 5 months ago
Mirco 768df30e5d bump version to: 2.0.2-SNAPSHOT 5 months ago
Mirco f96d8edc30 release: 2.0.1 5 months ago
Mirco 8af9b747fd fix excalidraw dockerfile 5 months ago
Mirco 7a079de3a6 Improvements docker image building 5 months ago
Mirco 25a63ce0a9 Improvements docker image building 6 months ago
Mirco a1896602af bump version to: 2.0.1-SNAPSHOT 6 months ago
Mirco 83f0b63685 release: 2.0.0 6 months ago
Mirco 6a5586d2a8 further improvements to build docker image 6 months ago
Mirco 7023c9d958 fix test 6 months ago
Mirco 7a4cd805ca omit dev deps from prod
& new logback-classic version
6 months ago
Mirco f42b9d5470 change cors origin to intern 6 months ago
Mirco ef0d217cee correct docker image names 6 months ago
Mirco 86756597de merge conflict fixed & new jitsi versions 6 months ago
Mirco de98e87655 Merge branch 'main' of ssh://repo.prod.meissa.de:2222/meissa/c4k-jitsi 6 months ago
Mirco 4272e5f598 Update to socket.io v4 6 months ago
Clemens 89de4ed0a5 bump version to: 1.6.1-SNAPSHOT 7 months ago
Clemens ee4ae4035d release: 1.6.0 7 months ago
Michael Jerger d3f5d10b3f fail on install error 7 months ago
bom 61d05ceedb Use new inline-resources macro 7 months ago
erik fd2c24851b Merge branch 'main' of ssh://repo.prod.meissa.de:2222/meissa/c4k-jitsi 7 months ago
Mirco 79b77da808 correct origin in index.ts 7 months ago
Mirco 388c4363af excalidraw refactoring & new jitsi version 7 months ago
Mirco 50a14f0d15 [Skip-CI] Update Docker images 8 months ago
erik eec7bfa37c Merge branch 'main' of ssh://repo.prod.meissa.de:2222/meissa/c4k-jitsi 8 months ago
bom 4f6f431bc4 bump version to: 1.5.2-SNAPSHOT 8 months ago
bom 13f0ce6f7f release: 1.5.1 8 months ago
bom b9f73c0409 Inline missing yaml files for js 8 months ago
bom 7e472b7f74 Bump c4k-common version 8 months ago
bom 940bbf7c23 Correctly use new c4k-common version 8 months ago
Clemens c6ac4e0bbe bump version to: 1.5.1-SNAPSHOT 8 months ago
Clemens 04cfc0c6b1 release: 1.5.0 8 months ago
Clemens 62214799e0 enabled linting 8 months ago
Clemens bf4978bded Fixed test 8 months ago
Clemens 5ae8a5a2f5 fix typo 8 months ago
gec d7e433f3c2 Merge pull request 'Added excalidraw' (#3) from excalidraw into main
Reviewed-on: #3
8 months ago
Clemens 9e4c7c016a Merge branch 'main' into excalidraw 8 months ago
Clemens d8c3e9a3ad fix image_naming 8 months ago
Clemens 9945f689c4 renamed excalidraw image name 8 months ago
Clemens 03b1b49342 Renamed c4k-jitsi web module 8 months ago
Michael Jerger 097e0b4548 bump version to: 1.4.3-SNAPSHOT 8 months ago
Michael Jerger 576fdd9af7 release: 1.4.2 8 months ago
Michael Jerger cd867061de use new images 8 months ago
Michael Jerger 9d280d207c reenable release-to-forgejo 8 months ago
Mirco 24896a11f7 Merge branch 'excalidraw' of ssh://repo.prod.meissa.de:2222/meissa/c4k-jitsi into excalidraw 8 months ago
Mirco 7115a80b8e Backend Service excalidraw 8 months ago
Clemens 807c15cf92 move excalidraw to dedicated deployment 8 months ago
bom 934eda5b35 Add test folder for excalidraw 8 months ago
bom b988501af7 Configure excalidraw backend 8 months ago
bom ac866a2bcc Add excalidraw k8s requirements 8 months ago
Clemens 9ac0665ab4 added package-lock.json 8 months ago
Clemens eb27006cf2 added infrastructure build dependency 8 months ago
Clemens cc0497d72d added excalidraw-backend image 8 months ago
Clemens 7e6de55b36 bump version to: 1.4.2-SNAPSHOT 8 months ago
Clemens 38dfbdd1a0 release: 1.4.1 8 months ago
Clemens 84dcc33122 remove realeasing.md 8 months ago
Michael Jerger 0b07a6bc85 ommit forgejo-release 8 months ago
Clemens 2bbfd0f0a6 bump version to: 1.4.1-SNAPSHOT 8 months ago
erik 5d6524b9e3 [Skip-CI] Add release_artifacts 10 months ago

@ -6,7 +6,7 @@ stages:
- image
.img: &img
image: "domaindrivenarchitecture/ddadevops-dind:4.7.0"
image: "domaindrivenarchitecture/ddadevops-dind:4.10.7"
services:
- docker:dind
before_script:
@ -16,7 +16,7 @@ stages:
- export IMAGE_TAG=$CI_COMMIT_TAG
.cljs-job: &cljs
image: "domaindrivenarchitecture/ddadevops-clj-cljs:4.7.0"
image: "domaindrivenarchitecture/ddadevops-clj-cljs:4.10.7"
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
@ -29,7 +29,7 @@ stages:
- npm install
.clj-job: &clj
image: "domaindrivenarchitecture/ddadevops-clj-cljs:4.7.0"
image: "domaindrivenarchitecture/ddadevops-clj-cljs:4.10.7"
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
@ -107,9 +107,17 @@ release-to-forgejo:
script:
- pyb publish_artifacts
jitsi-image-test-publish:
jitsi-web-image-publish:
<<: *img
<<: *tag_only
stage: image
script:
- cd infrastructure/app && pyb image publish
- cd infrastructure/web && pyb image publish
jitsi-excalidraw-backend-image-publish:
<<: *img
<<: *tag_only
stage: image
script:
- cd infrastructure/excalidraw-backend && pyb image publish

@ -18,11 +18,13 @@ def initialize(project):
"stage": "notused",
"project_root_path": PROJECT_ROOT_PATH,
"build_types": [],
"release_artifacts": ["target/uberjar/c4k-jitsi-standalone.jar"],
"mixin_types": ["RELEASE"],
"release_primary_build_file": "project.clj",
"release_secondary_build_files": [
"package.json",
"infrastructure/app/build.py",
"infrastructure/web/build.py",
"infrastructure/excalidraw-backend/build.py",
],
"release_artifact_server_url": "https://repo.prod.meissa.de",
"release_organisation": "meissa",
@ -175,4 +177,4 @@ def linttest(project, release_type):
test_clj(project)
test_cljs(project)
test_schema(project)
#lint(project)
lint(project)

@ -1,41 +0,0 @@
# Release process
## ... for testing (snapshots)
Make sure your clojars.org credentials are correctly set in your ~/.lein/profiles.clj file.
``` bash
git add .
git commit
```
``` bash
lein deploy # or lein deploy clojars
```
## ... for stable release
Make sure tags are protected in gitlab:
Repository Settings -> Protected Tags -> set \*.\*.\* as tag and save.
``` bash
git checkout main # for old projects replace main with master
git add .
git commit
```
Execute tests
``` bash
shadow-cljs compile test
node target/node-tests.js
lein test
```
Release with type (NONE, PATCH, MINOR, MAJOR):
``` bash
RELEASE_TYPE=[TYPE] pyb prepare_release after_publish
```
Done.

@ -1,7 +0,0 @@
#!/bin/bash
set -Eeo pipefail
apt update > /dev/null
install -m 0700 /tmp/install-debug.sh /usr/local/bin/
install -m 0644 /tmp/settings-config.js /defaults/settings-config.js

@ -0,0 +1,57 @@
from os import environ
from datetime import datetime
from pybuilder.core import task, init
from ddadevops import *
name = "c4k-jitsi"
MODULE = "excalidraw-backend"
PROJECT_ROOT_PATH = "../.."
version = "2.1.1-dev"
@init
def initialize(project):
image_tag = version
if "dev" in image_tag:
image_tag += datetime.now().strftime("%Y-%m-%d-%H-%M-%S")
input = {
"name": name,
"module": MODULE,
"stage": "notused",
"project_root_path": PROJECT_ROOT_PATH,
"build_types": ["IMAGE"],
"mixin_types": [],
"image_naming": "NAME_AND_MODULE",
"image_tag": f"{image_tag}",
}
project.build_depends_on("ddadevops>=4.7.0")
build = DevopsImageBuild(project, input)
build.initialize_build_dir()
@task
def image(project):
build = get_devops_build(project)
build.image()
@task
def drun(project):
build = get_devops_build(project)
build.drun()
@task
def test(project):
build = get_devops_build(project)
build.test()
@task
def publish(project):
build = get_devops_build(project)
build.dockerhub_login()
build.dockerhub_publish()

@ -0,0 +1,13 @@
# Taken from: https://github.com/jitsi/excalidraw-backend
FROM node:22-bookworm-slim
WORKDIR /excalidraw-backend
COPY resources/package.json resources/package-lock.json resources/tsconfig.json resources/install.sh resources/src resources/install_functions_debian.sh ./
RUN ./install.sh
EXPOSE 80
EXPOSE 9090
CMD ["npm", "start"]

@ -0,0 +1,17 @@
#!/bin/bash
set -exo pipefail
function main() {
{
upgradeSystem
} > /dev/null
cleanupDocker
}
source ./install_functions_debian.sh
DEBIAN_FRONTEND=noninteractive DEBCONF_NOWARNINGS=yes main
npm audit fix
npm ci --omit=dev
npm run build

File diff suppressed because it is too large Load Diff

@ -0,0 +1,51 @@
{
"name": "excalidraw-backend",
"version": "1.1.0",
"main": "src/index.js",
"description": "Excalidraw backend",
"repository": {
"type": "git",
"url": "https://github.com/jitsi/excalidraw-backend"
},
"private": true,
"engines": {
"node": ">=18.0.0",
"npm": ">=10.0.0"
},
"dependencies": {
"@types/debug": "4.1.10",
"@types/express": "4.17.20",
"@types/ms": "0.7.33",
"@types/node": "20.8.7",
"cross-env": "^7.0.3",
"debug": "4.3.4",
"dotenv": "^16.0.0",
"express": "^4.19.2",
"socket.io": "^4.7.2",
"prom-client": "^15.0.0",
"ts-node-dev": "^2.0.0",
"typescript": "5.2.2"
},
"license": "MIT",
"scripts": {
"build": "tsc",
"lint": "eslint .",
"lint-fix": "eslint . --fix",
"start": "tsc && node dist/index.js",
"start:local": "tsc && DEBUG='engine,app,socket.io:client,server' node dist/index.js",
"start:dev": "cross-env NODE_ENV=development ts-node-dev --respawn --transpile-only src/index.ts"
},
"devDependencies": {
"@jitsi/eslint-config": "^4.1.0",
"@typescript-eslint/eslint-plugin": "6.8.0",
"@typescript-eslint/parser": "6.8.0",
"eslint": "^8.1.0",
"eslint-plugin-import": "2.28.1",
"eslint-plugin-jsdoc": "46.8.2",
"eslint-plugin-typescript-sort-keys": "^3.1.0"
},
"optionalDependencies": {
"bufferutil": "^4.0.6",
"utf-8-validate": "^6.0.3"
}
}

@ -0,0 +1,7 @@
module.exports = {
extends: [
'@jitsi/eslint-config',
'@jitsi/eslint-config/jsdoc',
'@jitsi/eslint-config/typescript',
],
};

@ -0,0 +1,122 @@
// Taken from: https://github.com/jitsi/excalidraw-backend
import debug from 'debug';
import dotenv from 'dotenv';
import express from 'express';
import { createServer } from 'node:http';
import { Server } from 'socket.io';
/*
import * as prometheus from 'socket.io-prometheus-metrics';
do not use anymore, since 3 years no further progression, depends on debug 4.1.1,
wich is moderate vulnerable to regular expression denial of service when untrusted user
input is passed into the o formatter.
alternatively could be used prom-client
*/
const serverDebug = debug('httpServer');
const app = express();
const port = process.env.PORT || 80; // default port to listen
const httpServer = createServer(app);
dotenv.config(
process.env.NODE_ENV === 'development'
? { path: '.env.development' }
: { path: '.env.production' }
);
app.get('/', (req, res) => {
res.send('Excalidraw backend is up :)');
});
httpServer.listen(port, () => {
serverDebug(`listening on port: ${port}`);
});
const corsOptions = {
origin: ['jitsi.test.meissa.de', 'jitsi.prod.meissa.de'],
methods: ["GET", "POST"],
credentials: true
};
const io = new Server(httpServer, {
allowEIO3: true,
cors: corsOptions,
maxHttpBufferSize: 1e6,
pingTimeout: 10000
});
// listens on host:9090/metrics
/* do not use
prometheus.metrics(io, {
collectDefaultMetrics: true
});
*/
/* alternatively could be used:
const client = require('prom-client');
const collectDefaultMetrics = client.collectDefaultMetrics;
const Registry = client.Registry;
const register = new Registry();
collectDefaultMetrics({ register });
or more:
https://codersociety.com/blog/articles/nodejs-application-monitoring-with-prometheus-and-grafana
*/
io.on('connection', (socket) => {
serverDebug(`connection established! ${socket.conn.request.url}`);
io.to(`${socket.id}`).emit('init-room');
socket.on('join-room', roomID => {
serverDebug(`${socket.id} has joined ${roomID} for url ${socket.conn.request.url}`);
socket.join(roomID);
if (io.sockets.adapter.rooms.get(roomID)?.size ?? 0 <= 1) {
io.to(`${socket.id}`).emit('first-in-room');
} else {
socket.broadcast.to(roomID).emit('new-user', socket.id);
}
io.in(roomID).emit(
'room-user-change', Array.from(io.sockets.adapter.rooms.get(roomID) ?? [])
);
});
socket.on(
'server-broadcast',
(roomID: string, encryptedData: ArrayBuffer, iv: Uint8Array) => {
socket.broadcast.to(roomID).emit('client-broadcast', encryptedData, iv);
});
socket.on(
'server-volatile-broadcast',
(roomID: string, encryptedData: ArrayBuffer, iv: Uint8Array) => {
socket.volatile.broadcast
.to(roomID)
.emit('client-broadcast', encryptedData, iv);
});
socket.on('disconnecting', () => {
const rooms = io.sockets.adapter.rooms;
for (const roomID of Object.keys(socket.rooms)) {
const clients = Array.from(rooms.get(roomID) ?? []).filter(id => id !== socket.id);
if (roomID !== socket.id) {
socket.to(roomID).emit('user has left', socket.id);
}
if (clients.length > 0) {
socket.broadcast.to(roomID).emit('room-user-change', clients);
}
}
});
socket.on('disconnect', (reason, details) => {
serverDebug(
`${socket.id} was disconnected from url ${socket.conn.request.url} for the following reason: ${reason}
${JSON.stringify(details)}`
);
socket.removeAllListeners();
});
});

@ -0,0 +1,17 @@
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"strict": true,
"moduleResolution": "Node",
"forceConsistentCasingInFileNames": true,
"resolveJsonModule": true,
"isolatedModules": true,
"outDir": "dist",
}
}

@ -4,9 +4,9 @@ from pybuilder.core import task, init
from ddadevops import *
name = "c4k-jitsi"
MODULE = "app"
MODULE = "web"
PROJECT_ROOT_PATH = "../.."
version = "1.4.0"
version = "2.1.1-dev"
@init
@ -22,7 +22,7 @@ def initialize(project):
"project_root_path": PROJECT_ROOT_PATH,
"build_types": ["IMAGE"],
"mixin_types": [],
"image_naming": "NAME_ONLY",
"image_naming": "NAME_AND_MODULE",
"image_tag": f"{image_tag}",
}

@ -1,4 +1,4 @@
FROM jitsi/web:stable-8922-1
FROM jitsi/web:stable-9457-2
# Prepare Configuration
ADD resources /tmp

@ -0,0 +1,17 @@
#!/bin/bash
set -exo pipefail
function main() {
{
upgradeSystem
} > /dev/null
install -m 0700 /tmp/install-debug.sh /usr/local/bin/
install -m 0644 /tmp/settings-config.js /defaults/settings-config.js
cleanupDocker
}
source /tmp/install_functions_debian.sh
DEBIAN_FRONTEND=noninteractive DEBCONF_NOWARNINGS=yes main

@ -2,7 +2,7 @@
"name": "c4k-jitsi",
"description": "Generate c4k yaml for a jitsi deployment.",
"author": "meissa GmbH",
"version": "1.4.0",
"version": "2.1.1-SNAPSHOT",
"homepage": "https://gitlab.com/domaindrivenarchitecture/c4k-jitsi#readme",
"repository": "https://www.npmjs.com/package/c4k-jitsi",
"license": "APACHE2",

@ -1,11 +1,11 @@
(defproject org.domaindrivenarchitecture/c4k-jitsi "1.4.0"
(defproject org.domaindrivenarchitecture/c4k-jitsi "2.1.1-SNAPSHOT"
:description "jitsi c4k-installation package"
:url "https://domaindrivenarchitecture.org"
:license {:name "Apache License, Version 2.0"
:url "https://www.apache.org/licenses/LICENSE-2.0.html"}
:dependencies [[org.clojure/clojure "1.11.1"]
[org.clojure/tools.reader "1.3.6"]
[org.domaindrivenarchitecture/c4k-common-clj "6.0.2"]
:dependencies [[org.clojure/clojure "1.11.3"]
[org.clojure/tools.reader "1.4.2"]
[org.domaindrivenarchitecture/c4k-common-clj "6.2.3"]
[hickory "0.7.1" :exclusions [viebel/codox-klipse-theme]]]
:target-path "target/%s/"
:source-paths ["src/main/cljc"
@ -22,10 +22,10 @@
:uberjar {:aot :all
:main dda.c4k-jitsi.uberjar
:uberjar-name "c4k-jitsi-standalone.jar"
:dependencies [[org.clojure/tools.cli "1.0.219"]
[ch.qos.logback/logback-classic "1.4.11"
:dependencies [[org.clojure/tools.cli "1.1.230"]
[ch.qos.logback/logback-classic "1.5.6"
:exclusions [com.sun.mail/javax.mail]]
[org.slf4j/jcl-over-slf4j "2.0.9"]]}}
[org.slf4j/jcl-over-slf4j "2.0.13"]]}}
:release-tasks [["test"]
["vcs" "assert-committed"]
["change" "version" "leiningen.release/bump-version" "release"]

@ -4,7 +4,7 @@
"src/test/cljc"
"src/test/cljs"
"src/test/resources"]
:dependencies [[org.domaindrivenarchitecture/c4k-common-cljs "6.0.2"]
:dependencies [[org.domaindrivenarchitecture/c4k-common-cljs "6.1.0"]
[hickory "0.7.1"]]
:builds {:frontend {:target :browser
:modules {:main {:init-fn dda.c4k-jitsi.browser/init}}

@ -34,8 +34,11 @@
(jitsi/generate-jvb-service)
(jitsi/generate-web-service)
(jitsi/generate-etherpad-service)
(jitsi/generate-deployment config)]
(jitsi/generate-excalidraw-backend-service)
(jitsi/generate-deployment config)
(jitsi/generate-excalidraw-deployment)]
(jitsi/generate-ingress-web config)
(jitsi/generate-ingress-etherpad config)
(jitsi/generate-ingress-excalidraw-backend config)
(when (:contains? config :mon-cfg)
(mon/generate (:mon-cfg config) (:mon-auth auth)))))))

@ -1,14 +1,14 @@
(ns dda.c4k-jitsi.jitsi
(:require
[clojure.spec.alpha :as s]
#?(:cljs [shadow.resource :as rc])
#?(:clj [orchestra.core :refer [defn-spec]]
:cljs [orchestra.core :refer-macros [defn-spec]])
[dda.c4k-common.yaml :as yaml]
[dda.c4k-common.common :as cm]
[dda.c4k-common.ingress :as ing]
[dda.c4k-common.base64 :as b64]
[dda.c4k-common.predicate :as cp]))
(:require
[clojure.spec.alpha :as s]
#?(:clj [orchestra.core :refer [defn-spec]]
:cljs [orchestra.core :refer-macros [defn-spec]])
[dda.c4k-common.yaml :as yaml]
[dda.c4k-common.common :as cm]
[dda.c4k-common.ingress :as ing]
[dda.c4k-common.base64 :as b64]
[dda.c4k-common.predicate :as cp]
#?(:cljs [dda.c4k-common.macros :refer-macros [inline-resources]])))
(s/def ::fqdn cp/fqdn-string?)
(s/def ::issuer cp/letsencrypt-issuer?)
@ -22,16 +22,9 @@
(def auth? (s/keys :req-un [::jvb-auth-password
::jicofo-auth-password
::jicofo-component-secret]))
#?(:cljs
#?(:cljs
(defmethod yaml/load-resource :jitsi [resource-name]
(case resource-name
"jitsi/deployment.yaml" (rc/inline "jitsi/deployment.yaml")
"jitsi/etherpad-service.yaml" (rc/inline "jitsi/etherpad-service.yaml")
"jitsi/jvb-service.yaml" (rc/inline "jitsi/jvb-service.yaml")
"jitsi/secret.yaml" (rc/inline "jitsi/secret.yaml")
"jitsi/web-service.yaml" (rc/inline "jitsi/web-service.yaml")
(throw (js/Error. "Undefined Resource!")))))
(get (inline-resources "jitsi") resource-name)))
(defn-spec generate-ingress-web cp/map-or-seq?
[config config?]
@ -51,6 +44,15 @@
:fqdns [(str "etherpad." (:fqdn config))]}
config)))
(defn-spec generate-ingress-excalidraw-backend cp/map-or-seq?
[config config?]
(ing/generate-ingress-and-cert
(merge
{:service-name "excalidraw-backend"
:service-port 3002
:fqdns [(str "excalidraw-backend." (:fqdn config))]}
config)))
(defn-spec generate-secret-jitsi cp/map-or-seq?
[auth auth?]
(let [{:keys [jvb-auth-password jicofo-auth-password jicofo-component-secret]} auth]
@ -69,6 +71,9 @@
(defn-spec generate-etherpad-service cp/map-or-seq? []
(yaml/load-as-edn "jitsi/etherpad-service.yaml"))
(defn-spec generate-excalidraw-backend-service cp/map-or-seq? []
(yaml/load-as-edn "jitsi/excalidraw-backend-service.yaml"))
(defn-spec generate-deployment cp/map-or-seq?
[config config?]
(let [{:keys [fqdn]} config]
@ -76,4 +81,9 @@
(yaml/load-as-edn "jitsi/deployment.yaml")
(cm/replace-all-matching-values-by-new-value "REPLACE_JITSI_FQDN" fqdn)
(cm/replace-all-matching-values-by-new-value "REPLACE_ETHERPAD_URL"
(str "https://etherpad." fqdn "/p/")))))
(str "https://etherpad." fqdn "/p/"))
(cm/replace-all-matching-values-by-new-value "REPLACE_EXCALIDRAW_BACKEND_URL"
(str "https://excalidraw-backend." fqdn)))))
(defn-spec generate-excalidraw-deployment cp/map-or-seq? []
(yaml/load-as-edn "jitsi/excalidraw-deployment.yaml"))

@ -43,7 +43,7 @@
(defn config-from-document []
(let [issuer (br/get-content-from-element "issuer" :optional true)
mon-cluster-name (br/get-content-from-element "mon-cluster-name" :optional true)
mon-cluster-stage (br/get-content-from-element "mon-cluster-stage" :optional true :deserializer keyword)
mon-cluster-stage (br/get-content-from-element "mon-cluster-stage" :optional true)
mon-cloud-url (br/get-content-from-element "mon-cloud-url" :optional true)]
(merge
{:fqdn (br/get-content-from-element "fqdn")}
@ -59,10 +59,10 @@
(br/validate! "fqdn" ::jitsi/fqdn)
(br/validate! "issuer" ::jitsi/issuer :optional true)
(br/validate! "mon-cluster-name" ::mon/cluster-name :optional true)
(br/validate! "mon-cluster-stage" ::mon/cluster-stage :optional true :deserializer keyword)
(br/validate! "mon-cluster-stage" ::mon/cluster-stage :optional true)
(br/validate! "mon-cloud-url" ::mon/grafana-cloud-url :optional true)
(br/validate! "auth" core/auth? :deserializer edn/read-string)
(br/set-validated!))
(br/set-form-validated!))
(defn add-validate-listener [name]
(-> (br/get-element-by-id name)

@ -17,7 +17,7 @@ spec:
spec:
containers:
- name: jicofo
image: jitsi/jicofo:stable-8922-1
image: jitsi/jicofo:stable-9457-2
imagePullPolicy: IfNotPresent
env:
- name: XMPP_SERVER
@ -37,7 +37,7 @@ spec:
- name: TZ
value: Europe/Berlin
- name: prosody
image: jitsi/prosody:stable-8922-1
image: jitsi/prosody:stable-9457-2
imagePullPolicy: IfNotPresent
env:
- name: PUBLIC_URL
@ -68,7 +68,7 @@ spec:
- name: JVB_TCP_HARVESTER_DISABLED
value: "true"
- name: web
image: domaindrivenarchitecture/c4k-jitsi
image: domaindrivenarchitecture/c4k-jitsi-web
imagePullPolicy: IfNotPresent
env:
- name: PUBLIC_URL
@ -97,8 +97,12 @@ spec:
value: "true"
- name: ETHERPAD_PUBLIC_URL
value: REPLACE_ETHERPAD_URL
- name: WHITEBOARD_ENABLED
value: "true"
- name: WHITEBOARD_COLLAB_SERVER_PUBLIC_URL
value: REPLACE_EXCALIDRAW_BACKEND_URL
- name: jvb
image: jitsi/jvb:stable-8922-1
image: jitsi/jvb:stable-9457-2
imagePullPolicy: IfNotPresent
env:
- name: PUBLIC_URL
@ -128,7 +132,7 @@ spec:
- name: TZ
value: Europe/Berlin
- name: etherpad
image: etherpad/etherpad:1.9.2
image: etherpad/etherpad:2
env:
- name: XMPP_SERVER
value: localhost

@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
labels:
service: excalidraw-backend
name: excalidraw-backend
spec:
ports:
- name: excalidraw-backend
port: 3002
targetPort: 80
selector:
app: excalidraw-backend

@ -0,0 +1,20 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: excalidraw-backend
name: excalidraw-backend
spec:
strategy:
type: Recreate
selector:
matchLabels:
app: excalidraw-backend
template:
metadata:
labels:
app: excalidraw-backend
spec:
containers:
- name: excalidraw-backend
image: domaindrivenarchitecture/c4k-jitsi-excalidraw-backend

@ -19,7 +19,7 @@
:spec
{:containers
[{:name "jicofo",
:image "jitsi/jicofo:stable-8922-1",
:image "jitsi/jicofo:stable-9457-2",
:imagePullPolicy "IfNotPresent",
:env
[{:name "XMPP_SERVER", :value "localhost"}
@ -29,7 +29,7 @@
{:name "JICOFO_AUTH_PASSWORD", :valueFrom {:secretKeyRef {:name "jitsi-config", :key "JICOFO_AUTH_PASSWORD"}}}
{:name "TZ", :value "Europe/Berlin"}]}
{:name "prosody",
:image "jitsi/prosody:stable-8922-1",
:image "jitsi/prosody:stable-9457-2",
:imagePullPolicy "IfNotPresent",
:env
[{:name "PUBLIC_URL", :value "xy.xy.xy"}
@ -43,7 +43,7 @@
{:name "TZ", :value "Europe/Berlin"}
{:name "JVB_TCP_HARVESTER_DISABLED", :value "true"}]}
{:name "web",
:image "domaindrivenarchitecture/c4k-jitsi",
:image "domaindrivenarchitecture/c4k-jitsi-web",
:imagePullPolicy "IfNotPresent",
:env
[{:name "PUBLIC_URL", :value "xy.xy.xy"}
@ -58,9 +58,11 @@
{:name "RESOLUTION_WIDTH", :value "853"}
{:name "RESOLUTION_WIDTH_MIN", :value "427"}
{:name "DISABLE_AUDIO_LEVELS", :value "true"}
{:name "ETHERPAD_PUBLIC_URL", :value "https://etherpad.xy.xy.xy/p/"}]}
{:name "ETHERPAD_PUBLIC_URL", :value "https://etherpad.xy.xy.xy/p/"}
{:name "WHITEBOARD_ENABLED", :value "true"}
{:name "WHITEBOARD_COLLAB_SERVER_PUBLIC_URL", :value "https://excalidraw-backend.xy.xy.xy"}]}
{:name "jvb",
:image "jitsi/jvb:stable-8922-1",
:image "jitsi/jvb:stable-9457-2",
:imagePullPolicy "IfNotPresent",
:env
[{:name "PUBLIC_URL", :value "xy.xy.xy"}
@ -74,7 +76,7 @@
{:name "JICOFO_AUTH_PASSWORD", :valueFrom {:secretKeyRef {:name "jitsi-config", :key "JICOFO_AUTH_PASSWORD"}}}
{:name "TZ", :value "Europe/Berlin"}]}
{:name "etherpad",
:image "etherpad/etherpad:1.9.2",
:image "etherpad/etherpad:2",
:env
[{:name "XMPP_SERVER", :value "localhost"}
{:name "JICOFO_COMPONENT_SECRET",

Loading…
Cancel
Save