-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
260 changed files
with
6,714 additions
and
777 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
galaxy_info: | ||
role_name: h5p-library-management | ||
author: Schul-Cloud Verbund | ||
description: h5p library role for the management of libraries | ||
company: Schul-Cloud Verbund | ||
license: license (AGPLv3) | ||
min_ansible_version: 2.8 | ||
galaxy_tags: [] | ||
dependencies: [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
- name: H5pLibraryManagement CronJob | ||
when: WITH_H5P_LIBRARY_MANAGEMENT is defined and WITH_H5P_LIBRARY_MANAGEMENT|bool == true | ||
kubernetes.core.k8s: | ||
kubeconfig: ~/.kube/config | ||
namespace: "{{ NAMESPACE }}" | ||
template: api-h5p-library-management-cronjob.yml.j2 |
33 changes: 33 additions & 0 deletions
33
ansible/roles/h5p-library-management/templates/api-h5p-library-management-cronjob.yml.j2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
apiVersion: batch/v1 | ||
kind: CronJob | ||
metadata: | ||
namespace: {{ NAMESPACE }} | ||
labels: | ||
app: api-library-management-cronjob | ||
name: api-library-management-cronjob | ||
spec: | ||
schedule: "{{ SERVER_H5P_LIBRARY_MANAGEMENT_CRONJOB|default("0 3 * * 3,6", true) }}" | ||
concurrencyPolicy: Forbid | ||
jobTemplate: | ||
spec: | ||
activeDeadlineSeconds: {{ SERVER_H5P_LIBRARY_MANAGEMENT_CRONJOB_TIMEOUT|default("39600", true) }} | ||
template: | ||
spec: | ||
containers: | ||
- name: api-h5p-library-management-cronjob | ||
image: {{ SCHULCLOUD_SERVER_IMAGE }}:{{ SCHULCLOUD_SERVER_IMAGE_TAG }} | ||
envFrom: | ||
- configMapRef: | ||
name: api-configmap | ||
- secretRef: | ||
name: api-secret | ||
command: ['/bin/sh', '-c'] | ||
args: ['npm run nest:start:h5p:library-management'] | ||
resources: | ||
limits: | ||
cpu: {{ API_H5P_LIBRARY_MANAGEMENT_CPU_LIMITS|default("2000m", true) }} | ||
memory: {{ API_H5P_LIBRARY_MANAGEMENT_MEMORY_LIMITS|default("2Gi", true) }} | ||
requests: | ||
cpu: {{ API_H5P_LIBRARY_MANAGEMENT_CPU_REQUESTS|default("100m", true) }} | ||
memory: {{ API_H5P_LIBRARY_MANAGEMENT_MEMORY_REQUESTS|default("150Mi", true) }} | ||
restartPolicy: OnFailure |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
57 changes: 57 additions & 0 deletions
57
ansible/roles/schulcloud-server-core/templates/data-deletion-trigger-cronjob.yml.j2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
apiVersion: batch/v1 | ||
kind: CronJob | ||
metadata: | ||
namespace: {{ NAMESPACE }} | ||
labels: | ||
app: data-deletion-trigger | ||
app.kubernetes.io/part-of: schulcloud-verbund | ||
app.kubernetes.io/version: {{ SCHULCLOUD_SERVER_IMAGE_TAG }} | ||
app.kubernetes.io/name: data-deletion-trigger | ||
app.kubernetes.io/component: data-deletion | ||
app.kubernetes.io/managed-by: ansible | ||
git.branch: {{ SCHULCLOUD_SERVER_BRANCH_NAME }} | ||
git.repo: {{ SCHULCLOUD_SERVER_REPO_NAME }} | ||
name: data-deletion-trigger-cronjob | ||
spec: | ||
concurrencyPolicy: Forbid | ||
schedule: "{{ SERVER_DATA_DELETION_TRIGGER_CRONJOB_SCHEDULE|default("@hourly", true) }}" | ||
jobTemplate: | ||
metadata: | ||
labels: | ||
app: data-deletion-trigger | ||
app.kubernetes.io/part-of: schulcloud-verbund | ||
app.kubernetes.io/version: {{ SCHULCLOUD_SERVER_IMAGE_TAG }} | ||
app.kubernetes.io/name: data-deletion-trigger | ||
app.kubernetes.io/component: data-deletion | ||
app.kubernetes.io/managed-by: ansible | ||
git.branch: {{ SCHULCLOUD_SERVER_BRANCH_NAME }} | ||
git.repo: {{ SCHULCLOUD_SERVER_REPO_NAME }} | ||
spec: | ||
template: | ||
spec: | ||
containers: | ||
- name: data-deletion-trigger-cronjob | ||
image: {{ SCHULCLOUD_SERVER_IMAGE }}:{{ SCHULCLOUD_SERVER_IMAGE_TAG }} | ||
envFrom: | ||
- secretRef: | ||
name: admin-api-client-secret | ||
command: ['/bin/sh', '-c'] | ||
args: ['npm run nest:start:deletion-console -- execution trigger'] | ||
resources: | ||
limits: | ||
cpu: {{ API_CPU_LIMITS|default("2000m", true) }} | ||
memory: {{ API_MEMORY_LIMITS|default("2Gi", true) }} | ||
requests: | ||
cpu: {{ API_CPU_REQUESTS|default("100m", true) }} | ||
memory: {{ API_MEMORY_REQUESTS|default("150Mi", true) }} | ||
restartPolicy: OnFailure | ||
metadata: | ||
labels: | ||
app: data-deletion-trigger | ||
app.kubernetes.io/part-of: schulcloud-verbund | ||
app.kubernetes.io/version: {{ SCHULCLOUD_SERVER_IMAGE_TAG }} | ||
app.kubernetes.io/name: data-deletion-trigger | ||
app.kubernetes.io/component: data-deletion | ||
app.kubernetes.io/managed-by: ansible | ||
git.branch: {{ SCHULCLOUD_SERVER_BRANCH_NAME }} | ||
git.repo: {{ SCHULCLOUD_SERVER_REPO_NAME }} |
7 changes: 7 additions & 0 deletions
7
ansible/roles/schulcloud-server-core/templates/onepassword-admin-api-client.yml.j2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
apiVersion: onepassword.com/v1 | ||
kind: OnePasswordItem | ||
metadata: | ||
name: admin-api-client-secret | ||
namespace: {{ NAMESPACE }} | ||
spec: | ||
itemPath: "vaults/{{ ONEPASSWORD_OPERATOR_VAULT }}/items/admin-api-client" |
67 changes: 67 additions & 0 deletions
67
ansible/roles/schulcloud-server-core/templates/tldraw-deployment.yml.j2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
apiVersion: apps/v1 | ||
kind: Deployment | ||
metadata: | ||
name: tldraw-deployment | ||
namespace: {{ NAMESPACE }} | ||
labels: | ||
app: tldraw-server | ||
app.kubernetes.io/part-of: schulcloud-verbund | ||
app.kubernetes.io/version: {{ SCHULCLOUD_SERVER_IMAGE_TAG }} | ||
app.kubernetes.io/name: tldraw-server | ||
app.kubernetes.io/component: tldraw | ||
app.kubernetes.io/managed-by: ansible | ||
git.branch: {{ SCHULCLOUD_SERVER_BRANCH_NAME }} | ||
git.repo: {{ SCHULCLOUD_SERVER_REPO_NAME }} | ||
spec: | ||
replicas: {{ TLDRAW_SERVER_REPLICAS|default("1", true) }} | ||
strategy: | ||
type: RollingUpdate | ||
rollingUpdate: | ||
maxSurge: 1 | ||
#maxUnavailable: 1 | ||
revisionHistoryLimit: 4 | ||
paused: false | ||
selector: | ||
matchLabels: | ||
app: tldraw-server | ||
template: | ||
metadata: | ||
labels: | ||
app: tldraw-server | ||
app.kubernetes.io/part-of: schulcloud-verbund | ||
app.kubernetes.io/version: {{ SCHULCLOUD_SERVER_IMAGE_TAG }} | ||
app.kubernetes.io/name: tldraw-server | ||
app.kubernetes.io/component: tldraw | ||
app.kubernetes.io/managed-by: ansible | ||
git.branch: {{ SCHULCLOUD_SERVER_BRANCH_NAME }} | ||
git.repo: {{ SCHULCLOUD_SERVER_REPO_NAME }} | ||
spec: | ||
securityContext: | ||
runAsUser: 1000 | ||
runAsGroup: 1000 | ||
fsGroup: 1000 | ||
runAsNonRoot: true | ||
containers: | ||
- name: tldraw | ||
image: {{ SCHULCLOUD_SERVER_IMAGE }}:{{ SCHULCLOUD_SERVER_IMAGE_TAG }} | ||
imagePullPolicy: IfNotPresent | ||
ports: | ||
- containerPort: 3345 | ||
name: tldraw-ws | ||
protocol: TCP | ||
- containerPort: 3349 | ||
name: tldraw-http | ||
protocol: TCP | ||
envFrom: | ||
- configMapRef: | ||
name: api-configmap | ||
- secretRef: | ||
name: api-secret | ||
command: ['npm', 'run', 'nest:start:tldraw:prod'] | ||
resources: | ||
limits: | ||
cpu: {{ TLDRAW_EDITOR_CPU_LIMITS|default("2000m", true) }} | ||
memory: {{ TLDRAW_EDITOR_MEMORY_LIMITS|default("4Gi", true) }} | ||
requests: | ||
cpu: {{ TLDRAW_EDITOR_CPU_REQUESTS|default("100m", true) }} | ||
memory: {{ TLDRAW_EDITOR_MEMORY_REQUESTS|default("150Mi", true) }} |
42 changes: 42 additions & 0 deletions
42
ansible/roles/schulcloud-server-core/templates/tldraw-ingress.yml.j2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
apiVersion: networking.k8s.io/v1 | ||
kind: Ingress | ||
metadata: | ||
name: {{ NAMESPACE }}-tldraw-ingress | ||
namespace: {{ NAMESPACE }} | ||
annotations: | ||
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" | ||
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" | ||
nginx.ingress.kubernetes.io/proxy-body-size: "{{ INGRESS_MAX_BODY_SIZE|default("2560") }}m" | ||
nginx.org/client-max-body-size: "{{ INGRESS_MAX_BODY_SIZE|default("2560") }}m" | ||
# The following properties added with BC-3606. | ||
# The header size of the request is too big. For e.g. state and the permanent growing jwt. | ||
# Nginx throws away the Location header, resulting in the 502 Bad Gateway. | ||
nginx.ingress.kubernetes.io/client-header-buffer-size: 100k | ||
nginx.ingress.kubernetes.io/http2-max-header-size: 96k | ||
nginx.ingress.kubernetes.io/large-client-header-buffers: 4 100k | ||
nginx.ingress.kubernetes.io/proxy-buffer-size: 96k | ||
{% if CLUSTER_ISSUER is defined %} | ||
cert-manager.io/cluster-issuer: {{ CLUSTER_ISSUER }} | ||
{% endif %} | ||
|
||
spec: | ||
ingressClassName: nginx | ||
{% if CLUSTER_ISSUER is defined or (TLS_ENABELD is defined and TLS_ENABELD|bool) %} | ||
tls: | ||
- hosts: | ||
- {{ DOMAIN }} | ||
{% if CLUSTER_ISSUER is defined %} | ||
secretName: {{ DOMAIN }}-tls | ||
{% endif %} | ||
{% endif %} | ||
rules: | ||
- host: {{ DOMAIN }} | ||
http: | ||
paths: | ||
- path: /tldraw-server | ||
backend: | ||
service: | ||
name: tldraw-server-svc | ||
port: | ||
number: 3345 | ||
pathType: Prefix |
22 changes: 22 additions & 0 deletions
22
ansible/roles/schulcloud-server-core/templates/tldraw-server-svc.yml.j2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
apiVersion: v1 | ||
kind: Service | ||
metadata: | ||
name: tldraw-server-svc | ||
namespace: {{ NAMESPACE }} | ||
labels: | ||
app: tldraw-server | ||
spec: | ||
type: ClusterIP | ||
ports: | ||
# port for WebSocket connection | ||
- port: 3345 | ||
targetPort: 3345 | ||
protocol: TCP | ||
name: tldraw-ws | ||
# port for http managing drawing data | ||
- port: 3349 | ||
targetPort: 3349 | ||
protocol: TCP | ||
name: tldraw-http | ||
selector: | ||
app: tldraw-server |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
/* istanbul ignore file */ | ||
/* eslint-disable no-console */ | ||
import { NestFactory } from '@nestjs/core'; | ||
import { install as sourceMapInstall } from 'source-map-support'; | ||
import { LegacyLogger } from '@src/core/logger'; | ||
import { H5PLibraryManagementModule, H5PLibraryManagementService } from '@modules/h5p-library-management'; | ||
|
||
async function bootstrap() { | ||
sourceMapInstall(); | ||
|
||
const nestApp = await NestFactory.createApplicationContext(H5PLibraryManagementModule); | ||
|
||
// WinstonLogger | ||
nestApp.useLogger(await nestApp.resolve(LegacyLogger)); | ||
|
||
await nestApp.init(); | ||
|
||
console.log('#########################################'); | ||
console.log(`##### Start H5P Library Management ######`); | ||
console.log('#########################################'); | ||
|
||
// to execute it on this place for the ORM the allowGlobalContext: true must be set, but to executed in this way is a hack | ||
await nestApp.get(H5PLibraryManagementService).run(); | ||
// TODO: properly close app (there is some issue with the logger) | ||
console.log('#########################################'); | ||
console.log(`##### Close H5P Library Management ######`); | ||
console.log('#########################################'); | ||
await nestApp.close(); | ||
process.exit(0); | ||
} | ||
void bootstrap(); |
Oops, something went wrong.