t.index["note"],name: "tmp_idx_on_promoted_notes",where: "(((noteable_type)::text = 'Issue'::text) AND (system IS TRUE) AND (note ~~ 'promoted to epic%'::text))"
t.index["note"],name: "tmp_idx_on_promoted_notes",where: "(((noteable_type)::text = 'Issue'::text) AND (system IS TRUE) AND (note ~~ 'promoted to epic%'::text))"
To see a list of available applications to install. For a:
To see a list of available applications to install. For a:
-[Project-level cluster](../project/clusters/index.md), navigate to your project's
-[Project-level cluster](../project/clusters/index.md), navigate to your project's
**Operations > Kubernetes**.
**{cloud-gear}****Operations > Kubernetes**.
-[Group-level cluster](../group/clusters/index.md), navigate to your group's **Kubernetes** page.
-[Group-level cluster](../group/clusters/index.md), navigate to your group's
**{cloud-gear}****Kubernetes** page.
Install Helm first as it's used to install other applications.
Install Helm first as it's used to install other applications.
...
@@ -655,7 +656,7 @@ GitLab Runner is installed into the `gitlab-managed-apps` namespace of your clus
...
@@ -655,7 +656,7 @@ GitLab Runner is installed into the `gitlab-managed-apps` namespace of your clus
In order for GitLab Runner to function, you **must** specify the following:
In order for GitLab Runner to function, you **must** specify the following:
-`gitlabUrl` - the GitLab server full URL (e.g., `https://example.gitlab.com`) to register the Runner against.
-`gitlabUrl` - the GitLab server full URL (for example, `https://example.gitlab.com`) to register the Runner against.
-`runnerRegistrationToken` - The registration token for adding new Runners to GitLab. This must be
-`runnerRegistrationToken` - The registration token for adding new Runners to GitLab. This must be
[retrieved from your GitLab instance](../../ci/runners/README.md).
[retrieved from your GitLab instance](../../ci/runners/README.md).
...
@@ -752,7 +753,8 @@ agent:
...
@@ -752,7 +753,8 @@ agent:
> [Introduced](https://gitlab.com/gitlab-org/cluster-integration/cluster-applications/-/merge_requests/40) in GitLab 12.8.
> [Introduced](https://gitlab.com/gitlab-org/cluster-integration/cluster-applications/-/merge_requests/40) in GitLab 12.8.
Enable JupyterHub in the `.gitlab/managed-apps/config.yaml` file to install it:
JupyterHub is installed using GitLab CI by defining configuration in
`.gitlab/managed-apps/config.yaml` as follows:
```yaml
```yaml
jupyterhub:
jupyterhub:
...
@@ -761,33 +763,40 @@ jupyterhub:
...
@@ -761,33 +763,40 @@ jupyterhub:
gitlabGroupWhitelist:[]
gitlabGroupWhitelist:[]
```
```
`gitlabProjectIdWhitelist` restricts GitLab authentication to only members of the specified projects. `gitlabGroupWhitelist` restricts GitLab authentication to only members of the specified groups. Specifying an empty array for both will allow any user on the GitLab instance to log in.
In the configuration:
JupyterHub is installed into the `gitlab-managed-apps` namespace of your
-`gitlabProjectIdWhitelist` restricts GitLab authentication to only members of the specified projects.
cluster.
-`gitlabGroupWhitelist` restricts GitLab authentication to only members of the specified groups.
- Specifying an empty array for both will allow any user on the GitLab instance to sign in.
In order for JupyterHub to function, you must setup an [OAuth Application](../../integration/oauth_provider.md). Using the following values:
JupyterHub is installed into the `gitlab-managed-apps` namespace of your cluster.
- "Redirect URI" to `http://<JupyterHub Host>/hub/oauth_callback`
For JupyterHub to function, you must set up an [OAuth Application](../../integration/oauth_provider.md).
- "Scope" to `api read_repository write_repository`
Set:
In addition the following variables must be specified using [CI variables](../../ci/variables/README.md):
- "Redirect URI" to `http://<JupyterHub Host>/hub/oauth_callback`.
- "Scope" to `api read_repository write_repository`.
-`JUPYTERHUB_PROXY_SECRET_TOKEN` will set [`proxy.secretToken`](https://zero-to-jupyterhub.readthedocs.io/en/stable/reference.html#proxy-secrettoken). Generate this using `openssl rand -hex 32`.
In addition, the following variables must be specified using [CI variables](../../ci/variables/README.md):
-`JUPYTERHUB_COOKIE_SECRET` will set [`hub.cookieSecret`](https://zero-to-jupyterhub.readthedocs.io/en/stable/reference.html#hub-cookiesecret). Generate this using `openssl rand -hex 32`.
-`JUPYTERHUB_HOST` is the hostname used for the installation (e.g., `jupyter.example.gitlab.com`).
-`JUPYTERHUB_GITLAB_HOST` is the hostname of the GitLab instance used for authentication (e.g., `example.gitlab.com`).
-`JUPYTERHUB_AUTH_CRYPTO_KEY` will set [`auth.state.cryptoKey`](https://zero-to-jupyterhub.readthedocs.io/en/stable/reference.html#auth-state-cryptokey). Generate this using `openssl rand -hex 32`.
-`JUPYTERHUB_AUTH_GITLAB_CLIENT_ID` the "Application ID" for the OAuth Application.
-`JUPYTERHUB_AUTH_GITLAB_CLIENT_SECRET` the "Secret" for the OAuth Application.
let!(:snippet3){snippets.create!(project_id: project.id,author_id: author.id,title: 'title3',description: 'description with an email@example.com and some other @ char here.')}
let!(:note4){notes.create!(noteable_id: snippet1.id,noteable_type: 'Snippet',project_id: project.id,author_id: author.id,note: 'note3 for an email@somesite.com and some other rando @ ref')}
# this note points to an innexistent noteable record in snippets table
# this snippet has no mentions so should be filtered out
let!(:resource5){snippets.create!(title: "title5",title_html: "title5",description: 'snippet description with no mention',project_id: project.id,author_id: user.id)}