Deployment Prerequisites
This article describes some of the prerequisites you need to prepare before deploying the Apache ShenYu gateway.
Database Initialize
Before deploying the Shenyu-admin project, initialize the database it uses (databases currently support: Mysql, PostgreSql, Oracle), which used the script files are stored in db directory project root directory, The following describes the initial steps for each database.
Mysql
In the mysql initialization scripts directory found in the initialization script schema.sql, Use the client connection tool to connect to your Mysql service and execute, so you get a database named shenyu, which can later be used as the database for the Shenyu-admin project.
-
sql script: https://github.com/apache/shenyu/tree/v2.7.1/db/init/mysql
-
driver:
- maven repository: https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.3.0/
- homepage: https://www.mysql.com/products/connector/
PostgreSql
In the pg initialization scripts directory found in the initialization script create-database.sql、 create-table.sql, and use the client connection tool to connect to your PostgreSql service. so you get a database named shenyu, which can later be used as a database for the Shenyu-admin project.
-
sql script: https://github.com/apache/shenyu/tree/v2.7.1/db/init/pg
-
driver:
- maven repository: https://mvnrepository.com/artifact/org.postgresql/postgresql/42.5.0
- homepage: https://jdbc.postgresql.org/download/
Oracle
In the oracle initialization scripts directory found in the initialization script schema.sql, Use the client connection tool to connect to your Oracle service to create a database, execute the schema.sql script on this database, and initialize the Shenyu-admin database. After can be project configuration file to adjust your Oracle environment configuration.
-
sql script: https://github.com/apache/shenyu/blob/v2.7.1/db/init/oracle
-
driver:
OpenGauss
In the openGuass initialization scripts directory found in the initialization script create-table.sql, Use the client connection tool to connect to your openGauss service to create a database, execute the create-table.sql script on this database, and initialize the Shenyu-admin database. After can be project configuration file to adjust your openGauss environment configuration.
-
sql script: https://github.com/apache/shenyu/blob/v2.7.1/db/init/og
-
driver:
Deployment Security Checklist
Before deploying Apache ShenYu in production, verify the following Admin-plane network controls:
- Restrict the ShenYu Admin listening port to trusted internal networks and authorized operators or Gateway nodes by using firewall rules, security groups, Kubernetes
NetworkPolicy, or equivalent controls. - Do not expose the Admin
/websocketendpoint to public or otherwise untrusted networks. The endpoint is unauthenticated by design because it is used for data synchronization between ShenYu Admin and Gateway nodes, so it must be protected by network-level access controls. - Expose the Gateway data plane separately, and do not publish the Admin plane through a public load balancer or Ingress.