Skip to content

initial kubernetes context stub#104

Merged
mcred merged 2 commits intotitan-data:masterfrom
eschrock:feature/context
Nov 18, 2019
Merged

initial kubernetes context stub#104
mcred merged 2 commits intotitan-data:masterfrom
eschrock:feature/context

Conversation

@eschrock
Copy link
Contributor

Proposed Changes

This adds a stub of a context for invoking titan-server in kubernetes context. This is activated by setting TITAN_CONTEXT=kubernetes in the environment. This runs an entirely parallel installation, with the identity "titan-k8s" instead of "titan", and running on port 5002 instead of 5002. This allows both contexts to co-exist during this alpha period (prior to having first-class context support). For now, we've just implemented the install/uninstall endpoints and list repositories.

I've held off writing extensive endtoend tests because there's still a lot of ambiguity around how this new context will evolve and how we'll automate access to shared k8s environments, etc.

Testing

Ran unit tests, as well as getting started end2end tests. Manual testing includes:

Ability to run side-by-side

$ TITAN_CONTEXT=kubernetes titan install
Initializing titan infrastructure ...
Checking docker installation 100% │███████████████████████████████████████│ 100/100 (0:00:00 / 0:00:00) 
Starting titan server docker containers 100% │████████████████████████████│ 100/100 (0:00:01 / 0:00:00) 
Titan cli successfully installed, happy data versioning :)
$ TITAN_CONTEXT=kubernetes titan ls
REPOSITORY            STATUS
$ TITAN_CONTEXT=local titan install
Initializing titan infrastructure ...
Checking docker installation 100% │███████████████████████████████████████│ 100/100 (0:00:00 / 0:00:00) 
Starting titan server docker containers 100% │████████████████████████████│ 100/100 (0:00:15 / 0:00:00) 
Checking if compatible ZFS is running
Creating shared mounts
Creating storage pool
Titan cli successfully installed, happy data versioning :)
$ TITAN_CONTEXT=local titan ls
REPOSITORY            STATUS
mongo                 running
$ TITAN_CONTEXT=kubernetes titan ls
REPOSITORY            STATUS
$

Functioning kubernetes

$ docker exec -it titan-k8s-server bash
root@3e272c57c9ac:/titan# kubectl get pods
NAME                             READY   STATUS    RESTARTS   AGE
mongo-mongodb-6bccbc58c4-fmpx4   1/1     Running   0          4d5h
``

@eschrock eschrock requested a review from a team as a code owner November 18, 2019 21:06
@mcred mcred merged commit bf567e2 into titan-data:master Nov 18, 2019
mcred pushed a commit to mcred/titan that referenced this pull request Nov 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants