Files
791b4bc769 feat: Switch to monorepo (#21)
* feat: first commit

* feat: import wallet, fctl sdk and some stuff

* fix: make hooks enabled only if changes in the code

* feat: refine scripts

* chore: disable pre commit hooks

* chore: update payments

* feat: make all hooks pass

this has required modifications on almost each project

* git subrepo push services/webhooks

subrepo:
  subdir:   "services/webhooks"
  merged:   "ca5d19c5"
upstream:
  origin:   "webhooks"
  branch:   "main"
  commit:   "ca5d19c5"
git-subrepo:
  version:  "0.4.5"
  origin:   "ssh://[email protected]/ingydotnet/git-subrepo"
  commit:   "dbb99be"

* chore: push backport

* chore: backports

* chore: backports

* chore: backports

* chore: backports

* chore: backports

* chore: remove test code

* chore: backports

* fix: branch

* git subrepo push --branch=chore/backports --force services/fctl

subrepo:
  subdir:   "services/fctl"
  merged:   "0d98fdaa"
upstream:
  origin:   "fctl"
  branch:   "chore/backports"
  commit:   "0d98fdaa"
git-subrepo:
  version:  "0.4.5"
  origin:   "ssh://[email protected]/ingydotnet/git-subrepo"
  commit:   "dbb99be"

* feat(fctl): fix argument

* git subrepo push --branch=chore/backports --force services/fctl

subrepo:
  subdir:   "services/fctl"
  merged:   "5a7a41f9"
upstream:
  origin:   "fctl"
  branch:   "chore/backports"
  commit:   "5a7a41f9"
git-subrepo:
  version:  "0.4.5"
  origin:   "ssh://[email protected]/ingydotnet/git-subrepo"
  commit:   "dbb99be"

* feat: remove ledger

* git subrepo clone ledger services/ledger

subrepo:
  subdir:   "services/ledger"
  merged:   "ad57138a"
upstream:
  origin:   "ledger"
  branch:   "main"
  commit:   "ad57138a"
git-subrepo:
  version:  "0.4.5"
  origin:   "ssh://[email protected]/ingydotnet/git-subrepo"
  commit:   "dbb99be"

* feat(auth): fix dependencies

* chore: backports

* feat: remove ledger

* feat: add ledger

* feat: remove auth

* feat: fetch auth main

* feat: remove search

* feat: add search

* feat: remove submodules

* feat: reomve payments

* feat: add payments from main

* feat: add 'yarn install' before generate sdk

* feat: Update CI

* feat: remove fctl

* feat: add fctl

* chore: go mod tidy

* git subrepo push services/fctl

subrepo:
  subdir:   "services/fctl"
  merged:   "5d4c919"
upstream:
  origin:   "fctl"
  branch:   "main"
  commit:   "5d4c919"
git-subrepo:
  version:  "0.4.5"
  origin:   "ssh://[email protected]/ingydotnet/git-subrepo"
  commit:   "dbb99be"

* feat: add go-project-template

* feat: update go-project-template under new go libs

* git subrepo push libs/go-project-template

subrepo:
  subdir:   "libs/go-project-template"
  merged:   "40e49f0"
upstream:
  origin:   "go-project-template"
  branch:   "main"
  commit:   "40e49f0"
git-subrepo:
  version:  "0.4.5"
  origin:   "ssh://[email protected]/ingydotnet/git-subrepo"
  commit:   "dbb99be"

* fix: sdk hook

* feat: Update CI

* feat: Update CI

* feat: Update CI

* feat: Update CI

* feat: Update

* feat: CI Update

* feat: Clear CI

* feat: CI clear

* fee

* feat: CI

* feat: Update CI

* feat: Update CI

* feat: Desactivate release mode

* feat: Update CI

* feat: Update CI

* ci: upgrade

* feat: update go-libs

* feat(orchetration): init project

* git subrepo push libs/go-project-template

subrepo:
  subdir:   "libs/go-project-template"
  merged:   "cbead19"
upstream:
  origin:   "go-project-template"
  branch:   "main"
  commit:   "cbead19"
git-subrepo:
  version:  "0.4.5"
  origin:   "ssh://[email protected]/ingydotnet/git-subrepo"
  commit:   "dbb99be"

* fix: commitlint

* feat: little clean & fix pre-commit

* fix: for pre-commit

* ci: Improvement

* ci: Improvement

* ci: Improvement

* ci: Improvement

* ci: Improvement

* chore: add machine

* ci: Improvement

* ci: Improvement

* ci: Improvement

* ci: Improvement

* feat: Add all SDK

* ci: Improvement

* feat: Update taskfile & CI

* feat: Update taskfile & CI

* feat: List foliders in find

* feat: List foliders in find

* feat: List foliders in find

* feat: List foliders in find

* feat: List foliders in find

* feat: List foliders in find

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* chore: Empty-Commit

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: Add GoBuild

* feat: big bang

* feat: big bang

* feat: big bang

* ci: Update

* ci: Add release

* ci: Update .goreleaser.yml

* feat(orchestration): first working version

* feat(operator): simplify

* feat(operator): factorize ingress, services, auth clients...

* feat(operator): remove resources

* fix: auth configuration causing pods reboot

* feat: Update gitpod configuration

* feat(gitpod): Add Garden

* feat(gitpod): Add rsync

* feat(gitpod): Add packages

* feat(gitpod): Add packages

* feat(gitpod): Optimize configuration

* feat(gitpod): restore default config

* feat(gitpod): Add port 80 & 443 on qemu

* feat(gitpod): Ignore .garden fodler

* feat(gitpod): Upgrade qemu

* feat: add 'stack' label on created objects

* feat: add taskfile operator to root taskfile

* feat(operator): add lint to taskfile

* feat(operator): add build.Dockerfile

* fix(operator): fix build.Dockerfile

* fix(operator): restore service names

* fix(operator): ingresses

* fix(operator): fix middlewares

* fix(operator): duplicate middlewares entries

* fix(operator): control ingress path prefix

* feat(operator): disable ingress on service if not specified in configuration

* fix(fctl): membership uri

* fix(orchestration): application/json content-type

* feat: wip

* fix: orchestration run ids

* fix: catch panic on workflow executions

Co-authored-by: Ragot Geoffrey <[email protected]>
Co-authored-by: Antoine Gelloz <[email protected]>
2023-01-25 13:41:59 +01:00

2.1 KiB

Add a new SDK

We use OpenAPI generator to generate ledger client SDK.` This doc refers to the tool named task

If you want to add a new language, you have to configure a few things.

Configuration

First, you need to create a configuration file.

This file must be added inside the sdk/configs directory. The file name MUST match the name of the involved api generator (i.e. java.yaml for java or php.yaml for php).

By convention, the newly added config file MUST add the following configuration :

templateDir: templates/<generator name> # related to sdk/

Again, we use the generator name to name this directory. We also have to create the directory sdk/templates/.

If the generator provide required properties, you MUST define the licence to MIT.

The rest of the configuration is specific to the language and should be carefully specified. You have to keep in mind that the SDK will be hosted on github.com/numary/numary-sdk-, so you could have to define some properties for a language which would not exist on another language.

Customization

Customization of the generated SDK can be achieved by modifying the openapi generator builtins templates. You can extract them for your generator using the following command :

task sdk:template -- <generator name>

The command will extract all templates inside the directory sdk/templates/. You can edit them as much as you want. Please keep only modified templates.

Please read documentation for additional information.

Finally, you can check the generation using the command (while being inside sdk/):

task sdk:genereate -- <generator name>

Publish

Once your sdk is properly generated, you have to create a PR using the template "pull_request_template".

Using this template, you have to define how to deploy the generated SDK to the official channels. After that, your PR will be reviewed. If accepted, a repository will be created under github.com/numary/numary-sdk- and the CI will be added for you on the repository.