├── docker-compose └── is │ ├── conf │ ├── mysql │ │ ├── conf │ │ │ └── my.cnf │ │ └── scripts │ │ │ └── mysql_shared.sql │ └── identity-server │ │ └── repository │ │ └── conf │ │ └── deployment.toml │ ├── docker-compose.yml │ ├── dockerfiles │ └── is │ │ └── Dockerfile │ └── README.md ├── .gitignore ├── CHANGELOG.md ├── issue_template.md ├── README.md ├── dockerfiles ├── pqc │ └── is │ │ ├── docker-entrypoint.sh │ │ ├── README.md │ │ └── Dockerfile ├── rocky │ └── is │ │ ├── docker-entrypoint.sh │ │ ├── README.md │ │ └── Dockerfile ├── ubuntu │ └── is │ │ ├── docker-entrypoint.sh │ │ ├── README.md │ │ └── Dockerfile ├── jdk11 │ ├── rocky │ │ └── is │ │ │ ├── docker-entrypoint.sh │ │ │ ├── README.md │ │ │ └── Dockerfile │ ├── ubuntu │ │ └── is │ │ │ ├── docker-entrypoint.sh │ │ │ ├── README.md │ │ │ └── Dockerfile │ └── alpine │ │ └── is │ │ ├── docker-entrypoint.sh │ │ ├── README.md │ │ └── Dockerfile ├── jdk17 │ ├── rocky │ │ └── is │ │ │ ├── docker-entrypoint.sh │ │ │ ├── README.md │ │ │ └── Dockerfile │ ├── ubuntu │ │ └── is │ │ │ ├── docker-entrypoint.sh │ │ │ ├── README.md │ │ │ └── Dockerfile │ └── alpine │ │ └── is │ │ ├── docker-entrypoint.sh │ │ ├── README.md │ │ └── Dockerfile └── alpine │ └── is │ ├── docker-entrypoint.sh │ ├── README.md │ └── Dockerfile ├── CONTRIBUTING.md ├── pull_request_template.md └── LICENSE /docker-compose/is/conf/mysql/conf/my.cnf: -------------------------------------------------------------------------------- 1 | !includedir /etc/mysql/conf.d/ 2 | !includedir /etc/mysql/mysql.conf.d/ 3 | [mysqld] 4 | max_connections=1000 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | 3 | # Mobile Tools for Java (J2ME) 4 | .mtj.tmp/ 5 | 6 | # Package Files # 7 | *.jar 8 | *.war 9 | *.ear 10 | 11 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 12 | hs_err_pid* 13 | 14 | # any packs that would be included 15 | *.exe 16 | *.tar.gz 17 | *.zip 18 | 19 | # IntelliJ IDEA 20 | .idea/ 21 | *.iml 22 | 23 | rat.txt 24 | .DS_Store 25 | 26 | # exclude everything 27 | **/files/* 28 | 29 | # exception to the rule 30 | !**/files/.gitkeep 31 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to Docker and Docker Compose resources for WSO2 Identity and Management version `7.2.x` 4 | in each resource release, will be documented in this file. 5 | 6 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). 7 | 8 | ## v7.2.0.1 - 2024-10-29 9 | 10 | ### Changed 11 | 12 | - Update Docker OS base image. 13 | 14 | ### Added 15 | 16 | - Docker resources of WSO2 Identity Server version `7.2.0` for Alpine, Rocky Linux and Ubuntu (refer to [issue](https://github.com/wso2/docker-is/issues/475)) 17 | 18 | For detailed information on the tasks carried out during this release, please see the GitHub milestone 19 | [v7.2.0.1](https://github.com/wso2/docker-is/milestone/27). -------------------------------------------------------------------------------- /issue_template.md: -------------------------------------------------------------------------------- 1 | **Description:** 2 | 3 | 4 | **Suggested Labels:** 5 | 6 | 7 | **Suggested Assignees:** 8 | 9 | 10 | **Affected Product Version:** 11 | 12 | **OS, DB, other environment details and versions:** 13 | 14 | **Steps to reproduce:** 15 | 16 | 17 | **Related Issues:** 18 | -------------------------------------------------------------------------------- /docker-compose/is/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2.3' 2 | services: 3 | mysql: 4 | image: mysql:8.0 5 | ports: 6 | - 3306 7 | environment: 8 | MYSQL_ROOT_PASSWORD: root 9 | MYSQL_USER: wso2carbon 10 | MYSQL_PASSWORD: wso2carbon 11 | volumes: 12 | - ./conf/mysql/scripts:/docker-entrypoint-initdb.d 13 | - ./conf/mysql/conf/my.cnf:/etc/mysql/mysql.conf.d/my.cnf 14 | healthcheck: 15 | test: ["CMD", "mysqladmin" ,"ping", "-uroot", "-proot"] 16 | interval: 30s 17 | timeout: 60s 18 | retries: 5 19 | identity-server: 20 | build: ./dockerfiles/is 21 | ports: 22 | - "9763:9763" 23 | - "9443:9443" 24 | healthcheck: 25 | test: ["CMD", "curl", "-k", "-f", "https://localhost:9443/oauth2/token/.well-known/openid-configuration"] 26 | interval: 5s 27 | timeout: 120s 28 | start_period: 100s 29 | volumes: 30 | - ./conf/identity-server:/home/wso2carbon/wso2-config-volume 31 | depends_on: 32 | mysql: 33 | condition: service_healthy 34 | 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #### ⚠️ DISCLAIMER 2 | 3 | Use these artefacts as a reference to build your deployment artefacts. Existing artefacts only developed to demonstrate a reference deployment and should not be used as is in production 4 | 5 | ------------------------------------------------------------------ 6 | 7 | # Docker Resources for WSO2 Identity And Access Management 8 | 9 | This repository contains following Docker resources: 10 | 11 | - Per profile Docker resources of WSO2 Identity Server version `7.2.0` for Alpine, Rocky Linux and Ubuntu 12 | - Docker Compose resources to evaluate most common Identity And Access Management (IAM) deployment patterns 13 | 14 | Per profile Docker resources for WSO2 Identity Server help you build generic Docker images for deploying the 15 | corresponding product servers in containerized environments. Each Docker image includes the JDK, the relevant product distribution 16 | and a collection of utility libraries. Configurations, custom JDBC drivers, extensions and other deployable artifacts 17 | are designed to be provided via volume mounts to the containers spawned. 18 | 19 | Docker Compose resources have been created according to the most common IAM deployment patterns available for allowing users 20 | to quickly evaluate product features along side their co-operate IAM requirements. The Compose files make use of per profile 21 | Docker images of WSO2 Identity Server and MySQL. 22 | -------------------------------------------------------------------------------- /docker-compose/is/dockerfiles/is/Dockerfile: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------ 2 | # 3 | # Copyright 2020-2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # 17 | # ------------------------------------------------------------------------ 18 | 19 | # set base Docker image to WSO2 Identity Server Docker image with latest WSO2 Updates 20 | FROM docker.wso2.com/wso2is:7.2.0.0 21 | LABEL maintainer="WSO2 Docker Maintainers " 22 | 23 | # build arguments for external artifacts 24 | ARG MYSQL_CONNECTOR_VERSION=8.0.33 25 | 26 | # add MySQL JDBC connector to server home as a third party library 27 | ADD --chown=wso2carbon:wso2 https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/${MYSQL_CONNECTOR_VERSION}/mysql-connector-j-${MYSQL_CONNECTOR_VERSION}.jar ${WSO2_SERVER_HOME}/repository/components/dropins/ 28 | -------------------------------------------------------------------------------- /dockerfiles/pqc/is/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ------------------------------------------------------------------------ 3 | # Copyright 2021 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # ------------------------------------------------------------------------ 17 | 18 | set -e 19 | 20 | # Volume mounts. 21 | config_volume=${WORKING_DIRECTORY}/wso2-config-volume 22 | artifact_volume=${WORKING_DIRECTORY}/wso2-artifact-volume 23 | 24 | # Check if the WSO2 non-root user home exists. 25 | test ! -d ${WORKING_DIRECTORY} && echo "WSO2 Docker non-root user home does not exist" && exit 1 26 | 27 | # Check if the WSO2 product home exists. 28 | test ! -d ${WSO2_SERVER_HOME} && echo "WSO2 Docker product home does not exist" && exit 1 29 | 30 | # Copy any configuration changes mounted to config_volume. 31 | test -d ${config_volume} && [ "$(ls -A ${config_volume})" ] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ 32 | # Copy any artifact changes mounted to artifact_volume. 33 | test -d ${artifact_volume} && [ "$(ls -A ${artifact_volume})" ] && cp -RL ${artifact_volume}/* ${WSO2_SERVER_HOME}/ 34 | 35 | # Start WSO2 Carbon server. 36 | sh ${WSO2_SERVER_HOME}/bin/wso2server.sh "$@" 37 | -------------------------------------------------------------------------------- /dockerfiles/rocky/is/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ------------------------------------------------------------------------ 3 | # Copyright 2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # ------------------------------------------------------------------------ 17 | 18 | set -e 19 | 20 | # Volume mounts. 21 | config_volume=${WORKING_DIRECTORY}/wso2-config-volume 22 | artifact_volume=${WORKING_DIRECTORY}/wso2-artifact-volume 23 | 24 | # Check if the WSO2 non-root user home exists. 25 | test ! -d ${WORKING_DIRECTORY} && echo "WSO2 Docker non-root user home does not exist" && exit 1 26 | 27 | # Check if the WSO2 product home exists. 28 | test ! -d ${WSO2_SERVER_HOME} && echo "WSO2 Docker product home does not exist" && exit 1 29 | 30 | # Copy any configuration changes mounted to config_volume. 31 | test -d ${config_volume} && [ "$(ls -A ${config_volume})" ] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ 32 | # Copy any artifact changes mounted to artifact_volume. 33 | test -d ${artifact_volume} && [ "$(ls -A ${artifact_volume})" ] && cp -RL ${artifact_volume}/* ${WSO2_SERVER_HOME}/ 34 | 35 | # Start WSO2 Carbon server. 36 | sh ${WSO2_SERVER_HOME}/bin/wso2server.sh "$@" 37 | -------------------------------------------------------------------------------- /dockerfiles/ubuntu/is/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ------------------------------------------------------------------------ 3 | # Copyright 2021 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # ------------------------------------------------------------------------ 17 | 18 | set -e 19 | 20 | # Volume mounts. 21 | config_volume=${WORKING_DIRECTORY}/wso2-config-volume 22 | artifact_volume=${WORKING_DIRECTORY}/wso2-artifact-volume 23 | 24 | # Check if the WSO2 non-root user home exists. 25 | test ! -d ${WORKING_DIRECTORY} && echo "WSO2 Docker non-root user home does not exist" && exit 1 26 | 27 | # Check if the WSO2 product home exists. 28 | test ! -d ${WSO2_SERVER_HOME} && echo "WSO2 Docker product home does not exist" && exit 1 29 | 30 | # Copy any configuration changes mounted to config_volume. 31 | test -d ${config_volume} && [ "$(ls -A ${config_volume})" ] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ 32 | # Copy any artifact changes mounted to artifact_volume. 33 | test -d ${artifact_volume} && [ "$(ls -A ${artifact_volume})" ] && cp -RL ${artifact_volume}/* ${WSO2_SERVER_HOME}/ 34 | 35 | # Start WSO2 Carbon server. 36 | sh ${WSO2_SERVER_HOME}/bin/wso2server.sh "$@" 37 | -------------------------------------------------------------------------------- /dockerfiles/jdk11/rocky/is/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ------------------------------------------------------------------------ 3 | # Copyright 2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # ------------------------------------------------------------------------ 17 | 18 | set -e 19 | 20 | # Volume mounts. 21 | config_volume=${WORKING_DIRECTORY}/wso2-config-volume 22 | artifact_volume=${WORKING_DIRECTORY}/wso2-artifact-volume 23 | 24 | # Check if the WSO2 non-root user home exists. 25 | test ! -d ${WORKING_DIRECTORY} && echo "WSO2 Docker non-root user home does not exist" && exit 1 26 | 27 | # Check if the WSO2 product home exists. 28 | test ! -d ${WSO2_SERVER_HOME} && echo "WSO2 Docker product home does not exist" && exit 1 29 | 30 | # Copy any configuration changes mounted to config_volume. 31 | test -d ${config_volume} && [ "$(ls -A ${config_volume})" ] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ 32 | # Copy any artifact changes mounted to artifact_volume. 33 | test -d ${artifact_volume} && [ "$(ls -A ${artifact_volume})" ] && cp -RL ${artifact_volume}/* ${WSO2_SERVER_HOME}/ 34 | 35 | # Start WSO2 Carbon server. 36 | sh ${WSO2_SERVER_HOME}/bin/wso2server.sh "$@" 37 | -------------------------------------------------------------------------------- /dockerfiles/jdk11/ubuntu/is/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ------------------------------------------------------------------------ 3 | # Copyright 2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # ------------------------------------------------------------------------ 17 | 18 | set -e 19 | 20 | # Volume mounts. 21 | config_volume=${WORKING_DIRECTORY}/wso2-config-volume 22 | artifact_volume=${WORKING_DIRECTORY}/wso2-artifact-volume 23 | 24 | # Check if the WSO2 non-root user home exists. 25 | test ! -d ${WORKING_DIRECTORY} && echo "WSO2 Docker non-root user home does not exist" && exit 1 26 | 27 | # Check if the WSO2 product home exists. 28 | test ! -d ${WSO2_SERVER_HOME} && echo "WSO2 Docker product home does not exist" && exit 1 29 | 30 | # Copy any configuration changes mounted to config_volume. 31 | test -d ${config_volume} && [ "$(ls -A ${config_volume})" ] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ 32 | # Copy any artifact changes mounted to artifact_volume. 33 | test -d ${artifact_volume} && [ "$(ls -A ${artifact_volume})" ] && cp -RL ${artifact_volume}/* ${WSO2_SERVER_HOME}/ 34 | 35 | # Start WSO2 Carbon server. 36 | sh ${WSO2_SERVER_HOME}/bin/wso2server.sh "$@" 37 | -------------------------------------------------------------------------------- /dockerfiles/jdk17/rocky/is/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ------------------------------------------------------------------------ 3 | # Copyright 2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # ------------------------------------------------------------------------ 17 | 18 | set -e 19 | 20 | # Volume mounts. 21 | config_volume=${WORKING_DIRECTORY}/wso2-config-volume 22 | artifact_volume=${WORKING_DIRECTORY}/wso2-artifact-volume 23 | 24 | # Check if the WSO2 non-root user home exists. 25 | test ! -d ${WORKING_DIRECTORY} && echo "WSO2 Docker non-root user home does not exist" && exit 1 26 | 27 | # Check if the WSO2 product home exists. 28 | test ! -d ${WSO2_SERVER_HOME} && echo "WSO2 Docker product home does not exist" && exit 1 29 | 30 | # Copy any configuration changes mounted to config_volume. 31 | test -d ${config_volume} && [ "$(ls -A ${config_volume})" ] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ 32 | # Copy any artifact changes mounted to artifact_volume. 33 | test -d ${artifact_volume} && [ "$(ls -A ${artifact_volume})" ] && cp -RL ${artifact_volume}/* ${WSO2_SERVER_HOME}/ 34 | 35 | # Start WSO2 Carbon server. 36 | sh ${WSO2_SERVER_HOME}/bin/wso2server.sh "$@" 37 | -------------------------------------------------------------------------------- /dockerfiles/jdk17/ubuntu/is/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ------------------------------------------------------------------------ 3 | # Copyright 2024 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # ------------------------------------------------------------------------ 17 | 18 | set -e 19 | 20 | # Volume mounts. 21 | config_volume=${WORKING_DIRECTORY}/wso2-config-volume 22 | artifact_volume=${WORKING_DIRECTORY}/wso2-artifact-volume 23 | 24 | # Check if the WSO2 non-root user home exists. 25 | test ! -d ${WORKING_DIRECTORY} && echo "WSO2 Docker non-root user home does not exist" && exit 1 26 | 27 | # Check if the WSO2 product home exists. 28 | test ! -d ${WSO2_SERVER_HOME} && echo "WSO2 Docker product home does not exist" && exit 1 29 | 30 | # Copy any configuration changes mounted to config_volume. 31 | test -d ${config_volume} && [ "$(ls -A ${config_volume})" ] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ 32 | # Copy any artifact changes mounted to artifact_volume. 33 | test -d ${artifact_volume} && [ "$(ls -A ${artifact_volume})" ] && cp -RL ${artifact_volume}/* ${WSO2_SERVER_HOME}/ 34 | 35 | # Start WSO2 Carbon server. 36 | sh ${WSO2_SERVER_HOME}/bin/wso2server.sh "$@" 37 | -------------------------------------------------------------------------------- /docker-compose/is/conf/identity-server/repository/conf/deployment.toml: -------------------------------------------------------------------------------- 1 | [server] 2 | hostname = "localhost" 3 | node_ip = "127.0.0.1" 4 | base_path = "https://$ref{server.hostname}:${carbon.management.port}" 5 | 6 | [super_admin] 7 | username = "admin" 8 | password = "admin" 9 | create_admin_account = true 10 | 11 | [user_store] 12 | type = "database_unique_id" 13 | 14 | [database.identity_db] 15 | url = "jdbc:mysql://mysql:3306/WSO2IS_IDENTITY_DB?autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true" 16 | username = "wso2carbon" 17 | password = "wso2carbon" 18 | driver = "com.mysql.cj.jdbc.Driver" 19 | [database.identity_db.pool_options] 20 | validationQuery="SELECT 1" 21 | 22 | [database.shared_db] 23 | url = "jdbc:mysql://mysql:3306/WSO2IS_SHARED_DB?autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true" 24 | username = "wso2carbon" 25 | password = "wso2carbon" 26 | driver = "com.mysql.cj.jdbc.Driver" 27 | [database.shared_db.pool_options] 28 | validationQuery="SELECT 1" 29 | 30 | [datasource.AgentIdentity] 31 | id = "AgentIdentity" 32 | url = "jdbc:mysql://mysql:3306/WSO2IS_AGENTIDENTITY_DB?autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true" 33 | username = "wso2carbon" 34 | password = "wso2carbon" 35 | driver = "com.mysql.cj.jdbc.Driver" 36 | [datasource.AgentIdentity.pool_options] 37 | validationQuery="SELECT 1" 38 | 39 | [keystore.primary] 40 | file_name = "wso2carbon.p12" 41 | password = "wso2carbon" 42 | type="PKCS12" 43 | 44 | [truststore] 45 | file_name="client-truststore.p12" 46 | password="wso2carbon" 47 | type="PKCS12" 48 | 49 | [account_recovery.endpoint.auth] 50 | hash= "66cd9688a2ae068244ea01e70f0e230f5623b7fa4cdecb65070a09ec06452262" 51 | 52 | [identity.auth_framework.endpoint] 53 | app_password= "dashboard" 54 | -------------------------------------------------------------------------------- /dockerfiles/alpine/is/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ------------------------------------------------------------------------ 3 | # Copyright 2021 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # ------------------------------------------------------------------------ 17 | 18 | set -e 19 | 20 | # Volume mounts. 21 | config_volume=${WORKING_DIRECTORY}/wso2-config-volume 22 | artifact_volume=${WORKING_DIRECTORY}/wso2-artifact-volume 23 | 24 | # Check if the WSO2 non-root user home exists. 25 | test ! -d ${WORKING_DIRECTORY} && echo "WSO2 Docker non-root user home does not exist" && exit 1 26 | 27 | # Check if the WSO2 product home exists. 28 | test ! -d ${WSO2_SERVER_HOME} && echo "WSO2 Docker product home does not exist" && exit 1 29 | 30 | # Copy any configuration changes mounted to config_volume. 31 | test -d ${config_volume} && [ "$(ls -A ${config_volume})" ] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ 32 | # Copy any artifact changes mounted to artifact_volume. 33 | test -d ${artifact_volume} && [ "$(ls -A ${artifact_volume})" ] && cp -RL ${artifact_volume}/* ${WSO2_SERVER_HOME}/ 34 | 35 | # Start WSO2 Carbon server. 36 | sh ${WSO2_SERVER_HOME}/bin/wso2server.sh -Djava.util.prefs.systemRoot=/home/wso2carbon/.java -Djava.util.prefs.userRoot=/home/wso2carbon/.java/.userPrefs "$@" 37 | -------------------------------------------------------------------------------- /dockerfiles/jdk11/alpine/is/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ------------------------------------------------------------------------ 3 | # Copyright 2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # ------------------------------------------------------------------------ 17 | 18 | set -e 19 | 20 | # Volume mounts. 21 | config_volume=${WORKING_DIRECTORY}/wso2-config-volume 22 | artifact_volume=${WORKING_DIRECTORY}/wso2-artifact-volume 23 | 24 | # Check if the WSO2 non-root user home exists. 25 | test ! -d ${WORKING_DIRECTORY} && echo "WSO2 Docker non-root user home does not exist" && exit 1 26 | 27 | # Check if the WSO2 product home exists. 28 | test ! -d ${WSO2_SERVER_HOME} && echo "WSO2 Docker product home does not exist" && exit 1 29 | 30 | # Copy any configuration changes mounted to config_volume. 31 | test -d ${config_volume} && [ "$(ls -A ${config_volume})" ] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ 32 | # Copy any artifact changes mounted to artifact_volume. 33 | test -d ${artifact_volume} && [ "$(ls -A ${artifact_volume})" ] && cp -RL ${artifact_volume}/* ${WSO2_SERVER_HOME}/ 34 | 35 | # Start WSO2 Carbon server. 36 | sh ${WSO2_SERVER_HOME}/bin/wso2server.sh -Djava.util.prefs.systemRoot=/home/wso2carbon/.java -Djava.util.prefs.userRoot=/home/wso2carbon/.java/.userPrefs "$@" 37 | -------------------------------------------------------------------------------- /dockerfiles/jdk17/alpine/is/docker-entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ------------------------------------------------------------------------ 3 | # Copyright 2024 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # ------------------------------------------------------------------------ 17 | 18 | set -e 19 | 20 | # Volume mounts. 21 | config_volume=${WORKING_DIRECTORY}/wso2-config-volume 22 | artifact_volume=${WORKING_DIRECTORY}/wso2-artifact-volume 23 | 24 | # Check if the WSO2 non-root user home exists. 25 | test ! -d ${WORKING_DIRECTORY} && echo "WSO2 Docker non-root user home does not exist" && exit 1 26 | 27 | # Check if the WSO2 product home exists. 28 | test ! -d ${WSO2_SERVER_HOME} && echo "WSO2 Docker product home does not exist" && exit 1 29 | 30 | # Copy any configuration changes mounted to config_volume. 31 | test -d ${config_volume} && [ "$(ls -A ${config_volume})" ] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ 32 | # Copy any artifact changes mounted to artifact_volume. 33 | test -d ${artifact_volume} && [ "$(ls -A ${artifact_volume})" ] && cp -RL ${artifact_volume}/* ${WSO2_SERVER_HOME}/ 34 | 35 | # Start WSO2 Carbon server. 36 | sh ${WSO2_SERVER_HOME}/bin/wso2server.sh -Djava.util.prefs.systemRoot=/home/wso2carbon/.java -Djava.util.prefs.userRoot=/home/wso2carbon/.java/.userPrefs "$@" 37 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to docker-is 2 | 3 | Docker and Docker Compose resources for WSO2 Identity and Access Management platform are open source and we encourage contributions from our community. 4 | 5 | ## How you can Contribute 6 | 7 | ### Mailing Lists 8 | 9 | The recommended way to discuss anything related to WSO2 products is via our mailing lists. First, go to https://wso2.com/mail/ and subscribe to any mailing lists. Here are the two most popular lists: 10 | 11 | * dev@wso2.org: To discuss all WSO2 products. 12 | * architecture@wso2.org: To discuss the architecture of WSO2 products. 13 | 14 | ### Posting Issues 15 | 16 | We encourage you to report any problems in the WSO2 product Docker and Docker Compose resources or their documentation by creating GitHub issues in the respective repositories. 17 | The issues page on GitHub is for tracking bugs and feature requests. When posing a new issue, follow the guidelines below. 18 | 19 | * Check whether the issue has already been reported. 20 | * Create a separate issue for each bug you are reporting or feature you are requesting. 21 | 22 | ### Code Contributions 23 | 24 | If you like to contribute with a bug fix or a new feature, start by posting an issue and discussing the best way to implement it. 25 | 26 | Unlike most projects, development for this repository is carried out on the `7.2.x` branch. This is because the `master` branch contains the latest stable release of the project. 27 | The code in `7.2.x` is merged to the `master` branch after a final review and a round of testing. 28 | 29 | Please follow these guidelines when contributing to the code: 30 | 31 | 1. Fork the current repository. 32 | 2. Create a topic branch from the `7.2.x` branch. 33 | 3. Make commits in logical units. 34 | 4. Before you send out the pull request, sync your forked repository with a remote repository. This makes your pull request simple and clear. 35 | 36 | ```bash 37 | git clone https://github.com//docker-is.git 38 | git remote add upstream https://github.com/wso2/docker-is.git 39 | git fetch upstream 40 | git checkout -b upstream/7.2.x 41 | 42 | # add some work 43 | 44 | git push origin 45 | 46 | # submit pull request 47 | ``` 48 | 49 | **Thanks for contributing!** 50 | -------------------------------------------------------------------------------- /docker-compose/is/README.md: -------------------------------------------------------------------------------- 1 | # Docker Compose resources for a WSO2 Identity Server deployment 2 | 3 | ## Prerequisites 4 | 5 | * Install [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git), [Docker](https://www.docker.com/get-docker) 6 | and [Docker Compose](https://docs.docker.com/compose/install/#install-compose) in order to run the steps provided in following Quick start guide.

