Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add multi-tenancy public tutorial #2393

Open
wants to merge 17 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
6d236c3
add multi-tenancy public tutorial
QuentinBisson Dec 12, 2024
48d3fdc
Update src/content/tutorials/observability/multi-tenancy/creating-gra…
QuentinBisson Dec 12, 2024
ec48c33
Update src/content/tutorials/observability/multi-tenancy/creating-gra…
QuentinBisson Dec 12, 2024
37a33c7
Update src/content/tutorials/observability/multi-tenancy/creating-gra…
QuentinBisson Dec 12, 2024
4efc8d6
Update src/content/tutorials/observability/multi-tenancy/creating-gra…
QuentinBisson Dec 12, 2024
19523fe
Merge branch 'main' into add-multi-tenancy-public-doc
pipo02mix Dec 13, 2024
bca5657
Update src/content/overview/observability/_index.md
QuentinBisson Dec 13, 2024
27308d7
Update src/content/tutorials/observability/data-exploration/accessing…
QuentinBisson Dec 13, 2024
cef3f5e
Update src/content/tutorials/observability/multi-tenancy/creating-gra…
QuentinBisson Dec 13, 2024
ea1a7d3
Update src/content/tutorials/observability/multi-tenancy/creating-gra…
QuentinBisson Dec 13, 2024
9b471e1
Update src/content/tutorials/observability/multi-tenancy/creating-gra…
QuentinBisson Dec 13, 2024
62ba86f
Update src/content/tutorials/observability/multi-tenancy/creating-gra…
QuentinBisson Dec 13, 2024
76a27d9
Merge branch 'main' into add-multi-tenancy-public-doc
pipo02mix Dec 13, 2024
1ba3c2f
Merge branch 'main' into add-multi-tenancy-public-doc
QuentinBisson Dec 16, 2024
3956b3c
Update src/content/tutorials/observability/multi-tenancy/creating-gra…
QuentinBisson Dec 17, 2024
d2ffc03
Update src/content/tutorials/observability/multi-tenancy/creating-gra…
QuentinBisson Dec 17, 2024
b991f08
Merge branch 'main' into add-multi-tenancy-public-doc
pipo02mix Dec 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/content/overview/observability/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ menu:
principal:
parent: overview
identifier: overview-observability
last_review_date: 2024-06-06
last_review_date: 2024-12-11
owner:
- https://github.com/orgs/giantswarm/teams/sig-product
---
Expand All @@ -23,6 +23,8 @@ Observability is a fundamental aspect of modern cloud-native environments, provi

- **Alerting**: To not just look at dashboards all day it's crucial to be able to get notified about significant events or issues that require immediate attention. By making it easy to set up and configure alerting rules across apps and environments, our observability platform's alerting helps your teams avoid wasting time on repetitive tasks, thereby enhancing their efficiency and allowing them to focus on what matters.

- **Multi-Tenancy**: To isolate your observability data between teams or internal organization, Giant Swarm provides you with multi-tenant storage of and access to your observability data.
QuentinBisson marked this conversation as resolved.
Show resolved Hide resolved

One of the key benefits using Giant Swarm is that we provide a set of reliable and highly integrated observability tools that our own teams already use on a daily basis and will help you have a comprehensive view of your applications and infrastructure.

## Cloud-native technologies
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ menu:
identifier: tutorials-observability-data-exploration-accessing-grafana
parent: tutorials-observability-data-exploration
weight: 40
last_review_date: 2024-07-17
last_review_date: 2024-12-12
user_questions:
- How to access Grafana?
- How to access metrics from my clusters?
Expand Down Expand Up @@ -51,6 +51,8 @@ There is one identity provider configured for Giant Swarm staff and one for you

After selecting the right identity provider, you may run through an authentication workflow. However, if you are already authenticated within the current browser, this will be skipped and you should see the Home dashboard as a result.

When you log in, you will be logged into the Shared Org. which contains a curated set of provided dashboards that we manage and that is accessible to everyone. If you want to learn more about organizations and multi-tenancy, we can only advise you to read the related [documentation]{{< relref "/tutorials/observability/multi-tenancy" >}}).
QuentinBisson marked this conversation as resolved.
Show resolved Hide resolved

## Limitations

Grafana access is currently not available in shared installations, where several customer's observability data would be available from the same Grafana instance.
15 changes: 15 additions & 0 deletions src/content/tutorials/observability/multi-tenancy/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: Multi-tenancy
description: Guides explaining how to configure multi-tenancy in the Observability Platform.
weight: 20
menu:
principal:
parent: tutorials-observability
identifier: tutorials-observability-multitenancy
last_review_date: 2024-12-12
owner:
- https://github.com/orgs/giantswarm/teams/team-atlas
user_questions:
- How to isolate data into the observability platform?
- How to create grafana organizations?
---
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
linkTitle: Creating a Grafana organization
title: Creating a Grafana organization
description: Guide explaining how to manage Grafana organizations in the Observability Platform.
menu:
principal:
identifier: tutorials-observability-multitenancy-create-grafana-organization
parent: tutorials-observability-multitenancy
weight: 40
last_review_date: 2024-12-12
user_questions:
- How to create a grafana organization?
- How to access multi-tenant observability data?
owner:
- https://github.com/orgs/giantswarm/teams/team-atlas
---

