-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial implementation of Kubernetes support
This issue updates #1986. This is intial, experimental implementation that will be updated with tests and edge cases prior to production 2.7.0 release. Teleport proxy adds support for Kubernetes API protocol. Auth server uses Kubernetes API to receive certificates issued by Kubernetes CA. Proxy intercepts and forwards API requests to the Kubernetes API server and captures live session traffic, making recordings available in the audit log. Tsh login now updates kubeconfig configuration to use Teleport as a proxy server.
- Loading branch information
1 parent
f340e7d
commit cece4be
Showing
1,409 changed files
with
376,285 additions
and
1,272 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
teleport | ||
tctl | ||
./teleport | ||
./tctl |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
FROM quay.io/gravitational/debian-grande:0.0.1 | ||
|
||
# Bundle teleport and control binary | ||
ADD teleport /usr/local/bin/teleport | ||
ADD tctl /usr/local/bin/tctl | ||
|
||
# By setting this entry point, we expose make target as command | ||
ENTRYPOINT ["/usr/bin/dumb-init", "teleport", "start", "-c", "/etc/teleport/teleport.yaml"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule e
updated
from 5e5c7f to 4a413d
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
name: teleport | ||
version: 0.0.1 | ||
description: Teleport Enterprise | ||
keywords: | ||
- Teleport Enterprise | ||
tillerVersion: ">=2.8.0" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
teleport: | ||
log: | ||
output: stderr | ||
severity: DEBUG | ||
|
||
data_dir: /var/lib/teleport | ||
storage: | ||
type: dir | ||
|
||
auth_service: | ||
enabled: yes | ||
license_file: /var/lib/license/license-enterprise.pem | ||
|
||
authentication: | ||
type: oidc | ||
|
||
public_addr: lens.gravitational.co:3025 | ||
cluster_name: lens.gravitational.co | ||
|
||
ssh_service: | ||
enabled: yes | ||
public_addr: lens.gravitational.co:3022 | ||
|
||
proxy_service: | ||
enabled: yes | ||
public_addr: lens.gravitational.co:443 | ||
web_listen_addr: 0.0.0.0:8080 | ||
listen_addr: 0.0.0.0:3023 | ||
kube_listen_addr: 0.0.0.0:3026 | ||
https_key_file: /var/lib/certs/key | ||
https_cert_file: /var/lib/certs/crt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
{{/* | ||
Create a default fully qualified app name. | ||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). | ||
*/}} | ||
{{- define "fullname" -}} | ||
{{- $name := default .Chart.Name .Values.nameOverride -}} | ||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} | ||
{{- end -}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
apiVersion: v1 | ||
kind: ConfigMap | ||
metadata: | ||
name: {{ template "fullname" . }} | ||
labels: | ||
heritage: {{ .Release.Service }} | ||
release: {{ .Release.Name }} | ||
chart: {{ .Chart.Name }}-{{ .Chart.Version }} | ||
app: {{ .Chart.Name }} | ||
data: | ||
teleport.yaml: | | ||
{{ .Files.Get "config/teleport.yaml" | indent 4 }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
apiVersion: apps/v1beta1 | ||
kind: Deployment | ||
metadata: | ||
name: {{ .Chart.Name }} | ||
labels: | ||
release: {{ .Release.Name }} | ||
heritage: {{ .Release.Service }} | ||
spec: | ||
replicas: 1 | ||
template: | ||
metadata: | ||
labels: | ||
app: {{ .Chart.Name }} | ||
release: {{ .Release.Name }} | ||
heritage: {{ .Release.Service }} | ||
spec: | ||
serviceAccount: {{ .Chart.Name }} | ||
containers: | ||
- name: teleport | ||
image: quay.io/gravitational/teleport-ent:{{ .Chart.Version }} | ||
imagePullPolicy: Always | ||
resources: | ||
requests: | ||
cpu: 1m | ||
ports: | ||
- containerPort: 8080 | ||
name: keygen | ||
volumeMounts: | ||
- mountPath: /var/lib/certs | ||
name: tls-web | ||
readOnly: true | ||
- mountPath: /etc/teleport | ||
name: config | ||
readOnly: true | ||
- mountPath: /var/lib/license | ||
name: license | ||
readOnly: true | ||
- mountPath: /var/lib/teleport | ||
name: storage | ||
volumes: | ||
- name: tls-web | ||
secret: | ||
secretName: tls-web | ||
- name: license | ||
secret: | ||
secretName: license | ||
- name: config | ||
configMap: | ||
name: {{ template "fullname" . }} | ||
- name: storage | ||
emptyDir: {} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
apiVersion: v1 | ||
kind: ServiceAccount | ||
metadata: | ||
name: {{ .Chart.Name }} | ||
namespace: default | ||
--- | ||
apiVersion: rbac.authorization.k8s.io/v1beta1 | ||
kind: ClusterRoleBinding | ||
metadata: | ||
name: {{ .Chart.Name }} | ||
roleRef: | ||
apiGroup: rbac.authorization.k8s.io | ||
kind: ClusterRole | ||
name: cluster-admin | ||
subjects: | ||
- kind: ServiceAccount | ||
name: {{ .Chart.Name }} | ||
namespace: default | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
apiVersion: v1 | ||
kind: Service | ||
metadata: | ||
name: {{ .Chart.Name }} | ||
spec: | ||
type: LoadBalancer | ||
ports: | ||
- name: web | ||
port: 443 | ||
targetPort: 8080 | ||
protocol: TCP | ||
- name: api | ||
port: 3025 | ||
targetPort: 3025 | ||
protocol: TCP | ||
- name: proxy-ssh | ||
port: 3023 | ||
targetPort: 3023 | ||
protocol: TCP | ||
- name: proxy-kube | ||
port: 3026 | ||
targetPort: 3026 | ||
protocol: TCP | ||
selector: | ||
app: {{ .Chart.Name }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.