Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

basic k8s support #108

Merged
merged 13 commits into from
Nov 24, 2019
Merged

basic k8s support #108

merged 13 commits into from
Nov 24, 2019

Conversation

eschrock
Copy link
Contributor

Proposed Changes

This adds all the endpoints for basic k8s support, including running, starting, stopping, and removing repositories. With this, the only things that aren't supported are push/pull (all server side) and clone (CLI and server-side).

In the k8s world, we create a StatefulSet with a matching Service for each repository. For now, our port forwarding is somewhat janky as we just run kubectl in the background and cross our fingers. We will leave full-featured port forwarding to post-alpha. One difference to note vs. docker is that we persist the disablePortForwarding setting in the repo metadata, as we need to reference it on start/stop/checkout.

Testing

mvn install. Geting started endtoend tests. Ran through run/commit/checkout/stop/start/rm workflow on both digital ocean and EC2. Disabled port mapping and made sure port forwarding wasn't started. Set environment variables and verified they propagated to pods.

Native image support for k8s is not quite working due to some limitations in the kubernetes java client. PRs have been submitted and accepted, but we will likely need to build a custom version until the 7.0.0 release is shipped. For now I've left it broken, since we're still pre-alpha. Non-k8s titan works just fine (as demonstrated by e2e tests).

@eschrock eschrock requested a review from a team as a code owner November 24, 2019 01:44
@mcred mcred merged commit b080173 into titan-data:master Nov 24, 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