reiizumi/kirin

By reiizumi

Updated 6 months ago

Income, budgets and purchases manager

Helm
0

1.2K

reiizumi/kirin repository overview

Kirin

Kirin container images

Description

This service allows you to manage income and expenses, distributed among different types of income, savings, fixed expenses and expenses within a budget.

Resources are published according to the OpenAPI specification. This is published in the code repository, it is not published inside the container.

You can find more information about the code in the repository.

Kirin does not have the functionalities to publish its services via HTTPS, delegating this functionalities to a web frontend/proxy (like Traefik or Ingress.

If you need a UI, use Kirin UI.

Usage

The service requires a PostgreSQL database, an Identity Manager (like Keycloak) to confirm that the received tokens are correct and Toranku for category management.

it is possible to use other databases, but the container does not have the libraries. You must pack and generate the container with the correct library.

Database parameters

You must indicate the connection data to the database. Toranku will generate the tables if they don't exist, so the user has to have permission to do so:

  • quarkus.datasource.jdbc.url database URL like postgresql://postgres.example.cat:5432/kirin_db
  • quarkus.datasource.username database Username
  • quarkus.datasource.password database Password
OIDC parameters

Connection data to Identity Manager to check that the tokens are correct. Must be compatible with the OIDC format.

  • quarkus.oidc.auth-server-url Identity Manager URL like https://keycloak.example.cat/auth/realms/Extranet
  • quarkus.oidc.client-id client Id
  • quarkus.oidc.credentials.secret client secret
OIDC HTTPS certificate

if an Identity Manager is accessed via HTTPS and it has an invalid certificate, it must be added into the service so that it can connect.

To do this, you must replace the cacerts file in /certs/cacerts mounting your own cacerts file with your certificate. If you don't have any cacerts file, you can download the original from the container or any from Java 17.

Toranku and token
  • quarkus.rest-client.toranku-api.url like https://toranku.domain.intranet
  • If the access to Toranku is using HTTPS and the certificate is not valid, use quarkus.rest-client.toranku-api.hostname-verifier=io.quarkus.restclient.NoopHostnameVerifier
  • quarkus.oidc-client.auth-server-url Identity Manager URL like https://keycloak.example.cat/auth/realms/Intern
  • quarkus.oidc-client.client-id token user
  • quarkus.oidc-client.credentials.secret token secret
Expose on localhost

To start the system, you must first configure the database and the Identity Manager. When everything has been configured, the following command will allow you to start the service:

docker run -p 8080:8080 \
  -e quarkus.datasource.jdbc.url=postgresql://postgres.example.cat:5432/kirin_db \
  -e quarkus.datasource.username=postgres \
  -e quarkus.datasource.password=postgres \
  -e quarkus.oidc.auth-server-url=https://keycloak.example.cat/auth/realms/Extranet \
  -e quarkus.oidc.client-id=toranku \
  -e quarkus.oidc.credentials.secret=12345 \
  -e quarkus.rest-client.toranku-api.url=https://toranku.domain.intranet \
  -e quarkus.oidc-client.auth-server-url=https://keycloak.example.cat/auth/realms/Intern \
  -e quarkus.oidc-client.client-id=kirin \
  -e quarkus.oidc-client.credentials.secret=12345 \
  reiizumi/kirin
Other services

The service has a simple index website (in HTML) to see the version and compilation information.

Health and metrics are also published:

  • /q/health/ready indicates whether the service is available for use.
  • /q/metrics metrics in Prometheus format.

Tag summary

Content type

Helm

Digest

sha256:32c58c3db

Size

7.9 kB

Last updated

6 months ago

helm pull oci://registry-1.docker.io/reiizumi/kirin --version 1.4.4