Skip to content

Commit

Permalink
chore: various markdown warnings resolved
Browse files Browse the repository at this point in the history
  • Loading branch information
CodeWithEmad committed Oct 23, 2024
1 parent 6fef6ac commit 57e66f8
Show file tree
Hide file tree
Showing 22 changed files with 134 additions and 142 deletions.
1 change: 1 addition & 0 deletions RESOURCES/FEATURE_FLAGS.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ These features flags are **safe for production**. They have been tested and will
[//]: # "PLEASE KEEP THESE LISTS SORTED ALPHABETICALLY"

### Flags on the path to feature launch and flag deprecation/removal

- DASHBOARD_VIRTUALIZATION
- DRILL_BY
- DISABLE_LEGACY_DATASOURCE_EDITOR
Expand Down
14 changes: 13 additions & 1 deletion RESOURCES/INTHEWILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ all you have to do is file a simple PR [like this one](https://github.com/apache
the categorization is inaccurate, please file a PR with your correction as well.
Join our growing community!


### Sharing Economy

- [Airbnb](https://github.com/airbnb)
- [Faasos](https://faasos.com/) [@shashanksingh]
- [Hostnfly](https://www.hostnfly.com/) [@alexisrosuel]
Expand All @@ -35,6 +35,7 @@ Join our growing community!
- [Ontruck](https://www.ontruck.com/)

### Financial Services

- [Aktia Bank plc](https://www.aktia.com)
- [American Express](https://www.americanexpress.com) [@TheLastSultan]
- [bumper](https://www.bumper.co/) [@vasu-ram, @JamiePercival]
Expand All @@ -48,9 +49,11 @@ Join our growing community!
- [Xendit](https://xendit.co/) [@LieAlbertTriAdrian]

### Gaming

- [Popoko VM Games Studio](https://popoko.live)

### E-Commerce

- [AiHello](https://www.aihello.com) [@ganeshkrishnan1]
- [Bazaar Technologies](https://www.bazaartech.com) [@umair-abro]
- [Dragonpass](https://www.dragonpass.com.cn/) [@zhxjdwh]
Expand All @@ -72,6 +75,7 @@ Join our growing community!
- [Zalora](https://www.zalora.com) [@ksaagariconic]

### Enterprise Technology

- [A3Data](https://a3data.com.br) [@neylsoncrepalde]
- [Analytics Aura](https://analyticsaura.com/) [@Analytics-Aura]
- [Apollo GraphQL](https://www.apollographql.com/) [@evans]
Expand Down Expand Up @@ -121,6 +125,7 @@ Join our growing community!
- [Zeta](https://www.zeta.tech/) [@shaikidris]

### Media & Entertainment

- [6play](https://www.6play.fr) [@CoryChaplin]
- [bilibili](https://www.bilibili.com) [@Moinheart]
- [BurdaForward](https://www.burda-forward.de/en/)
Expand All @@ -133,6 +138,7 @@ Join our growing community!
- [Zaihang](https://www.zaih.com/)

### Education

- [Aveti Learning](https://avetilearning.com/) [@TheShubhendra]
- [Brilliant.org](https://brilliant.org/)
- [Platzi.com](https://platzi.com/)
Expand All @@ -143,13 +149,15 @@ Join our growing community!
- [WikiMedia Foundation](https://wikimediafoundation.org) [@vg]

### Energy

- [Airboxlab](https://foobot.io) [@antoine-galataud]
- [DouroECI](https://www.douroeci.com/) [@nunohelibeires]
- [Safaricom](https://www.safaricom.co.ke/) [@mmutiso]
- [Scoot](https://scoot.co/) [@haaspt]
- [Wattbewerb](https://wattbewerb.de/) [@wattbewerb]

### Healthcare

- [Amino](https://amino.com) [@shkr]
- [Bluesquare](https://www.bluesquarehub.com/) [@madewulf]
- [Care](https://www.getcare.io/) [@alandao2021]
Expand All @@ -160,19 +168,23 @@ Join our growing community!
- [WeSure](https://www.wesure.cn/)

### HR / Staffing

- [Swile](https://www.swile.co/) [@PaoloTerzi]
- [Symmetrics](https://www.symmetrics.fyi)
- [bluquist](https://bluquist.com/)

### Government

- [City of Ann Arbor, MI](https://www.a2gov.org/) [@sfirke]
- [RIS3 Strategy of CZ, MIT CR](https://www.ris3.cz/) [@RIS3CZ]

### Travel

- [Agoda](https://www.agoda.com/) [@lostseaway, @maiake, @obombayo]
- [Skyscanner](https://www.skyscanner.net/) [@cleslie, @stanhoucke]

### Others

- [10Web](https://10web.io/)
- [AI inside](https://inside.ai/en/)
- [Automattic](https://automattic.com/) [@Khrol, @Usiel]
Expand Down
5 changes: 3 additions & 2 deletions docs/docs/configuration/alerts-reports.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ You can find documentation about each field in the default `config.py` in the Gi
You need to replace default values with your custom Redis, Slack and/or SMTP config.

Superset uses Celery beat and Celery worker(s) to send alerts and reports.

- The beat is the scheduler that tells the worker when to perform its tasks. This schedule is defined when you create the alert or report.
- The worker will process the tasks that need to be performed when an alert or report is fired.

Expand Down Expand Up @@ -182,7 +183,6 @@ ALERT_REPORTS_EXECUTE_AS = [ExecutorType.SELENIUM]

Please refer to `ExecutorType` in the codebase for other executor types.


**Important notes**

- Be mindful of the concurrency setting for celery (using `-c 4`). Selenium/webdriver instances can
Expand All @@ -194,7 +194,6 @@ Please refer to `ExecutorType` in the codebase for other executor types.
- Adjust `WEBDRIVER_BASEURL` in your configuration file if celery workers can’t access Superset via
its default value of `http://0.0.0.0:8080/`.


It's also possible to specify a minimum interval between each report's execution through the config file:

``` python
Expand Down Expand Up @@ -300,6 +299,7 @@ One symptom of an invalid connection to an email server is receiving an error of
Confirm via testing that your outbound email configuration is correct. Here is the simplest test, for an un-authenticated email SMTP email service running on port 25. If you are sending over SSL, for instance, study how [Superset's codebase sends emails](https://github.com/apache/superset/blob/master/superset/utils/core.py#L818) and then test with those commands and arguments.

Start Python in your worker environment, replace all example values, and run:

```python
import smtplib
from email.mime.multipart import MIMEMultipart
Expand All @@ -321,6 +321,7 @@ mailserver.quit()
This should send an email.

Possible fixes:

- Some cloud hosts disable outgoing unauthenticated SMTP email to prevent spam. For instance, [Azure blocks port 25 by default on some machines](https://learn.microsoft.com/en-us/azure/virtual-network/troubleshoot-outbound-smtp-connectivity). Enable that port or use another sending method.
- Use another set of SMTP credentials that you verify works in this setup.

Expand Down
8 changes: 4 additions & 4 deletions docs/docs/configuration/async-queries-celery.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@ CELERY_CONFIG = CeleryConfig

To start a Celery worker to leverage the configuration, run the following command:

```
```bash
celery --app=superset.tasks.celery_app:app worker --pool=prefork -O fair -c 4
```

To start a job which schedules periodic background jobs, run the following command:

```
```bash
celery --app=superset.tasks.celery_app:app beat
```

Expand Down Expand Up @@ -93,12 +93,12 @@ issues arise. Please clear your existing results cache store when upgrading an e

Flower is a web based tool for monitoring the Celery cluster which you can install from pip:

```python
```bash
pip install flower
```

You can run flower using:

```
```bash
celery --app=superset.tasks.celery_app:app flower
```
2 changes: 1 addition & 1 deletion docs/docs/configuration/cache.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Caching can be configured by providing dictionaries in
`superset_config.py` that comply with [the Flask-Caching config specifications](https://flask-caching.readthedocs.io/en/latest/#configuring-flask-caching).

The following cache configurations can be customized in this way:

- Dashboard filter state (required): `FILTER_STATE_CACHE_CONFIG`.
- Explore chart form data (required): `EXPLORE_FORM_DATA_CACHE_CONFIG`
- Metadata cache (optional): `CACHE_CONFIG`
Expand Down Expand Up @@ -100,7 +101,6 @@ THUMBNAIL_SELENIUM_USER = "admin"
THUMBNAIL_EXECUTE_AS = [ExecutorType.SELENIUM]
```


For this feature you will need a cache system and celery workers. All thumbnails are stored on cache
and are processed asynchronously by the workers.

Expand Down
13 changes: 12 additions & 1 deletion docs/docs/configuration/configuring-superset.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ Your deployment must use a complex, unique key.
### Rotating to a newer SECRET_KEY

If you wish to change your existing SECRET_KEY, add the existing SECRET_KEY to your `superset_config.py` file as
`PREVIOUS_SECRET_KEY = `and provide your new key as `SECRET_KEY =`. You can find your current SECRET_KEY with these
`PREVIOUS_SECRET_KEY =`and provide your new key as `SECRET_KEY =`. You can find your current SECRET_KEY with these
commands - if running Superset with Docker, execute from within the Superset application container:

```python
Expand Down Expand Up @@ -300,6 +300,7 @@ CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager
- If an OAuth2 authorization server supports OpenID Connect 1.0, you could configure its configuration
document URL only without providing `api_base_url`, `access_token_url`, `authorize_url` and other
required options like user info endpoint, jwks uri etc. For instance:

```python
OAUTH_PROVIDERS = [
{ 'name':'egaSSO',
Expand All @@ -313,12 +314,15 @@ CUSTOM_SECURITY_MANAGER = CustomSsoSecurityManager
}
]
```

### Keycloak-Specific Configuration using Flask-OIDC

If you are using Keycloak as OpenID Connect 1.0 Provider, the above configuration based on [`Authlib`](https://authlib.org/) might not work. In this case using [`Flask-OIDC`](https://pypi.org/project/flask-oidc/) is a viable option.

Make sure the pip package [`Flask-OIDC`](https://pypi.org/project/flask-oidc/) is installed on the webserver. This was succesfully tested using version 2.2.0. This package requires [`Flask-OpenID`](https://pypi.org/project/Flask-OpenID/) as a dependency.

The following code defines a new security manager. Add it to a new file named `keycloak_security_manager.py`, placed in the same directory as your `superset_config.py` file.

```python
from flask_appbuilder.security.manager import AUTH_OID
from superset.security import SupersetSecurityManager
Expand Down Expand Up @@ -373,7 +377,9 @@ class AuthOIDCView(AuthOIDView):
return redirect(
oidc.client_secrets.get('issuer') + '/protocol/openid-connect/logout?redirect_uri=' + quote(redirect_url))
```

Then add to your `superset_config.py` file:

```python
from keycloak_security_manager import OIDCSecurityManager
from flask_appbuilder.security.manager import AUTH_OID, AUTH_REMOTE_USER, AUTH_DB, AUTH_LDAP, AUTH_OAUTH
Expand All @@ -393,7 +399,9 @@ AUTH_USER_REGISTRATION = True
# The default user self registration role
AUTH_USER_REGISTRATION_ROLE = 'Public'
```

Store your client-specific OpenID information in a file called `client_secret.json`. Create this file in the same directory as `superset_config.py`:

```json
{
"<myOpenIDProvider>": {
Expand All @@ -410,6 +418,7 @@ Store your client-specific OpenID information in a file called `client_secret.js
}
}
```

## LDAP Authentication

FAB supports authenticating user credentials against an LDAP server.
Expand All @@ -432,6 +441,7 @@ AUTH_ROLES_MAPPING = {
"superset_admins": ["Admin"],
}
```

### Mapping LDAP groups to Superset roles

The following `AUTH_ROLES_MAPPING` dictionary would map the LDAP DN "cn=superset_users,ou=groups,dc=example,dc=com" to the Superset roles "Gamma" as well as "Alpha", and the LDAP DN "cn=superset_admins,ou=groups,dc=example,dc=com" to the Superset role "Admin".
Expand All @@ -442,6 +452,7 @@ AUTH_ROLES_MAPPING = {
"cn=superset_admins,ou=groups,dc=example,dc=com": ["Admin"],
}
```

Note: This requires `AUTH_LDAP_SEARCH` to be set. For more details, please see the [FAB Security documentation](https://flask-appbuilder.readthedocs.io/en/latest/security.html).

### Syncing roles at login
Expand Down
Loading

0 comments on commit 57e66f8

Please sign in to comment.