<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/spec/services/clusters, branch scripts-differences</title>
<subtitle>gitlab.com: gitlab-org/gitlab-ce.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/'/>
<entry>
<title>Use separate Kubernetes namespaces per environment</title>
<updated>2019-08-07T04:40:29+00:00</updated>
<author>
<name>Tiger Watson</name>
<email>twatson@gitlab.com</email>
</author>
<published>2019-08-07T04:40:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=36a01a88ce4c35f3d2b455c7943eeb9649b51163'/>
<id>36a01a88ce4c35f3d2b455c7943eeb9649b51163</id>
<content type='text'>
Kubernetes deployments on new clusters will now have
a separate namespace per project environment, instead
of sharing a single namespace for the project.

Behaviour of existing clusters is unchanged.

All new functionality is controlled by the
:kubernetes_namespace_per_environment feature flag,
which is safe to enable/disable at any time.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Kubernetes deployments on new clusters will now have
a separate namespace per project environment, instead
of sharing a single namespace for the project.

Behaviour of existing clusters is unchanged.

All new functionality is controlled by the
:kubernetes_namespace_per_environment feature flag,
which is safe to enable/disable at any time.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unused Clusters::RefreshService</title>
<updated>2019-07-29T02:04:18+00:00</updated>
<author>
<name>Tiger</name>
<email>twatson@gitlab.com</email>
</author>
<published>2019-07-29T02:04:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=ce0d74c26b6499062e5dd28f2000c18dfefabf92'/>
<id>ce0d74c26b6499062e5dd28f2000c18dfefabf92</id>
<content type='text'>
Also removes all logic from ClusterConfigureWorker
and ClusterProjectConfigureWorker, which are also
no longer used.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also removes all logic from ClusterConfigureWorker
and ClusterProjectConfigureWorker, which are also
no longer used.
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable GitLabb runner to be uninstalled from cluster</title>
<updated>2019-07-16T16:11:10+00:00</updated>
<author>
<name>João Cunha</name>
<email>j.a.cunha@gmail.com</email>
</author>
<published>2019-07-16T16:11:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=bd31c4be0d7cfcb0c2cc887a66c313c592ce8e88'/>
<id>bd31c4be0d7cfcb0c2cc887a66c313c592ce8e88</id>
<content type='text'>
- Set as uninstallable app
- Update docs
- Adjust specs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Set as uninstallable app
- Update docs
- Adjust specs
</pre>
</div>
</content>
</entry>
<entry>
<title>Give Knative serving permissions to service account</title>
<updated>2019-07-11T11:26:15+00:00</updated>
<author>
<name>Hordur Freyr Yngvason</name>
<email>hfyngvason@gitlab.com</email>
</author>
<published>2019-07-11T11:26:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=6971fd261dd63ac7698da9d4e5337af6f053dddd'/>
<id>6971fd261dd63ac7698da9d4e5337af6f053dddd</id>
<content type='text'>
GitLab uses a kubernetes service account to perform deployments. For
serverless deployments to work as expected with externally created
clusters with their own knative installations (e.g. via Cloud Run), this
account requires additional permissions in the serving.knative.dev API
group.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GitLab uses a kubernetes service account to perform deployments. For
serverless deployments to work as expected with externally created
clusters with their own knative installations (e.g. via Cloud Run), this
account requires additional permissions in the serving.knative.dev API
group.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch '60617-enable-project-cluster-jit' into 'master'</title>
<updated>2019-06-24T05:16:31+00:00</updated>
<author>
<name>Thong Kuah</name>
<email>tkuah@gitlab.com</email>
</author>
<published>2019-06-24T05:16:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=d9f4a919458721bd9ffae4d4e69bf17d18bd3be8'/>
<id>d9f4a919458721bd9ffae4d4e69bf17d18bd3be8</id>
<content type='text'>
Enable JIT Kubernetes resource creation for project level clusters

See merge request gitlab-org/gitlab-ce!29515</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enable JIT Kubernetes resource creation for project level clusters

