diff --git a/data-platform/open-source-data-platforms/README.md b/data-platform/open-source-data-platforms/README.md index 9602dd4c4..f11240139 100644 --- a/data-platform/open-source-data-platforms/README.md +++ b/data-platform/open-source-data-platforms/README.md @@ -6,7 +6,8 @@ Open Source Data Platforms continue to extend the Oracle Data Platform with Key - OCI PostgreSQL - OCI Cache (Redis, Valkey) - OCI Data Flow (Apache Spark) -- OCI Streaming (Kafka) +- OCI Streaming +- OCI Streaming with Apache Kafka - OCI OpenSearch - OCI NoSQL diff --git a/data-platform/open-source-data-platforms/oci-postgresql/README.md b/data-platform/open-source-data-platforms/oci-postgresql/README.md index eda9f74a6..c2152e366 100644 --- a/data-platform/open-source-data-platforms/oci-postgresql/README.md +++ b/data-platform/open-source-data-platforms/oci-postgresql/README.md @@ -37,6 +37,7 @@ When you are looking to establish an OCI PostgreSQL instance, connect to it, and - [Send notifications based on pg_stat_activity in OCI PostgreSQL](https://github.com/andreumdorokhinum/oci_pg_stat_activity) - [GitLab & Standalone Managed PostgreSQL on OCI](https://github.com/andreumdorokhinum/oci_pg_with_gitlab) - [Use CRON as scheduler for OCI PostgreSQL](https://github.com/andreumdorokhinum/oci_pg_with_unix_cron) +- [Integrate Geoserver and PostGIS using OCI Database with PostgreSQL](https://github.com/oracle-devrel/technology-engineering/tree/main/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver) # License diff --git a/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/LICENSE b/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/LICENSE new file mode 100644 index 000000000..46c0c79d9 --- /dev/null +++ b/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/LICENSE @@ -0,0 +1,35 @@ +Copyright (c) 2025 Oracle and/or its affiliates. + +The Universal Permissive License (UPL), Version 1.0 + +Subject to the condition set forth below, permission is hereby granted to any +person obtaining a copy of this software, associated documentation and/or data +(collectively the "Software"), free of charge and under any and all copyright +rights in the Software, and any and all patent rights owned or freely +licensable by each licensor hereunder covering either (i) the unmodified +Software as contributed to or provided by such licensor, or (ii) the Larger +Works (as defined below), to deal in both + +(a) the Software, and +(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if +one is included with the Software (each a "Larger Work" to which the Software +is contributed by such licensors), + +without restriction, including without limitation the rights to copy, create +derivative works of, display, perform, and distribute the Software and make, +use, sell, offer for sale, import, export, have made, and have sold the +Software and the Larger Work(s), and to sublicense the foregoing rights on +either these or other terms. + +This license is subject to the following condition: +The above copyright notice and either this complete permission notice or at +a minimum a reference to the UPL must be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/README.md b/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/README.md new file mode 100644 index 000000000..bc04a09c6 --- /dev/null +++ b/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/README.md @@ -0,0 +1,26 @@ +# Connect OCI PostgreSQL to Oracle Analytics Cloud + +Reviewed: 30.09.2025 + +# When to use this asset? + +Developers aiming to use PostGIS as an extension on OCI Database with PostgreSQL, and connecting, loading the spatial data into Geoserver. + +# How to use this asset? + +Open the postgis-geoserver.md file and follow the steps carefully. + +# Pre-requisites: + +- Create a VCN with public and private subnet +- Create an OCI PostgreSQL database instance in the private subnet, enable PostGIS extension in the configuration. +- Create a Linux instance in public subnet, same VCN +- Add port 5432 and 8080 to the private subnet security list + +# License + +Copyright (c) 2025 Oracle and/or its affiliates. + +Licensed under the Universal Permissive License (UPL), Version 1.0. + +See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details. \ No newline at end of file diff --git a/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/files/images/img_1_geo.png b/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/files/images/img_1_geo.png new file mode 100644 index 000000000..851925248 Binary files /dev/null and b/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/files/images/img_1_geo.png differ diff --git a/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/files/images/img_2_geo.png b/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/files/images/img_2_geo.png new file mode 100644 index 000000000..91d404687 Binary files /dev/null and b/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/files/images/img_2_geo.png differ diff --git a/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/files/postgis-geoserver.md b/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/files/postgis-geoserver.md new file mode 100644 index 000000000..7172448a0 --- /dev/null +++ b/data-platform/open-source-data-platforms/oci-postgresql/code-examples/postgis-geoserver/files/postgis-geoserver.md @@ -0,0 +1,62 @@ +# Integrate Geoserver and PostGIS using OCI Database with PostgreSQL + +# Prerequisites +- Oracle Linux 9 in public subnet, same VCN as the PostgreSQL database +- OCI Database with PostgreSQL and PostGIS extensions enabled in private subnet +- Open ports for PostgreSQL and Geoserver (8080) + + +# Install docker +``` +sudo yum install -y yum-utils +sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo +sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin +``` + +# Open ports +``` +sudo firewall-cmd --permanent --add-port=8080/tcp +sudo firewall-cmd --reload +``` + +# Pull and Run Docker +``` +sudo systemctl start docker +sudo docker pull docker.osgeo.org/geoserver:2.28.x +sudo docker run -it -p8080:8080 docker.osgeo.org/geoserver:2.28.x +``` +# Open Geoserver +Open GeoServer using the below public IP/port. Log in. GeoServer's default username and password: Username: admin. Password: geoserver +``` +http://[YOUR PUBLIC IP]:8080/geoserver/ +``` + +# Optional. Install Geoserver without docker. +Link: https://freegistutorial.com/how-to-install-geoserver-in-oracle-linux-9/ + +# Load data into OCI Database with PostgreSQL +These steps describe an example of loading NYC spatial data into OCI Database with PostgreSQL. The steps use PgAdmin as tool. + +1. Download and install PgAdmin on your local machine. [Download here](https://www.pgadmin.org/). +2. Connect to OCI Database with PostgreSQL using a jumphost (VM in public subnet). [See steps here](https://docs.oracle.com/en/learn/postgresql-pgadmin4-connection/index.html). +3. Once connected using PgAdmin, [follow the steps here](https://postgis.net/workshops/postgis-intro/loading_data.html) to load example NYC data + +# Add a new Store in Geoserver +- Database = Name of database which includes the PostGIS extension and spatial tables, like 'nyc'. +- Schema = public +- Host: the private IP of the OCI Database with PostgreSQL instance +- Port: 5432 +- Username/password: add your username and password when you created the OCI Database with PostgreSQL +- SSL MODE = Require +- Mark the "Enabled" button to enable the store once you save/apply the connection + + ![image](images/img_2_geo.png) + +# Add a new Layer and review preview +- Once the connection is established, click on "Layers" and following "add a new layer" +- Choose your just added store, like "ne:postgis_bp" + + ![image](images/img_1_geo.png) + +- The spatial tables should appear. Click on Publish. +- Click on Layer Preview and search for the Layer your just published. Click on on any of the formats or on "OpenLayers" to preview. \ No newline at end of file diff --git a/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/README.md b/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/README.md index a71a3dcc5..c2f974327 100644 --- a/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/README.md +++ b/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/README.md @@ -19,6 +19,7 @@ Reviewed: 18.09.2025 # Reusable Assets - [Kafka UI & Kafka Connect Setup with OCI OpenSearch](https://github.com/oracle-devrel/technology-engineering/tree/main/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/code-examples/kafka-ui-connect-setup-with-oci-opensearch) +- [OCI GoldenGate connection to OCI Streaming with Apache Kafka](https://github.com/oracle-devrel/technology-engineering/tree/main/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/code-examples/goldengate_oci_streaming-with-apache-kafka) # License @@ -26,4 +27,4 @@ Copyright (c) 2025 Oracle and/or its affiliates. Licensed under the Universal Permissive License (UPL), Version 1.0. -See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE.txt) for more details. +See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE.txt) for more details. \ No newline at end of file diff --git a/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/code-examples/goldengate_oci_streaming-with-apache-kafka/LICENSE b/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/code-examples/goldengate_oci_streaming-with-apache-kafka/LICENSE new file mode 100644 index 000000000..46c0c79d9 --- /dev/null +++ b/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/code-examples/goldengate_oci_streaming-with-apache-kafka/LICENSE @@ -0,0 +1,35 @@ +Copyright (c) 2025 Oracle and/or its affiliates. + +The Universal Permissive License (UPL), Version 1.0 + +Subject to the condition set forth below, permission is hereby granted to any +person obtaining a copy of this software, associated documentation and/or data +(collectively the "Software"), free of charge and under any and all copyright +rights in the Software, and any and all patent rights owned or freely +licensable by each licensor hereunder covering either (i) the unmodified +Software as contributed to or provided by such licensor, or (ii) the Larger +Works (as defined below), to deal in both + +(a) the Software, and +(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if +one is included with the Software (each a "Larger Work" to which the Software +is contributed by such licensors), + +without restriction, including without limitation the rights to copy, create +derivative works of, display, perform, and distribute the Software and make, +use, sell, offer for sale, import, export, have made, and have sold the +Software and the Larger Work(s), and to sublicense the foregoing rights on +either these or other terms. + +This license is subject to the following condition: +The above copyright notice and either this complete permission notice or at +a minimum a reference to the UPL must be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/goldengate_oci_streaming-with-apache-kafka/goldengate_osak.md b/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/code-examples/goldengate_oci_streaming-with-apache-kafka/goldengate_osak.md similarity index 100% rename from data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/goldengate_oci_streaming-with-apache-kafka/goldengate_osak.md rename to data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/code-examples/goldengate_oci_streaming-with-apache-kafka/goldengate_osak.md diff --git a/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/code-examples/kafka-ui-connect-setup-with-oci-opensearch/LICENSE b/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/code-examples/kafka-ui-connect-setup-with-oci-opensearch/LICENSE new file mode 100644 index 000000000..46c0c79d9 --- /dev/null +++ b/data-platform/open-source-data-platforms/oci-streaming-with-apache-kafka/code-examples/kafka-ui-connect-setup-with-oci-opensearch/LICENSE @@ -0,0 +1,35 @@ +Copyright (c) 2025 Oracle and/or its affiliates. + +The Universal Permissive License (UPL), Version 1.0 + +Subject to the condition set forth below, permission is hereby granted to any +person obtaining a copy of this software, associated documentation and/or data +(collectively the "Software"), free of charge and under any and all copyright +rights in the Software, and any and all patent rights owned or freely +licensable by each licensor hereunder covering either (i) the unmodified +Software as contributed to or provided by such licensor, or (ii) the Larger +Works (as defined below), to deal in both + +(a) the Software, and +(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if +one is included with the Software (each a "Larger Work" to which the Software +is contributed by such licensors), + +without restriction, including without limitation the rights to copy, create +derivative works of, display, perform, and distribute the Software and make, +use, sell, offer for sale, import, export, have made, and have sold the +Software and the Larger Work(s), and to sublicense the foregoing rights on +either these or other terms. + +This license is subject to the following condition: +The above copyright notice and either this complete permission notice or at +a minimum a reference to the UPL must be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.