/otomi-tasks

Tasks needed by Otomi to glue all the pieces together.

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Otomi Tasks

Part of Red Kubes' Otomi Container Platform.

The tasks repo contains autonomous jobs orchestrated by redkubes/otomi-core.

This repo is also built as an image and published on docker hub at otomi/tasks.

This readme is aimed at development. If you wish to contribute please read our Developers Contributor Code of Conduct and Contribution Guidelines

Development

Make sure your expected environment variables exist in a mandatory .env file (see .env.sample). Then start a proxy to the api you wish to target:

  • drone: k -n team-admin port-forward svc/drone 8081:80 &
  • gitea: k -n gitea port-forward svc/gitea-http 8082:3000 &
  • harbor: k -n harbor port-forward svc/harbor-harbor-core 8083:80 &
  • keycloak: k -n keycloak port-forward svc/keycloak-http 8084:80 &

Or start them all with bin/start-proxies.sh

Now you can execute a task locally:

npm run tasks:(gitea*|harbor|keycloak|certs-aws|...)-dev

Or you can start them in the vscode debugger.

Skipping TLS (like for staging certs):

Run the next line in your shell to skip TLS cert validation, like when using self-signed certs like letsencrypt staging:

export NODE_TLS_REJECT_UNAUTHORIZED='0'

Setting debug level:

For all packages to turn on debug:

export DEBUG='*'

To limit scope please read the debug docs.

Unit tests

There are not many unit tests, as the tasks are very robust and idempotent. You can run them as always with:

npm test