Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 4 additions & 14 deletions OracleDatabase/.syncignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,12 @@
OracleDatabase/SingleInstance/extensions/slimming

# Do not synchronize version tracks older than 19.3.0.
OracleDatabase/GDD/containerfiles/12.2.0.1
OracleDatabase/GDD/containerfiles/18.3.0
OracleDatabase/SingleInstance/dockerfiles/12.1.0.2
OracleDatabase/SingleInstance/dockerfiles/12.2.0.1
OracleDatabase/SingleInstance/dockerfiles/18.3.0
OracleDatabase/SingleInstance/samples/applypatch/12.1.0.2
OracleDatabase/SingleInstance/samples/applypatch/12.2.0.1
OracleDatabase/OracleConnectionManager/containerfiles/12.2.0.1
OracleDatabase/OracleConnectionManager/containerfiles/18.3.0
OracleDatabase/RAC/OracleDNSServer/containerfiles/12.2.0.1
OracleDatabase/RAC/OracleDNSServer/containerfiles/18.3.0
OracleDatabase/RAC/OracleRealApplicationClusters/containerfiles/12.2.0.1
OracleDatabase/RAC/OracleRealApplicationClusters/containerfiles/18.3.0
OracleDatabase/RAC/OracleRealApplicationClusters/dockerfiles/12.2.0.1
OracleDatabase/RAC/OracleRealApplicationClusters/dockerfiles/18.3.0
OracleDatabase/RAC/OracleRealApplicationClusters/samples/customracdb/12.2.0.1
OracleDatabase/RAC/OracleRealApplicationClusters/samples/customracdb/18.3.0
OracleDatabase/RAC/OracleRACStorageServer/dockerfiles/12.2.0.1
OracleDatabase/RAC/OracleRACStorageServer/dockerfiles/18.3.0

# Internal Oracle network/repository references; do not copy these artifacts to GitHub.
OracleDatabase/RAC/OracleDNSServer/containerfiles/latest/named.rfc1912.zones
OracleDatabase/RAC/OracleDNSServer/containerfiles/latest/crDNS
54 changes: 49 additions & 5 deletions OracleDatabase/GDD/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ If you use non-`latest` tags, retag them as needed for your deployment commands.
**Important:**

- Make sure the OpenSSL version in the container image is compatible with the OpenSSL version on the host that generates the encrypted password file.
- The compatibility examples in [Oracle Container Registry Image Compatibility](#oracle-container-registry-image-compatibility) can help you choose matching images.
- The compatibility examples in [Oracle Container Registry Image Compatibility](#option-1-pull-images-from-oracle-container-registry) can help you choose matching images.

### Option 2: Build a GSM Image from Local Binaries

Expand All @@ -156,14 +156,38 @@ To view script usage:

This script performs checksum validation and simplifies image creation for new users. Advanced users can run `podman build` directly with their preferred parameters.

RPM provenance is always recorded under `/usr/share/oracle/image-metadata/rpms`.
Inspect it with:

```bash
podman run --rm --entrypoint /bin/sh IMAGE -c \
'ls -l /usr/share/oracle/image-metadata/rpms && cat /usr/share/oracle/image-metadata/rpms/*.txt'
```

#### Building GSM Base Image

In this document, an `GSM Container Base Image` refers to a container image that does not include installation of Oracle GSM Software Binaries during the Oracle GSM Container Image creation. This image is extended to build patched image or extensions. To build GSM Container Base Image run the following command:

```bash
./buildContainerImage.sh -v <Software Version> -b
```

Example: To build an GSM Container Base Image for 23.26ai (Oracle AI Database 26ai), use the below command:

```bash
./buildContainerImage.sh -v 23.26.0 -b
```

This image will be used as the base image to create the patched version of Oracle GSM Image. Please check [Create Patched GSM Image](./samples/applypatch/README.md)

### Building Database Images

This repo focuses on GSM container files and deployment samples. For database image creation, use the upstream Oracle image guides:

- Single Instance Database base image: [OracleDatabase/SingleInstance README](https://github.com/oracle/docker-images/blob/main/OracleDatabase/SingleInstance/README.md)
- Single Instance extensions: [OracleDatabase/SingleInstance/extensions README](https://github.com/oracle/docker-images/blob/main/OracleDatabase/SingleInstance/extensions/README.md)
- RAC base image: [OracleDatabase/RAC/OracleRealApplicationClusters README](https://github.com/oracle/docker-images/blob/main/OracleDatabase/RAC/OracleRealApplicationClusters/README.md)
- RAC extensions: [OracleDatabase/RAC/OracleRealApplicationClusters/extensions README](https://github.com/oracle/docker-images/blob/main/OracleDatabase/RAC/OracleRealApplicationClusters/extensions/README.md)
- Single Instance Database base image: [OracleDatabase/SingleInstance README](../SingleInstance/README.md)
- Single Instance extensions: [OracleDatabase/SingleInstance/extensions README](../SingleInstance/extensions/README.md)
- RAC base image: [OracleDatabase/RAC/OracleRealApplicationClusters README](../RAC/OracleRealApplicationClusters/README.md)
- RAC extensions: [OracleDatabase/RAC/OracleRealApplicationClusters/extensions README](../RAC/OracleRealApplicationClusters/extensions/README.md)

Use those guides to build the base or extended database images, then return to the deployment scenarios in this repo for container-specific setup.

Expand Down Expand Up @@ -201,3 +225,23 @@ Unless otherwise noted, the scripts and files in this project and the related `d

Copyright (c) 2022 - 2024 Oracle and/or its affiliates.
Released under the Universal Permissive License v1.0 as shown at [https://oss.oracle.com/licenses/upl/](https://oss.oracle.com/licenses/upl/)


## Base image provenance

The GSM build wrapper resolves the selected base image to a sha256 digest and
passes `BASE_IMAGE`, `BASE_IMAGE_REF`, and `BASE_IMAGE_DIGEST` to the
build. The image exposes the source reference and digest as OCI labels and
writes the direct-base record to:

```
/usr/share/oracle/image-metadata/base-image-chain.json
```

Inspect an image with:

```
podman image inspect IMAGE --format '{{json .Config.Labels}}'
podman run --rm --entrypoint /bin/sh IMAGE -c \
'cat /usr/share/oracle/image-metadata/base-image-chain.json'
```
Loading
Loading