From 78e32ec9471eae62bc7d9b8f133a6a31fc4efa35 Mon Sep 17 00:00:00 2001 From: Martin Weise <martin.weise@tuwien.ac.at> Date: Tue, 9 Apr 2024 07:45:44 +0200 Subject: [PATCH] Remove fluent-bit because of permission issues --- Makefile | 2 +- helm-charts/dbrepo/Chart.yaml | 4 - .../dbrepo/charts/fluent-bit-0.40.0.tgz | Bin 14526 -> 0 bytes helm-charts/dbrepo/values.dev.yaml | 485 ++++++++++++++++++ helm-charts/dbrepo/values.yaml | 49 +- 5 files changed, 494 insertions(+), 46 deletions(-) delete mode 100644 helm-charts/dbrepo/charts/fluent-bit-0.40.0.tgz create mode 100644 helm-charts/dbrepo/values.dev.yaml diff --git a/Makefile b/Makefile index 91b665427f..c9c2d4f7e6 100644 --- a/Makefile +++ b/Makefile @@ -273,7 +273,7 @@ cluster-image-pull: rm -f ./ui.tar ./data-service.tar ./search-service.tar ./analyse-service.tar ./data-db-sidecar.tar ./metadata-service.tar cluster-install: helm-build - helm upgrade --install dbrepo -n dbrepo ./build/dbrepo-${CHART_VERSION}.tgz --create-namespace --cleanup-on-fail + helm upgrade --install dbrepo -n dbrepo ./build/dbrepo-${CHART_VERSION}.tgz --values ./helm-charts/dbrepo/values.dev.yaml --create-namespace --cleanup-on-fail cluster-uninstall: helm uninstall -n dbrepo dbrepo diff --git a/helm-charts/dbrepo/Chart.yaml b/helm-charts/dbrepo/Chart.yaml index 46e734f95f..3f0ac0297f 100644 --- a/helm-charts/dbrepo/Chart.yaml +++ b/helm-charts/dbrepo/Chart.yaml @@ -42,10 +42,6 @@ dependencies: alias: brokerService version: 12.5.1 repository: https://charts.bitnami.com/bitnami - - name: fluent-bit - alias: logservice - version: 0.40.0 - repository: https://fluent.github.io/helm-charts - name: seaweedfs alias: storageservice version: 3.59.4 diff --git a/helm-charts/dbrepo/charts/fluent-bit-0.40.0.tgz b/helm-charts/dbrepo/charts/fluent-bit-0.40.0.tgz deleted file mode 100644 index e8057f452b586c22fa2bf9f645a74d2a64e613e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14526 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 bimrd1|JStczc~ZL|Nqn2qwX`zVq^dSN!g^~ diff --git a/helm-charts/dbrepo/values.dev.yaml b/helm-charts/dbrepo/values.dev.yaml new file mode 100644 index 0000000000..c3d8409534 --- /dev/null +++ b/helm-charts/dbrepo/values.dev.yaml @@ -0,0 +1,485 @@ +namespace: dbrepo + +hostname: dbrepo.local + +strategyType: RollingUpdate + +clusterDomain: cluster.local + +metadataDb: + fullnameOverride: metadata-db + image: + debug: false + host: metadata-db + rootUser: + user: root + password: dbrepo + jdbcExtraArgs: "" + db: + name: fda + metrics: + enabled: false + galera: + mariabackup: + user: mariabackup + password: mariabackup + initdbScriptsConfigMap: metadata-db-setup + service: + type: ClusterIP + annotations: { } + loadBalancerIP: "" + loadBalancerSourceRanges: [ ] + persistence: + enabled: true + replicaCount: 1 # uneven 3,5,7 + +authService: + fullnameOverride: auth-service + image: + debug: false + auth: + adminUser: fda + adminPassword: fda + postgresql: + enabled: false # not needed + extraStartupArgs: "--import-realm" + tls: + enabled: true + existingSecret: ingress-cert + usePem: true + metrics: + enabled: true + externalDatabase: + existingSecret: auth-service-secret + existingSecretDatabaseKey: db-name + existingSecretHostKey: db-host + existingSecretPortKey: db-port + existingSecretUserKey: db-username + existingSecretPasswordKey: db-password + client: + id: dbrepo-client + secret: MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG + extraEnvVarsCM: auth-service-config + extraVolumes: + - name: config-map + configMap: + name: auth-service-setup + extraVolumeMounts: + - name: config-map + mountPath: /opt/bitnami/keycloak/data/import + replicaCount: 1 + +authDb: + fullnameOverride: auth-db + host: auth-db-pgpool + port: 5432 + postgresql: + postgresPassword: postgres + username: metrics # implicit requirement for metrics container + password: metrics # implicit requirement for metrics container + repmgrPassword: repmgr # implicit requirement for rolling updates + database: keycloak + replicaCount: 1 + pgpool: + adminUsername: admin + adminPassword: admin + metrics: + enabled: true + service: + type: ClusterIP + annotations: { } + loadBalancerIP: "" + loadBalancerSourceRanges: [ ] + persistence: + enabled: true + size: 10Gi + +dataDb: + fullnameOverride: data-db + image: + debug: false + extraFlags: "--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci" + rootUser: + user: root + password: dbrepo + metrics: + enabled: true + galera: + mariabackup: + user: mariabackup + password: mariabackup + sidecars: + - name: sidecar + image: dbrepo-data-db-sidecar:latest + imagePullPolicy: Never + securityContext: + runAsUser: 1001 + runAsGroup: 1001 + ports: + - containerPort: 3305 + protocol: TCP + env: + - name: S3_STORAGE_ENDPOINT + value: http://storageservice-s3:9000 + - name: S3_ACCESS_KEY_ID + value: seaweedfsadmin + - name: S3_SECRET_ACCESS_KEY + value: seaweedfsadmin + volumeMounts: + - name: tmp # share between sidecar and galera container + mountPath: /tmp + service: + type: ClusterIP + annotations: { } + #loadBalancerIP: 1.2.3.4 + loadBalancerSourceRanges: [ ] + extraPorts: + - name: "sidecar" + port: 3305 + targetPort: 3305 + protocol: TCP + extraVolumeMounts: + - name: tmp # share between sidecar and galera container + mountPath: /tmp + extraVolumes: + # - name: tmp + # emptyDir: {} + - name: tmp + persistentVolumeClaim: + claimName: data-db-shared + persistence: + enabled: true + size: 10Gi + replicaCount: 1 # uneven + +searchdb: + fullnameOverride: search-db + host: search-db + port: 9200 + protocol: http + username: admin + password: admin + clusterName: search-db + masterService: search-db + replicas: 1 + image: + debug: false + sysctlInit: + enabled: true + persistence: + enabled: true + size: 10Gi + service: + type: ClusterIP + annotations: { } + loadBalancerSourceRanges: [ ] + extraEnvs: + - name: DISABLE_INSTALL_DEMO_CONFIG + value: "true" + extraVolumeMounts: + - name: node-cert + mountPath: /usr/share/opensearch/config/tls + readOnly: true + extraVolumes: + - name: node-cert + secret: + secretName: search-db-cert + config: + opensearch.yml: | + cluster.name: search-db + network.host: 0.0.0.0 + plugins: + security: + ssl: + transport: + pemcert_filepath: tls/tls.crt + pemkey_filepath: tls/tls.key + pemtrustedcas_filepath: tls/ca.crt + enforce_hostname_verification: false + http: + #enabled: true # uncomment to force ssl connections + pemcert_filepath: tls/tls.crt + pemkey_filepath: tls/tls.key + pemtrustedcas_filepath: tls/ca.crt + allow_unsafe_democertificates: false + allow_default_init_securityindex: true + authcz: + admin_dn: + - CN=search-db + nodes_dn: + - CN=search-db + audit.type: internal_opensearch + enable_snapshot_restore_privilege: true + check_snapshot_restore_write_privileges: true + restapi: + roles_enabled: [ "all_access", "security_rest_api_access" ] + system_indices: + enabled: true + indices: + [ + ".opendistro-alerting-config", + ".opendistro-alerting-alert*", + ".opendistro-anomaly-results*", + ".opendistro-anomaly-detector*", + ".opendistro-anomaly-checkpoints", + ".opendistro-anomaly-detection-state", + ".opendistro-reports-*", + ".opendistro-notifications-*", + ".opendistro-notebooks", + ".opendistro-asynchronous-search-response*", + ] + +searchDbDashboard: + fullnameOverride: search-db-dashboard + opensearchHosts: http://search-db:9200 + extraInitContainers: + - name: init + image: dbrepo-search-db-init:latest + imagePullPolicy: Never + env: + - name: OPENSEARCH_HOST + value: http://search-db:9200 + extraVolumeMounts: + - name: tls + mountPath: /usr/share/opensearch-dashboards/tls + readOnly: true + - name: config + mountPath: /usr/share/opensearch-dashboards/config/opensearch_dashboards.yml + subPath: opensearch_dashboards.yml + readOnly: true + extraVolumes: + - name: tls + secret: + secretName: ingress-cert + - name: config + secret: + secretName: search-db-dashboard-secret + replicaCount: 1 + +uploadService: + enabled: true + image: + registry: docker.io + repository: tusproject/tusd + tag: v1.12 + replicaCount: 1 + +brokerService: + fullnameOverride: broker-service + image: + debug: true + url: http://broker-service:15672 + host: broker-service + port: 5672 + virtualHost: dbrepo + queueName: dbrepo + exchangeName: dbrepo + routingKey: dbrepo.# + connectionTimeout: 60000 + auth: + tls: + enabled: false + sslOptionsVerify: true + failIfNoPeerCert: true + existingSecret: ingress-cert + username: broker + password: broker + extraConfiguration: |- + default_vhost = dbrepo + default_user_tags.administrator = true + default_permissions.configure = .* + default_permissions.read = .* + default_permissions.write = .* + load_definitions = /etc/rabbitmq/definitions.json + log.console = true + listeners.tcp.1 = 0.0.0.0:5672 + auth_backends.1 = rabbit_auth_backend_oauth2 + auth_backends.2 = rabbit_auth_backend_internal + auth_oauth2.resource_server_id = rabbitmq + auth_oauth2.preferred_username_claims.1 = client_id + auth_oauth2.default_key = t2OCeCheJ9uwoBbNQjG_nN6WKiLcceTIAZmiTbGODFM + auth_oauth2.signing_keys.t2OCeCheJ9uwoBbNQjG_nN6WKiLcceTIAZmiTbGODFM = /etc/rabbitmq/cert.pem + auth_oauth2.signing_keys.id2 = /etc/rabbitmq/pubkey.pem + auth_oauth2.algorithms.1 = HS256 + auth_oauth2.algorithms.2 = RS256 + loadDefinition: + enabled: true + file: /etc/rabbitmq/definitions.json + existingSecret: broker-service-secret + extraVolumeMounts: + - name: secret-map + mountPath: /etc/rabbitmq/definitions.json + subPath: definitions.json + readOnly: true + - name: secret-map + mountPath: /etc/rabbitmq/pubkey.pem + subPath: pubkey.pem + readOnly: true + - name: secret-map + mountPath: /etc/rabbitmq/cert.pem + subPath: cert.pem + readOnly: true + extraVolumes: + - name: secret-map + secret: + secretName: broker-service-secret + extraPlugins: rabbitmq_prometheus rabbitmq_auth_backend_oauth2 rabbitmq_auth_mechanism_ssl + persistence: + enabled: false + size: 5Gi + service: + type: ClusterIP + # loadBalancerIP: + replicaCount: 1 + +analyseService: + enabled: true + image: + name: dbrepo-analyse-service:latest + pullPolicy: Never + debug: false + replicaCount: 1 + +metadataService: + enabled: true + image: + name: dbrepo-metadata-service:latest + pullPolicy: Never + debug: false + adminEmail: noreply@example.com + authService: + url: http://auth-service + website: http://example.com + repositoryName: Database Repository + datacite: + enabled: false + url: https://api.datacite.org + prefix: "" + username: "" + password: "" + rates: + deleteStaleFiles: 60 + mirror: 60 + obtainMetadata: 60 + deleteStaleQueries: 60 + replicaCount: 1 + +dataService: + enabled: true + image: + name: dbrepo-data-service:latest + pullPolicy: Never + debug: false + jwt: + pubkey: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB" + consumerConcurrentMin: 1 + consumerConcurrentMax: 5 + requeueRejected: false + replicaCount: 1 + +searchService: + enabled: true + image: + name: dbrepo-search-service:latest + pullPolicy: Never + debug: false + replicaCount: 1 + +storageservice: + master: + enabled: true + filer: + enabled: true + replicas: 1 + enablePVC: false + storage: 25Gi + s3: + enabled: true + allowEmptyFolder: true + port: 9000 + enableAuth: true + skipAuthSecretCreation: true + existingConfigSecret: seaweedfs-s3-secret + volume: + enabled: true + replicas: 1 + s3: + enabled: true + replicas: 2 + port: 9000 + metricsPort: 9091 + enableAuth: true + skipAuthSecretCreation: true + existingConfigSecret: seaweedfs-s3-secret + auth: + username: seaweedfsadmin + password: seaweedfsadmin + +ui: + enabled: true + image: + name: dbrepo-ui:latest + pullPolicy: Never + debug: false + public: + api: + client: {} + server: {} + title: "Database Repository" + logo: "/logo.svg" + icon: "/favicon.ico" + touch: "/apple-touch-icon.png" + broker: + host: example.com + port: + 5671: true + 5672: false + extra: "128.130.0.0/15" + database: + extra: "128.130.0.0/15" + pid: + default: + publisher: "Example University" + doi: + enabled: false + endpoint: https://doi.org + replicaCount: 1 + extraVolumes: [ ] + # - name: images-map + # configMap: + # name: ui-config + extraVolumeMounts: [ ] + # - name: images-map + # mountPath: /static/logo.svg + # subPath: logo.svg + +ingress: + enabled: true + className: nginx + tls: + enabled: true + secretName: ingress-cert + annotations: + basic: {} +# cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer + secure: +# cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" + upload: +# cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer + nginx.ingress.kubernetes.io/proxy-body-size: 2G + rewriteApi: +# cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /api/$1 + rewriteRoot: +# cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$1 + rewritePid: +# cert-manager.io/cluster-issuer: letsencrypt-cluster-issuer + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /api/pid/$1 diff --git a/helm-charts/dbrepo/values.yaml b/helm-charts/dbrepo/values.yaml index b1f1d0f68e..ae50731698 100644 --- a/helm-charts/dbrepo/values.yaml +++ b/helm-charts/dbrepo/values.yaml @@ -1,6 +1,6 @@ namespace: dbrepo -hostname: dbrepo.local +hostname: example.com strategyType: RollingUpdate @@ -234,7 +234,7 @@ searchDbDashboard: opensearchHosts: http://search-db:9200 extraInitContainers: - name: init - image: dbrepo-search-db-init:latest + image: s210.dl.hpc.tuwien.ac.at/dbrepo/search-db-init:1.4.2 imagePullPolicy: Never env: - name: OPENSEARCH_HOST @@ -260,7 +260,7 @@ uploadService: enabled: true image: registry: docker.io - repository: tusproject/tusd + repository: docker.io/tusproject/tusd tag: v1.12 replicaCount: 1 @@ -335,7 +335,7 @@ brokerService: analyseService: enabled: true image: - name: dbrepo-analyse-service:latest + name: s210.dl.hpc.tuwien.ac.at/dbrepo/analyse-service:1.4.2 pullPolicy: Never debug: false replicaCount: 1 @@ -343,7 +343,7 @@ analyseService: metadataService: enabled: true image: - name: dbrepo-metadata-service:latest + name: s210.dl.hpc.tuwien.ac.at/dbrepo/metadata-service:1.4.2 pullPolicy: Never debug: false adminEmail: noreply@example.com @@ -367,7 +367,7 @@ metadataService: dataService: enabled: true image: - name: dbrepo-data-service:latest + name: s210.dl.hpc.tuwien.ac.at/dbrepo/data-service:1.4.2 pullPolicy: Never debug: false jwt: @@ -380,7 +380,7 @@ dataService: searchService: enabled: true image: - name: dbrepo-search-service:latest + name: s210.dl.hpc.tuwien.ac.at/dbrepo/search-service:1.4.2 pullPolicy: Never debug: false replicaCount: 1 @@ -415,43 +415,10 @@ storageservice: username: seaweedfsadmin password: seaweedfsadmin -logservice: - fullnameOverride: log-service - config: - outputs: | - [OUTPUT] - Name opensearch - Match kube.* - Host search-db - Port 9200 - HTTP_User admin - HTTP_Passwd admin - Logstash_Format On - Replace_Dots On - Type _doc - Retry_Limit False - Suppress_Type_Name On - - [OUTPUT] - Name opensearch - Match host.* - Host search-db - Port 9200 - HTTP_User admin - HTTP_Passwd admin - Logstash_Format On - Logstash_Prefix node - Replace_Dots On - Type _doc - Retry_Limit False - Suppress_Type_Name On -# Replace_Dots On -# Suppress_Type_Name On - ui: enabled: true image: - name: dbrepo-ui:latest + name: s210.dl.hpc.tuwien.ac.at/dbrepo/ui:1.4.2 pullPolicy: Never debug: false public: -- GitLab