63 Commits

Author SHA1 Message Date
Robert Schäfer
00da9e8ecb
feat(backend): resize images with imagor (#8558)
* feat(backend): resize images with imagor

Open questions:
* Do we have external URLs for images? E.g. we have them for seeds. But
  in production?

* Do we want to apply image transformations on these as well? My current
implementation does not apply image transformations as of now. If we
want to do that, we will also expose internal URLs in the kubernetes
Cluster to the S3 endpoint to the client.

TODOs:
* The chat component is using a fixed size for all avatars at the moment.
Maybe we can pair-program on this how to implement responsive images in
this component library.

Commits:
* do not replace upload domain url in the database

* fix all webapp specs

* refactor: remove behaviour we won't need

We don't want to apply image transformations on files, right?

* refactor: replace the domain on read not on write

* wip: webapp fixes

* refactor(backend): add another url to config

I've given up. There seems to be no nice way to tell the minio to return
a location which differs from it's host name.

* refactor: add test for s3Service

* refactor(backend): proxy minio via backend in local development

Commits:
* provide tests for message attachments
* remove S3_PUBLIC_URL config value

* refactor: follow @ulfgebhardt's review

* add missing environment variable

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-08-19 10:11:12 +02:00
ee7af8e788
v3.11.0 (#8749) 2025-07-05 17:00:37 +02:00
Wolfgang Huß
a912a353e4
Release v3.10.1 (#8692) 2025-06-19 13:44:02 +00:00
61c1cc965a
v3.10.0 (#8683) 2025-06-16 00:51:57 +02:00
0365cee45e
v3.9.0 (#8661) 2025-06-11 20:19:54 +02:00
7d95c6437a
v3.8.2 (#8637) 2025-06-04 15:03:39 +00:00
1f0b57db88
v3.8.1 (#8633) 2025-06-02 09:17:28 +00:00
2a7a9b6ff4
v3.8.0 (#8631) 2025-06-01 15:52:37 +00:00
Robert Schäfer
d6a8de478b
feat(backend): migrate to s3 (#8545)
## 🍰 Pullrequest
This will migrate our assets to an objectstorage via S3.

Before this PR is rolled out, the S3 credentials need to be configured in the respective infrastructure repository. The migration is implemented in a backend migration, i.e. I expect the `initContainer` to take a little longer but I hope then it's going to be fine. If any errors occcur, the migration should be repeatable, since the disk volume is still there.

### Issues
The backend having direct access on disk.

### Todo
- [ ] Configure backend environment variables in every infrastructure repo
- [ ] Remove kubernetes uploads volume in a future PR

Commits:

* refactor: follow @ulfgebhardt
  Here: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8545#pullrequestreview-2846163417
  I don't know why the PR didn't include these changes already, I believe I made a mistake during rebase and lost the relevant commits.
* refactor: use typescript assertions
  I found it a better way to react to this comment: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8545/files#r2092766596
* add S3 credentials
* refactor: easier to remember credentials
  It's for local development only
* give init container necessary file access
* fix: wrong upload location on production
* refactor: follow @ulfgebhardt's review
  See: https://github.com/Ocelot-Social-Community/Ocelot-Social/pull/8545#pullrequestreview-2881626504
2025-06-01 09:53:31 +00:00
5bec51ad5d
v3.7.0 (#8597) 2025-05-25 18:24:21 +00:00
933e3ae9b0
v3.6.1 (#8553) 2025-05-12 20:30:43 +00:00
92edde02d8
v3.6.0 (#8541) 2025-05-10 11:05:38 +00:00
Moriz Wahl
20d14f3a2f
chore(release): v3.5.3 (#8503)
* Release v3.5.3
2025-05-07 18:44:44 +00:00
5d348c2eaf
v3.5.2 (#8498) 2025-05-06 11:44:58 +00:00
4960f2800b
v3.5.1 (#8496) 2025-05-06 10:30:40 +00:00
b280b1f3f0
v3.5.0 (#8492) 2025-05-06 05:28:51 +02:00
9afedcf922
v3.4.0 (#8454) 2025-04-28 20:56:20 +02:00
8aa00216df
v3.3.0 (#8380)
regenerate changelog
2025-04-12 12:47:01 +00:00
fcc99ab58e
refactor(backend): clean migrate scripts (#8317)
* clean migrate scripts

- refactor migrate:init
  - separate admin seed
  - separate categories seed
- rework backend README regarding the database
- remove `db:clean` command as its a duplicate of `db:reset`
- remove `__migrate` helper alias

* renamed clean.ts to reset.ts

* set indices & constrains in init function

* fix comment

* disable migrations touching indices

* remove obsolete comment

* always run init on kubernetes

* reset db with or without migrations

* lint fixes

* Refine 'README.md'

* Refine more 'README.md'

* fix lint

---------

Co-authored-by: Wolfgang Huß <wolle.huss@pjannto.com>
2025-04-10 09:52:49 +02:00
Robert Schäfer
628b57aa29
feat(other): major improvement of deployment (#7925)
* feat(other): major improvement of deployment

Motivation
----------

Kubernetes:
* backend becomes a statefulset (exclusive volume mount)
  See: https://spacelift.io/blog/statefulset-vs-deployment
* implement neo4j backup with job

Docker:
* consistent targets across all dockerfiles
* remove redundant labels
* remove unnecessary build args
* remove obsolete networks
* remove development dependencies for production

Rebranding:
* add image tags for local tagging and pulling
* use Github's docker build workflows
* use Github container registry
* ONBUILD to simplify caller Dockerfiles
* docker compose for branding

Tooling:
* same node --version as in dockerfile

Docs:
* missing step in README.md

* refactor: remove submodules

It's better to keep them all in a separate repository

* improve kubernetes chart

* better image tag defaults
* split neo4j into its own chart (for re-use)
* use application defaults where possible

* optional resources for all pods

* remove obsolete key/value pair from secrets

* remove obsolete build argsand

and add labels for neo4j enterprise

* env vars for webapp

* allow to define redirect domains

Define a list of Domains that redirect to the domain of the project. The
idea is to provide the ability to redirect eg. www.domain.tld to
domain.tld

* remove maintenance part regarding database

* move backup job outside template folder

* name the ingress

* updated ingress

* handle empty case of middlewares

* try to default the ingress

* use quote

* restore todo-next-update

* fix docu check

* fix naming

* try using prod:migrate

* try using override config

* copy src folder

* try using base as image instead of build

* fix test build

* force build

* comment for the problem

* fix webapp tests (potentially)

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
2025-02-28 18:22:23 +01:00
208b893bef
removed all deployment scripts (moved to rebranding repo) 2021-02-25 19:06:34 +01:00
289e62ddb4
corrected image & service names 2021-01-22 14:14:34 +01:00
Wolfgang Huß
be62c7d284 Rename back letsencrypt-XXX ClusterIssuer and files 2020-12-13 17:07:51 +01:00
Wolfgang Huß
1b01d35c8d Refactor ingress.yaml(s) and issuer.yaml(S) 2020-12-13 15:18:17 +01:00
Wolfgang Huß
fe6f052ded Replace deployment labels and selectors 2020-12-08 09:50:19 +01:00
Wolfgang Huß
62646df4f8 Replace URI 2020-12-08 09:43:56 +01:00
Wolfgang Huß
ea27a1bddc Rename several
- mailserver.human-connection  —>  mail.ocelot.social
- letsencrypt-staging  —>  letsencrypt-develop
- letsencrypt-prod  —>  letsencrypt-production
- Renamed files.
2020-12-03 17:15:44 +01:00
Wolfgang Huß
d92c5c5356 Rename namespace: human-connection and name: human-connection 2020-12-03 13:11:18 +01:00
Moriz Wahl
af54ec3704 further changes requested by Tirokk 2020-12-01 10:46:41 +01:00
Moriz Wahl
e47671c52a further changed requested by Tirokk 2020-11-24 19:10:46 +01:00
Moriz Wahl
ecb0bb3766 Starting rebranding to ocelot.social 2020-11-10 12:08:44 +01:00
Moriz Wahl
bd962bbfcc merging rebranding branch from / 2020-11-10 10:28:20 +01:00
Wolfgang Huß
da91be2136 Change docker repository to develop-maintenance
- maintenance  —>  develop-maintenance
2020-10-29 11:14:09 +01:00
Wolfgang Huß
a1e4a5bf5f Change docker repository to develop-neo4j
- neo4j  —>  develop-neo4j
2020-10-29 10:39:09 +01:00
Wolfgang Huß
13c70903e1 Change docker repository to develop-backend
- nitro-backend  —>  develop-backend
2020-10-28 10:59:36 +01:00
Wolfgang Huß
b6c8acab36 Change docker repository to develop-webapp
- nitro-web  —>  develop-webapp
2020-10-28 10:52:07 +01:00
Wolfgang Huß
360f545fb7 Change docker account
- humanconnection  —>  ocelotsocialnetwork
2020-10-28 10:36:14 +01:00
roschaefer
23ae569509 Rename dockerhub organizations
..plus get rid of obsolete prefix `nitro-`.
2020-06-04 13:04:05 +02:00
mattwr18
8773589d82 Add develop mailserver, upgrade version 2020-02-11 11:57:25 +01:00
mattwr18
8f6d71e4be Update helm charts 2020-02-10 10:46:55 +01:00
mattwr18
5fad1bb628 Update to version 0.3.0, version image in webapp 2020-02-04 15:46:08 +01:00
mattwr18
b9e5686860 Add basic documentation for Helm deploy 2020-01-31 15:32:33 +01:00
mattwr18
9f3f6cfe02 Set up PVC with helm!!
- It turns out we can set it up with helm, it was just an issue with not
  starting with a clean slate. I guess it probably would have been
better to just set it up from scratch and deleted the develop server,
like we intend to do in production.
2020-01-30 21:02:27 +01:00
mattwr18
baf3b7818d Escape double quotes to deploy configmap
- It was failing without them... also ACCEPT_LICENSE_AGREEMENT wasn't
  set properly using .Values
2020-01-30 21:00:56 +01:00
mattwr18
8647cba648 Temporarily use latest image for migration job
- it hasn't been deployed yet, therefore is not in any versioned image
2020-01-30 20:59:56 +01:00
mattwr18
4cbe8a2c5a Update deployments following Helm best practices
- image is set configurable and set to the app version for version
  control
- imagePullPolicy revert earlier changes to flatten hierarchy since helm
  create uses .Values.image.pullPolicy
- update imagePullPolicy to IfNotPresent since this is the default with
  helm create and fits with our strategy as well.
- Source, https://helm.sh/docs/topics/chart_best_practices/pods/
2020-01-30 17:39:13 +01:00
mattwr18
7472a0bc72 Add labels following Helm best practices
- There are 4 recommended labels, and one optional that were added.
- Source, https://helm.sh/docs/topics/chart_best_practices/labels/
2020-01-30 17:20:15 +01:00
mattwr18
43753e52f2 Rename Job file following Helm best practices
- "Template file names should reflect the resource kind in the name."
- Source, https://helm.sh/docs/topics/chart_best_practices/templates/#structure-of-templates
2020-01-30 16:48:36 +01:00
mattwr18
2e6dfbbd42 Refactor values.yaml following Helm best practices
- Variables should use camel case.
- Favor flat hierarchy over nested.
- "Every defined property in values.yaml should be documented. The
  documentation string should begin with the name of the property it
describes, and then give at least a one-sentence description."
- Source, https://helm.sh/docs/topics/chart_best_practices/values/
2020-01-30 16:37:12 +01:00
mattwr18
c3548e5d8d Add db-migrations-job, not working yet 2020-01-30 15:50:51 +01:00