-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Transport Layer Security (TLS) (#15)
- Loading branch information
Showing
35 changed files
with
364 additions
and
295 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,7 @@ | |
|
||
# superset-cluster | ||
|
||
Apache Superset against MySQL InnoDB cluster. | ||
Resilent Business Intelligence. | ||
[That's how it works](docs/ARCHITECTURE.md). | ||
|
||
## Requirements | ||
|
@@ -17,14 +17,15 @@ _[See how to do it with `systemctl`](https://documentation.suse.com/smart/system | |
* Nodes must be able to resolve DNS names between each other. | ||
* The user's host must be able to `ssh` to each of the nodes passwordlessly. | ||
* There should be at least one available and running network interface capable of sending and receiving packets between the user's host and management nodes via IPv4. | ||
* Ability to read/write to the `/opt` directory on the nodes. | ||
* Ability to read/write to the `/opt` directory on the nodes as well as in the user's host. | ||
* On the MySQL nodes port `3306` should be open for communication within the nodes. | ||
* On the Management nodes port `6446` should be open for communication within the nodes. | ||
* ... `2377` port for swarm cluster ... | ||
* For production setups follow [SECURITY.md](docs/SECURITY.md). | ||
|
||
### Installed software | ||
|
||
The following software needs to be installed on both the user's host and external nodes. The setup has been tested on [`ubuntu:22.04`](tests/setup/Dockerfile) with the following versions: | ||
The following software needs to be installed on both the user's host and external nodes. The setup has been tested on [`ubuntu:24.04`](tests/setup/Dockerfile) with the following versions: | ||
|
||
* `ca-certificates v20230311ubuntu0.22.04.1` | ||
* `containerd.io v1.6.31-1` | ||
|
@@ -34,6 +35,8 @@ The following software needs to be installed on both the user's host and externa | |
* `docker-ce-cli v5:26.1.0-1~ubuntu.22.04~jammy` | ||
* `openssh-server v1:8.9p1-3ubuntu0.10` | ||
|
||
...python packages... docker | ||
|
||
## Installation & Usage | ||
|
||
With the [Requirements](#requirements) satisfied, you can build and run the entire setup from the repository root catalog: | ||
|
@@ -76,6 +79,10 @@ For development purposes, you can set up and run end-to-end tests from the test | |
|
||
If you notice anything missing, spot a bug, or have an enhancement proposal, feel free to open an issue with the appropriate label. Pull requests are welcome. Please ensure that the tests are updated as necessary. | ||
|
||
## Personal contact information | ||
|
||
In case of any inquiries, please write to email: [email protected] | ||
|
||
## Additional resources | ||
|
||
* [What is Apache Superset?](https://superset.apache.org/docs/intro) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,17 @@ | ||
#!/bin/bash | ||
# 10.145.211.156 10.145.211.158 | ||
# 10.145.211.152 10.145.211.153 10.145.211.154 | ||
mgmt_nodes=("wiktor-min-sles" "wiktor-min-rhlike") | ||
mysql_nodes=("wiktor-ctl" "wiktor-srv" "wiktor-pxy") | ||
superset_network_interface="tun0" | ||
|
||
virtual_ip_address="10.145.211.155" | ||
virtual_network_interface="eth0" | ||
mgmt_nodes=("wiktor-min-deblike" "wiktor-min-rhlike") | ||
mysql_nodes=("wiktor-min-build" "wiktor-cli-sles" "wiktor-minssh-sles") | ||
superset_network_interface="enp1s0" | ||
|
||
virtual_ip_address="10.145.211.180" | ||
virtual_network_interface="ens3" | ||
virtual_ip_address_mask="22" | ||
|
||
VIRTUAL_NETWORK="10.145.208.0/22" # do it in common via python | ||
|
||
_path_to_root_catalog="." | ||
|
||
source ${_path_to_root_catalog}/src/common.sh | ||
|
||
start_superset() { | ||
docker network create --driver overlay --attachable superset-network | ||
echo $(openssl rand -base64 42) | docker secret create superset_secret_key - | ||
./services/redis/init.sh | ||
./services/superset/init.sh ${virtual_ip_address} | ||
} | ||
|
||
initialize_nodes | ||
superset_node_address=$(get_superset_node_ip ${superset_network_interface}) | ||
docker_swarm_token=$(init_and_get_docker_swarm_token ${superset_node_address}) | ||
clusterize_nodes | ||
start_superset |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
CREATE USER IF NOT EXISTS 'superset'@'${NODE_IP_ADDRESS}' IDENTIFIED BY 'cluster'; | ||
CREATE DATABASE IF NOT EXISTS `superset`; | ||
GRANT ALL PRIVILEGES ON `superset`.* TO 'superset'@'${NODE_IP_ADDRESS}'; | ||
GRANT INSERT ON `mysql_innodb_cluster_metadata`.* TO 'superset'@'${NODE_IP_ADDRESS}'; | ||
GRANT SELECT ON `performance_schema`.* TO 'superset'@'${NODE_IP_ADDRESS}' WITH GRANT OPTION; | ||
GRANT CREATE USER ON *.* TO 'superset'@'${NODE_IP_ADDRESS}'; | ||
GRANT SELECT, EXECUTE ON `mysql_innodb_cluster_metadata`.* TO 'superset'@'${NODE_IP_ADDRESS}' WITH GRANT OPTION; | ||
GRANT INSERT, UPDATE, DELETE ON `mysql_innodb_cluster_metadata`.`routers` TO 'superset'@'${NODE_IP_ADDRESS}' WITH GRANT OPTION; | ||
GRANT INSERT, UPDATE, DELETE ON `mysql_innodb_cluster_metadata`.`v2_routers` TO 'superset'@'${NODE_IP_ADDRESS}' WITH GRANT OPTION; | ||
GRANT SELECT ON `mysql`.`user` TO 'superset'@'${NODE_IP_ADDRESS}'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.