Commit Graph

132 Commits

Author SHA1 Message Date
Chris Baumbauer 97441486ce Fix issue with missing knative cluster role binding, and cleanup tests 2018-11-05 23:55:18 -08:00
Chris Baumbauer aa44393e8f Merge branch 'master' into triggermesh-phase1-knative 2018-11-03 10:13:35 -07:00
Dylan Griffith d86f76320c Use our own docker image for helm install pods
This will reduce dependencies and failure points during installation. It
will also reduce security risks from untrusted dependencies being able
to effect all our users
2018-11-02 17:46:33 +00:00
Thong Kuah 5ede567d71 Incorporates Kubernetes Namespace into Cluster's flow 2018-11-02 15:46:15 +00:00
Chris Baumbauer dc078c2417 Merge branch 'master' into triggermesh-phase1-knative 2018-11-02 08:39:25 -07:00
Kamil Trzciński 9e6098a6db Merge branch 'refactor_gitlab_kube_client' into 'master'
Refactor Gitlab::KubeClient

Closes #52131

See merge request gitlab-org/gitlab-ce!22073
2018-10-25 12:02:11 +00:00
Chris Baumbauer 661fd213de Update helm version 1.7.2 -> 2.11.0 2018-10-24 15:13:33 -07:00
Thong Kuah a5419138fd Store version within SUPPORTED_API_GROUPS hash
This removes the ability to pass in a different version. We can instead
create a new entry in the SUPPORTED_API_GROUPS hash for a different
version if need be.
2018-10-23 23:52:34 +13:00
Thong Kuah 983c4a50d0 Remove api_groups from KubeClient constructor
We should have access to #core_client, #rbac_client,
and #extensions_client without having to pass in an awkward array.

Also change api_version to default_api_version, which allows us to use a
different version for an individual client. Special case for
apis/extensions which only go up to v1beta1

Makes #hashed_client private

Removes the #clients and #discover! methods which are un-used
2018-10-23 23:36:43 +13:00
Mayra Cabrera 1e4d615000 Add RoleBinding methods
Includes RoleBinding methods to Kubeclient and introduce a new lib class
to generate RoleBinding resources.

This MR is part of
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/22011
2018-10-22 17:16:14 -05:00
Thong Kuah f6ff32d9bd Port Helm::Api EE extensions to CE
We will need these utility level code in the future to help upgrade all
helm applications.
2018-10-01 11:16:07 +13:00
Thong Kuah e6fd3f1986 Port UpgradeCommand to CE
This is a utility class that we will need in the future to update and
upgrade our managed helm applications, which we do plan to do in CE.
2018-09-27 18:15:04 +12:00
Thong Kuah a02e35308b Always create `gitlab` service account and service account token regardless of ABAC/RBAC
This also solves the async nature of the automatic creation of default
service tokens for service accounts. It also makes explicit which
service account token we always use.

create cluster role binding only if the provider has legacy_abac
disabled.
2018-09-14 16:26:51 +12:00
Thong Kuah 8c8ccd3167 Teach GitLab how to create Secret of type ServiceAccountToken
Add create_secret to KubeClient
2018-09-14 16:26:51 +12:00
Thong Kuah 6f2ad2b604 Enable Kubernetes RBAC for GitLab Managed Apps for existing clusters 2018-09-06 10:03:38 +00:00
Mayra Cabrera fc13409637 Resolve "Mutual SSL Auth For Helm TIller" 2018-08-07 12:39:38 +00:00
Thong Kuah 0cd76190de Lock helm charts to the VERSION already specified for each application.
Fix up VERSION for each of the applications
* There is no 0.0.1 helm version for jupyterhub. Use the latest version instead
* `:nginx` is not a valid chart version. Lock the ingress application GitLab installs to the latest chart version.
* Use the latest gitlab-runner chart to prevent GitLab installing older versions when users have been installing the lastest version

Always install from the VERSION and not the database `version` column.
This should fix cases like https://gitlab.com/gitlab-org/gitlab-ee/issues/6795 in
the instances where an install command failed previously, which locked the version
in the database to an older version.

Also, ensure that the version column is updated to the version we are
installing.

Add specs to show how previously failed appplications will be handled when the helm installation is run again

Add changelog entry
2018-08-02 10:22:38 +12:00
Mayra Cabrera b21730116e Revert "Merge branch '48098-mutual-auth-cluster-applications' into 'master'"
This reverts merge request !20801
2018-07-31 13:15:18 +00:00
Dylan Griffith 628ff2cf17 Use anonymous class in base_command_spec 2018-07-30 13:08:32 +00:00
Dylan Griffith cb21560b91 Ensure CA + Tiller cert never expire and Helm client cert expires quickly 2018-07-30 13:08:31 +00:00
Dylan Griffith 11edbcccef Get mutual SSL working with helm tiller 2018-07-30 13:08:30 +00:00
Dylan Griffith ce897f11a0 Refactor Cluster Application classes to pass through a has of config files
This is refactoring in the lead up to passing mutual TLS certs for helm applications. As such we expect all applications to need config files so we can remove the logic about which applications need and do not need this (ie `#config_map?`).
2018-07-28 09:50:31 +00:00
Tiago Botelho eb7c08c7a6 Backports relevant changes made in https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/5163 to CE 2018-07-25 09:39:39 +01:00
Mayra Cabrera 5841e92390 Resolve "Unable to install Prometheus on Clusters: 'Error: Chart incompatible with Tiller v2.7.0'" 2018-06-20 12:10:14 +00:00
Alessio Caiazza ce5723c849
Add alpine mirrors while operating on k8s cluster 2018-04-30 15:12:26 +02:00
Pirate Praveen 53e2987ba6 Replace KubeException with Kubeclient::HttpError (kubeclient 3.0) 2018-03-15 08:14:13 +01:00
Mayra Cabrera c607008ee5 Extend Cluster Applications to install GitLab Runner to Kubernetes cluster 2018-03-01 23:46:02 +00:00
Joshua Lambert 1f912880db Enable Prometheus metrics for deployed Ingresses 2018-02-05 12:46:31 +00:00
Mayra Cabrera 1827f398ad Resolve "Managed Prometheus deployment installs a lot of extra stuff" 2018-01-15 16:27:58 +00:00
Mayra Cabrera 0d4548026f Extend Cluster Applications to allow installation of Prometheus 2017-12-22 17:23:43 +00:00
Alessio Caiazza 8ec618a6ed Add Helm InstallCommand 2017-11-07 17:12:41 +01:00
Alessio Caiazza 3f261a499e Add k8s namespace implementation and tests 2017-11-07 14:05:58 +01:00