When you first access [your installations Grafana]({{< relref "/tutorials/observability/data-exploration/accessing-grafana" >}}), you will be accessing an organization named _Shared Org_ which gives you access to a set of curated dashboards. However, if you want to be able to provide multi-tenancy of your observability data (data isolation between tenants), the Observability Platform allows you to create your own organizations in self-service.
QuentinBisson marked this conversation as resolved.
Show resolved Hide resolved

## Creating your own organization

To create your own grafana organization, you can create a [`GrafanaOrganization`](https://raw.githubusercontent.com/giantswarm/observability-operator/refs/heads/main/config/crd/observability.giantswarm.io_grafanaorganizations.yaml) custom resource in the management cluster containing the Grafana organization specification.

Check failure on line 22 in src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md

View workflow job for this annotation

GitHub Actions / vale

[Vale] reported by reviewdog 🐶 [Vale.Terms] Use 'Grafana' instead of 'grafana'. Raw Output: {"message": "[Vale.Terms] Use 'Grafana' instead of 'grafana'.", "location": {"path": "src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md", "range": {"start": {"line": 22, "column": 20}}}, "severity": "ERROR"}

Check failure on line 22 in src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md

View workflow job for this annotation

GitHub Actions / markdownlint problems

markdownlint problem

MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1]
QuentinBisson marked this conversation as resolved.
Show resolved Hide resolved

For example:

```yaml
apiVersion: observability.giantswarm.io/v1alpha1
kind: GrafanaOrganization
metadata:
name: giantswarm
spec:
displayName: Giant Swarm
rbac:
admins:
- giantswarm-admins
editors:
- giantswarm-editors
viewers:
- giantswarm-viewers
tenants:
- giantswarm
```

This Grafana organization will be created by our operators with the name *Giant Swarm*.

Check failure on line 44 in src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md

View workflow job for this annotation

GitHub Actions / markdownlint problems

markdownlint problem

MD049/emphasis-style Emphasis style should be consistent [Expected: underscore; Actual: asterisk]

Check failure on line 44 in src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md

View workflow job for this annotation

GitHub Actions / markdownlint problems

markdownlint problem

MD049/emphasis-style Emphasis style should be consistent [Expected: underscore; Actual: asterisk]
QuentinBisson marked this conversation as resolved.
Show resolved Hide resolved
It will be equipped with a basic set of datasources for Loki, Mimir and Alertmanager giving you access to the *giantswarm* tenant.

Check failure on line 45 in src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md

View workflow job for this annotation

GitHub Actions / vale

[Vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'datasources'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'datasources'?", "location": {"path": "src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md", "range": {"start": {"line": 45, "column": 41}}}, "severity": "ERROR"}

Check failure on line 45 in src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md

View workflow job for this annotation

GitHub Actions / vale

[Vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'giantswarm'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'giantswarm'?", "location": {"path": "src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md", "range": {"start": {"line": 45, "column": 112}}}, "severity": "ERROR"}

Check failure on line 45 in src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md

View workflow job for this annotation

GitHub Actions / markdownlint problems

markdownlint problem

MD049/emphasis-style Emphasis style should be consistent [Expected: underscore; Actual: asterisk]

Check failure on line 45 in src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md

View workflow job for this annotation

GitHub Actions / markdownlint problems

markdownlint problem

MD049/emphasis-style Emphasis style should be consistent [Expected: underscore; Actual: asterisk]
QuentinBisson marked this conversation as resolved.
Show resolved Hide resolved
The RBAC section defines how to map your sso groups to grafana admin roles (Admin, Editor, Viewer). Note that only admins is mandatory in this section.

Check failure on line 46 in src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md

View workflow job for this annotation

GitHub Actions / vale

[Vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'sso'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'sso'?", "location": {"path": "src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md", "range": {"start": {"line": 46, "column": 42}}}, "severity": "ERROR"}

Check failure on line 46 in src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md

View workflow job for this annotation

GitHub Actions / vale

[Vale] reported by reviewdog 🐶 [Vale.Terms] Use 'Grafana' instead of 'grafana'. Raw Output: {"message": "[Vale.Terms] Use 'Grafana' instead of 'grafana'.", "location": {"path": "src/content/tutorials/observability/multi-tenancy/creating-grafana-organization/_index.md", "range": {"start": {"line": 46, "column": 56}}}, "severity": "ERROR"}
QuentinBisson marked this conversation as resolved.
Show resolved Hide resolved
Loading