7 | * In order to use Docker images with [WSO2 Updates](https://wso2.com/updates), you need an active [WSO2 Subscription](https://wso2.com/subscription). 8 | Otherwise, you can proceed with Docker images available at [DockerHub](https://hub.docker.com/u/wso2/), which are created using GA releases.

9 | * If you wish to run the Docker Compose setup using Docker images built locally, build Docker images using Docker resources available from [here](../../dockerfiles/) 10 | and remove the `docker.wso2.com/` prefix from the `image` name in the `docker-compose.yml`.

11 | 12 | ## How to deploy 13 | 14 | 1. Clone WSO2 Identity Server Docker git repository. 15 | 16 | ``` 17 | git clone https://github.com/wso2/docker-is 18 | ``` 19 | 20 | > If you are to try out an already released zip of this repo, please ignore this 1st step. 21 | 22 | 2. Switch to the `docker-compose/is` folder. 23 | 24 | ``` 25 | cd [docker-is]/docker-compose/is 26 | ``` 27 | 28 | > If you are to try out an already released zip of this repo, please ignore this 2nd step also. 29 | Instead, extract the zip file and directly browse to `docker-is-/docker-compose/is` folder. 30 | 31 | > If you want to try out an already released tag, after executing 2nd step, checkout the relevant tag, 32 | i.e. for example: git checkout tags/v7.1.0.1 and continue below steps. 33 | 34 | 3. Execute following Docker Compose command to start the deployment. 35 | 36 | ``` 37 | docker-compose up 38 | ``` 39 | 40 | 4. Access Management Console, My Account and Console applications via a web browser. 41 | 42 | ``` 43 | For Identity Server My Account - https://localhost:9443/myaccount 44 | For Identity Server Console - https://localhost:9443/console 45 | ``` 46 | -------------------------------------------------------------------------------- /pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Purpose 2 | > Describe the problems, issues, or needs driving this feature/fix and include links to related issues in the following format: Resolves issue1, issue2, etc. 3 | 4 | ## Goals 5 | > Describe the solutions that this feature/fix will introduce to resolve the problems described above 6 | 7 | ## Approach 8 | > Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email documentation@wso2.com to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here. 9 | 10 | ## User stories 11 | > Summary of user stories addressed by this change> 12 | 13 | ## Release note 14 | > Brief description of the new feature or bug fix as it will appear in the release notes 15 | 16 | ## Documentation 17 | > Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact 18 | 19 | ## Training 20 | > Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable 21 | 22 | ## Certification 23 | > Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to certification@wso2.com and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why. 24 | 25 | ## Marketing 26 | > Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable 27 | 28 | ## Automation tests 29 | - Unit tests 30 | > Code coverage information 31 | - Integration tests 32 | > Details about the test cases and coverage 33 | 34 | ## Security checks 35 | - Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes/no 36 | - Ran FindSecurityBugs plugin and verified report? yes/no 37 | - Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes/no 38 | 39 | ## Samples 40 | > Provide high-level details about the samples related to this feature 41 | 42 | ## Related PRs 43 | > List any other related PRs 44 | 45 | ## Migrations (if applicable) 46 | > Describe migration steps and platforms on which migration has been tested 47 | 48 | ## Test environment 49 | > List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested 50 | 51 | ## Learning 52 | > Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem. -------------------------------------------------------------------------------- /dockerfiles/jdk17/ubuntu/is/README.md: -------------------------------------------------------------------------------- 1 | # Dockerfile for WSO2 Identity Server # 2 | 3 | This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux 4 | based Docker image for WSO2 Identity Server `7.2.0`. 5 | 6 | ## Prerequisites 7 | 8 | * [Docker](https://www.docker.com/get-docker) `v17.09.0` or above 9 | * [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) client 10 | 11 | ## How to build an image and run 12 | 13 | ##### 1. Checkout this repository into your local machine using the following Git client command. 14 | 15 | ``` 16 | git clone https://github.com/wso2/docker-is.git 17 | ``` 18 | 19 | >The local copy of the `dockerfiles/ubuntu/is` directory will be referred to as `IS_DOCKERFILE_HOME` from this point onwards. 20 | 21 | ##### 2. Build the Docker image. 22 | 23 | - Navigate to `` directory.
24 | Execute `docker build` command as shown below. 25 | + `docker build -t wso2is:7.2.0 .` 26 | 27 | > Tip - If you require the container to run with a different UID and GID, pass the preferred values of the UID and GID 28 | > as values for build arguments `USER_ID` and `USER_GROUP_ID` when building the image, as shown below. Note 29 | > that setting lower values for the UID and GID is not recommended. 30 | + `docker build -t wso2is:7.2.0 --build-arg USER_ID= --build-arg USER_GROUP_ID= .` 31 | 32 | ##### 3. Running the Docker image. 33 | 34 | - `docker run -it -p 9443:9443 wso2is:7.2.0` 35 | 36 | >Here, only port 9443 (HTTPS servlet transport) has been mapped to a Docker host port. 37 | You may map other container service ports, which have been exposed to Docker host ports, as desired. 38 | 39 | ##### 4. Accessing management consoles. 40 | 41 | - To access the user interfaces, use the docker host IP and port 9443. 42 | + Management Console: `https://:9443/console` 43 | + User Portal: `https://:9443/myaccount` 44 | 45 | >In here, refers to hostname or IP of the host machine on top of which containers are spawned. 46 | 47 | ## How to update configurations 48 | 49 | Configurations would lie on the Docker host machine and they can be volume mounted to the container.
50 | As an example, steps required to change the port offset using `deployment.toml` is as follows: 51 | 52 | ##### 1. Stop the Identity Server container if it's already running. 53 | 54 | In WSO2 Identity Server version `7.2.0` product distribution, `deployment.toml` configuration file
55 | can be found at `/repository/conf`. Copy the file to some suitable location of the host machine,
56 | referred to as `/deployment.toml` and change the `[server] -> offset` value to 1. 57 | 58 | ##### 2. Grant read permission to `other` users for `/deployment.toml`. 59 | 60 | ``` 61 | chmod o+r /deployment.toml 62 | ``` 63 | 64 | ##### 3. Run the image by mounting the file to container as follows: 65 | 66 | ``` 67 | docker run \ 68 | -p 9444:9444 \ 69 | --volume /deployment.toml:/deployment.toml \ 70 | wso2is:7.2.0 71 | ``` 72 | 73 | >In here, refers to /home/wso2carbon/wso2is-7.2.0/repository/conf folder of the container. 74 | 75 | ## Docker command usage references 76 | 77 | * [Docker build command reference](https://docs.docker.com/engine/reference/commandline/build/) 78 | * [Docker run command reference](https://docs.docker.com/engine/reference/run/) 79 | * [Dockerfile reference](https://docs.docker.com/engine/reference/builder/) 80 | -------------------------------------------------------------------------------- /dockerfiles/ubuntu/is/README.md: -------------------------------------------------------------------------------- 1 | # Dockerfile for WSO2 Identity Server # 2 | 3 | This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux 4 | based Docker image for WSO2 Identity Server `7.2.0`. 5 | 6 | ## Prerequisites 7 | 8 | * [Docker](https://www.docker.com/get-docker) `v17.09.0` or above 9 | * [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) client 10 | 11 | ## How to build an image and run 12 | 13 | ##### 1. Checkout this repository into your local machine using the following Git client command. 14 | 15 | ``` 16 | git clone https://github.com/wso2/docker-is.git 17 | ``` 18 | 19 | >The local copy of the `dockerfiles/ubuntu/is` directory will be referred to as `IS_DOCKERFILE_HOME` from this point onwards. 20 | 21 | ##### 2. Build the Docker image. 22 | 23 | - Navigate to `` directory.
24 | Execute `docker build` command as shown below. 25 | + `docker build -t wso2is:7.2.0 .` 26 | 27 | > Tip - If you require the container to run with a different UID and GID, pass the preferred values of the UID and GID 28 | > as values for build arguments `USER_ID` and `USER_GROUP_ID` when building the image, as shown below. Note 29 | > that setting lower values for the UID and GID is not recommended. 30 | + `docker build -t wso2is:7.2.0 --build-arg USER_ID= --build-arg USER_GROUP_ID= .` 31 | 32 | ##### 3. Running the Docker image. 33 | 34 | - `docker run -it -p 9443:9443 wso2is:7.2.0` 35 | 36 | >Here, only port 9443 (HTTPS servlet transport) has been mapped to a Docker host port. 37 | You may map other container service ports, which have been exposed to Docker host ports, as desired. 38 | 39 | ##### 4. Accessing management consoles. 40 | 41 | - To access the user interfaces, use the docker host IP and port 9443. 42 | + Management Console: `https://:9443/console` 43 | + User Portal: `https://:9443/myaccount` 44 | 45 | >In here, refers to hostname or IP of the host machine on top of which containers are spawned. 46 | 47 | ## How to update configurations 48 | 49 | Configurations would lie on the Docker host machine and they can be volume mounted to the container.
50 | As an example, steps required to change the port offset using `deployment.toml` is as follows: 51 | 52 | ##### 1. Stop the Identity Server container if it's already running. 53 | 54 | In WSO2 Identity Server version `7.2.0` product distribution, `deployment.toml` configuration file
55 | can be found at `/repository/conf`. Copy the file to some suitable location of the host machine,
56 | referred to as `/deployment.toml` and change the `[server] -> offset` value to 1. 57 | 58 | ##### 2. Grant read permission to `other` users for `/deployment.toml`. 59 | 60 | ``` 61 | chmod o+r /deployment.toml 62 | ``` 63 | 64 | ##### 3. Run the image by mounting the file to container as follows: 65 | 66 | ``` 67 | docker run \ 68 | -p 9444:9444 \ 69 | --volume /deployment.toml:/deployment.toml \ 70 | wso2is:7.2.0 71 | ``` 72 | 73 | >In here, refers to /home/wso2carbon/wso2is-7.2.0/repository/conf folder of the container. 74 | 75 | ## Docker command usage references 76 | 77 | * [Docker build command reference](https://docs.docker.com/engine/reference/commandline/build/) 78 | * [Docker run command reference](https://docs.docker.com/engine/reference/run/) 79 | * [Dockerfile reference](https://docs.docker.com/engine/reference/builder/) 80 | -------------------------------------------------------------------------------- /dockerfiles/jdk11/ubuntu/is/README.md: -------------------------------------------------------------------------------- 1 | # Dockerfile for WSO2 Identity Server # 2 | 3 | This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux 4 | based Docker image for WSO2 Identity Server `7.2.0`. 5 | 6 | ## Prerequisites 7 | 8 | * [Docker](https://www.docker.com/get-docker) `v17.09.0` or above 9 | * [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) client 10 | 11 | ## How to build an image and run 12 | 13 | ##### 1. Checkout this repository into your local machine using the following Git client command. 14 | 15 | ``` 16 | git clone https://github.com/wso2/docker-is.git 17 | ``` 18 | 19 | >The local copy of the `dockerfiles/ubuntu/is` directory will be referred to as `IS_DOCKERFILE_HOME` from this point onwards. 20 | 21 | ##### 2. Build the Docker image. 22 | 23 | - Navigate to `` directory.
24 | Execute `docker build` command as shown below. 25 | + `docker build -t wso2is:7.2.0 .` 26 | 27 | > Tip - If you require the container to run with a different UID and GID, pass the preferred values of the UID and GID 28 | > as values for build arguments `USER_ID` and `USER_GROUP_ID` when building the image, as shown below. Note 29 | > that setting lower values for the UID and GID is not recommended. 30 | + `docker build -t wso2is:7.2.0 --build-arg USER_ID= --build-arg USER_GROUP_ID= .` 31 | 32 | ##### 3. Running the Docker image. 33 | 34 | - `docker run -it -p 9443:9443 wso2is:7.2.0` 35 | 36 | >Here, only port 9443 (HTTPS servlet transport) has been mapped to a Docker host port. 37 | You may map other container service ports, which have been exposed to Docker host ports, as desired. 38 | 39 | ##### 4. Accessing management consoles. 40 | 41 | - To access the user interfaces, use the docker host IP and port 9443. 42 | + Management Console: `https://:9443/console` 43 | + User Portal: `https://:9443/myaccount` 44 | 45 | >In here, refers to hostname or IP of the host machine on top of which containers are spawned. 46 | 47 | ## How to update configurations 48 | 49 | Configurations would lie on the Docker host machine and they can be volume mounted to the container.
50 | As an example, steps required to change the port offset using `deployment.toml` is as follows: 51 | 52 | ##### 1. Stop the Identity Server container if it's already running. 53 | 54 | In WSO2 Identity Server version `7.2.0` product distribution, `deployment.toml` configuration file
55 | can be found at `/repository/conf`. Copy the file to some suitable location of the host machine,
56 | referred to as `/deployment.toml` and change the `[server] -> offset` value to 1. 57 | 58 | ##### 2. Grant read permission to `other` users for `/deployment.toml`. 59 | 60 | ``` 61 | chmod o+r /deployment.toml 62 | ``` 63 | 64 | ##### 3. Run the image by mounting the file to container as follows: 65 | 66 | ``` 67 | docker run \ 68 | -p 9444:9444 \ 69 | --volume /deployment.toml:/deployment.toml \ 70 | wso2is:7.2.0 71 | ``` 72 | 73 | >In here, refers to /home/wso2carbon/wso2is-7.2.0/repository/conf folder of the container. 74 | 75 | ## Docker command usage references 76 | 77 | * [Docker build command reference](https://docs.docker.com/engine/reference/commandline/build/) 78 | * [Docker run command reference](https://docs.docker.com/engine/reference/run/) 79 | * [Dockerfile reference](https://docs.docker.com/engine/reference/builder/) 80 | -------------------------------------------------------------------------------- /dockerfiles/jdk17/alpine/is/README.md: -------------------------------------------------------------------------------- 1 | # Dockerfile for WSO2 Identity Server # 2 | 3 | This section defines the step-by-step instructions to build an [Alpine](https://hub.docker.com/_/alpine/) Linux based Docker image for WSO2 Identity Server `7.2.0`. 4 | 5 | ## Prerequisites 6 | 7 | * [Docker](https://www.docker.com/get-docker) `v17.09.0` or above 8 | * [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) client 9 | 10 | ## How to build an image and run 11 | 12 | ##### 1. Checkout this repository into your local machine using the following Git client command. 13 | 14 | ``` 15 | git clone https://github.com/wso2/docker-is.git 16 | ``` 17 | 18 | >The local copy of the `dockerfiles/alpine/is` directory will be referred to as `IS_DOCKERFILE_HOME` from this point onwards. 19 | 20 | ##### 2. Build the Docker image. 21 | - Navigate to `` directory.
22 | Execute `docker build` command as shown below. 23 | + `docker build -t wso2is:7.2.0-alpine .` 24 | 25 | > Tip - If you require the container to run with a different UID and GID, pass the preferred values of the UID and GID 26 | > as values for build arguments `USER_ID` and `USER_GROUP_ID` when building the image, as shown below. Note 27 | > that setting lower values for the UID and GID is not recommended. 28 | + `docker build -t wso2is:7.2.0-alpine --build-arg USER_ID= --build-arg USER_GROUP_ID= .` 29 | 30 | ##### 3. Running the Docker image. 31 | 32 | - `docker run -it -p 9443:9443 wso2is:7.2.0-alpine` 33 | 34 | >Here, only port 9443 (HTTPS servlet transport) has been mapped to a Docker host port. 35 | You may map other container service ports, which have been exposed to Docker host ports, as desired. 36 | 37 | ##### 4. Accessing management consoles. 38 | 39 | - To access the user interfaces, use the docker host IP and port 9443. 40 | + Management Console: `https://:9443/console` 41 | + User Portal: `https://:9443/myaccount` 42 | 43 | >In here, refers to hostname or IP of the host machine on top of which containers are spawned. 44 | 45 | ## How to update configurations 46 | 47 | Configurations would lie on the Docker host machine and they can be volume mounted to the container.
48 | As an example, steps required to change the port offset using `deployment.toml` is as follows: 49 | 50 | ##### 1. Stop the Identity Server container if it's already running. 51 | 52 | In WSO2 Identity Server version `7.2.0` product distribution, `deployment.toml` configuration file
53 | can be found at `/repository/conf`. Copy the file to some suitable location of the host machine,
54 | referred to as `/deployment.toml` and change the `[server] -> offset` value to 1. 55 | 56 | ##### 2. Grant read permission to `other` users for `/deployment.toml`. 57 | 58 | ``` 59 | chmod o+r /deployment.toml 60 | ``` 61 | 62 | ##### 3. Run the image by mounting the file to container as follows: 63 | 64 | ``` 65 | docker run \ 66 | -p 9444:9444 \ 67 | --volume /deployment.toml:/deployment.toml \ 68 | wso2is:7.2.0-alpine 69 | ``` 70 | 71 | >In here, refers to /home/wso2carbon/wso2is-7.2.0/repository/conf folder of the container. 72 | 73 | ## Docker command usage references 74 | 75 | * [Docker build command reference](https://docs.docker.com/engine/reference/commandline/build/) 76 | * [Docker run command reference](https://docs.docker.com/engine/reference/run/) 77 | * [Dockerfile reference](https://docs.docker.com/engine/reference/builder/) 78 | -------------------------------------------------------------------------------- /dockerfiles/alpine/is/README.md: -------------------------------------------------------------------------------- 1 | # Dockerfile for WSO2 Identity Server # 2 | 3 | This section defines the step-by-step instructions to build an [Alpine](https://hub.docker.com/_/alpine/) Linux based Docker image for WSO2 Identity Server `7.2.0`. 4 | 5 | ## Prerequisites 6 | 7 | * [Docker](https://www.docker.com/get-docker) `v17.09.0` or above 8 | * [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) client 9 | 10 | ## How to build an image and run 11 | 12 | ##### 1. Checkout this repository into your local machine using the following Git client command. 13 | 14 | ``` 15 | git clone https://github.com/wso2/docker-is.git 16 | ``` 17 | 18 | >The local copy of the `dockerfiles/alpine/is` directory will be referred to as `IS_DOCKERFILE_HOME` from this point onwards. 19 | 20 | ##### 2. Build the Docker image. 21 | - Navigate to `` directory.
22 | Execute `docker build` command as shown below. 23 | + `docker build -t wso2is:7.2.0-alpine .` 24 | 25 | > Tip - If you require the container to run with a different UID and GID, pass the preferred values of the UID and GID 26 | > as values for build arguments `USER_ID` and `USER_GROUP_ID` when building the image, as shown below. Note 27 | > that setting lower values for the UID and GID is not recommended. 28 | + `docker build -t wso2is:7.2.0-alpine --build-arg USER_ID= --build-arg USER_GROUP_ID= .` 29 | 30 | ##### 3. Running the Docker image. 31 | 32 | - `docker run -it -p 9443:9443 wso2is:7.2.0-alpine` 33 | 34 | >Here, only port 9443 (HTTPS servlet transport) has been mapped to a Docker host port. 35 | You may map other container service ports, which have been exposed to Docker host ports, as desired. 36 | 37 | ##### 4. Accessing management consoles. 38 | 39 | - To access the user interfaces, use the docker host IP and port 9443. 40 | + Management Console: `https://:9443/console` 41 | + User Portal: `https://:9443/myaccount` 42 | 43 | >In here, refers to hostname or IP of the host machine on top of which containers are spawned. 44 | 45 | ## How to update configurations 46 | 47 | Configurations would lie on the Docker host machine and they can be volume mounted to the container.
48 | As an example, steps required to change the port offset using `deployment.toml` is as follows: 49 | 50 | ##### 1. Stop the Identity Server container if it's already running. 51 | 52 | In WSO2 Identity Server version `7.2.0` product distribution, `deployment.toml` configuration file
53 | can be found at `/repository/conf`. Copy the file to some suitable location of the host machine,
54 | referred to as `/deployment.toml` and change the `[server] -> offset` value to 1. 55 | 56 | ##### 2. Grant read permission to `other` users for `/deployment.toml`. 57 | 58 | ``` 59 | chmod o+r /deployment.toml 60 | ``` 61 | 62 | ##### 3. Run the image by mounting the file to container as follows: 63 | 64 | ``` 65 | docker run \ 66 | -p 9444:9444 \ 67 | --volume /deployment.toml:/deployment.toml \ 68 | wso2is:7.2.0-alpine 69 | ``` 70 | 71 | >In here, refers to /home/wso2carbon/wso2is-7.2.0/repository/conf folder of the container. 72 | 73 | ## Docker command usage references 74 | 75 | * [Docker build command reference](https://docs.docker.com/engine/reference/commandline/build/) 76 | * [Docker run command reference](https://docs.docker.com/engine/reference/run/) 77 | * [Dockerfile reference](https://docs.docker.com/engine/reference/builder/) 78 | -------------------------------------------------------------------------------- /dockerfiles/jdk11/alpine/is/README.md: -------------------------------------------------------------------------------- 1 | # Dockerfile for WSO2 Identity Server # 2 | 3 | This section defines the step-by-step instructions to build an [Alpine](https://hub.docker.com/_/alpine/) Linux based Docker image for WSO2 Identity Server `7.2.0`. 4 | 5 | ## Prerequisites 6 | 7 | * [Docker](https://www.docker.com/get-docker) `v17.09.0` or above 8 | * [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) client 9 | 10 | ## How to build an image and run 11 | 12 | ##### 1. Checkout this repository into your local machine using the following Git client command. 13 | 14 | ``` 15 | git clone https://github.com/wso2/docker-is.git 16 | ``` 17 | 18 | >The local copy of the `dockerfiles/alpine/is` directory will be referred to as `IS_DOCKERFILE_HOME` from this point onwards. 19 | 20 | ##### 2. Build the Docker image. 21 | - Navigate to `` directory.
22 | Execute `docker build` command as shown below. 23 | + `docker build -t wso2is:7.2.0-alpine .` 24 | 25 | > Tip - If you require the container to run with a different UID and GID, pass the preferred values of the UID and GID 26 | > as values for build arguments `USER_ID` and `USER_GROUP_ID` when building the image, as shown below. Note 27 | > that setting lower values for the UID and GID is not recommended. 28 | + `docker build -t wso2is:7.2.0-alpine --build-arg USER_ID= --build-arg USER_GROUP_ID= .` 29 | 30 | ##### 3. Running the Docker image. 31 | 32 | - `docker run -it -p 9443:9443 wso2is:7.2.0-alpine` 33 | 34 | >Here, only port 9443 (HTTPS servlet transport) has been mapped to a Docker host port. 35 | You may map other container service ports, which have been exposed to Docker host ports, as desired. 36 | 37 | ##### 4. Accessing management consoles. 38 | 39 | - To access the user interfaces, use the docker host IP and port 9443. 40 | + Management Console: `https://:9443/console` 41 | + User Portal: `https://:9443/myaccount` 42 | 43 | >In here, refers to hostname or IP of the host machine on top of which containers are spawned. 44 | 45 | ## How to update configurations 46 | 47 | Configurations would lie on the Docker host machine and they can be volume mounted to the container.
48 | As an example, steps required to change the port offset using `deployment.toml` is as follows: 49 | 50 | ##### 1. Stop the Identity Server container if it's already running. 51 | 52 | In WSO2 Identity Server version `7.2.0` product distribution, `deployment.toml` configuration file
53 | can be found at `/repository/conf`. Copy the file to some suitable location of the host machine,
54 | referred to as `/deployment.toml` and change the `[server] -> offset` value to 1. 55 | 56 | ##### 2. Grant read permission to `other` users for `/deployment.toml`. 57 | 58 | ``` 59 | chmod o+r /deployment.toml 60 | ``` 61 | 62 | ##### 3. Run the image by mounting the file to container as follows: 63 | 64 | ``` 65 | docker run \ 66 | -p 9444:9444 \ 67 | --volume /deployment.toml:/deployment.toml \ 68 | wso2is:7.2.0-alpine 69 | ``` 70 | 71 | >In here, refers to /home/wso2carbon/wso2is-7.2.0/repository/conf folder of the container. 72 | 73 | ## Docker command usage references 74 | 75 | * [Docker build command reference](https://docs.docker.com/engine/reference/commandline/build/) 76 | * [Docker run command reference](https://docs.docker.com/engine/reference/run/) 77 | * [Dockerfile reference](https://docs.docker.com/engine/reference/builder/) 78 | -------------------------------------------------------------------------------- /dockerfiles/rocky/is/README.md: -------------------------------------------------------------------------------- 1 | # Dockerfile for WSO2 Identity Server # 2 | 3 | This section defines the step-by-step instructions to build an [Rocky Linux](https://hub.docker.com/_/rockylinux) Linux based Docker image for WSO2 Identity Server `7.2.0`. 4 | 5 | ## Prerequisites 6 | 7 | * [Docker](https://www.docker.com/get-docker) `v17.09.0` or above 8 | * [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) client 9 | 10 | ## How to build an image and run 11 | 12 | ##### 1. Checkout this repository into your local machine using the following Git client command. 13 | 14 | ``` 15 | git clone https://github.com/wso2/docker-is.git 16 | ``` 17 | 18 | >The local copy of the `dockerfiles/rocky/is` directory will be referred to as `IS_DOCKERFILE_HOME` from this point onwards. 19 | 20 | ##### 2. Build the Docker image. 21 | - Navigate to `` directory.
22 | Execute `docker build` command as shown below. 23 | + `docker build -t wso2is:7.2.0-rocky .` 24 | 25 | > Configure the URL of hosted wso2is-7.2.0 distribution as WSO2_SERVER_DIST_URL. 26 | 27 | > Tip - If you require the container to run with a different UID and GID, pass the preferred values of the UID and GID 28 | > as values for build arguments `USER_ID` and `USER_GROUP_ID` when building the image, as shown below. Note 29 | > that setting lower values for the UID and GID is not recommended. 30 | + `docker build -t wso2is:7.2.0-rocky --build-arg USER_ID= --build-arg USER_GROUP_ID= .` 31 | 32 | ##### 3. Running the Docker image. 33 | 34 | - `docker run -it -p 9443:9443 wso2is:7.2.0-rocky` 35 | 36 | >Here, only port 9443 (HTTPS servlet transport) has been mapped to a Docker host port. 37 | You may map other container service ports, which have been exposed to Docker host ports, as desired. 38 | 39 | ##### 4. Accessing management consoles. 40 | 41 | - To access the user interfaces, use the docker host IP and port 9443. 42 | + Management Console: `https://:9443/console` 43 | + User Portal: `https://:9443/myaccount` 44 | 45 | >In here, refers to hostname or IP of the host machine on top of which containers are spawned. 46 | 47 | ## How to update configurations 48 | 49 | Configurations would lie on the Docker host machine and they can be volume mounted to the container.
50 | As an example, steps required to change the port offset using `deployment.toml` is as follows: 51 | 52 | ##### 1. Stop the Identity Server container if it's already running. 53 | 54 | In WSO2 Identity Server version `7.2.0` product distribution, `deployment.toml` configuration file
55 | can be found at `/repository/conf`. Copy the file to some suitable location of the host machine,
56 | referred to as `/deployment.toml` and change the `[server] -> offset` value to 1. 57 | 58 | ##### 2. Grant read permission to `other` users for `/deployment.toml`. 59 | 60 | ``` 61 | chmod o+r /deployment.toml 62 | ``` 63 | 64 | ##### 3. Run the image by mounting the file to container as follows: 65 | 66 | ``` 67 | docker run \ 68 | -p 9444:9444 \ 69 | --volume /deployment.toml:/deployment.toml \ 70 | wso2is:7.2.0-rocky 71 | ``` 72 | 73 | >In here, refers to /home/wso2carbon/wso2is-7.2.0/repository/conf folder of the container. 74 | 75 | ## Docker command usage references 76 | 77 | * [Docker build command reference](https://docs.docker.com/engine/reference/commandline/build/) 78 | * [Docker run command reference](https://docs.docker.com/engine/reference/run/) 79 | * [Dockerfile reference](https://docs.docker.com/engine/reference/builder/) 80 | -------------------------------------------------------------------------------- /dockerfiles/jdk11/rocky/is/README.md: -------------------------------------------------------------------------------- 1 | # Dockerfile for WSO2 Identity Server # 2 | 3 | This section defines the step-by-step instructions to build an [Rocky Linux](https://hub.docker.com/_/rockylinux) Linux based Docker image for WSO2 Identity Server `7.2.0`. 4 | 5 | ## Prerequisites 6 | 7 | * [Docker](https://www.docker.com/get-docker) `v17.09.0` or above 8 | * [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) client 9 | 10 | ## How to build an image and run 11 | 12 | ##### 1. Checkout this repository into your local machine using the following Git client command. 13 | 14 | ``` 15 | git clone https://github.com/wso2/docker-is.git 16 | ``` 17 | 18 | >The local copy of the `dockerfiles/rocky/is` directory will be referred to as `IS_DOCKERFILE_HOME` from this point onwards. 19 | 20 | ##### 2. Build the Docker image. 21 | - Navigate to `` directory.
22 | Execute `docker build` command as shown below. 23 | + `docker build -t wso2is:7.2.0-rocky .` 24 | 25 | > Configure the URL of hosted wso2is-7.2.0 distribution as WSO2_SERVER_DIST_URL. 26 | 27 | > Tip - If you require the container to run with a different UID and GID, pass the preferred values of the UID and GID 28 | > as values for build arguments `USER_ID` and `USER_GROUP_ID` when building the image, as shown below. Note 29 | > that setting lower values for the UID and GID is not recommended. 30 | + `docker build -t wso2is:7.2.0-rocky --build-arg USER_ID= --build-arg USER_GROUP_ID= .` 31 | 32 | ##### 3. Running the Docker image. 33 | 34 | - `docker run -it -p 9443:9443 wso2is:7.2.0-rocky` 35 | 36 | >Here, only port 9443 (HTTPS servlet transport) has been mapped to a Docker host port. 37 | You may map other container service ports, which have been exposed to Docker host ports, as desired. 38 | 39 | ##### 4. Accessing management consoles. 40 | 41 | - To access the user interfaces, use the docker host IP and port 9443. 42 | + Management Console: `https://:9443/console` 43 | + User Portal: `https://:9443/myaccount` 44 | 45 | >In here, refers to hostname or IP of the host machine on top of which containers are spawned. 46 | 47 | ## How to update configurations 48 | 49 | Configurations would lie on the Docker host machine and they can be volume mounted to the container.
50 | As an example, steps required to change the port offset using `deployment.toml` is as follows: 51 | 52 | ##### 1. Stop the Identity Server container if it's already running. 53 | 54 | In WSO2 Identity Server version `7.2.0` product distribution, `deployment.toml` configuration file
55 | can be found at `/repository/conf`. Copy the file to some suitable location of the host machine,
56 | referred to as `/deployment.toml` and change the `[server] -> offset` value to 1. 57 | 58 | ##### 2. Grant read permission to `other` users for `/deployment.toml`. 59 | 60 | ``` 61 | chmod o+r /deployment.toml 62 | ``` 63 | 64 | ##### 3. Run the image by mounting the file to container as follows: 65 | 66 | ``` 67 | docker run \ 68 | -p 9444:9444 \ 69 | --volume /deployment.toml:/deployment.toml \ 70 | wso2is:7.2.0-rocky 71 | ``` 72 | 73 | >In here, refers to /home/wso2carbon/wso2is-7.2.0/repository/conf folder of the container. 74 | 75 | ## Docker command usage references 76 | 77 | * [Docker build command reference](https://docs.docker.com/engine/reference/commandline/build/) 78 | * [Docker run command reference](https://docs.docker.com/engine/reference/run/) 79 | * [Dockerfile reference](https://docs.docker.com/engine/reference/builder/) 80 | -------------------------------------------------------------------------------- /dockerfiles/jdk17/rocky/is/README.md: -------------------------------------------------------------------------------- 1 | # Dockerfile for WSO2 Identity Server # 2 | 3 | This section defines the step-by-step instructions to build an [Rocky Linux](https://hub.docker.com/_/rockylinux) Linux based Docker image for WSO2 Identity Server `7.2.0`. 4 | 5 | ## Prerequisites 6 | 7 | * [Docker](https://www.docker.com/get-docker) `v17.09.0` or above 8 | * [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) client 9 | 10 | ## How to build an image and run 11 | 12 | ##### 1. Checkout this repository into your local machine using the following Git client command. 13 | 14 | ``` 15 | git clone https://github.com/wso2/docker-is.git 16 | ``` 17 | 18 | >The local copy of the `dockerfiles/rocky/is` directory will be referred to as `IS_DOCKERFILE_HOME` from this point onwards. 19 | 20 | ##### 2. Build the Docker image. 21 | - Navigate to `` directory.
22 | Execute `docker build` command as shown below. 23 | + `docker build -t wso2is:7.2.0-rocky .` 24 | 25 | > Configure the URL of hosted wso2is-7.2.0 distribution as WSO2_SERVER_DIST_URL. 26 | 27 | > Tip - If you require the container to run with a different UID and GID, pass the preferred values of the UID and GID 28 | > as values for build arguments `USER_ID` and `USER_GROUP_ID` when building the image, as shown below. Note 29 | > that setting lower values for the UID and GID is not recommended. 30 | + `docker build -t wso2is:7.2.0-rocky --build-arg USER_ID= --build-arg USER_GROUP_ID= .` 31 | 32 | ##### 3. Running the Docker image. 33 | 34 | - `docker run -it -p 9443:9443 wso2is:7.2.0-rocky` 35 | 36 | >Here, only port 9443 (HTTPS servlet transport) has been mapped to a Docker host port. 37 | You may map other container service ports, which have been exposed to Docker host ports, as desired. 38 | 39 | ##### 4. Accessing management consoles. 40 | 41 | - To access the user interfaces, use the docker host IP and port 9443. 42 | + Management Console: `https://:9443/console` 43 | + User Portal: `https://:9443/myaccount` 44 | 45 | >In here, refers to hostname or IP of the host machine on top of which containers are spawned. 46 | 47 | ## How to update configurations 48 | 49 | Configurations would lie on the Docker host machine and they can be volume mounted to the container.
50 | As an example, steps required to change the port offset using `deployment.toml` is as follows: 51 | 52 | ##### 1. Stop the Identity Server container if it's already running. 53 | 54 | In WSO2 Identity Server version `7.2.0` product distribution, `deployment.toml` configuration file
55 | can be found at `/repository/conf`. Copy the file to some suitable location of the host machine,
56 | referred to as `/deployment.toml` and change the `[server] -> offset` value to 1. 57 | 58 | ##### 2. Grant read permission to `other` users for `/deployment.toml`. 59 | 60 | ``` 61 | chmod o+r /deployment.toml 62 | ``` 63 | 64 | ##### 3. Run the image by mounting the file to container as follows: 65 | 66 | ``` 67 | docker run \ 68 | -p 9444:9444 \ 69 | --volume /deployment.toml:/deployment.toml \ 70 | wso2is:7.2.0-rocky 71 | ``` 72 | 73 | >In here, refers to /home/wso2carbon/wso2is-7.2.0/repository/conf folder of the container. 74 | 75 | ## Docker command usage references 76 | 77 | * [Docker build command reference](https://docs.docker.com/engine/reference/commandline/build/) 78 | * [Docker run command reference](https://docs.docker.com/engine/reference/run/) 79 | * [Dockerfile reference](https://docs.docker.com/engine/reference/builder/) 80 | -------------------------------------------------------------------------------- /dockerfiles/pqc/is/README.md: -------------------------------------------------------------------------------- 1 | # Dockerfile for WSO2 Identity Server with Post-Quantum TLS # 2 | 3 | This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux 4 | based Docker image for WSO2 Identity Server `7.2.0` with [Post-Quantum TLS support](https://is.docs.wso2.com/en/7.1.0/deploy/security/configure-post-quantum-tls/). 5 | 6 | ## Prerequisites 7 | 8 | * [Docker](https://www.docker.com/get-docker) `v17.09.0` or above 9 | * [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) client 10 | 11 | ## How to build an image and run 12 | 13 | ##### 1. Checkout this repository into your local machine using the following Git client command. 14 | 15 | ``` 16 | git clone https://github.com/wso2/docker-is.git 17 | ``` 18 | 19 | >The local copy of the `dockerfiles/pqc/is` directory will be referred to as `IS_DOCKERFILE_HOME` from this point onwards. 20 | 21 | ##### 2. Build the Docker image. 22 | 23 | - Navigate to `` directory.
24 | Execute `docker build` command as shown below. 25 | + `docker build -t wso2is:7.2.0-pqc .` 26 | 27 | > Tip - If you require the container to run with a different UID and GID, pass the preferred values of the UID and GID 28 | > as values for build arguments `USER_ID` and `USER_GROUP_ID` when building the image, as shown below. Note 29 | > that setting lower values for the UID and GID is not recommended. 30 | + `docker build -t wso2is:7.2.0-pqc --build-arg USER_ID= --build-arg USER_GROUP_ID= .` 31 | 32 | ##### 3. Running the Docker image. 33 | 34 | - `docker run -it -p 9443:9443 wso2is:7.2.0-pqc` 35 | 36 | >Here, only port 9443 (HTTPS servlet transport) has been mapped to a Docker host port. 37 | You may map other container service ports, which have been exposed to Docker host ports, as desired. 38 | 39 | ##### 4. Accessing management consoles. 40 | 41 | - To access the user interfaces, use the docker host IP and port 9443. 42 | + Management Console: `https://:9443/console` 43 | + User Portal: `https://:9443/myaccount` 44 | 45 | >In here, refers to hostname or IP of the host machine on top of which containers are spawned. 46 | 47 | ## How to update configurations 48 | 49 | Configurations would lie on the Docker host machine and they can be volume mounted to the container.
50 | As an example, steps required to change the port offset using `deployment.toml` is as follows: 51 | 52 | ##### 1. Stop the Identity Server container if it's already running. 53 | 54 | In WSO2 Identity Server version `7.2.0` product distribution, `deployment.toml` configuration file
55 | can be found at `/repository/conf`. Copy the file to some suitable location of the host machine,
56 | referred to as `/deployment.toml` and change the `[server] -> offset` value to 1. 57 | 58 | ##### 2. Grant read permission to `other` users for `/deployment.toml`. 59 | 60 | ``` 61 | chmod o+r /deployment.toml 62 | ``` 63 | 64 | ##### 3. Run the image by mounting the file to container as follows: 65 | 66 | ``` 67 | docker run \ 68 | -p 9444:9444 \ 69 | --volume /deployment.toml:/deployment.toml \ 70 | wso2is:7.2.0-pqc 71 | ``` 72 | 73 | >In here, refers to /home/wso2carbon/wso2is-7.2.0/repository/conf folder of the container. 74 | 75 | ##### Note: Add the following configuration to deployment.toml to keep post-quantum TLS enabled 76 | 77 | ``` 78 | [transport.https.openssl] 79 | enabled = true 80 | named_groups="X25519MLKEM768:x25519" 81 | 82 | [transport.https.sslHostConfig.properties] 83 | protocols="TLSv1+TLSv1.1+TLSv1.2+TLSv1.3" 84 | ``` 85 | 86 | ## Docker command usage references 87 | 88 | * [Docker build command reference](https://docs.docker.com/engine/reference/commandline/build/) 89 | * [Docker run command reference](https://docs.docker.com/engine/reference/run/) 90 | * [Dockerfile reference](https://docs.docker.com/engine/reference/builder/) 91 | 92 | -------------------------------------------------------------------------------- /dockerfiles/jdk11/alpine/is/Dockerfile: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------ 2 | # 3 | # Copyright 2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # 17 | # ------------------------------------------------------------------------ 18 | 19 | # set base Docker image to Alpine Docker image 20 | FROM alpine:3.22 21 | LABEL maintainer="WSO2 Docker Maintainers " \ 22 | com.wso2.docker.source="https://github.com/wso2/docker-is/releases/tag/v7.2.0.1" 23 | 24 | ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' 25 | 26 | # Install JDK Dependencies 27 | RUN apk add --no-cache tzdata musl-locales musl-locales-lang \ 28 | && rm -rf /var/cache/apk/* 29 | 30 | ENV JAVA_VERSION jdk-11.0.28+6 31 | 32 | # Install JDK11 33 | RUN set -eux; \ 34 | apk add --no-cache --virtual .fetch-deps curl; \ 35 | ARCH="$(apk --print-arch)"; \ 36 | case "${ARCH}" in \ 37 | amd64|x86_64) \ 38 | ESUM='7e9e5241d1378d75ae70e9b216d0d51d3aa2e61e187e92e09d117cb613e16ee4'; \ 39 | BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.28%2B6/OpenJDK11U-jdk_x64_alpine-linux_hotspot_11.0.28_6.tar.gz'; \ 40 | ;; \ 41 | *) \ 42 | echo "Unsupported arch: ${ARCH}"; \ 43 | exit 1; \ 44 | ;; \ 45 | esac; \ 46 | wget -O /tmp/openjdk.tar.gz ${BINARY_URL}; \ 47 | echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ 48 | mkdir -p /opt/java/openjdk; \ 49 | tar --extract \ 50 | --file /tmp/openjdk.tar.gz \ 51 | --directory /opt/java/openjdk \ 52 | --strip-components 1 \ 53 | --no-same-owner \ 54 | ; \ 55 | rm -rf /tmp/openjdk.tar.gz; 56 | 57 | ENV JAVA_HOME=/opt/java/openjdk \ 58 | PATH="/opt/java/openjdk/bin:$PATH" ENV=${USER_HOME}"/.ashrc" 59 | 60 | # Set Docker image build arguments. 61 | # Build arguments for user/group configurations. 62 | ARG USER=wso2carbon 63 | ARG USER_ID=802 64 | ARG USER_GROUP=wso2 65 | ARG USER_GROUP_ID=802 66 | ARG USER_HOME=/home/${USER} 67 | # Build arguments for WSO2 product installation. 68 | ARG WSO2_SERVER_NAME=wso2is 69 | ARG WSO2_SERVER_VERSION=7.2.0 70 | ARG WSO2_SERVER_REPOSITORY=product-is 71 | ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} 72 | ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} 73 | # Hosted wso2is-7.2.0 distribution URL. 74 | ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/${WSO2_SERVER_REPOSITORY}/releases/download/v${WSO2_SERVER_VERSION}/${WSO2_SERVER}.zip 75 | # Build arguments for external artifacts. 76 | ARG DNS_JAVA_VERSION=3.6.1 77 | # Build argument for MOTD. 78 | ARG MOTD='printf "\n\ 79 | Welcome to WSO2 Docker Resources \n\ 80 | --------------------------------- \n\ 81 | This Docker container comprises of a WSO2 product, running with its latest GA release \n\ 82 | which is under the Apache License, Version 2.0. \n\ 83 | Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n"' 84 | 85 | # Create the non-root user and group and set MOTD login message. 86 | RUN \ 87 | addgroup -S -g ${USER_GROUP_ID} ${USER_GROUP} \ 88 | && adduser -S -u ${USER_ID} -h ${USER_HOME} -G ${USER_GROUP} ${USER} \ 89 | && echo ${MOTD} > "${ENV}" 90 | 91 | # Create Java prefs dir. 92 | # This is to avoid warning logs printed by FileSystemPreferences class. 93 | RUN \ 94 | mkdir -p ${USER_HOME}/.java/.systemPrefs \ 95 | && mkdir -p ${USER_HOME}/.java/.userPrefs \ 96 | && chmod -R 755 ${USER_HOME}/.java \ 97 | && chown -R ${USER}:${USER_GROUP} ${USER_HOME}/.java 98 | 99 | # Copy init script to user home. 100 | COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/ 101 | 102 | # Install required packages. 103 | RUN \ 104 | apk update \ 105 | && apk add --no-cache netcat-openbsd \ 106 | && apk add unzip \ 107 | && apk add wget 108 | 109 | RUN \ 110 | wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ 111 | && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ 112 | && chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \ 113 | && rm -f ${WSO2_SERVER}.zip 114 | 115 | # Add libraries for Kubernetes membership scheme based clustering. 116 | ADD --chown=wso2carbon:wso2 https://repo1.maven.org/maven2/dnsjava/dnsjava/${DNS_JAVA_VERSION}/dnsjava-${DNS_JAVA_VERSION}.jar ${WSO2_SERVER_HOME}/repository/components/lib 117 | 118 | # Set the user and work directory. 119 | USER ${USER_ID} 120 | WORKDIR ${USER_HOME} 121 | 122 | # Set environment variables. 123 | ENV WORKING_DIRECTORY=${USER_HOME} \ 124 | WSO2_SERVER_HOME=${WSO2_SERVER_HOME} 125 | 126 | # Expose ports. 127 | EXPOSE 4000 9763 9443 128 | 129 | # Initiate container and start WSO2 Carbon server. 130 | ENTRYPOINT ["/home/wso2carbon/docker-entrypoint.sh"] 131 | -------------------------------------------------------------------------------- /dockerfiles/jdk17/alpine/is/Dockerfile: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------ 2 | # 3 | # Copyright 2024-2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # 17 | # ------------------------------------------------------------------------ 18 | 19 | # Set base Docker image to Alpine Docker image. 20 | FROM alpine:3.22 21 | LABEL maintainer="WSO2 Docker Maintainers " \ 22 | com.wso2.docker.source="https://github.com/wso2/docker-is/releases/tag/v7.2.0.1" 23 | 24 | ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' 25 | 26 | # Install JDK Dependencies. 27 | RUN apk add --no-cache tzdata musl-locales musl-locales-lang \ 28 | && rm -rf /var/cache/apk/* 29 | 30 | ENV JAVA_VERSION jdk-17.0.16+8 31 | 32 | # Install JDK 17. 33 | RUN set -eux; \ 34 | apk add --no-cache --virtual .fetch-deps curl; \ 35 | ARCH="$(apk --print-arch)"; \ 36 | case "${ARCH}" in \ 37 | amd64|x86_64) \ 38 | ESUM='2e83ac152fb315db0d667761f2120b64504800f641a513044e834a1a41f29bc0'; \ 39 | BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.16%2B8/OpenJDK17U-jdk_x64_alpine-linux_hotspot_17.0.16_8.tar.gz'; \ 40 | ;; \ 41 | *) \ 42 | echo "Unsupported arch: ${ARCH}"; \ 43 | exit 1; \ 44 | ;; \ 45 | esac; \ 46 | wget -O /tmp/openjdk.tar.gz ${BINARY_URL}; \ 47 | echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ 48 | mkdir -p /opt/java/openjdk; \ 49 | tar --extract \ 50 | --file /tmp/openjdk.tar.gz \ 51 | --directory /opt/java/openjdk \ 52 | --strip-components 1 \ 53 | --no-same-owner \ 54 | ; \ 55 | rm -rf /tmp/openjdk.tar.gz; 56 | 57 | ENV JAVA_HOME=/opt/java/openjdk \ 58 | PATH="/opt/java/openjdk/bin:$PATH" ENV=${USER_HOME}"/.ashrc" 59 | 60 | # Set Docker image build arguments. 61 | # Build arguments for user/group configurations. 62 | ARG USER=wso2carbon 63 | ARG USER_ID=802 64 | ARG USER_GROUP=wso2 65 | ARG USER_GROUP_ID=802 66 | ARG USER_HOME=/home/${USER} 67 | # Build arguments for WSO2 product installation. 68 | ARG WSO2_SERVER_NAME=wso2is 69 | ARG WSO2_SERVER_VERSION=7.2.0 70 | ARG WSO2_SERVER_REPOSITORY=product-is 71 | ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} 72 | ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} 73 | # Hosted wso2is-7.2.0 distribution URL. 74 | ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/${WSO2_SERVER_REPOSITORY}/releases/download/v${WSO2_SERVER_VERSION}/${WSO2_SERVER}.zip 75 | # Build arguments for external artifacts. 76 | ARG DNS_JAVA_VERSION=3.6.1 77 | # Build argument for MOTD. 78 | ARG MOTD='printf "\n\ 79 | Welcome to WSO2 Docker Resources \n\ 80 | --------------------------------- \n\ 81 | This Docker container comprises of a WSO2 product, running with its latest GA release \n\ 82 | which is under the Apache License, Version 2.0. \n\ 83 | Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n"' 84 | 85 | # Create the non-root user and group and set MOTD login message. 86 | RUN \ 87 | addgroup -S -g ${USER_GROUP_ID} ${USER_GROUP} \ 88 | && adduser -S -u ${USER_ID} -h ${USER_HOME} -G ${USER_GROUP} ${USER} \ 89 | && echo ${MOTD} > "${ENV}" 90 | 91 | # Create Java prefs dir. 92 | # This is to avoid warning logs printed by FileSystemPreferences class. 93 | RUN \ 94 | mkdir -p ${USER_HOME}/.java/.systemPrefs \ 95 | && mkdir -p ${USER_HOME}/.java/.userPrefs \ 96 | && chmod -R 755 ${USER_HOME}/.java \ 97 | && chown -R ${USER}:${USER_GROUP} ${USER_HOME}/.java 98 | 99 | # Copy init script to user home. 100 | COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/ 101 | 102 | # Install required packages. 103 | RUN \ 104 | apk update \ 105 | && apk add --no-cache netcat-openbsd \ 106 | && apk add unzip \ 107 | && apk add wget 108 | 109 | RUN \ 110 | wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ 111 | && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ 112 | && chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \ 113 | && rm -f ${WSO2_SERVER}.zip 114 | 115 | # Add libraries for Kubernetes membership scheme based clustering. 116 | ADD --chown=wso2carbon:wso2 https://repo1.maven.org/maven2/dnsjava/dnsjava/${DNS_JAVA_VERSION}/dnsjava-${DNS_JAVA_VERSION}.jar ${WSO2_SERVER_HOME}/repository/components/lib 117 | 118 | # Set the user and work directory. 119 | USER ${USER_ID} 120 | WORKDIR ${USER_HOME} 121 | 122 | # Set environment variables. 123 | ENV WORKING_DIRECTORY=${USER_HOME} \ 124 | WSO2_SERVER_HOME=${WSO2_SERVER_HOME} 125 | 126 | # Expose ports. 127 | EXPOSE 4000 9763 9443 128 | 129 | # Initiate container and start WSO2 Carbon server. 130 | ENTRYPOINT ["/home/wso2carbon/docker-entrypoint.sh"] 131 | -------------------------------------------------------------------------------- /dockerfiles/alpine/is/Dockerfile: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------ 2 | # 3 | # Copyright 2024-2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # 17 | # ------------------------------------------------------------------------ 18 | 19 | # Set base Docker image to Alpine Docker image. 20 | FROM alpine:3.22 21 | LABEL maintainer="WSO2 Docker Maintainers " \ 22 | com.wso2.docker.source="https://github.com/wso2/docker-is/releases/tag/v7.2.0.1" 23 | 24 | ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' 25 | 26 | # Install JDK Dependencies 27 | RUN apk add --no-cache tzdata musl-locales musl-locales-lang \ 28 | && rm -rf /var/cache/apk/* 29 | 30 | ENV JAVA_VERSION=jdk-21.0.8+9 31 | 32 | # Install Temurin OpenJDK 21 33 | RUN set -eux; \ 34 | apk add --no-cache --virtual .fetch-deps curl; \ 35 | ARCH="$(apk --print-arch)"; \ 36 | case "${ARCH}" in \ 37 | x86_64) \ 38 | ESUM='73c4cbe10f4f385383d9cb54d34f2bee2c68b5265f9e3d954f3326948c40c0be'; \ 39 | BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_x64_alpine-linux_hotspot_21.0.8_9.tar.gz'; \ 40 | ;; \ 41 | aarch64) \ 42 | ESUM='4773cfdc59d66b75f4a68ac843b2b5854791840114cf8bb1b56fb6f7826ae498'; \ 43 | BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_aarch64_alpine-linux_hotspot_21.0.8_9.tar.gz'; \ 44 | ;; \ 45 | *) \ 46 | echo "Unsupported arch: ${ARCH}"; \ 47 | exit 1; \ 48 | ;; \ 49 | esac; \ 50 | wget -O /tmp/openjdk.tar.gz ${BINARY_URL}; \ 51 | echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ 52 | mkdir -p /opt/java/openjdk; \ 53 | tar --extract \ 54 | --file /tmp/openjdk.tar.gz \ 55 | --directory /opt/java/openjdk \ 56 | --strip-components 1 \ 57 | --no-same-owner \ 58 | ; \ 59 | rm -rf /tmp/openjdk.tar.gz; 60 | 61 | ENV JAVA_HOME=/opt/java/openjdk \ 62 | PATH="/opt/java/openjdk/bin:$PATH" ENV=${USER_HOME}"/.ashrc" 63 | 64 | # Set Docker image build arguments. 65 | # Build arguments for user/group configurations. 66 | ARG USER=wso2carbon 67 | ARG USER_ID=802 68 | ARG USER_GROUP=wso2 69 | ARG USER_GROUP_ID=802 70 | ARG USER_HOME=/home/${USER} 71 | # Build arguments for WSO2 product installation. 72 | ARG WSO2_SERVER_NAME=wso2is 73 | ARG WSO2_SERVER_VERSION=7.2.0 74 | ARG WSO2_SERVER_REPOSITORY=product-is 75 | ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} 76 | ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} 77 | # Hosted wso2is-7.2.0 distribution URL. 78 | ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/${WSO2_SERVER_REPOSITORY}/releases/download/v${WSO2_SERVER_VERSION}/${WSO2_SERVER}.zip 79 | # Build arguments for external artifacts. 80 | ARG DNS_JAVA_VERSION=3.6.1 81 | # Build argument for MOTD. 82 | ARG MOTD='printf "\n\ 83 | Welcome to WSO2 Docker Resources \n\ 84 | --------------------------------- \n\ 85 | This Docker container comprises of a WSO2 product, running with its latest GA release \n\ 86 | which is under the Apache License, Version 2.0. \n\ 87 | Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n"' 88 | 89 | # Create the non-root user and group and set MOTD login message. 90 | RUN \ 91 | addgroup -S -g ${USER_GROUP_ID} ${USER_GROUP} \ 92 | && adduser -S -u ${USER_ID} -h ${USER_HOME} -G ${USER_GROUP} ${USER} \ 93 | && echo ${MOTD} > "${ENV}" 94 | 95 | # Create Java prefs dir. 96 | # This is to avoid warning logs printed by FileSystemPreferences class. 97 | RUN \ 98 | mkdir -p ${USER_HOME}/.java/.systemPrefs \ 99 | && mkdir -p ${USER_HOME}/.java/.userPrefs \ 100 | && chmod -R 755 ${USER_HOME}/.java \ 101 | && chown -R ${USER}:${USER_GROUP} ${USER_HOME}/.java 102 | 103 | # Copy init script to user home. 104 | COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/ 105 | 106 | # Install required packages. 107 | RUN \ 108 | apk update \ 109 | && apk add --no-cache netcat-openbsd \ 110 | && apk add unzip \ 111 | && apk add wget 112 | 113 | RUN \ 114 | wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ 115 | && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ 116 | && chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \ 117 | && rm -f ${WSO2_SERVER}.zip 118 | 119 | # Add libraries for Kubernetes membership scheme based clustering. 120 | ADD --chown=wso2carbon:wso2 https://repo1.maven.org/maven2/dnsjava/dnsjava/${DNS_JAVA_VERSION}/dnsjava-${DNS_JAVA_VERSION}.jar ${WSO2_SERVER_HOME}/repository/components/lib 121 | 122 | # Set the user and work directory. 123 | USER ${USER_ID} 124 | WORKDIR ${USER_HOME} 125 | 126 | # Set environment variables. 127 | ENV WORKING_DIRECTORY=${USER_HOME} \ 128 | WSO2_SERVER_HOME=${WSO2_SERVER_HOME} 129 | 130 | # expose ports. 131 | EXPOSE 4000 9763 9443 132 | 133 | # Initiate container and start WSO2 Carbon server. 134 | ENTRYPOINT ["/home/wso2carbon/docker-entrypoint.sh"] 135 | -------------------------------------------------------------------------------- /dockerfiles/jdk17/ubuntu/is/Dockerfile: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------ 2 | # 3 | # Copyright 2024-2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # 17 | # ------------------------------------------------------------------------ 18 | 19 | # Set base Docker image to Ubuntu 24.04 Docker image. 20 | FROM ubuntu:24.04 21 | 22 | LABEL maintainer="WSO2 Docker Maintainers " \ 23 | com.wso2.docker.source="https://github.com/wso2/docker-is/releases/tag/v7.2.0.1" 24 | 25 | # Install JDK Dependencies. 26 | ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' 27 | 28 | RUN apt-get update \ 29 | && apt-get install -y --no-install-recommends tzdata curl ca-certificates fontconfig locales \ 30 | && echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \ 31 | && locale-gen en_US.UTF-8 \ 32 | && rm -rf /var/lib/apt/lists/* 33 | 34 | ENV JAVA_VERSION jdk-17.0.16+8 35 | 36 | # Install JDK17. 37 | RUN set -eux; \ 38 | ARCH="$(dpkg --print-architecture)"; \ 39 | case "${ARCH}" in \ 40 | amd64|x86-64) \ 41 | ESUM='166774efcf0f722f2ee18eba0039de2d685b350ee14d7b69e6f83437dafd2af1'; \ 42 | BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.16%2B8/OpenJDK17U-jdk_x64_linux_hotspot_17.0.16_8.tar.gz'; \ 43 | ;; \ 44 | aarch64|arm64) \ 45 | ESUM='423416447885d9e45f96dd9e0b2c1367da5e1b0353e187cfdf9388c9820ac147'; \ 46 | BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.16%2B8/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.16_8.tar.gz'; \ 47 | ;; \ 48 | *) \ 49 | echo "Unsupported arch: ${ARCH}"; \ 50 | exit 1; \ 51 | ;; \ 52 | esac; \ 53 | curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ 54 | echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ 55 | mkdir -p /opt/java/openjdk; \ 56 | cd /opt/java/openjdk; \ 57 | tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ 58 | rm -rf /tmp/openjdk.tar.gz; 59 | 60 | ENV JAVA_HOME=/opt/java/openjdk \ 61 | PATH="/opt/java/openjdk/bin:$PATH" 62 | 63 | # Set Docker image build arguments. 64 | # Build arguments for user/group configurations. 65 | ARG USER=wso2carbon 66 | ARG USER_ID=802 67 | ARG USER_GROUP=wso2 68 | ARG USER_GROUP_ID=802 69 | ARG USER_HOME=/home/${USER} 70 | # Build arguments for WSO2 product installation. 71 | ARG WSO2_SERVER_NAME=wso2is 72 | ARG WSO2_SERVER_VERSION=7.2.0 73 | ARG WSO2_SERVER_REPOSITORY=product-is 74 | ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} 75 | ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} 76 | # Hosted wso2is-7.2.0 distribution URL. 77 | ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/${WSO2_SERVER_REPOSITORY}/releases/download/v${WSO2_SERVER_VERSION}/${WSO2_SERVER}.zip 78 | # Build arguments for external artifacts. 79 | ARG DNS_JAVA_VERSION=3.6.1 80 | # Build argument for MOTD. 81 | ARG MOTD="\n\ 82 | Welcome to WSO2 Docker resources.\n\ 83 | ------------------------------------ \n\ 84 | This Docker container comprises of a WSO2 product, running with its latest GA release \n\ 85 | which is under the Apache License, Version 2.0. \n\ 86 | Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n" 87 | 88 | # Create the non-root user and group and set MOTD login message. 89 | RUN \ 90 | groupadd --system -g ${USER_GROUP_ID} ${USER_GROUP} \ 91 | && useradd --system --create-home --home-dir ${USER_HOME} --no-log-init -g ${USER_GROUP_ID} -u ${USER_ID} ${USER} \ 92 | && echo '[ ! -z "${TERM}" -a -r /etc/motd ] && cat /etc/motd' >> /etc/bash.bashrc; echo "${MOTD}" > /etc/motd 93 | 94 | # Create Java prefs dir. 95 | # This is to avoid warning logs printed by FileSystemPreferences class. 96 | RUN \ 97 | mkdir -p ${USER_HOME}/.java/.systemPrefs \ 98 | && mkdir -p ${USER_HOME}/.java/.userPrefs \ 99 | && chmod -R 755 ${USER_HOME}/.java \ 100 | && chown -R ${USER}:${USER_GROUP} ${USER_HOME}/.java 101 | 102 | # Copy init script to user home. 103 | COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/ 104 | 105 | # Install required packages. 106 | RUN \ 107 | apt-get update \ 108 | && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ 109 | netcat-openbsd \ 110 | unzip \ 111 | wget \ 112 | && rm -rf /var/lib/apt/lists/* 113 | 114 | RUN \ 115 | wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ 116 | && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ 117 | && chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \ 118 | && rm -f ${WSO2_SERVER}.zip 119 | 120 | # Add libraries for Kubernetes membership scheme based clustering. 121 | ADD --chown=wso2carbon:wso2 https://repo1.maven.org/maven2/dnsjava/dnsjava/${DNS_JAVA_VERSION}/dnsjava-${DNS_JAVA_VERSION}.jar ${WSO2_SERVER_HOME}/repository/components/lib 122 | 123 | # Set the user and work directory. 124 | USER ${USER_ID} 125 | WORKDIR ${USER_HOME} 126 | 127 | # Set environment variables. 128 | ENV JAVA_OPTS="-Djava.util.prefs.systemRoot=${USER_HOME}/.java -Djava.util.prefs.userRoot=${USER_HOME}/.java/.userPrefs" \ 129 | WORKING_DIRECTORY=${USER_HOME} \ 130 | WSO2_SERVER_HOME=${WSO2_SERVER_HOME} 131 | 132 | # Expose ports. 133 | EXPOSE 4000 9763 9443 134 | 135 | # Initiate container and start WSO2 Carbon server. 136 | ENTRYPOINT ["/home/wso2carbon/docker-entrypoint.sh"] 137 | -------------------------------------------------------------------------------- /dockerfiles/ubuntu/is/Dockerfile: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------ 2 | # 3 | # Copyright 2024-2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # 17 | # ------------------------------------------------------------------------ 18 | 19 | # Set base Docker image to Ubuntu 24.04 Docker image. 20 | FROM ubuntu:24.04 21 | 22 | LABEL maintainer="WSO2 Docker Maintainers " \ 23 | com.wso2.docker.source="https://github.com/wso2/docker-is/releases/tag/v7.2.0.1" 24 | 25 | # Install JDK Dependencies. 26 | ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' 27 | 28 | RUN apt-get update \ 29 | && apt-get install -y --no-install-recommends tzdata curl ca-certificates fontconfig locales \ 30 | && echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \ 31 | && locale-gen en_US.UTF-8 \ 32 | && rm -rf /var/lib/apt/lists/* 33 | 34 | ENV JAVA_VERSION jdk-21.0.8+9 35 | 36 | # Install Temurin OpenJDK 21. 37 | RUN set -eux; \ 38 | ARCH="$(dpkg --print-architecture)"; \ 39 | case "${ARCH}" in \ 40 | amd64|x86_64) \ 41 | ESUM='f2dc5418092c43003db8f9005c4a286e1c0104fea96ccdd49e8ebd037cac9219'; \ 42 | BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_x64_linux_hotspot_21.0.8_9.tar.gz'; \ 43 | ;; \ 44 | aarch64|arm64) \ 45 | ESUM='e5c41a1ab0865ea5de9b4529bf8526005f1d4593090845387d14fe450ce39c33'; \ 46 | BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.8_9.tar.gz'; \ 47 | ;; \ 48 | *) \ 49 | echo "Unsupported arch: ${ARCH}"; \ 50 | exit 1; \ 51 | ;; \ 52 | esac; \ 53 | curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ 54 | echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ 55 | mkdir -p /opt/java/openjdk; \ 56 | cd /opt/java/openjdk; \ 57 | tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ 58 | rm -rf /tmp/openjdk.tar.gz; 59 | 60 | ENV JAVA_HOME=/opt/java/openjdk \ 61 | PATH="/opt/java/openjdk/bin:$PATH" 62 | 63 | # Set Docker image build arguments. 64 | # Build arguments for user/group configurations. 65 | ARG USER=wso2carbon 66 | ARG USER_ID=802 67 | ARG USER_GROUP=wso2 68 | ARG USER_GROUP_ID=802 69 | ARG USER_HOME=/home/${USER} 70 | # Build arguments for WSO2 product installation. 71 | ARG WSO2_SERVER_NAME=wso2is 72 | ARG WSO2_SERVER_VERSION=7.2.0 73 | ARG WSO2_SERVER_REPOSITORY=product-is 74 | ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} 75 | ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} 76 | # Hosted wso2is-7.2.0 distribution URL. 77 | ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/${WSO2_SERVER_REPOSITORY}/releases/download/v${WSO2_SERVER_VERSION}/${WSO2_SERVER}.zip 78 | # Build arguments for external artifacts. 79 | ARG DNS_JAVA_VERSION=3.6.1 80 | # Build argument for MOTD. 81 | ARG MOTD="\n\ 82 | Welcome to WSO2 Docker resources.\n\ 83 | ------------------------------------ \n\ 84 | This Docker container comprises of a WSO2 product, running with its latest GA release \n\ 85 | which is under the Apache License, Version 2.0. \n\ 86 | Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n" 87 | 88 | # Create the non-root user and group and set MOTD login message. 89 | RUN \ 90 | groupadd --system -g ${USER_GROUP_ID} ${USER_GROUP} \ 91 | && useradd --system --create-home --home-dir ${USER_HOME} --no-log-init -g ${USER_GROUP_ID} -u ${USER_ID} ${USER} \ 92 | && echo '[ ! -z "${TERM}" -a -r /etc/motd ] && cat /etc/motd' >> /etc/bash.bashrc; echo "${MOTD}" > /etc/motd 93 | 94 | # Create Java prefs dir. 95 | # This is to avoid warning logs printed by FileSystemPreferences class. 96 | RUN \ 97 | mkdir -p ${USER_HOME}/.java/.systemPrefs \ 98 | && mkdir -p ${USER_HOME}/.java/.userPrefs \ 99 | && chmod -R 755 ${USER_HOME}/.java \ 100 | && chown -R ${USER}:${USER_GROUP} ${USER_HOME}/.java 101 | 102 | # Copy init script to user home. 103 | COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/ 104 | 105 | # Install required packages. 106 | RUN \ 107 | apt-get update \ 108 | && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ 109 | netcat-openbsd \ 110 | unzip \ 111 | wget \ 112 | && rm -rf /var/lib/apt/lists/* 113 | 114 | RUN \ 115 | wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ 116 | && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ 117 | && chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \ 118 | && rm -f ${WSO2_SERVER}.zip 119 | 120 | # Add libraries for Kubernetes membership scheme based clustering. 121 | ADD --chown=wso2carbon:wso2 https://repo1.maven.org/maven2/dnsjava/dnsjava/${DNS_JAVA_VERSION}/dnsjava-${DNS_JAVA_VERSION}.jar ${WSO2_SERVER_HOME}/repository/components/lib 122 | 123 | # Set the user and work directory. 124 | USER ${USER_ID} 125 | WORKDIR ${USER_HOME} 126 | 127 | # Set environment variables. 128 | ENV JAVA_OPTS="-Djava.util.prefs.systemRoot=${USER_HOME}/.java -Djava.util.prefs.userRoot=${USER_HOME}/.java/.userPrefs" \ 129 | WORKING_DIRECTORY=${USER_HOME} \ 130 | WSO2_SERVER_HOME=${WSO2_SERVER_HOME} 131 | 132 | # Expose ports. 133 | EXPOSE 4000 9763 9443 134 | 135 | # Initiate container and start WSO2 Carbon server. 136 | ENTRYPOINT ["/home/wso2carbon/docker-entrypoint.sh"] 137 | -------------------------------------------------------------------------------- /dockerfiles/jdk11/ubuntu/is/Dockerfile: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------ 2 | # 3 | # Copyright 2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # 17 | # ------------------------------------------------------------------------ 18 | 19 | # Set base Docker image to Ubuntu 24.04 Docker image. 20 | FROM ubuntu:24.04 21 | 22 | LABEL maintainer="WSO2 Docker Maintainers " \ 23 | com.wso2.docker.source="https://github.com/wso2/docker-is/releases/tag/v7.2.0.1" 24 | 25 | # Install JDK Dependencies 26 | ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' 27 | 28 | RUN apt-get update \ 29 | && apt-get install -y --no-install-recommends tzdata curl ca-certificates fontconfig locales \ 30 | && echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \ 31 | && locale-gen en_US.UTF-8 \ 32 | && rm -rf /var/lib/apt/lists/* 33 | 34 | ENV JAVA_VERSION jdk-11.0.28+6 35 | 36 | # Install Temurin OpenJDK 11. 37 | RUN set -eux; \ 38 | ARCH="$(dpkg --print-architecture)"; \ 39 | case "${ARCH}" in \ 40 | amd64|x86-64) \ 41 | ESUM='7dfd551795a8884b26cbb02e0301da95db40160bb194f48271dc2ef9367f50c2'; \ 42 | BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.28%2B6/OpenJDK11U-jdk_x64_linux_hotspot_11.0.28_6.tar.gz'; \ 43 | ;; \ 44 | aarch64|arm64) \ 45 | ESUM='32c316cb3998a9c9dee2829fbb577ea1c0ed666700cec73e049d44c342bb19af'; \ 46 | BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.28%2B6/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.28_6.tar.gz'; \ 47 | ;; \ 48 | *) \ 49 | echo "Unsupported arch: ${ARCH}"; \ 50 | exit 1; \ 51 | ;; \ 52 | esac; \ 53 | curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ 54 | echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ 55 | mkdir -p /opt/java/openjdk; \ 56 | cd /opt/java/openjdk; \ 57 | tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ 58 | rm -rf /tmp/openjdk.tar.gz; 59 | 60 | ENV JAVA_HOME=/opt/java/openjdk \ 61 | PATH="/opt/java/openjdk/bin:$PATH" 62 | 63 | # Set Docker image build arguments. 64 | # Build arguments for user/group configurations. 65 | ARG USER=wso2carbon 66 | ARG USER_ID=802 67 | ARG USER_GROUP=wso2 68 | ARG USER_GROUP_ID=802 69 | ARG USER_HOME=/home/${USER} 70 | # Build arguments for WSO2 product installation. 71 | ARG WSO2_SERVER_NAME=wso2is 72 | ARG WSO2_SERVER_VERSION=7.2.0 73 | ARG WSO2_SERVER_REPOSITORY=product-is 74 | ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} 75 | ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} 76 | # Hosted wso2is-7.2.0 distribution URL. 77 | ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/${WSO2_SERVER_REPOSITORY}/releases/download/v${WSO2_SERVER_VERSION}/${WSO2_SERVER}.zip 78 | # Build arguments for external artifacts. 79 | ARG DNS_JAVA_VERSION=3.6.1 80 | # Build argument for MOTD. 81 | ARG MOTD="\n\ 82 | Welcome to WSO2 Docker resources.\n\ 83 | ------------------------------------ \n\ 84 | This Docker container comprises of a WSO2 product, running with its latest GA release \n\ 85 | which is under the Apache License, Version 2.0. \n\ 86 | Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n" 87 | 88 | # Create the non-root user and group and set MOTD login message. 89 | RUN \ 90 | groupadd --system -g ${USER_GROUP_ID} ${USER_GROUP} \ 91 | && useradd --system --create-home --home-dir ${USER_HOME} --no-log-init -g ${USER_GROUP_ID} -u ${USER_ID} ${USER} \ 92 | && echo '[ ! -z "${TERM}" -a -r /etc/motd ] && cat /etc/motd' >> /etc/bash.bashrc; echo "${MOTD}" > /etc/motd 93 | 94 | # Create Java prefs dir. 95 | # This is to avoid warning logs printed by FileSystemPreferences class. 96 | RUN \ 97 | mkdir -p ${USER_HOME}/.java/.systemPrefs \ 98 | && mkdir -p ${USER_HOME}/.java/.userPrefs \ 99 | && chmod -R 755 ${USER_HOME}/.java \ 100 | && chown -R ${USER}:${USER_GROUP} ${USER_HOME}/.java 101 | 102 | # Copy init script to user home. 103 | COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/ 104 | 105 | # Install required packages. 106 | RUN \ 107 | apt-get update \ 108 | && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ 109 | netcat-openbsd \ 110 | unzip \ 111 | wget \ 112 | && rm -rf /var/lib/apt/lists/* 113 | 114 | RUN \ 115 | wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ 116 | && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ 117 | && chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \ 118 | && rm -f ${WSO2_SERVER}.zip 119 | 120 | # Add libraries for Kubernetes membership scheme based clustering. 121 | ADD --chown=wso2carbon:wso2 https://repo1.maven.org/maven2/dnsjava/dnsjava/${DNS_JAVA_VERSION}/dnsjava-${DNS_JAVA_VERSION}.jar ${WSO2_SERVER_HOME}/repository/components/lib 122 | 123 | # Set the user and work directory. 124 | USER ${USER_ID} 125 | WORKDIR ${USER_HOME} 126 | 127 | # Set environment variables. 128 | ENV JAVA_OPTS="-Djava.util.prefs.systemRoot=${USER_HOME}/.java -Djava.util.prefs.userRoot=${USER_HOME}/.java/.userPrefs" \ 129 | WORKING_DIRECTORY=${USER_HOME} \ 130 | WSO2_SERVER_HOME=${WSO2_SERVER_HOME} 131 | 132 | # Expose ports. 133 | EXPOSE 4000 9763 9443 134 | 135 | # Initiate container and start WSO2 Carbon server. 136 | ENTRYPOINT ["/home/wso2carbon/docker-entrypoint.sh"] 137 | -------------------------------------------------------------------------------- /dockerfiles/rocky/is/Dockerfile: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------ 2 | # 3 | # Copyright 2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # 17 | # ------------------------------------------------------------------------ 18 | 19 | # Set base Docker image to RockyLinux Docker image. 20 | FROM rockylinux:9 21 | LABEL maintainer="WSO2 Docker Maintainers " \ 22 | com.wso2.docker.source="https://github.com/wso2/docker-is/releases/tag/v7.2.0.1" 23 | 24 | # Update the system to the specific 8.10 version. 25 | RUN dnf -y update && \ 26 | dnf -y distro-sync && \ 27 | dnf clean all 28 | 29 | # Install necessary locale packages. 30 | RUN yum install -y glibc-langpack-en && \ 31 | yum install -y langpacks-en glibc-locale-source && \ 32 | localedef -c -f UTF-8 -i en_US en_US.UTF-8 33 | 34 | ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' 35 | 36 | # Install JDK Dependencies. 37 | RUN yum install -y tzdata openssl ca-certificates fontconfig gzip tar nc unzip wget \ 38 | && yum clean all 39 | 40 | ENV JAVA_VERSION jdk-21.0.8+9 41 | 42 | # Install Temurin OpenJDK 21. 43 | RUN set -eux; \ 44 | ARCH="$(uname -m)"; \ 45 | case "${ARCH}" in \ 46 | amd64|x86_64) \ 47 | ESUM='f2dc5418092c43003db8f9005c4a286e1c0104fea96ccdd49e8ebd037cac9219'; \ 48 | BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_x64_linux_hotspot_21.0.8_9.tar.gz'; \ 49 | ;; \ 50 | aarch64|arm64) \ 51 | ESUM='e5c41a1ab0865ea5de9b4529bf8526005f1d4593090845387d14fe450ce39c33'; \ 52 | BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.8_9.tar.gz'; \ 53 | ;; \ 54 | *) \ 55 | echo "Unsupported arch: ${ARCH}"; \ 56 | exit 1; \ 57 | ;; \ 58 | esac; \ 59 | curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ 60 | echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ 61 | mkdir -p /opt/java/openjdk; \ 62 | cd /opt/java/openjdk; \ 63 | tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ 64 | rm -rf /tmp/openjdk.tar.gz; 65 | 66 | ENV JAVA_HOME=/opt/java/openjdk \ 67 | PATH="/opt/java/openjdk/bin:$PATH" 68 | 69 | # Set Docker image build arguments. 70 | # Build arguments for user/group configurations. 71 | ARG USER=wso2carbon 72 | ARG USER_ID=802 73 | ARG USER_GROUP=wso2 74 | ARG USER_GROUP_ID=802 75 | ARG USER_HOME=/home/${USER} 76 | # Build arguments for WSO2 product installation. 77 | ARG WSO2_SERVER_NAME=wso2is 78 | ARG WSO2_SERVER_VERSION=7.2.0 79 | ARG WSO2_SERVER_REPOSITORY=product-is 80 | ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} 81 | ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} 82 | # Hosted wso2is-7.2.0 distribution URL. 83 | ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/${WSO2_SERVER_REPOSITORY}/releases/download/v${WSO2_SERVER_VERSION}/${WSO2_SERVER}.zip 84 | # Build arguments for external artifacts. 85 | ARG DNS_JAVA_VERSION=3.6.1 86 | # Build argument for MOTD. 87 | ARG MOTD='printf "\n\ 88 | Welcome to WSO2 Docker resources.\n\ 89 | ------------------------------------ \n\ 90 | This Docker container comprises of a WSO2 product, running with its latest GA release \n\ 91 | which is under the Apache License, Version 2.0. \n\ 92 | Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n"' 93 | 94 | # Create the non-root user and group and set MOTD login message. 95 | RUN \ 96 | groupadd --system -g ${USER_GROUP_ID} ${USER_GROUP} \ 97 | && useradd --system --create-home --home-dir ${USER_HOME} --no-log-init -g ${USER_GROUP_ID} -u ${USER_ID} ${USER} \ 98 | && echo ${MOTD} > /etc/profile.d/motd.sh 99 | # Create Java prefs dir. 100 | # This is to avoid warning logs printed by FileSystemPreferences class. 101 | RUN \ 102 | mkdir -p ${USER_HOME}/.java/.systemPrefs \ 103 | && mkdir -p ${USER_HOME}/.java/.userPrefs \ 104 | && chmod -R 755 ${USER_HOME}/.java \ 105 | && chown -R ${USER}:${USER_GROUP} ${USER_HOME}/.java 106 | 107 | # Copy init script to user home. 108 | COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/ 109 | 110 | # Install required packages. 111 | RUN \ 112 | yum -y update \ 113 | && yum install -y \ 114 | nc \ 115 | unzip \ 116 | wget \ 117 | && rm -rf /var/cache/yum/* 118 | 119 | RUN \ 120 | wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ 121 | && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ 122 | && chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \ 123 | && rm -f ${WSO2_SERVER}.zip 124 | 125 | # Add libraries for Kubernetes membership scheme based clustering. 126 | ADD --chown=wso2carbon:wso2 https://repo1.maven.org/maven2/dnsjava/dnsjava/${DNS_JAVA_VERSION}/dnsjava-${DNS_JAVA_VERSION}.jar ${WSO2_SERVER_HOME}/repository/components/lib 127 | 128 | # Set the user and work directory. 129 | USER ${USER_ID} 130 | WORKDIR ${USER_HOME} 131 | 132 | # Set environment variables. 133 | ENV JAVA_OPTS="-Djava.util.prefs.systemRoot=${USER_HOME}/.java -Djava.util.prefs.userRoot=${USER_HOME}/.java/.userPrefs" \ 134 | WORKING_DIRECTORY=${USER_HOME} \ 135 | WSO2_SERVER_HOME=${WSO2_SERVER_HOME} 136 | 137 | # Expose ports. 138 | EXPOSE 4000 9763 9443 139 | 140 | # Initiate container and start WSO2 Carbon server. 141 | ENTRYPOINT ["/home/wso2carbon/docker-entrypoint.sh"] 142 | -------------------------------------------------------------------------------- /dockerfiles/jdk17/rocky/is/Dockerfile: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------ 2 | # 3 | # Copyright 2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # 17 | # ------------------------------------------------------------------------ 18 | 19 | # Set base Docker image to RockyLinux Docker image. 20 | FROM rockylinux:9 21 | LABEL maintainer="WSO2 Docker Maintainers " \ 22 | com.wso2.docker.source="https://github.com/wso2/docker-is/releases/tag/v7.2.0.1" 23 | 24 | # Update the system to the specific 8.10 version. 25 | RUN dnf -y update && \ 26 | dnf -y distro-sync && \ 27 | dnf clean all 28 | 29 | # Install necessary locale packages. 30 | RUN yum install -y glibc-langpack-en && \ 31 | yum install -y langpacks-en glibc-locale-source && \ 32 | localedef -c -f UTF-8 -i en_US en_US.UTF-8 33 | 34 | ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' 35 | 36 | # Install JDK Dependencies. 37 | RUN yum install -y tzdata openssl ca-certificates fontconfig gzip tar nc unzip wget \ 38 | && yum clean all 39 | 40 | ENV JAVA_VERSION jdk-17.0.16+8 41 | 42 | # Install JDK 17. 43 | RUN set -eux; \ 44 | ARCH="$(objdump="$(command -v objdump)" && objdump --file-headers "$objdump" | awk -F '[:,]+[[:space:]]+' '$1 == "architecture" { print $2 }')"; \ 45 | case "${ARCH}" in \ 46 | amd64|i386:x86-64) \ 47 | ESUM='166774efcf0f722f2ee18eba0039de2d685b350ee14d7b69e6f83437dafd2af1'; \ 48 | BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.16%2B8/OpenJDK17U-jdk_x64_linux_hotspot_17.0.16_8.tar.gz'; \ 49 | ;; \ 50 | aarch64|arm64) \ 51 | ESUM='423416447885d9e45f96dd9e0b2c1367da5e1b0353e187cfdf9388c9820ac147'; \ 52 | BINARY_URL='https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.16%2B8/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.16_8.tar.gz'; \ 53 | ;; \ 54 | *) \ 55 | echo "Unsupported arch: ${ARCH}"; \ 56 | exit 1; \ 57 | ;; \ 58 | esac; \ 59 | curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ 60 | echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ 61 | mkdir -p /opt/java/openjdk; \ 62 | cd /opt/java/openjdk; \ 63 | tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ 64 | rm -rf /tmp/openjdk.tar.gz; 65 | 66 | ENV JAVA_HOME=/opt/java/openjdk \ 67 | PATH="/opt/java/openjdk/bin:$PATH" 68 | 69 | # Set Docker image build arguments. 70 | # Build arguments for user/group configurations. 71 | ARG USER=wso2carbon 72 | ARG USER_ID=802 73 | ARG USER_GROUP=wso2 74 | ARG USER_GROUP_ID=802 75 | ARG USER_HOME=/home/${USER} 76 | # Build arguments for WSO2 product installation. 77 | ARG WSO2_SERVER_NAME=wso2is 78 | ARG WSO2_SERVER_VERSION=7.2.0 79 | ARG WSO2_SERVER_REPOSITORY=product-is 80 | ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} 81 | ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} 82 | # Hosted wso2is-7.2.0 distribution URL. 83 | ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/${WSO2_SERVER_REPOSITORY}/releases/download/v${WSO2_SERVER_VERSION}/${WSO2_SERVER}.zip 84 | # Build arguments for external artifacts. 85 | ARG DNS_JAVA_VERSION=3.6.1 86 | # Build argument for MOTD. 87 | ARG MOTD='printf "\n\ 88 | Welcome to WSO2 Docker resources.\n\ 89 | ------------------------------------ \n\ 90 | This Docker container comprises of a WSO2 product, running with its latest GA release \n\ 91 | which is under the Apache License, Version 2.0. \n\ 92 | Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n"' 93 | 94 | # Create the non-root user and group and set MOTD login message. 95 | RUN \ 96 | groupadd --system -g ${USER_GROUP_ID} ${USER_GROUP} \ 97 | && useradd --system --create-home --home-dir ${USER_HOME} --no-log-init -g ${USER_GROUP_ID} -u ${USER_ID} ${USER} \ 98 | && echo ${MOTD} > /etc/profile.d/motd.sh 99 | # Create Java prefs dir. 100 | # This is to avoid warning logs printed by FileSystemPreferences class. 101 | RUN \ 102 | mkdir -p ${USER_HOME}/.java/.systemPrefs \ 103 | && mkdir -p ${USER_HOME}/.java/.userPrefs \ 104 | && chmod -R 755 ${USER_HOME}/.java \ 105 | && chown -R ${USER}:${USER_GROUP} ${USER_HOME}/.java 106 | 107 | # Copy init script to user home. 108 | COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/ 109 | 110 | # Install required packages. 111 | RUN \ 112 | yum -y update \ 113 | && yum install -y \ 114 | nc \ 115 | unzip \ 116 | wget \ 117 | && rm -rf /var/cache/yum/* 118 | 119 | RUN \ 120 | wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ 121 | && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ 122 | && chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \ 123 | && rm -f ${WSO2_SERVER}.zip 124 | 125 | # Add libraries for Kubernetes membership scheme based clustering. 126 | ADD --chown=wso2carbon:wso2 https://repo1.maven.org/maven2/dnsjava/dnsjava/${DNS_JAVA_VERSION}/dnsjava-${DNS_JAVA_VERSION}.jar ${WSO2_SERVER_HOME}/repository/components/lib 127 | 128 | # Set the user and work directory. 129 | USER ${USER_ID} 130 | WORKDIR ${USER_HOME} 131 | 132 | # Set environment variables. 133 | ENV JAVA_OPTS="-Djava.util.prefs.systemRoot=${USER_HOME}/.java -Djava.util.prefs.userRoot=${USER_HOME}/.java/.userPrefs" \ 134 | WORKING_DIRECTORY=${USER_HOME} \ 135 | WSO2_SERVER_HOME=${WSO2_SERVER_HOME} 136 | 137 | # Expose ports. 138 | EXPOSE 4000 9763 9443 139 | 140 | # Initiate container and start WSO2 Carbon server. 141 | ENTRYPOINT ["/home/wso2carbon/docker-entrypoint.sh"] 142 | -------------------------------------------------------------------------------- /dockerfiles/jdk11/rocky/is/Dockerfile: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------ 2 | # 3 | # Copyright 2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # 17 | # ------------------------------------------------------------------------ 18 | 19 | # Set base Docker image to RockyLinux Docker image. 20 | FROM rockylinux:9 21 | LABEL maintainer="WSO2 Docker Maintainers " \ 22 | com.wso2.docker.source="https://github.com/wso2/docker-is/releases/tag/v7.2.0.1" 23 | 24 | # Update the system to the specific 8.10 version. 25 | RUN dnf -y update && \ 26 | dnf -y distro-sync && \ 27 | dnf clean all 28 | 29 | # Install necessary locale packages. 30 | RUN yum install -y glibc-langpack-en && \ 31 | yum install -y langpacks-en glibc-locale-source && \ 32 | localedef -c -f UTF-8 -i en_US en_US.UTF-8 33 | 34 | ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' 35 | 36 | # Install JDK Dependencies. 37 | RUN yum install -y tzdata openssl ca-certificates fontconfig gzip tar nc unzip wget \ 38 | && yum clean all 39 | 40 | ENV JAVA_VERSION jdk-11.0.28+6 41 | 42 | # Install Temurin OpenJDK 11. 43 | RUN set -eux; \ 44 | ARCH="$(objdump="$(command -v objdump)" && objdump --file-headers "$objdump" | awk -F '[:,]+[[:space:]]+' '$1 == "architecture" { print $2 }')"; \ 45 | case "${ARCH}" in \ 46 | amd64|i386:x86-64) \ 47 | ESUM='7dfd551795a8884b26cbb02e0301da95db40160bb194f48271dc2ef9367f50c2'; \ 48 | BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.28%2B6/OpenJDK11U-jdk_x64_linux_hotspot_11.0.28_6.tar.gz'; \ 49 | ;; \ 50 | aarch64|arm64) \ 51 | ESUM='32c316cb3998a9c9dee2829fbb577ea1c0ed666700cec73e049d44c342bb19af'; \ 52 | BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.28%2B6/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.28_6.tar.gz'; \ 53 | ;; \ 54 | *) \ 55 | echo "Unsupported arch: ${ARCH}"; \ 56 | exit 1; \ 57 | ;; \ 58 | esac; \ 59 | curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ 60 | echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ 61 | mkdir -p /opt/java/openjdk; \ 62 | cd /opt/java/openjdk; \ 63 | tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ 64 | rm -rf /tmp/openjdk.tar.gz; 65 | 66 | ENV JAVA_HOME=/opt/java/openjdk \ 67 | PATH="/opt/java/openjdk/bin:$PATH" 68 | 69 | # Set Docker image build arguments. 70 | # Build arguments for user/group configurations. 71 | ARG USER=wso2carbon 72 | ARG USER_ID=802 73 | ARG USER_GROUP=wso2 74 | ARG USER_GROUP_ID=802 75 | ARG USER_HOME=/home/${USER} 76 | # Build arguments for WSO2 product installation. 77 | ARG WSO2_SERVER_NAME=wso2is 78 | ARG WSO2_SERVER_VERSION=7.2.0 79 | ARG WSO2_SERVER_REPOSITORY=product-is 80 | ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} 81 | ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} 82 | # Hosted wso2is-7.2.0 distribution URL. 83 | ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/${WSO2_SERVER_REPOSITORY}/releases/download/v${WSO2_SERVER_VERSION}/${WSO2_SERVER}.zip 84 | # Build arguments for external artifacts. 85 | ARG DNS_JAVA_VERSION=3.6.1 86 | # Build argument for MOTD. 87 | ARG MOTD='printf "\n\ 88 | Welcome to WSO2 Docker resources.\n\ 89 | ------------------------------------ \n\ 90 | This Docker container comprises of a WSO2 product, running with its latest GA release \n\ 91 | which is under the Apache License, Version 2.0. \n\ 92 | Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n"' 93 | 94 | # Create the non-root user and group and set MOTD login message. 95 | RUN \ 96 | groupadd --system -g ${USER_GROUP_ID} ${USER_GROUP} \ 97 | && useradd --system --create-home --home-dir ${USER_HOME} --no-log-init -g ${USER_GROUP_ID} -u ${USER_ID} ${USER} \ 98 | && echo ${MOTD} > /etc/profile.d/motd.sh 99 | # Create Java prefs dir. 100 | # This is to avoid warning logs printed by FileSystemPreferences class. 101 | RUN \ 102 | mkdir -p ${USER_HOME}/.java/.systemPrefs \ 103 | && mkdir -p ${USER_HOME}/.java/.userPrefs \ 104 | && chmod -R 755 ${USER_HOME}/.java \ 105 | && chown -R ${USER}:${USER_GROUP} ${USER_HOME}/.java 106 | 107 | # Copy init script to user home. 108 | COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/ 109 | 110 | # Install required packages. 111 | RUN \ 112 | yum -y update \ 113 | && yum install -y \ 114 | nc \ 115 | unzip \ 116 | wget \ 117 | && rm -rf /var/cache/yum/* 118 | 119 | RUN \ 120 | wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ 121 | && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ 122 | && chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \ 123 | && rm -f ${WSO2_SERVER}.zip 124 | 125 | # Add libraries for Kubernetes membership scheme based clustering. 126 | ADD --chown=wso2carbon:wso2 https://repo1.maven.org/maven2/dnsjava/dnsjava/${DNS_JAVA_VERSION}/dnsjava-${DNS_JAVA_VERSION}.jar ${WSO2_SERVER_HOME}/repository/components/lib 127 | 128 | # Set the user and work directory. 129 | USER ${USER_ID} 130 | WORKDIR ${USER_HOME} 131 | 132 | # Set environment variables. 133 | ENV JAVA_OPTS="-Djava.util.prefs.systemRoot=${USER_HOME}/.java -Djava.util.prefs.userRoot=${USER_HOME}/.java/.userPrefs" \ 134 | WORKING_DIRECTORY=${USER_HOME} \ 135 | WSO2_SERVER_HOME=${WSO2_SERVER_HOME} 136 | 137 | # Expose ports. 138 | EXPOSE 4000 9763 9443 139 | 140 | # Initiate container and start WSO2 Carbon server. 141 | ENTRYPOINT ["/home/wso2carbon/docker-entrypoint.sh"] 142 | -------------------------------------------------------------------------------- /dockerfiles/pqc/is/Dockerfile: -------------------------------------------------------------------------------- 1 | # ------------------------------------------------------------------------ 2 | # 3 | # Copyright 2025 WSO2, LLC. (http://wso2.com) 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License 16 | # 17 | # ------------------------------------------------------------------------ 18 | 19 | # Set base Docker image to Ubuntu 24.04 Docker image. 20 | FROM ubuntu:24.04 21 | 22 | LABEL maintainer="WSO2 Docker Maintainers " \ 23 | com.wso2.docker.source="https://github.com/wso2/docker-is/releases/tag/v7.1.0.1" 24 | 25 | # Install JDK Dependencies. 26 | ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' 27 | 28 | RUN apt-get update \ 29 | && apt-get install -y --no-install-recommends tzdata curl ca-certificates fontconfig locales \ 30 | && echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \ 31 | && locale-gen en_US.UTF-8 \ 32 | && rm -rf /var/lib/apt/lists/* 33 | 34 | ENV JAVA_VERSION jdk-21.0.8+9 35 | 36 | # Install Temurin OpenJDK 21. 37 | RUN set -eux; \ 38 | ARCH="$(dpkg --print-architecture)"; \ 39 | case "${ARCH}" in \ 40 | amd64|x86_64) \ 41 | ESUM='f2dc5418092c43003db8f9005c4a286e1c0104fea96ccdd49e8ebd037cac9219'; \ 42 | BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_x64_linux_hotspot_21.0.8_9.tar.gz'; \ 43 | ;; \ 44 | aarch64|arm64) \ 45 | ESUM='e5c41a1ab0865ea5de9b4529bf8526005f1d4593090845387d14fe450ce39c33'; \ 46 | BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.8_9.tar.gz'; \ 47 | ;; \ 48 | *) \ 49 | echo "Unsupported arch: ${ARCH}"; \ 50 | exit 1; \ 51 | ;; \ 52 | esac; \ 53 | curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ 54 | echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ 55 | mkdir -p /opt/java/openjdk; \ 56 | cd /opt/java/openjdk; \ 57 | tar -xf /tmp/openjdk.tar.gz --strip-components=1; \ 58 | rm -rf /tmp/openjdk.tar.gz; 59 | 60 | ENV JAVA_HOME=/opt/java/openjdk \ 61 | PATH="/opt/java/openjdk/bin:$PATH" 62 | 63 | # Set Docker image build arguments. 64 | # Build arguments for user/group configurations. 65 | ARG USER=wso2carbon 66 | ARG USER_ID=802 67 | ARG USER_GROUP=wso2 68 | ARG USER_GROUP_ID=802 69 | ARG USER_HOME=/home/${USER} 70 | # Build arguments for WSO2 product installation. 71 | ARG WSO2_SERVER_NAME=wso2is 72 | ARG WSO2_SERVER_VERSION=7.2.0 73 | ARG WSO2_SERVER_REPOSITORY=product-is 74 | ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} 75 | ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} 76 | # Hosted wso2is-7.2.0 distribution URL. 77 | ARG WSO2_SERVER_DIST_URL=https://github.com/wso2/${WSO2_SERVER_REPOSITORY}/releases/download/v${WSO2_SERVER_VERSION}/${WSO2_SERVER}.zip 78 | # Build arguments for external artifacts. 79 | ARG DNS_JAVA_VERSION=3.6.1 80 | # Build argument for MOTD. 81 | ARG MOTD="\n\ 82 | Welcome to WSO2 Docker resources.\n\ 83 | ------------------------------------ \n\ 84 | This Docker container comprises of a WSO2 product, running with its latest GA release \n\ 85 | which is under the Apache License, Version 2.0. \n\ 86 | Read more about Apache License, Version 2.0 here @ http://www.apache.org/licenses/LICENSE-2.0.\n" 87 | 88 | # Create the non-root user and group and set MOTD login message. 89 | RUN \ 90 | groupadd --system -g ${USER_GROUP_ID} ${USER_GROUP} \ 91 | && useradd --system --create-home --home-dir ${USER_HOME} --no-log-init -g ${USER_GROUP_ID} -u ${USER_ID} ${USER} \ 92 | && echo '[ ! -z "${TERM}" -a -r /etc/motd ] && cat /etc/motd' >> /etc/bash.bashrc; echo "${MOTD}" > /etc/motd 93 | 94 | # Create Java prefs dir. 95 | # This is to avoid warning logs printed by FileSystemPreferences class. 96 | RUN \ 97 | mkdir -p ${USER_HOME}/.java/.systemPrefs \ 98 | && mkdir -p ${USER_HOME}/.java/.userPrefs \ 99 | && chmod -R 755 ${USER_HOME}/.java \ 100 | && chown -R ${USER}:${USER_GROUP} ${USER_HOME}/.java 101 | 102 | # Copy init script to user home. 103 | COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/ 104 | 105 | # Install required packages. 106 | RUN \ 107 | apt-get update \ 108 | && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ 109 | netcat-openbsd \ 110 | unzip \ 111 | wget \ 112 | make \ 113 | cmake \ 114 | gcc \ 115 | build-essential \ 116 | autoconf \ 117 | automake \ 118 | libtool \ 119 | pkg-config \ 120 | m4 \ 121 | git \ 122 | libapr1-dev \ 123 | libssl-dev \ 124 | && rm -rf /var/lib/apt/lists/* 125 | 126 | RUN \ 127 | wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ 128 | && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ 129 | && chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME} \ 130 | && rm -f ${WSO2_SERVER}.zip 131 | 132 | # Install post quantum libraries. 133 | RUN \ 134 | cd ${WSO2_SERVER_HOME}/bin \ 135 | && sh openssl-tls.sh --build_pqclib 136 | 137 | # Add configurations to enable Post Quantum TLS. 138 | RUN echo "[transport.https.openssl]\n" \ 139 | "enabled = true\n" \ 140 | "named_groups=\"X25519MLKEM768:x25519\"\n\n" \ 141 | "[transport.https.sslHostConfig.properties]\n" \ 142 | "protocols=\"TLSv1+TLSv1.1+TLSv1.2+TLSv1.3\"" >> ${WSO2_SERVER_HOME}/repository/conf/deployment.toml 143 | 144 | # Add libraries for Kubernetes membership scheme based clustering. 145 | ADD --chown=wso2carbon:wso2 https://repo1.maven.org/maven2/dnsjava/dnsjava/${DNS_JAVA_VERSION}/dnsjava-${DNS_JAVA_VERSION}.jar ${WSO2_SERVER_HOME}/repository/components/lib 146 | 147 | # Set the user and work directory. 148 | USER ${USER_ID} 149 | WORKDIR ${USER_HOME} 150 | 151 | # Set environment variables. 152 | ENV JAVA_OPTS="-Djava.util.prefs.systemRoot=${USER_HOME}/.java -Djava.util.prefs.userRoot=${USER_HOME}/.java/.userPrefs" \ 153 | WORKING_DIRECTORY=${USER_HOME} \ 154 | WSO2_SERVER_HOME=${WSO2_SERVER_HOME} 155 | 156 | # Expose ports. 157 | EXPOSE 4000 9763 9443 158 | 159 | # Initiate container and start WSO2 Carbon server. 160 | ENTRYPOINT ["/home/wso2carbon/docker-entrypoint.sh"] 161 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /docker-compose/is/conf/mysql/scripts/mysql_shared.sql: -------------------------------------------------------------------------------- 1 | DROP DATABASE IF EXISTS WSO2IS_SHARED_DB; 2 | CREATE DATABASE WSO2IS_SHARED_DB; 3 | 4 | CREATE USER IF NOT EXISTS 'wso2carbon'@'%' IDENTIFIED BY 'wso2carbon'; 5 | GRANT ALL PRIVILEGES ON WSO2IS_SHARED_DB.* TO 'wso2carbon'@'%'; 6 | FLUSH PRIVILEGES; 7 | 8 | USE WSO2IS_SHARED_DB; 9 | 10 | CREATE TABLE IF NOT EXISTS REG_CLUSTER_LOCK ( 11 | REG_LOCK_NAME VARCHAR (20), 12 | REG_LOCK_STATUS VARCHAR (20), 13 | REG_LOCKED_TIME TIMESTAMP, 14 | REG_TENANT_ID INTEGER DEFAULT 0, 15 | PRIMARY KEY (REG_LOCK_NAME) 16 | )ENGINE INNODB; 17 | 18 | CREATE TABLE IF NOT EXISTS REG_LOG ( 19 | REG_LOG_ID INTEGER AUTO_INCREMENT, 20 | REG_PATH VARCHAR (750), 21 | REG_USER_ID VARCHAR (255) NOT NULL, 22 | REG_LOGGED_TIME TIMESTAMP NOT NULL, 23 | REG_ACTION INTEGER NOT NULL, 24 | REG_ACTION_DATA VARCHAR (500), 25 | REG_TENANT_ID INTEGER DEFAULT 0, 26 | PRIMARY KEY (REG_LOG_ID, REG_TENANT_ID) 27 | )ENGINE INNODB; 28 | 29 | CREATE INDEX REG_LOG_IND_BY_REGLOG USING HASH ON REG_LOG(REG_LOGGED_TIME, REG_TENANT_ID); 30 | 31 | -- The REG_PATH_VALUE should be less than 767 bytes, and hence was fixed at 750. 32 | -- See CARBON-5917. 33 | 34 | CREATE TABLE IF NOT EXISTS REG_PATH( 35 | REG_PATH_ID INTEGER NOT NULL AUTO_INCREMENT, 36 | REG_PATH_VALUE VARCHAR(750) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL, 37 | REG_PATH_PARENT_ID INTEGER, 38 | REG_TENANT_ID INTEGER DEFAULT 0, 39 | CONSTRAINT PK_REG_PATH PRIMARY KEY(REG_PATH_ID, REG_TENANT_ID), 40 | CONSTRAINT UNIQUE_REG_PATH_TENANT_ID UNIQUE (REG_PATH_VALUE,REG_TENANT_ID) 41 | )ENGINE INNODB; 42 | 43 | CREATE INDEX REG_PATH_IND_BY_PATH_PARENT_ID USING HASH ON REG_PATH(REG_PATH_PARENT_ID, REG_TENANT_ID); 44 | 45 | CREATE TABLE IF NOT EXISTS REG_CONTENT ( 46 | REG_CONTENT_ID INTEGER NOT NULL AUTO_INCREMENT, 47 | REG_CONTENT_DATA LONGBLOB, 48 | REG_TENANT_ID INTEGER DEFAULT 0, 49 | CONSTRAINT PK_REG_CONTENT PRIMARY KEY(REG_CONTENT_ID, REG_TENANT_ID) 50 | )ENGINE INNODB; 51 | 52 | CREATE TABLE IF NOT EXISTS REG_CONTENT_HISTORY ( 53 | REG_CONTENT_ID INTEGER NOT NULL, 54 | REG_CONTENT_DATA LONGBLOB, 55 | REG_DELETED SMALLINT, 56 | REG_TENANT_ID INTEGER DEFAULT 0, 57 | CONSTRAINT PK_REG_CONTENT_HISTORY PRIMARY KEY(REG_CONTENT_ID, REG_TENANT_ID) 58 | )ENGINE INNODB; 59 | 60 | CREATE TABLE IF NOT EXISTS REG_RESOURCE ( 61 | REG_PATH_ID INTEGER NOT NULL, 62 | REG_NAME VARCHAR(256), 63 | REG_VERSION INTEGER NOT NULL AUTO_INCREMENT, 64 | REG_MEDIA_TYPE VARCHAR(500), 65 | REG_CREATOR VARCHAR(255) NOT NULL, 66 | REG_CREATED_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 67 | REG_LAST_UPDATOR VARCHAR(255), 68 | REG_LAST_UPDATED_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 69 | REG_DESCRIPTION VARCHAR(1000), 70 | REG_CONTENT_ID INTEGER, 71 | REG_TENANT_ID INTEGER DEFAULT 0, 72 | REG_UUID VARCHAR(100) NOT NULL, 73 | CONSTRAINT PK_REG_RESOURCE PRIMARY KEY(REG_VERSION, REG_TENANT_ID) 74 | )ENGINE INNODB; 75 | 76 | ALTER TABLE REG_RESOURCE ADD CONSTRAINT REG_RESOURCE_FK_BY_PATH_ID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID); 77 | ALTER TABLE REG_RESOURCE ADD CONSTRAINT REG_RESOURCE_FK_BY_CONTENT_ID FOREIGN KEY (REG_CONTENT_ID, REG_TENANT_ID) REFERENCES REG_CONTENT (REG_CONTENT_ID, REG_TENANT_ID); 78 | CREATE INDEX REG_RESOURCE_IND_BY_NAME USING HASH ON REG_RESOURCE(REG_NAME, REG_TENANT_ID); 79 | CREATE INDEX REG_RESOURCE_IND_BY_PATH_ID_NAME USING HASH ON REG_RESOURCE(REG_PATH_ID, REG_NAME, REG_TENANT_ID); 80 | CREATE INDEX REG_RESOURCE_IND_BY_UUID USING HASH ON REG_RESOURCE(REG_UUID); 81 | CREATE INDEX REG_RESOURCE_IND_BY_TENAN USING HASH ON REG_RESOURCE(REG_TENANT_ID, REG_UUID); 82 | CREATE INDEX REG_RESOURCE_IND_BY_TYPE USING HASH ON REG_RESOURCE(REG_TENANT_ID, REG_MEDIA_TYPE); 83 | 84 | CREATE TABLE IF NOT EXISTS REG_RESOURCE_HISTORY ( 85 | REG_PATH_ID INTEGER NOT NULL, 86 | REG_NAME VARCHAR(256), 87 | REG_VERSION INTEGER NOT NULL, 88 | REG_MEDIA_TYPE VARCHAR(500), 89 | REG_CREATOR VARCHAR(255) NOT NULL, 90 | REG_CREATED_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 91 | REG_LAST_UPDATOR VARCHAR(255), 92 | REG_LAST_UPDATED_TIME TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 93 | REG_DESCRIPTION VARCHAR(1000), 94 | REG_CONTENT_ID INTEGER, 95 | REG_DELETED SMALLINT, 96 | REG_TENANT_ID INTEGER DEFAULT 0, 97 | REG_UUID VARCHAR(100) NOT NULL, 98 | CONSTRAINT PK_REG_RESOURCE_HISTORY PRIMARY KEY(REG_VERSION, REG_TENANT_ID) 99 | )ENGINE INNODB; 100 | 101 | ALTER TABLE REG_RESOURCE_HISTORY ADD CONSTRAINT REG_RESOURCE_HIST_FK_BY_PATHID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID); 102 | ALTER TABLE REG_RESOURCE_HISTORY ADD CONSTRAINT REG_RESOURCE_HIST_FK_BY_CONTENT_ID FOREIGN KEY (REG_CONTENT_ID, REG_TENANT_ID) REFERENCES REG_CONTENT_HISTORY (REG_CONTENT_ID, REG_TENANT_ID); 103 | CREATE INDEX REG_RESOURCE_HISTORY_IND_BY_NAME USING HASH ON REG_RESOURCE_HISTORY(REG_NAME, REG_TENANT_ID); 104 | CREATE INDEX REG_RESOURCE_HISTORY_IND_BY_PATH_ID_NAME USING HASH ON REG_RESOURCE(REG_PATH_ID, REG_NAME, REG_TENANT_ID); 105 | 106 | CREATE TABLE IF NOT EXISTS REG_COMMENT ( 107 | REG_ID INTEGER NOT NULL AUTO_INCREMENT, 108 | REG_COMMENT_TEXT VARCHAR(500) NOT NULL, 109 | REG_USER_ID VARCHAR(255) NOT NULL, 110 | REG_COMMENTED_TIME TIMESTAMP NOT NULL, 111 | REG_TENANT_ID INTEGER DEFAULT 0, 112 | CONSTRAINT PK_REG_COMMENT PRIMARY KEY(REG_ID, REG_TENANT_ID) 113 | )ENGINE INNODB; 114 | 115 | CREATE TABLE IF NOT EXISTS REG_RESOURCE_COMMENT ( 116 | ID INTEGER NOT NULL AUTO_INCREMENT, 117 | REG_COMMENT_ID INTEGER NOT NULL, 118 | REG_VERSION INTEGER, 119 | REG_PATH_ID INTEGER, 120 | REG_RESOURCE_NAME VARCHAR(256), 121 | REG_TENANT_ID INTEGER DEFAULT 0, 122 | PRIMARY KEY(ID) 123 | )ENGINE INNODB; 124 | 125 | ALTER TABLE REG_RESOURCE_COMMENT ADD CONSTRAINT REG_RESOURCE_COMMENT_FK_BY_PATH_ID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID); 126 | ALTER TABLE REG_RESOURCE_COMMENT ADD CONSTRAINT REG_RESOURCE_COMMENT_FK_BY_COMMENT_ID FOREIGN KEY (REG_COMMENT_ID, REG_TENANT_ID) REFERENCES REG_COMMENT (REG_ID, REG_TENANT_ID); 127 | CREATE INDEX REG_RESOURCE_COMMENT_IND_BY_PATH_ID_AND_RESOURCE_NAME USING HASH ON REG_RESOURCE_COMMENT(REG_PATH_ID, REG_RESOURCE_NAME, REG_TENANT_ID); 128 | CREATE INDEX REG_RESOURCE_COMMENT_IND_BY_VERSION USING HASH ON REG_RESOURCE_COMMENT(REG_VERSION, REG_TENANT_ID); 129 | 130 | CREATE TABLE IF NOT EXISTS REG_RATING ( 131 | REG_ID INTEGER NOT NULL AUTO_INCREMENT, 132 | REG_RATING INTEGER NOT NULL, 133 | REG_USER_ID VARCHAR(255) NOT NULL, 134 | REG_RATED_TIME TIMESTAMP NOT NULL, 135 | REG_TENANT_ID INTEGER DEFAULT 0, 136 | CONSTRAINT PK_REG_RATING PRIMARY KEY(REG_ID, REG_TENANT_ID) 137 | )ENGINE INNODB; 138 | 139 | CREATE TABLE IF NOT EXISTS REG_RESOURCE_RATING ( 140 | ID INTEGER NOT NULL AUTO_INCREMENT, 141 | REG_RATING_ID INTEGER NOT NULL, 142 | REG_VERSION INTEGER, 143 | REG_PATH_ID INTEGER, 144 | REG_RESOURCE_NAME VARCHAR(256), 145 | REG_TENANT_ID INTEGER DEFAULT 0, 146 | PRIMARY KEY(ID) 147 | )ENGINE INNODB; 148 | 149 | ALTER TABLE REG_RESOURCE_RATING ADD CONSTRAINT REG_RESOURCE_RATING_FK_BY_PATH_ID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID); 150 | ALTER TABLE REG_RESOURCE_RATING ADD CONSTRAINT REG_RESOURCE_RATING_FK_BY_RATING_ID FOREIGN KEY (REG_RATING_ID, REG_TENANT_ID) REFERENCES REG_RATING (REG_ID, REG_TENANT_ID); 151 | CREATE INDEX REG_RESOURCE_RATING_IND_BY_PATH_ID_AND_RESOURCE_NAME USING HASH ON REG_RESOURCE_RATING(REG_PATH_ID, REG_RESOURCE_NAME, REG_TENANT_ID); 152 | CREATE INDEX REG_RESOURCE_RATING_IND_BY_VERSION USING HASH ON REG_RESOURCE_RATING(REG_VERSION, REG_TENANT_ID); 153 | 154 | 155 | CREATE TABLE IF NOT EXISTS REG_TAG ( 156 | REG_ID INTEGER NOT NULL AUTO_INCREMENT, 157 | REG_TAG_NAME VARCHAR(500) NOT NULL, 158 | REG_USER_ID VARCHAR(255) NOT NULL, 159 | REG_TAGGED_TIME TIMESTAMP NOT NULL, 160 | REG_TENANT_ID INTEGER DEFAULT 0, 161 | CONSTRAINT PK_REG_TAG PRIMARY KEY(REG_ID, REG_TENANT_ID) 162 | )ENGINE INNODB; 163 | 164 | CREATE TABLE IF NOT EXISTS REG_RESOURCE_TAG ( 165 | ID INTEGER NOT NULL AUTO_INCREMENT, 166 | REG_TAG_ID INTEGER NOT NULL, 167 | REG_VERSION INTEGER, 168 | REG_PATH_ID INTEGER, 169 | REG_RESOURCE_NAME VARCHAR(256), 170 | REG_TENANT_ID INTEGER DEFAULT 0, 171 | PRIMARY KEY(ID) 172 | )ENGINE INNODB; 173 | 174 | ALTER TABLE REG_RESOURCE_TAG ADD CONSTRAINT REG_RESOURCE_TAG_FK_BY_PATH_ID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID); 175 | ALTER TABLE REG_RESOURCE_TAG ADD CONSTRAINT REG_RESOURCE_TAG_FK_BY_TAG_ID FOREIGN KEY (REG_TAG_ID, REG_TENANT_ID) REFERENCES REG_TAG (REG_ID, REG_TENANT_ID); 176 | CREATE INDEX REG_RESOURCE_TAG_IND_BY_PATH_ID_AND_RESOURCE_NAME USING HASH ON REG_RESOURCE_TAG(REG_PATH_ID, REG_RESOURCE_NAME, REG_TENANT_ID); 177 | CREATE INDEX REG_RESOURCE_TAG_IND_BY_VERSION USING HASH ON REG_RESOURCE_TAG(REG_VERSION, REG_TENANT_ID); 178 | 179 | CREATE TABLE IF NOT EXISTS REG_PROPERTY ( 180 | REG_ID INTEGER NOT NULL AUTO_INCREMENT, 181 | REG_NAME VARCHAR(100) NOT NULL, 182 | REG_VALUE VARCHAR(1000), 183 | REG_TENANT_ID INTEGER DEFAULT 0, 184 | CONSTRAINT PK_REG_PROPERTY PRIMARY KEY(REG_ID, REG_TENANT_ID) 185 | )ENGINE INNODB; 186 | 187 | CREATE TABLE IF NOT EXISTS REG_RESOURCE_PROPERTY ( 188 | ID INTEGER NOT NULL AUTO_INCREMENT, 189 | REG_PROPERTY_ID INTEGER NOT NULL, 190 | REG_VERSION INTEGER, 191 | REG_PATH_ID INTEGER, 192 | REG_RESOURCE_NAME VARCHAR(256), 193 | REG_TENANT_ID INTEGER DEFAULT 0, 194 | PRIMARY KEY(ID) 195 | )ENGINE INNODB; 196 | 197 | ALTER TABLE REG_RESOURCE_PROPERTY ADD CONSTRAINT REG_RESOURCE_PROPERTY_FK_BY_PATH_ID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID); 198 | ALTER TABLE REG_RESOURCE_PROPERTY ADD CONSTRAINT REG_RESOURCE_PROPERTY_FK_BY_TAG_ID FOREIGN KEY (REG_PROPERTY_ID, REG_TENANT_ID) REFERENCES REG_PROPERTY (REG_ID, REG_TENANT_ID); 199 | CREATE INDEX REG_RESOURCE_PROPERTY_IND_BY_PATH_ID_AND_RESOURCE_NAME USING HASH ON REG_RESOURCE_PROPERTY(REG_PATH_ID, REG_RESOURCE_NAME, REG_TENANT_ID); 200 | CREATE INDEX REG_RESOURCE_PROPERTY_IND_BY_VERSION USING HASH ON REG_RESOURCE_PROPERTY(REG_VERSION, REG_TENANT_ID); 201 | CREATE INDEX REG_RESC_PROP_BY_PROP_ID_TI USING HASH ON REG_RESOURCE_PROPERTY(REG_TENANT_ID,REG_PROPERTY_ID); 202 | 203 | -- CREATE TABLE IF NOT EXISTS REG_ASSOCIATIONS ( 204 | -- SRC_PATH_ID INTEGER, 205 | -- SRC_RESOURCE_NAME VARCHAR(256), 206 | -- SRC_VERSION INTEGER, 207 | -- TGT_PATH_ID INTEGER, 208 | -- TGT_RESOURCE_NAME VARCHAR(256), 209 | -- TGT_VERSION INTEGER 210 | -- )ENGINE INNODB; 211 | -- 212 | -- ALTER TABLE REG_ASSOCIATIONS ADD CONSTRAINT REG_ASSOCIATIONS_FK_BY_SRC_PATH_ID FOREIGN KEY (SRC_PATH_ID) REFERENCES REG_PATH (PATH_ID); 213 | -- ALTER TABLE REG_ASSOCIATIONS ADD CONSTRAINT REG_ASSOCIATIONS_FK_BY_TGT_PATH_ID FOREIGN KEY (TGT_PATH_ID) REFERENCES REG_PATH (PATH_ID); 214 | -- CREATE INDEX REG_ASSOCIATIONS_IND_BY_SRC_VERSION ON REG_ASSOCIATIONS(SRC_VERSION); 215 | -- CREATE INDEX REG_ASSOCIATIONS_IND_BY_TGT_VERSION ON REG_ASSOCIATIONS(TGT_VERSION); 216 | -- CREATE INDEX REG_ASSOCIATIONS_IND_BY_SRC_RESOURCE_NAME ON REG_ASSOCIATIONS(SRC_RESOURCE_NAME); 217 | -- CREATE INDEX REG_ASSOCIATIONS_IND_BY_TGT_RESOURCE_NAME ON REG_ASSOCIATIONS(TGT_RESOURCE_NAME); 218 | 219 | 220 | 221 | CREATE TABLE IF NOT EXISTS REG_ASSOCIATION ( 222 | REG_ASSOCIATION_ID INTEGER AUTO_INCREMENT, 223 | REG_SOURCEPATH VARCHAR (750) NOT NULL, 224 | REG_TARGETPATH VARCHAR (750) NOT NULL, 225 | REG_ASSOCIATION_TYPE VARCHAR (2000) NOT NULL, 226 | REG_TENANT_ID INTEGER DEFAULT 0, 227 | PRIMARY KEY (REG_ASSOCIATION_ID, REG_TENANT_ID) 228 | )ENGINE INNODB; 229 | 230 | CREATE TABLE IF NOT EXISTS REG_SNAPSHOT ( 231 | REG_SNAPSHOT_ID INTEGER NOT NULL AUTO_INCREMENT, 232 | REG_PATH_ID INTEGER NOT NULL, 233 | REG_RESOURCE_NAME VARCHAR(255), 234 | REG_RESOURCE_VIDS LONGBLOB NOT NULL, 235 | REG_TENANT_ID INTEGER DEFAULT 0, 236 | CONSTRAINT PK_REG_SNAPSHOT PRIMARY KEY(REG_SNAPSHOT_ID, REG_TENANT_ID) 237 | )ENGINE INNODB; 238 | 239 | CREATE INDEX REG_SNAPSHOT_IND_BY_PATH_ID_AND_RESOURCE_NAME USING HASH ON REG_SNAPSHOT(REG_PATH_ID, REG_RESOURCE_NAME, REG_TENANT_ID); 240 | 241 | ALTER TABLE REG_SNAPSHOT ADD CONSTRAINT REG_SNAPSHOT_FK_BY_PATH_ID FOREIGN KEY (REG_PATH_ID, REG_TENANT_ID) REFERENCES REG_PATH (REG_PATH_ID, REG_TENANT_ID); 242 | 243 | 244 | -- ################################ 245 | -- USER MANAGER TABLES 246 | -- ################################ 247 | 248 | CREATE TABLE UM_TENANT ( 249 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 250 | UM_TENANT_UUID VARCHAR(36) NOT NULL, 251 | UM_DOMAIN_NAME VARCHAR(255) NOT NULL, 252 | UM_EMAIL VARCHAR(255), 253 | UM_ACTIVE BOOLEAN DEFAULT FALSE, 254 | UM_CREATED_DATE TIMESTAMP NOT NULL, 255 | UM_USER_CONFIG LONGBLOB, 256 | UM_ORG_UUID VARCHAR(36) DEFAULT NULL, 257 | PRIMARY KEY (UM_ID), 258 | UNIQUE(UM_DOMAIN_NAME), 259 | UNIQUE(UM_TENANT_UUID) 260 | )ENGINE INNODB; 261 | 262 | CREATE INDEX INDEX_UM_TENANT_ORG_UUID ON UM_TENANT(UM_ORG_UUID); 263 | 264 | CREATE TABLE UM_DOMAIN( 265 | UM_DOMAIN_ID INTEGER NOT NULL AUTO_INCREMENT, 266 | UM_DOMAIN_NAME VARCHAR(255) NOT NULL, 267 | UM_TENANT_ID INTEGER DEFAULT 0, 268 | PRIMARY KEY (UM_DOMAIN_ID, UM_TENANT_ID), 269 | UNIQUE(UM_DOMAIN_NAME,UM_TENANT_ID) 270 | )ENGINE INNODB; 271 | 272 | CREATE TABLE UM_USER ( 273 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 274 | UM_USER_ID VARCHAR(255) NOT NULL, 275 | UM_USER_NAME VARCHAR(255) NOT NULL, 276 | UM_USER_PASSWORD VARCHAR(255) NOT NULL, 277 | UM_SALT_VALUE VARCHAR(31), 278 | UM_REQUIRE_CHANGE BOOLEAN DEFAULT FALSE, 279 | UM_CHANGED_TIME TIMESTAMP NOT NULL, 280 | UM_TENANT_ID INTEGER DEFAULT 0, 281 | PRIMARY KEY (UM_ID, UM_TENANT_ID), 282 | UNIQUE(UM_USER_ID), 283 | UNIQUE(UM_USER_NAME, UM_TENANT_ID) 284 | )ENGINE INNODB; 285 | 286 | CREATE TABLE UM_SYSTEM_USER ( 287 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 288 | UM_USER_NAME VARCHAR(255) NOT NULL, 289 | UM_USER_PASSWORD VARCHAR(255) NOT NULL, 290 | UM_SALT_VALUE VARCHAR(31), 291 | UM_REQUIRE_CHANGE BOOLEAN DEFAULT FALSE, 292 | UM_CHANGED_TIME TIMESTAMP NOT NULL, 293 | UM_TENANT_ID INTEGER DEFAULT 0, 294 | PRIMARY KEY (UM_ID, UM_TENANT_ID), 295 | UNIQUE(UM_USER_NAME, UM_TENANT_ID) 296 | )ENGINE INNODB; 297 | 298 | CREATE TABLE UM_ROLE ( 299 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 300 | UM_ROLE_UUID VARCHAR(255) NOT NULL, 301 | UM_ROLE_NAME VARCHAR(255) NOT NULL, 302 | UM_TENANT_ID INTEGER DEFAULT 0, 303 | UM_SHARED_ROLE BOOLEAN DEFAULT FALSE, 304 | UM_CREATED_TIME TIMESTAMP NOT NULL, 305 | UM_LAST_MODIFIED TIMESTAMP NOT NULL, 306 | PRIMARY KEY (UM_ID, UM_TENANT_ID), 307 | UNIQUE(UM_ROLE_UUID), 308 | UNIQUE(UM_ROLE_NAME, UM_TENANT_ID) 309 | )ENGINE INNODB; 310 | 311 | 312 | CREATE TABLE UM_MODULE( 313 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 314 | UM_MODULE_NAME VARCHAR(100), 315 | UNIQUE(UM_MODULE_NAME), 316 | PRIMARY KEY(UM_ID) 317 | )ENGINE INNODB; 318 | 319 | CREATE TABLE UM_MODULE_ACTIONS( 320 | UM_ACTION VARCHAR(255) NOT NULL, 321 | UM_MODULE_ID INTEGER NOT NULL, 322 | PRIMARY KEY(UM_ACTION, UM_MODULE_ID), 323 | FOREIGN KEY (UM_MODULE_ID) REFERENCES UM_MODULE(UM_ID) ON DELETE CASCADE 324 | )ENGINE INNODB; 325 | 326 | CREATE TABLE UM_PERMISSION ( 327 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 328 | UM_RESOURCE_ID VARCHAR(255) NOT NULL, 329 | UM_ACTION VARCHAR(255) NOT NULL, 330 | UM_TENANT_ID INTEGER DEFAULT 0, 331 | UM_MODULE_ID INTEGER DEFAULT 0, 332 | UNIQUE(UM_RESOURCE_ID,UM_ACTION, UM_TENANT_ID), 333 | PRIMARY KEY (UM_ID, UM_TENANT_ID) 334 | )ENGINE INNODB; 335 | 336 | CREATE TABLE UM_ROLE_PERMISSION ( 337 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 338 | UM_PERMISSION_ID INTEGER NOT NULL, 339 | UM_ROLE_NAME VARCHAR(255) NOT NULL, 340 | UM_IS_ALLOWED SMALLINT NOT NULL, 341 | UM_TENANT_ID INTEGER DEFAULT 0, 342 | UM_DOMAIN_ID INTEGER, 343 | UNIQUE (UM_PERMISSION_ID, UM_ROLE_NAME, UM_TENANT_ID, UM_DOMAIN_ID), 344 | FOREIGN KEY (UM_PERMISSION_ID, UM_TENANT_ID) REFERENCES UM_PERMISSION(UM_ID, UM_TENANT_ID) ON DELETE CASCADE, 345 | FOREIGN KEY (UM_DOMAIN_ID, UM_TENANT_ID) REFERENCES UM_DOMAIN(UM_DOMAIN_ID, UM_TENANT_ID) ON DELETE CASCADE, 346 | PRIMARY KEY (UM_ID, UM_TENANT_ID) 347 | )ENGINE INNODB; 348 | 349 | CREATE INDEX INDEX_ROLE_PERMSN_TI_RN ON UM_ROLE_PERMISSION(UM_TENANT_ID,UM_ROLE_NAME); 350 | 351 | -- REMOVED UNIQUE (UM_PERMISSION_ID, UM_ROLE_ID) 352 | CREATE TABLE UM_USER_PERMISSION ( 353 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 354 | UM_PERMISSION_ID INTEGER NOT NULL, 355 | UM_USER_NAME VARCHAR(255) NOT NULL, 356 | UM_IS_ALLOWED SMALLINT NOT NULL, 357 | UM_TENANT_ID INTEGER DEFAULT 0, 358 | FOREIGN KEY (UM_PERMISSION_ID, UM_TENANT_ID) REFERENCES UM_PERMISSION(UM_ID, UM_TENANT_ID) ON DELETE CASCADE, 359 | PRIMARY KEY (UM_ID, UM_TENANT_ID) 360 | )ENGINE INNODB; 361 | 362 | -- REMOVED UNIQUE (UM_PERMISSION_ID, UM_USER_ID) 363 | CREATE TABLE UM_USER_ROLE ( 364 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 365 | UM_ROLE_ID INTEGER NOT NULL, 366 | UM_USER_ID INTEGER NOT NULL, 367 | UM_TENANT_ID INTEGER DEFAULT 0, 368 | UNIQUE (UM_USER_ID, UM_ROLE_ID, UM_TENANT_ID), 369 | FOREIGN KEY (UM_ROLE_ID, UM_TENANT_ID) REFERENCES UM_ROLE(UM_ID, UM_TENANT_ID), 370 | FOREIGN KEY (UM_USER_ID, UM_TENANT_ID) REFERENCES UM_USER(UM_ID, UM_TENANT_ID), 371 | PRIMARY KEY (UM_ID, UM_TENANT_ID) 372 | )ENGINE INNODB; 373 | 374 | CREATE TABLE UM_SHARED_USER_ROLE( 375 | ID INTEGER NOT NULL AUTO_INCREMENT, 376 | UM_ROLE_ID INTEGER NOT NULL, 377 | UM_USER_ID INTEGER NOT NULL, 378 | UM_USER_TENANT_ID INTEGER NOT NULL, 379 | UM_ROLE_TENANT_ID INTEGER NOT NULL, 380 | UNIQUE(UM_USER_ID,UM_ROLE_ID,UM_USER_TENANT_ID, UM_ROLE_TENANT_ID), 381 | FOREIGN KEY(UM_ROLE_ID,UM_ROLE_TENANT_ID) REFERENCES UM_ROLE(UM_ID,UM_TENANT_ID) ON DELETE CASCADE, 382 | FOREIGN KEY(UM_USER_ID,UM_USER_TENANT_ID) REFERENCES UM_USER(UM_ID,UM_TENANT_ID) ON DELETE CASCADE, 383 | PRIMARY KEY(ID) 384 | )ENGINE INNODB; 385 | 386 | CREATE TABLE UM_ACCOUNT_MAPPING( 387 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 388 | UM_USER_NAME VARCHAR(255) NOT NULL, 389 | UM_TENANT_ID INTEGER NOT NULL, 390 | UM_USER_STORE_DOMAIN VARCHAR(100), 391 | UM_ACC_LINK_ID INTEGER NOT NULL, 392 | UNIQUE(UM_USER_NAME, UM_TENANT_ID, UM_USER_STORE_DOMAIN, UM_ACC_LINK_ID), 393 | FOREIGN KEY (UM_TENANT_ID) REFERENCES UM_TENANT(UM_ID) ON DELETE CASCADE, 394 | PRIMARY KEY (UM_ID) 395 | )ENGINE INNODB; 396 | 397 | 398 | CREATE TABLE UM_USER_ATTRIBUTE ( 399 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 400 | UM_ATTR_NAME VARCHAR(255) NOT NULL, 401 | UM_ATTR_VALUE VARCHAR(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci, 402 | UM_PROFILE_ID VARCHAR(255), 403 | UM_USER_ID INTEGER, 404 | UM_TENANT_ID INTEGER DEFAULT 0, 405 | FOREIGN KEY (UM_USER_ID, UM_TENANT_ID) REFERENCES UM_USER(UM_ID, UM_TENANT_ID), 406 | PRIMARY KEY (UM_ID, UM_TENANT_ID) 407 | )ENGINE INNODB; 408 | 409 | CREATE INDEX UM_USER_ID_INDEX ON UM_USER_ATTRIBUTE(UM_USER_ID); 410 | 411 | CREATE INDEX UM_ATTR_NAME_VALUE_INDEX ON UM_USER_ATTRIBUTE(UM_ATTR_NAME, UM_ATTR_VALUE(512)); 412 | 413 | CREATE TABLE UM_DIALECT( 414 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 415 | UM_DIALECT_URI VARCHAR(255) NOT NULL, 416 | UM_TENANT_ID INTEGER DEFAULT 0, 417 | UNIQUE(UM_DIALECT_URI, UM_TENANT_ID), 418 | PRIMARY KEY (UM_ID, UM_TENANT_ID) 419 | )ENGINE INNODB; 420 | 421 | CREATE TABLE UM_CLAIM( 422 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 423 | UM_DIALECT_ID INTEGER NOT NULL, 424 | UM_CLAIM_URI VARCHAR(255) NOT NULL, 425 | UM_DISPLAY_TAG VARCHAR(255), 426 | UM_DESCRIPTION VARCHAR(255), 427 | UM_MAPPED_ATTRIBUTE_DOMAIN VARCHAR(255), 428 | UM_MAPPED_ATTRIBUTE VARCHAR(255), 429 | UM_REG_EX VARCHAR(255), 430 | UM_SUPPORTED SMALLINT, 431 | UM_REQUIRED SMALLINT, 432 | UM_DISPLAY_ORDER INTEGER, 433 | UM_CHECKED_ATTRIBUTE SMALLINT, 434 | UM_READ_ONLY SMALLINT, 435 | UM_TENANT_ID INTEGER DEFAULT 0, 436 | UNIQUE(UM_DIALECT_ID, UM_CLAIM_URI, UM_TENANT_ID,UM_MAPPED_ATTRIBUTE_DOMAIN), 437 | FOREIGN KEY(UM_DIALECT_ID, UM_TENANT_ID) REFERENCES UM_DIALECT(UM_ID, UM_TENANT_ID), 438 | PRIMARY KEY (UM_ID, UM_TENANT_ID) 439 | )ENGINE INNODB; 440 | 441 | 442 | CREATE TABLE UM_PROFILE_CONFIG( 443 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 444 | UM_DIALECT_ID INTEGER NOT NULL, 445 | UM_PROFILE_NAME VARCHAR(255), 446 | UM_TENANT_ID INTEGER DEFAULT 0, 447 | FOREIGN KEY(UM_DIALECT_ID, UM_TENANT_ID) REFERENCES UM_DIALECT(UM_ID, UM_TENANT_ID), 448 | PRIMARY KEY (UM_ID, UM_TENANT_ID) 449 | )ENGINE INNODB; 450 | 451 | CREATE TABLE IF NOT EXISTS UM_CLAIM_BEHAVIOR( 452 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 453 | UM_PROFILE_ID INTEGER, 454 | UM_CLAIM_ID INTEGER, 455 | UM_BEHAVIOUR SMALLINT, 456 | UM_TENANT_ID INTEGER DEFAULT 0, 457 | FOREIGN KEY(UM_PROFILE_ID, UM_TENANT_ID) REFERENCES UM_PROFILE_CONFIG(UM_ID,UM_TENANT_ID), 458 | FOREIGN KEY(UM_CLAIM_ID, UM_TENANT_ID) REFERENCES UM_CLAIM(UM_ID,UM_TENANT_ID), 459 | PRIMARY KEY(UM_ID, UM_TENANT_ID) 460 | )ENGINE INNODB; 461 | 462 | CREATE TABLE IF NOT EXISTS UM_HYBRID_ROLE_AUDIENCE( 463 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 464 | UM_AUDIENCE VARCHAR(255) NOT NULL, 465 | UM_AUDIENCE_ID VARCHAR(255) NOT NULL, 466 | UNIQUE (UM_AUDIENCE, UM_AUDIENCE_ID), 467 | PRIMARY KEY (UM_ID) 468 | )ENGINE INNODB; 469 | 470 | CREATE TABLE UM_HYBRID_ROLE( 471 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 472 | UM_ROLE_NAME VARCHAR(255) NOT NULL, 473 | UM_TENANT_ID INTEGER DEFAULT 0, 474 | UM_AUDIENCE_REF_ID INTEGER DEFAULT -1 NOT NULL, 475 | UM_UUID VARCHAR(36), 476 | PRIMARY KEY (UM_ID, UM_TENANT_ID), 477 | UNIQUE(UM_ROLE_NAME,UM_TENANT_ID, UM_AUDIENCE_REF_ID) 478 | )ENGINE INNODB; 479 | 480 | CREATE INDEX UM_ROLE_NAME_IND ON UM_HYBRID_ROLE(UM_ROLE_NAME); 481 | 482 | CREATE TABLE UM_HYBRID_USER_ROLE( 483 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 484 | UM_USER_NAME VARCHAR(255), 485 | UM_ROLE_ID INTEGER NOT NULL, 486 | UM_TENANT_ID INTEGER DEFAULT 0, 487 | UM_DOMAIN_ID INTEGER, 488 | UNIQUE (UM_USER_NAME, UM_ROLE_ID, UM_TENANT_ID, UM_DOMAIN_ID), 489 | FOREIGN KEY (UM_ROLE_ID, UM_TENANT_ID) REFERENCES UM_HYBRID_ROLE(UM_ID, UM_TENANT_ID) ON DELETE CASCADE, 490 | FOREIGN KEY (UM_DOMAIN_ID, UM_TENANT_ID) REFERENCES UM_DOMAIN(UM_DOMAIN_ID, UM_TENANT_ID) ON DELETE CASCADE, 491 | PRIMARY KEY (UM_ID, UM_TENANT_ID) 492 | )ENGINE INNODB; 493 | 494 | CREATE TABLE UM_HYBRID_USER_ROLE_RESTRICTED_EDIT_PERMISSIONS ( 495 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 496 | UM_HYBRID_USER_ROLE_ID INTEGER NOT NULL, 497 | UM_HYBRID_USER_ROLE_TENANT_ID INTEGER NOT NULL, 498 | UM_EDIT_OPERATION VARCHAR(255) NOT NULL, 499 | UM_PERMITTED_ORG_ID VARCHAR(36) NOT NULL, 500 | PRIMARY KEY (UM_ID), 501 | FOREIGN KEY (UM_HYBRID_USER_ROLE_ID, UM_HYBRID_USER_ROLE_TENANT_ID) REFERENCES UM_HYBRID_USER_ROLE(UM_ID, UM_TENANT_ID) ON DELETE CASCADE 502 | )ENGINE INNODB; 503 | 504 | CREATE TABLE UM_HYBRID_GROUP_ROLE( 505 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 506 | UM_GROUP_NAME VARCHAR(255), 507 | UM_ROLE_ID INTEGER NOT NULL, 508 | UM_TENANT_ID INTEGER DEFAULT 0, 509 | UM_DOMAIN_ID INTEGER, 510 | UNIQUE (UM_GROUP_NAME, UM_ROLE_ID, UM_TENANT_ID, UM_DOMAIN_ID), 511 | FOREIGN KEY (UM_ROLE_ID, UM_TENANT_ID) REFERENCES UM_HYBRID_ROLE(UM_ID, UM_TENANT_ID) ON DELETE CASCADE, 512 | FOREIGN KEY (UM_DOMAIN_ID, UM_TENANT_ID) REFERENCES UM_DOMAIN(UM_DOMAIN_ID, UM_TENANT_ID) ON DELETE CASCADE, 513 | PRIMARY KEY (UM_ID, UM_TENANT_ID) 514 | )ENGINE INNODB; 515 | 516 | CREATE TABLE UM_SYSTEM_ROLE( 517 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 518 | UM_ROLE_NAME VARCHAR(255) NOT NULL, 519 | UM_TENANT_ID INTEGER DEFAULT 0, 520 | PRIMARY KEY (UM_ID, UM_TENANT_ID), 521 | UNIQUE(UM_ROLE_NAME,UM_TENANT_ID) 522 | )ENGINE INNODB; 523 | 524 | CREATE TABLE UM_SYSTEM_USER_ROLE( 525 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 526 | UM_USER_NAME VARCHAR(255), 527 | UM_ROLE_ID INTEGER NOT NULL, 528 | UM_TENANT_ID INTEGER DEFAULT 0, 529 | UNIQUE (UM_USER_NAME, UM_ROLE_ID, UM_TENANT_ID), 530 | FOREIGN KEY (UM_ROLE_ID, UM_TENANT_ID) REFERENCES UM_SYSTEM_ROLE(UM_ID, UM_TENANT_ID), 531 | PRIMARY KEY (UM_ID, UM_TENANT_ID) 532 | )ENGINE INNODB; 533 | 534 | 535 | CREATE TABLE UM_HYBRID_REMEMBER_ME( 536 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 537 | UM_USER_NAME VARCHAR(255) NOT NULL, 538 | UM_COOKIE_VALUE VARCHAR(1024), 539 | UM_CREATED_TIME TIMESTAMP, 540 | UM_TENANT_ID INTEGER DEFAULT 0, 541 | PRIMARY KEY (UM_ID, UM_TENANT_ID) 542 | )ENGINE INNODB; 543 | 544 | CREATE TABLE IF NOT EXISTS UM_UUID_DOMAIN_MAPPER ( 545 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 546 | UM_USER_ID VARCHAR(255) NOT NULL, 547 | UM_DOMAIN_ID INTEGER NOT NULL, 548 | UM_TENANT_ID INTEGER DEFAULT 0, 549 | PRIMARY KEY (UM_ID), 550 | UNIQUE (UM_USER_ID), 551 | FOREIGN KEY (UM_DOMAIN_ID, UM_TENANT_ID) REFERENCES UM_DOMAIN(UM_DOMAIN_ID, UM_TENANT_ID) ON DELETE CASCADE 552 | )ENGINE INNODB; 553 | 554 | CREATE INDEX UUID_DM_UID_TID ON UM_UUID_DOMAIN_MAPPER(UM_USER_ID, UM_TENANT_ID); 555 | 556 | CREATE TABLE IF NOT EXISTS UM_GROUP_UUID_DOMAIN_MAPPER ( 557 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 558 | UM_GROUP_ID VARCHAR(255) NOT NULL, 559 | UM_DOMAIN_ID INTEGER NOT NULL, 560 | UM_TENANT_ID INTEGER DEFAULT 0, 561 | PRIMARY KEY (UM_ID), 562 | UNIQUE (UM_GROUP_ID), 563 | FOREIGN KEY (UM_DOMAIN_ID, UM_TENANT_ID) REFERENCES UM_DOMAIN(UM_DOMAIN_ID, UM_TENANT_ID) ON DELETE CASCADE 564 | )ENGINE INNODB; 565 | 566 | CREATE INDEX GRP_UUID_DM_GRP_ID_TID ON UM_GROUP_UUID_DOMAIN_MAPPER(UM_GROUP_ID, UM_TENANT_ID); 567 | 568 | -- ################################ 569 | -- ORGANIZATION MANAGEMENT TABLES 570 | -- ################################ 571 | 572 | CREATE TABLE IF NOT EXISTS UM_ORG ( 573 | UM_ID VARCHAR(36) NOT NULL, 574 | UM_ORG_NAME VARCHAR(255) NOT NULL, 575 | UM_ORG_DESCRIPTION VARCHAR(1024), 576 | UM_CREATED_TIME TIMESTAMP NOT NULL, 577 | UM_LAST_MODIFIED TIMESTAMP NOT NULL, 578 | UM_STATUS VARCHAR(255) DEFAULT 'ACTIVE' NOT NULL, 579 | UM_PARENT_ID VARCHAR(36), 580 | UM_ORG_TYPE VARCHAR(100) NOT NULL, 581 | UM_ORG_VERSION VARCHAR(20) DEFAULT 'v0.0.0' NOT NULL, 582 | PRIMARY KEY (UM_ID), 583 | FOREIGN KEY (UM_PARENT_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE 584 | )ENGINE INNODB; 585 | 586 | CREATE INDEX INDEX_UM_ORG_UM_ORG_NAME ON UM_ORG(UM_ORG_NAME); 587 | 588 | INSERT IGNORE INTO UM_ORG (UM_ID, UM_ORG_NAME, UM_ORG_DESCRIPTION, UM_CREATED_TIME, UM_LAST_MODIFIED, UM_STATUS, UM_ORG_TYPE, UM_ORG_VERSION) 589 | VALUES ('10084a8d-113f-4211-a0d5-efe36b082211', 'Super', 'This is the super organization.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'ACTIVE', 'TENANT', 'v1.0.0'); 590 | 591 | CREATE TABLE IF NOT EXISTS UM_ORG_ATTRIBUTE ( 592 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 593 | UM_ORG_ID VARCHAR(36) NOT NULL, 594 | UM_ATTRIBUTE_KEY VARCHAR(255) NOT NULL, 595 | UM_ATTRIBUTE_VALUE VARCHAR(512), 596 | PRIMARY KEY (UM_ID), 597 | UNIQUE (UM_ORG_ID, UM_ATTRIBUTE_KEY), 598 | FOREIGN KEY (UM_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE 599 | )ENGINE INNODB; 600 | 601 | CREATE TABLE IF NOT EXISTS UM_ORG_ROLE ( 602 | UM_ROLE_ID VARCHAR(255) NOT NULL, 603 | UM_ROLE_NAME VARCHAR(255) NOT NULL, 604 | UM_ORG_ID VARCHAR(36) NOT NULL, 605 | PRIMARY KEY(UM_ROLE_ID), 606 | CONSTRAINT FK_UM_ORG_ROLE_UM_ORG FOREIGN KEY (UM_ORG_ID) REFERENCES UM_ORG (UM_ID) ON DELETE CASCADE 607 | )ENGINE INNODB; 608 | 609 | CREATE TABLE IF NOT EXISTS UM_ORG_PERMISSION( 610 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 611 | UM_RESOURCE_ID VARCHAR(255) NOT NULL, 612 | UM_ACTION VARCHAR(255) NOT NULL, 613 | UM_TENANT_ID INTEGER DEFAULT 0, 614 | PRIMARY KEY (UM_ID) 615 | )ENGINE INNODB; 616 | 617 | CREATE TABLE IF NOT EXISTS UM_ORG_ROLE_USER ( 618 | UM_USER_ID VARCHAR(255) NOT NULL, 619 | UM_ROLE_ID VARCHAR(255) NOT NULL, 620 | UM_USER_RESIDENT_ORG_ID VARCHAR(36), 621 | CONSTRAINT FK_UM_ORG_ROLE_USER_UM_ORG_ROLE FOREIGN KEY (UM_ROLE_ID) REFERENCES UM_ORG_ROLE(UM_ROLE_ID) ON DELETE CASCADE 622 | )ENGINE INNODB; 623 | 624 | CREATE TABLE IF NOT EXISTS UM_ORG_ROLE_GROUP( 625 | UM_GROUP_ID VARCHAR(255) NOT NULL, 626 | UM_ROLE_ID VARCHAR(255) NOT NULL, 627 | CONSTRAINT FK_UM_ORG_ROLE_GROUP_UM_ORG_ROLE FOREIGN KEY (UM_ROLE_ID) REFERENCES UM_ORG_ROLE(UM_ROLE_ID) ON DELETE CASCADE 628 | )ENGINE INNODB; 629 | 630 | CREATE TABLE IF NOT EXISTS UM_ORG_ROLE_PERMISSION( 631 | UM_PERMISSION_ID INTEGER NOT NULL, 632 | UM_ROLE_ID VARCHAR(255) NOT NULL, 633 | CONSTRAINT FK_UM_ORG_ROLE_PERMISSION_UM_ORG_ROLE FOREIGN KEY (UM_ROLE_ID) REFERENCES UM_ORG_ROLE(UM_ROLE_ID) ON DELETE CASCADE, 634 | CONSTRAINT FK_UM_ORG_ROLE_PERMISSION_UM_ORG_PERMISSION FOREIGN KEY (UM_PERMISSION_ID) REFERENCES UM_ORG_PERMISSION(UM_ID) ON DELETE CASCADE 635 | )ENGINE INNODB; 636 | 637 | CREATE TABLE IF NOT EXISTS UM_ORG_HIERARCHY ( 638 | UM_PARENT_ID VARCHAR(36) NOT NULL, 639 | UM_ID VARCHAR(36) NOT NULL, 640 | DEPTH INTEGER, 641 | PRIMARY KEY (UM_PARENT_ID, UM_ID), 642 | FOREIGN KEY (UM_PARENT_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE, 643 | FOREIGN KEY (UM_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE 644 | )ENGINE INNODB; 645 | 646 | CREATE INDEX INDEX_UM_ORG_HIERARCHY_UM_ID ON UM_ORG_HIERARCHY(UM_ID); 647 | 648 | CREATE TABLE IF NOT EXISTS UM_IDP_GROUP_ROLE( 649 | UM_ROLE_ID INTEGER NOT NULL, 650 | UM_GROUP_ID VARCHAR(36) NOT NULL, 651 | UM_TENANT_ID INTEGER NOT NULL, 652 | PRIMARY KEY (UM_ROLE_ID, UM_GROUP_ID, UM_TENANT_ID), 653 | FOREIGN KEY (UM_ROLE_ID, UM_TENANT_ID) REFERENCES UM_HYBRID_ROLE(UM_ID, UM_TENANT_ID) ON DELETE CASCADE 654 | )ENGINE INNODB; 655 | 656 | CREATE TABLE IF NOT EXISTS UM_SHARED_ROLE( 657 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 658 | UM_SHARED_ROLE_ID INTEGER NOT NULL, 659 | UM_MAIN_ROLE_ID INTEGER NOT NULL, 660 | UM_SHARED_ROLE_TENANT_ID INTEGER NOT NULL, 661 | UM_MAIN_ROLE_TENANT_ID INTEGER NOT NULL, 662 | PRIMARY KEY (UM_ID), 663 | UNIQUE (UM_SHARED_ROLE_ID, UM_MAIN_ROLE_ID, UM_SHARED_ROLE_TENANT_ID), 664 | FOREIGN KEY (UM_SHARED_ROLE_ID, UM_SHARED_ROLE_TENANT_ID) REFERENCES UM_HYBRID_ROLE(UM_ID, UM_TENANT_ID) ON DELETE CASCADE, 665 | FOREIGN KEY (UM_MAIN_ROLE_ID, UM_MAIN_ROLE_TENANT_ID) REFERENCES UM_HYBRID_ROLE(UM_ID, UM_TENANT_ID) ON DELETE CASCADE 666 | )ENGINE INNODB; 667 | 668 | INSERT IGNORE INTO UM_ORG_HIERARCHY (UM_PARENT_ID, UM_ID, DEPTH) 669 | VALUES ('10084a8d-113f-4211-a0d5-efe36b082211', '10084a8d-113f-4211-a0d5-efe36b082211', 0); 670 | 671 | CREATE TABLE IF NOT EXISTS UM_ORG_DISCOVERY ( 672 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 673 | UM_ORG_ID VARCHAR(36) NOT NULL, 674 | UM_ROOT_ORG_ID VARCHAR(36) NOT NULL, 675 | UM_DISCOVERY_TYPE VARCHAR(255) NOT NULL, 676 | UM_DISCOVERY_VALUE VARCHAR(255) NOT NULL, 677 | PRIMARY KEY (UM_ID), 678 | UNIQUE (UM_ROOT_ORG_ID, UM_DISCOVERY_TYPE, UM_DISCOVERY_VALUE), 679 | FOREIGN KEY (UM_ROOT_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE, 680 | FOREIGN KEY (UM_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE 681 | )ENGINE INNODB; 682 | 683 | CREATE TABLE IF NOT EXISTS UM_ORG_USER_ASSOCIATION( 684 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 685 | UM_USER_ID VARCHAR(255) NOT NULL, 686 | UM_ORG_ID VARCHAR(36) NOT NULL, 687 | UM_ASSOCIATED_USER_ID VARCHAR(255) NOT NULL, 688 | UM_ASSOCIATED_ORG_ID VARCHAR(36) NOT NULL, 689 | UM_SHARED_TYPE VARCHAR(255) NOT NULL DEFAULT 'NOT SPECIFIED', 690 | PRIMARY KEY (UM_USER_ID, UM_ORG_ID, UM_ASSOCIATED_USER_ID, UM_ASSOCIATED_ORG_ID), 691 | UNIQUE KEY (UM_ID) 692 | )ENGINE INNODB; 693 | 694 | CREATE TABLE IF NOT EXISTS UM_RESOURCE_SHARING_POLICY ( 695 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 696 | UM_RESOURCE_TYPE VARCHAR(255) NOT NULL, 697 | UM_RESOURCE_ID VARCHAR(36) NOT NULL, 698 | UM_INITIATING_ORG_ID VARCHAR(36) NOT NULL, 699 | UM_POLICY_HOLDING_ORG_ID VARCHAR(36) NOT NULL, 700 | UM_SHARING_POLICY VARCHAR(255) NOT NULL, 701 | PRIMARY KEY (UM_ID), 702 | FOREIGN KEY (UM_INITIATING_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE, 703 | FOREIGN KEY (UM_POLICY_HOLDING_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE 704 | )ENGINE INNODB; 705 | 706 | CREATE INDEX IDX_POLICY_HOLDING_ORG_ID ON UM_RESOURCE_SHARING_POLICY(UM_POLICY_HOLDING_ORG_ID); 707 | 708 | CREATE TABLE IF NOT EXISTS UM_SHARED_RESOURCE_ATTRIBUTES ( 709 | UM_ID INTEGER NOT NULL AUTO_INCREMENT, 710 | UM_RESOURCE_SHARING_POLICY_ID INTEGER NOT NULL, 711 | UM_SHARED_ATTRIBUTE_TYPE VARCHAR(255) NOT NULL, 712 | UM_SHARED_ATTRIBUTE_ID VARCHAR(36) NOT NULL, 713 | PRIMARY KEY (UM_ID), 714 | FOREIGN KEY (UM_RESOURCE_SHARING_POLICY_ID) 715 | REFERENCES UM_RESOURCE_SHARING_POLICY(UM_ID) ON DELETE CASCADE 716 | )ENGINE INNODB; 717 | 718 | CREATE INDEX IDX_RESOURCE_SHARING_POLICY_ID ON UM_SHARED_RESOURCE_ATTRIBUTES(UM_RESOURCE_SHARING_POLICY_ID); 719 | 720 | -- ################################ 721 | -- KEY STORE TABLE. 722 | -- ################################ 723 | CREATE TABLE IF NOT EXISTS KEY_STORE( 724 | ID INTEGER NOT NULL AUTO_INCREMENT, 725 | NAME VARCHAR(255) NOT NULL, 726 | TYPE VARCHAR(36) NOT NULL, 727 | PROVIDER VARCHAR(255), 728 | PASSWORD VARCHAR(1000), 729 | PRIVATE_KEY_ALIAS VARCHAR(255), 730 | PRIVATE_KEY_PASS VARCHAR(1000), 731 | CONTENT LONGBLOB NOT NULL, 732 | PUB_CERT_ID VARCHAR(36), 733 | TENANT_ID INTEGER NOT NULL, 734 | VERSION VARCHAR(15) NOT NULL, 735 | CREATED_AT TIMESTAMP NOT NULL, 736 | UPDATED_AT TIMESTAMP NOT NULL, 737 | PRIMARY KEY (ID), 738 | UNIQUE (NAME, TENANT_ID) 739 | )ENGINE INNODB; 740 | --------------------------------------------------------------------------------