See merge request gitlab-org/gitlab-ce!29515</pre>
</div>
</content>
</entry>
<entry>
<title>Retry fetching Kubernetes Secret token</title>
<updated>2019-06-21T06:36:34+00:00</updated>
<author>
<name>Dylan Griffith</name>
<email>dyl.griffith@gmail.com</email>
</author>
<published>2019-06-21T05:13:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=4855667dad5d1ff61725bebf0683f0491bffc87c'/>
<id>4855667dad5d1ff61725bebf0683f0491bffc87c</id>
<content type='text'>
Since Kubernetes is creating the Secret and token asynchronously it is
necessary that we implement some delay or retrying logic to avoid a race
condition where we fetch a Secret before the token is even set. There
does not appear to be any way for us to force it to be set with any
synchronous API call so retrying seems to be the only option.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since Kubernetes is creating the Secret and token asynchronously it is
necessary that we implement some delay or retrying logic to avoid a race
condition where we fetch a Secret before the token is even set. There
does not appear to be any way for us to force it to be set with any
synchronous API call so retrying seems to be the only option.
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable project-level JIT resource creation</title>
<updated>2019-06-18T02:43:52+00:00</updated>
<author>
<name>Tiger</name>
<email>twatson@gitlab.com</email>
</author>
<published>2019-06-11T23:44:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=74702f0e0e05bc346338fbd11b596fcbedfbaea6'/>
<id>74702f0e0e05bc346338fbd11b596fcbedfbaea6</id>
<content type='text'>
Previously this behaviour was only available to group
and instance-level clusters, as some project clusters
relied on Kubernetes credentials being passed through
to the runner instead of having their resources managed
by GitLab (which is not available when using JIT). These
clusters have been migrated to unmanaged, so resources
can be created on demand for the remaining managed clusters.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously this behaviour was only available to group
and instance-level clusters, as some project clusters
relied on Kubernetes credentials being passed through
to the runner instead of having their resources managed
by GitLab (which is not available when using JIT). These
clusters have been migrated to unmanaged, so resources
can be created on demand for the remaining managed clusters.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove legacy Kubernetes #actual_namespace</title>
<updated>2019-05-21T16:38:11+00:00</updated>
<author>
<name>Tiger</name>
<email>twatson@gitlab.com</email>
</author>
<published>2019-05-16T22:49:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=101c4480b32044682e453753c6bb18c2a296b044'/>
<id>101c4480b32044682e453753c6bb18c2a296b044</id>
<content type='text'>
When Kubernetes clusters were originally built they could only
exist at the project level, and so there was logic included
that assumed there would only ever be a single Kubernetes
namespace per cluster. We now support clusters at the group
and instance level, which allows multiple namespaces.

This change consolidates various project-specific fallbacks to
generate namespaces, and hands all responsibility to the
Clusters::KubernetesNamespace model. There is now no concept of
a single namespace for a Clusters::Platforms::Kubernetes; to
retrieve a namespace a project must now be supplied in all cases.

This simplifies upcoming work to use a separate Kubernetes
namespace per project environment (instead of a namespace
per project).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When Kubernetes clusters were originally built they could only
exist at the project level, and so there was logic included
that assumed there would only ever be a single Kubernetes
namespace per cluster. We now support clusters at the group
and instance level, which allows multiple namespaces.

This change consolidates various project-specific fallbacks to
generate namespaces, and hands all responsibility to the
Clusters::KubernetesNamespace model. There is now no concept of
a single namespace for a Clusters::Platforms::Kubernetes; to
retrieve a namespace a project must now be supplied in all cases.

This simplifies upcoming work to use a separate Kubernetes
namespace per project environment (instead of a namespace
per project).
</pre>
</div>
</content>
</entry>
<entry>
<title>Stop configuring group clusters on creation</title>
<updated>2019-05-17T01:18:42+00:00</updated>
<author>
<name>Tiger</name>
<email>twatson@gitlab.com</email>
</author>
<published>2019-04-11T03:26:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=fa5a6ae172584c5c33665a6efa4a6aa4efaea9ad'/>
<id>fa5a6ae172584c5c33665a6efa4a6aa4efaea9ad</id>
<content type='text'>
Immediate configuration is not ideal for group and instance
level clusters as projects that may never be deployed would
still have Kubernetes namespaces and service accounts created
for them.

As of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/25586
we now create only the resources that are required for the
project being deployed, at the time of deployment.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Immediate configuration is not ideal for group and instance
level clusters as projects that may never be deployed would
still have Kubernetes namespaces and service accounts created
for them.

As of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/25586
we now create only the resources that are required for the
project being deployed, at the time of deployment.
</pre>
</div>
</content>
</entry>
<entry>
<title>Instance level kubernetes clusters admin</title>
<updated>2019-05-06T20:37:03+00:00</updated>
<author>
<name>James Fargher</name>
<email>proglottis@gmail.com</email>
</author>
<published>2019-04-10T02:13:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=733da6d6a015e8c951dcc02250cfe1fab87789c0'/>
<id>733da6d6a015e8c951dcc02250cfe1fab87789c0</id>
<content type='text'>
Instance level clusters were already mostly supported, this change adds
admin area controllers for cluster CRUD
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instance level clusters were already mostly supported, this change adds
admin area controllers for cluster CRUD
</pre>
</div>
</content>
</entry>
</feed>
