trinodb / trinodb/trino-python-client

Kerberos integration tests

Open
#37 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
439
Forks
206
PR merge metrics
No merged PRs in 30d

Description

Hello,

I have currently prepared the Docker environment, there are 3 containers:

  • Kerberos KDC
  • Presto with SSL+Kerberos
  • Client machine

Link: https://github.com/mik-laj/presto-kerberos-docker

All Keytab keys, SSL certificates are generated automatically. All you need to do is run start.sh. To test the environment, you can run test.sh. Currently, Github Action is set up in this repository, so it's easy to verify that everything is working fine.

I think we can use it for automatic tests of this library as well, to verify the correct implementation of Kerberos authorization. This will require some changes to our CI environment as Kerberos is very sensitive to hostnames. In practice, this means that we will have to run all the tests in Docker because you cannot configure only KDC and Presto in Docker, and the tests on the machine, because Kerberos will detect it as a connection from another network, which will make configuration even more difficult. I think this is a good solution as Docker will also provide greater repeatability of these tests and independence from CI.

If we run everything in Docker, we can easily migrate to Github Action or another system if necessary Travis CI is not a tool that is actively developed. It is only maintained by the owners.

Best regards.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked presto-kerberos-docker repository, especially start.sh, test.sh, and its GitHub Action configuration. Determine how the proposed Docker environment would connect to this client’s test and CI setup; done means repeatable automatic tests that verify Kerberos authorization in CI.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions, python
Domain
ci-cd, devops, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.