Commit graph

49 commits

Author SHA1 Message Date
Gus Luxton d72aff82f7
http -> https (#3991) 2020-07-08 00:14:56 -03:00
Gus Luxton 72b3679018
Add Helm chart packaging for Teleport (#3943) 2020-07-02 10:48:54 -07:00
Steven Martin 576e4b510d
Update to Teleport Chart (#3821) 2020-07-02 10:47:56 -07:00
Andrew Lytvynov e0c7f80f6c Update example helm charts with SelfSubjectAccessReview permissions
The new permission is there to allow the proxy to self-test
impersonation powers at startup and surface RBAC problems early.
2020-06-11 00:14:50 +00:00
Steven Martin 32109d8836
Teleport example helm README update (#3750)
* Teleport helm upgrade command update

The --name in the helm upgrade example was not a valid parameter.  Also put in comments that ca.pem is not required.  It is off by default.

* Modified comments based on feedback
2020-05-20 18:41:42 -04:00
Gus Luxton 4e9c679a05
Add Helm chart with DaemonSet to provide access to underlying host nodes (#3674) 2020-05-19 10:41:12 -03:00
Gus Luxton 7c7c91da10 Add more detail to README 2020-05-01 14:17:49 -07:00
Gus Luxton 218aec357b Change LoadBalancer to ClusterIP 2020-05-01 14:17:49 -07:00
Gus Luxton a3151111bf Update README 2020-05-01 14:17:49 -07:00
Gus Luxton b9c9174e07 Update README 2020-05-01 14:17:49 -07:00
Gus Luxton 2934f65fe2 Removed all requirements for TLS 2020-05-01 14:17:49 -07:00
Gus Luxton 4368891b4e Don't set Kubernetes public address 2020-05-01 14:17:49 -07:00
Gus Luxton 3378dfccd9 Update TLS secret names 2020-05-01 14:17:49 -07:00
Gus Luxton cd4cb69894 More README tweaks 2020-05-01 14:17:49 -07:00
Gus Luxton c5b9d3e68f Changes to README 2020-05-01 14:17:49 -07:00
Gus Luxton 84cd3cc13b Update README 2020-05-01 14:17:49 -07:00
Gus Luxton ed80914d7f Updates 2020-05-01 14:17:49 -07:00
Gus Luxton 292fa32813 Add ability to automatically set up a trusted cluster to Helm chart 2020-05-01 14:17:49 -07:00
Steven Martin 0cab6e5847 bump teleport version up 2020-03-30 16:58:38 -07:00
Steven Martin 5dbcc4dae7 Bump teleport version up 2020-03-30 16:58:38 -07:00
Gus Luxton 76e9c3b5c3
Docs fixes for Teleport demo charts (#3353) 2020-02-13 15:03:49 -08:00
jon-can b5db717d47
Update README.md (#3349) 2020-02-12 18:45:21 -08:00
Gus Luxton 2594bc75d3
Update README.md 2020-02-12 17:07:19 -04:00
Ben Arent 010b42bf0c
Bumping 4.2.0 In Docs (#3238)
* Bumping 4.2.0 In reference in docs
2020-01-07 16:24:30 -08:00
Gus Luxton 6e5f3c079c
Set public_addr for ssh_service on demo instances so that we can use tsh join (#3224) 2019-12-18 12:58:40 -04:00
Gus Luxton 7b54e7f892
Don't end the script on a certbot error (#3170) 2019-11-22 15:19:47 -04:00
Gus Luxton 0a5f3f6bfc
Cloudflare agent fixes for demo environments in Kubernetes (#3157)
* Added wait time for Cloudflare and retry logic for LetsEncrypt, also removed wildcard registration
* Move log statement
2019-11-14 13:50:04 -04:00
Gus Luxton 2ca75d06e6
Add setuptools to Docker (#3151) 2019-11-13 14:04:54 -04:00
Gus Luxton 7c9e704ada
Change latest tag to buster in Teleport demo containers (#3150) 2019-11-13 13:57:24 -04:00
Gus Luxton f99dc4e4d9
Update pip to pip3 in cloudflare-agent container (#3149) 2019-11-13 13:50:06 -04:00
Brendan Germain 1b10e3aad5 Helm Chart updates kubernetes >= 1.16 support (#3065)
* PV template to use Values.persistence.accessMode

* use apps/v1

* expose replica count for modification
2019-10-09 16:47:50 -07:00
Gus Luxton 882e5ed27f
Automatically restart Teleport process in demo environments (#2824)
* Expose diagnostic endpoint and add liveness/ready checks to pods to enable automatic restart if Teleport shuts down
* Force add OIDC connector to suppress error message when container restarts, also add missing echo to errors
* Force adding of trusted cluster on restart
2019-07-03 14:40:04 -03:00
Alexander Klizhentas 511d777de2 Update default inage in values.yaml for helm chart 2019-05-23 13:40:03 -07:00
Alexander Klizhentas 92e5bf5081
Fixes in DynamoDB event polling (#2661)
* Add resest for buffers to close watchers
and reset buffer the state.
* Add reconnect logic to DynamoDB
* Add tests for cache watchers, make sure
the errors of the cache internal watcher propagate to
external watchers.
2019-04-17 18:52:09 -07:00
Gus Luxton 9dc033f54b
Various extra fixes for Teleport Demo environments (#2647)
* Create wildcard DNS record for the main cluster as well as single A record so we can use Kubernetes forwarding to remote clusters via proxy properly
* Automatically delete created Cloudflare DNS records via pre-delete hook when the chart is deleted to keep the zone tidy
* Don't explicitly print Cloudflare API credentials in debug mode (they're logged along with the curl commands anyway)
* Add a function to handle Cloudflare API calls rather than copy/pasting code
2019-04-11 17:38:54 +01:00
Gus Luxton d328296b04
Reproducible Teleport demo environments in Kubernetes (#2585)
* Initial commit with split Helm chart for proxy/auth and node elements
* Many, many changes to add all required features
* Remove cert-manager and nginx-ingress
* Update TTL
* Add build-essential and python-dev to cloudflare-agent Docker build and set exit on error
* Add --force-upgrade flag to Tiller for potentially different Helm versions
* Enable Letsencrypt by default
* Overhaul naming to allow better multi-tenancy on k8s clusters
* Add NOTES.txt to provide cluster usage instructions
* Make the use of trusted clusters entirely optional
* Actually make the use of trusted clusters entirely optional this time
* Update .gitignore
* Update whitespace formatting in NOTES.txt
* Enable Letsencrypt by default
* Move secrets to git submodule
* Fix README typo and add secrets to .gitignore
* Update documentation
* Add some extra details to NOTES.txt
* Address PR comments plus update all references to Teleport 3.1.4 -> 3.1.7
* Make Cloudflare TTL optional (use Cloudflare's auto value when it's not provided)
* - Explicitly add admin role to clusters with use of kubernetes_groups
- Fix use of claims_to_roles so it can be specified in values.yaml
- Improve Minikube/NodePort support
- Replace use of containerPort with service port for LoadBalancer objects
* Update secrets in submodule to use Kubernetes-enabled license
* Add admin role script to containers
* Ignore all secrets files
* Update k8s RBAC to fix proxy functionality, also create 'clusteradmin' and 'admin' roles in Teleport to split permissions
* Update default version to 3.1.8
* Add k8s cluster roles and bindings to allow use of CSR APIs and limited permission scope
* Restrict admin role from seeing/updating auth_connectors
* Fix whitespace and naming bug
* Change from using k8s CSR API to impersonation API
* Update from kubectl 1.12.4 -> 1.12.5 for security fix
* Updated build scripts to use Docker cache properly, also using version tags for all containers now to keep things tidier
* Use docker build --pull rather than manual pull, also remove unused TELEPORT_VERSION arguments
2019-04-09 14:09:25 +01:00
Daniel Aquino e260c440a8 helm-chart: allow custom tls-web secret names 2019-04-03 10:16:05 -07:00
Daniel Aquino 9322b7b63f helm-chart: disable service account automount 2019-04-03 10:15:55 -07:00
Brendan Germain 1e44be361b expose deployment update strategy 2019-04-01 17:48:22 -07:00
Brendan Germain ea17f9c2be add externalTrafficPolicy to helm service 2019-03-21 13:19:40 -07:00
Sasha Klizhentas aefe8860c1 Kubernetes proxy to use impersonation API
This commit switches Teleport proxy to use impersonation
API instead of the CSR API.

This allows Teleport to work on EKS clusters, GKE and all
other CNCF compabitble clusters.

This commit updates helm chart RBAC as well.

It introduces extra configuration flag to proxy_service
configuration parameter:

```yaml
proxy_service:
   # kubeconfig_file is used for scenarios
   # when Teleport Proxy is deployed outside
   # of the kubernetes cluster
   kubeconfig_file: /path/to/kube/config
```

It deprecates similar flag in auth_service:

```yaml
auth_service:
   # DEPRECATED. THIS FLAG IS IGNORED
   kubeconfig_file: /path/to/kube/config
```
2019-03-18 15:46:49 -07:00
Brendan Germain 34f7a1f3d8 update helm chart pvc name to match deployment/pv (#2466) 2019-01-05 13:24:12 -08:00
Brendan Germain 53d2e4ddd4 add persistence to helm chart (#2465) 2019-01-04 11:29:09 -08:00
Alexander Babai f52de7678e Helm - Make license optional (#2451)
Make license optional, bump chart version.
2018-12-29 12:14:14 -08:00
Brendan Germain 59810b2f0b add proxytunnel as a default service to helm chart 2018-08-16 08:47:26 -07:00
Sasha Klizhentas 1f3b4e2c96 Kubernetes configuration, fetch proxy settings.
This commit moves proxy kubernetes configuration
to a separate nested block to provide more fine
grained settings:

```yaml
auth:
  kubernetes_ca_cert_path: /tmp/custom-ca
proxy:
  enabled: yes
  kubernetes:
    enabled: yes
    public_addr: [custom.example.com:port]
    api_addr: kuberentes.example.com:443
    listen_addr: localhost:3026
```

1. Kubernetes config section is explicitly enabled
and disabled. It is disabled by default.

2. Public address in kubernetes section
is propagated to tsh profile

The other part of the commit updates Ping
endpoint to send proxy configuration back to
the client, including kubernetes public address
and ssh listen address.

Clients updates profile accordingly to configuration
received from the proxy.
2018-08-06 11:57:36 -07:00
Sasha Klizhentas f3488a6c76 Fix helm template typos 2018-07-18 17:23:56 -07:00
Yusuke KUOKA eac92edd20 Idiomatic helm chart for Teleport
This is a helm chart for Teleport that conforms to [helm chart best practices](https://docs.helm.sh/chart_best_practices/) and various conventions seen in the official charts repository, so that it becomes easy-to-use and flexible enough to support many deployment scenarios.

Features:

- Locally testable on minikube
- Chart values for flexible configuration, instead of sourcing the raw teleport.yaml contained in the chart
- Automatically rolling-update the pods on configuration change according to the helm best practices
- Service and deplyment ports more finely configurable
- Customizable service and ingress for exposing the proxy to the private network or the internet
  - Use service annotatinos for integration with e.g. [external-dns](https://github.com/kubernetes-incubator/external-dns)
  - Use ingress for integration with e.g.[aws-alb-ingress-controller](https://github.com/kubernetes-sigs/aws-alb-ingress-controller)
- Configurable pod annotations. Uesful for IAM integration with kube2iam/kiam for example.
- Customizable pod assignment for security and availability
2018-07-06 09:35:10 -07:00
Sasha Klizhentas cece4be212 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.
2018-06-03 12:55:13 -07:00