{"id":36416150,"url":"https://github.com/codbex/codbex-kronos","last_synced_at":"2026-04-07T11:01:00.198Z","repository":{"id":49975778,"uuid":"489961537","full_name":"codbex/codbex-kronos","owner":"codbex","description":"SAP HANA XS Classic and ABAP Compatibility Platform","archived":false,"fork":false,"pushed_at":"2026-04-03T10:11:25.000Z","size":9827,"stargazers_count":7,"open_issues_count":204,"forks_count":3,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-04-03T15:50:55.893Z","etag":null,"topics":["platform"],"latest_commit_sha":null,"homepage":"https://codbex.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codbex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-05-08T14:09:21.000Z","updated_at":"2026-04-03T10:11:32.000Z","dependencies_parsed_at":"2023-10-11T11:01:08.871Z","dependency_job_id":"676994df-d177-4026-9c50-04b0c309a52a","html_url":"https://github.com/codbex/codbex-kronos","commit_stats":null,"previous_names":[],"tags_count":192,"template":false,"template_full_name":null,"purl":"pkg:github/codbex/codbex-kronos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codbex%2Fcodbex-kronos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codbex%2Fcodbex-kronos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codbex%2Fcodbex-kronos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codbex%2Fcodbex-kronos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codbex","download_url":"https://codeload.github.com/codbex/codbex-kronos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codbex%2Fcodbex-kronos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31509941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["platform"],"created_at":"2026-01-11T16:59:01.434Z","updated_at":"2026-04-07T11:01:00.185Z","avatar_url":"https://github.com/codbex.png","language":"Java","readme":"# Kronos by codbex\n\n[![Build Status](https://github.com/codbex/codbex-kronos/actions/workflows/build.yaml/badge.svg)](https://github.com/codbex/codbex-kronos/actions/workflows/build.yaml)\n[![Eclipse License](https://img.shields.io/badge/License-EPL%202.0-brightgreen.svg)](https://github.com/codbex/codbex-kronos/blob/main/LICENSE)\n[![Maven Central](https://img.shields.io/maven-central/v/com.codbex.kronos/codbex-kronos-application.svg)](https://central.sonatype.com/namespace/com.codbex.kronos)\n[![GitHub contributors](https://img.shields.io/github/contributors/codbex/codbex-kronos.svg)](https://github.com/codbex/codbex-kronos/graphs/contributors)\n\n\u003e Kronos is the official fork of the project \"XSK\" developed by SAP until 2022. This repository is well maintained by\n\u003e the same developers\n\u003e and free to be used by whom is interested.\n\n\u003c!-- TOC --\u003e\n* [Kronos by codbex](#kronos-by-codbex)\n  * [Description](#description)\n  * [Overview](#overview)\n    * [Background](#background)\n  * [Requirements](#requirements)\n      * [Docker](#docker)\n      * [Build](#build)\n      * [Docker Build](#docker-build)\n      * [ORAS artifacts](#oras-artifacts)\n      * [Run](#run)\n      * [Debug](#debug)\n      * [Spring profiles](#spring-profiles)\n      * [Web](#web)\n      * [REST API](#rest-api)\n  * [FAQ](#faq)\n  * [Cheat Sheet](#cheat-sheet)\n  * [Readiness](#readiness)\n  * [How to obtain support](#how-to-obtain-support)\n  * [Contributing](#contributing)\n\u003c!-- TOC --\u003e\n\n## Description\n\nCompatible environment\nfor [SAP HANA Extended Application Services](https://help.sap.com/viewer/52715f71adba4aaeb480d946c742d1f6/2.0.03/en-US/a6c0749255d84a81a154a7fc87dd33ce.html) (\nXS) based applications. It is deployed outside\nof [SAP HANA](https://www.sap.com/products/hana.html?btp=991d50bf-fa15-4979-ac4b-b280b0eb951f) instance as\na [Docker](https://www.docker.com/) a container on [Kubernetes](https://kubernetes.io/). Hence, some of the features can\nwork against any\nother JDBC compliant RDBMS such as [PostgreSQL](https://www.postgresql.org/). The compatibility stack is an extension of\nthe [Eclipse Dirigible](https://github.com/eclipse/dirigible) cloud development platform.\n\n\u003e _**Note:** the project is not yet ready to be used productively_\n\n## Overview\n\n_Project documentation is available at: https://www.xsk.io_\n\n- [Project Kronos](#background)\n- [Support](#how-to-obtain-support)\n- [Contributing](#contributing)\n\n### Background\n\nIn the SAP Cloud Platform Neo environment XS classic programming model (XSC) is supported via the HANA 1.x database. The\nXSC engine resides\nin the HANA system itself. It can scale up, but cannot scale out. It is based on the multi-threaded JavaScript runtime\nMozilla\nSpydermonkey (Firefox's engine). It supports synchronous programming model. It can serve backend services in JavaScript,\nHTML5 and other\nstatic content. It supports OData v2.0 compatible services defined in an \\*.xsodata descriptors. It supports automatic\ntables, views,\ncalculationviews materialisation based on proprietary formats.\n\nKronos approach is to provide a custom [Eclipse Dirigible](https://www.dirigible.io/) stack coming with XSC engine type.\nThis engine is\nbased on the standard Dirigible's JavaScript engine with several enhancements such as predefined XSC API pre-loaded ($.*\nAPIs), execution\nbased on \\*.xsjs instead of \\*.js only, imports based on \\*.xsjslib instead of \\*.js.\n\nThere are corresponding APIs in Dirigible playing the same role as the ones in XSC (e.g. request, response, connection,\netc.). A thin XSC\nbridge is provided for full compatibility.\n\nThe programming model is synchronous in multi-threaded environment (based\non [GraalJS](https://github.com/graalvm/graaljs)). The descriptors\nfor the table, views and calculationviews currently exists with the same life-cycle management, only the format is\ndifferent. OData via\ndescriptor approach is also available as part of the stack as well.\n\nKronos stack is based on Java (JVM), so all the available plugins and/or new frameworks from Apache, Eclipse, and other\nopen source\nproviders can be easily integrated as well.\n\nKronos stack can run within the HANA box, also in the virtual HANA system or outside in e.g. Kubernetes cluster, Kyma,\nCloud Foundry, Open\nStack.\n\n_**To learn more go to: https://www.xsk.io**_\n\n## Requirements\n\n- Java 20 or later\n- Maven 3.6.2 or later\n- Access to SAP BTP account or another Kubernetes based environment\n- Access to SAP HANA Cloud instance\n\n#### Docker\n\n```\ndocker pull ghcr.io/codbex/codbex-kronos:latest\ndocker run --name codbex-kronos --rm -p 80:80 ghcr.io/codbex/codbex-kronos:latest\n```\n\n- For Apple's M1: provide `--platform=linux/arm64` for better performance\n\n#### Build\n\n```\nmvn clean install\n```\n\n#### Docker Build\n\n```\nGIT_REPO='\u003cpath_to_git_repo\u003e'\nIMAGE_TAG='codbex-kronos:dev'\nORAS_GIT_TOKEN='\u003ctoken_with_read_packages_scope_for_codbex\u003e'\n\ncd \"$GIT_REPO\"\n\nmvn -T 1C clean install -P quick-build\ncd application\n\noras login ghcr.io -u oauth2 -p \"$ORAS_GIT_TOKEN\"\n\noras pull \"ghcr.io/codbex/codbex-bw-migration/codbex-abap-bw:latest\" -o oras-artifacts\n\ndocker buildx build \\\n  --platform linux/amd64,linux/arm64 . --tag \"$IMAGE_TAG\"\n\n```\n\n#### ORAS artifacts\nYou need to pull the required ORAS artifacts locally if they are needed for your scenario and the Kronos is not started as a Docker container.\u003cbr\u003e\nFor example if you work on BW migration scenario where ABAP transpilation is needed.\u003cbr\u003e\n```shell\nsudo su\nmkdir -p /opt/codbex\ncd /opt/codbex\n\nORAS_GIT_TOKEN='\u003ctoken_for_the_repos\u003e'\noras login ghcr.io -u oauth2 -p \"$ORAS_GIT_TOKEN\"\n\nrm -rf oras-artifacts\noras pull \"ghcr.io/codbex/codbex-bw-migration/codbex-abap-bw:latest\" -o oras-artifacts\n\n```\n\n#### Run\n\n```\njava -jar application/target/codbex-kronos-application-*-executable.jar\n```\n\n#### Debug\n\n```\njava -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 -jar application/target/codbex-kronos-application-*-executable.jar\n```\n\n#### Spring profiles\n- Eclipse Dirigible profiles\u003cbr\u003e\n  To activate Eclipse Dirigible profile, you have to add profiles `common` and `app-default` explicitly.\u003cbr\u003e\n  Example for profile `snowflake`: `SPRING_PROFILES_ACTIVE=common,snowflake,app-default`\n\n#### Web\n\n```\nhttp://localhost\n```\n\n#### REST API\n\n```\nhttp://localhost/swagger-ui/index.html\n```\n\n## FAQ\n\n- How long will Kronos be supported?\n\n  \u003e Kronos is an open source project with community support. Everyone can join and make a [PR](CONTRIBUTING.md). In fact\n  SAP discontinued\n  official support to project \"XSK\", and this fork maintained by the same developers is prove that the approach is\n  viable and useful. The\n  company codbex provide enterprise support for Kronos based runtimes.\n\n- Should future developments be based on Kronos?\n\n  \u003e Yes, you can use Kronos for future development.\n\n- What about the tooling? Do we get state of the art tooling for maintaining and enhancing Kronos?\n\n  \u003e Kronos tooling is based on [Eclipse Dirigible](https://www.dirigible.io/) and in the near future it will be possible\n  to maintain Kronos\n  projects with any modern IDE like VSCode, Eclipse Theia, etc.\n\n- What about the ops aspects - will Kronos be smoothly integrated into a state-of-the-art lifecycle and ops management (\n  be it SAP-based or\n  non-SAP based like GitHub Actions?\n\n  \u003e Yes, the Kronos itself uses [GitHub actions](https://github.com/codbex/codbex-kronos/actions) for CI/CD\n\n- Will there be limitations that will not be mitigated?\n\n  \u003e You can get the up-to-date list of covered [features](https://github.com/codbex/codbex-kronos/wiki/Readiness) as\n  well as\n  the [limitations](https://github.com/codbex/codbex-kronos/wiki/Limitations)\n\n## Cheat Sheet\n\nVisit the cheat sheet [here](https://github.com/codbex/codbex-kronos/wiki/Cheat-Sheet).\n\n## Readiness\n\nVisit the readiness page [here](https://github.com/codbex/codbex-kronos/wiki/Readiness).\n\n## How to obtain support\n\nAll the bug reports as well as the feature requests have to be registered as issues.\n\n## Contributing\n\nIf you want to contribute, please check the [Contribution Guidelines](CONTRIBUTING.md)\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodbex%2Fcodbex-kronos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodbex%2Fcodbex-kronos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodbex%2Fcodbex-kronos/lists"}