Skip to content

Commit f58973b

Browse files
authored
Merge branch 'main' into oci-security-health-check-standard-2503
2 parents 6849c61 + 970be75 commit f58973b

File tree

16 files changed

+221
-9
lines changed

16 files changed

+221
-9
lines changed

app-dev/devops-and-containers/devops/ansible-jenkins/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@ can eventually be modified or forked.
1818

1919
Although these limitations might not fit every use case, the code can be used as a reference and there are ways to lift them.
2020

21-
[![Deploy to Oracle Cloud](https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg)](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle-devrel/technology-engineering/raw/main/app-dev/devops/ansible-jenkins/ansible-jenkins-rm.zip)
21+
[![Deploy to Oracle Cloud](https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg)](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle-devrel/technology-engineering/raw/main/app-dev/devops-and-containers/devops/ansible-jenkins/ansible-jenkins-rm.zip)
2222

app-dev/devops-and-containers/functions/java-helloworld-with-local-dev-and-oci-functions/README.md

+10-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,6 @@ docker build -t fra.ocir.io/<YOUR OCI TENANCY NAMESPACE>/helloworld-java:1
118118
</pre>
119119

120120
In the docker build command above replace the <code>region</code> if necessary and the <code>&lt;YOUR OCI TENANCY NAMESPACE&gt;</code> with yours.
121-
122121
<p>
123122

124123
After building let's do <code>docker login</code> and <code>docker push</code> to push the container to the OCIR repo:
@@ -130,6 +129,16 @@ docker login ams.ocir.io -u '&lt;YOUR OCI TENANCY NAMESPACE&gt;/oracleidentitycl
130129
docker push fra.ocir.io/&lt;YOUR OCI TENANCY NAMESPACE&gt;/helloworld-java:1
131130
</pre>
132131

132+
<p>
133+
The same as above but using OCI cli to get the &lt;YOUR OCI TENANCY NAMESPACE&gt; which is especially handy in scripting:
134+
135+
<pre>
136+
export namespace=$(oci os ns get | jq .data | tr -d '"')
137+
docker build -t fra.ocir.io/$namespace/helloworld-java:1 .
138+
docker push fra.ocir.io/$namespace/helloworld-java:1
139+
</pre>
140+
141+
<p>
133142
The last step is to create the Function Application and the function deployment for it. This can be easily done using the Cloud UI.
134143

135144
<p>

app-dev/devops-and-containers/oke/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ Reviewed: 20.12.2023
5151
- [Selecting a cloud native microservice framework](https://louwersj.medium.com/selecting-a-cloud-native-microservice-framework-9974e9534da1)
5252
- [Deploying a spring boot microservice in K8s](https://techdozo.dev/deploying-a-restful-spring-boot-microservice-on-kubernetes/)
5353
- [Collection of Labs](https://oracle.github.io/cloudtestdrive/AppDev/cloud-native/livelabs/)
54+
- [OKE policies](./oke-policies/policies.md)
5455

5556
# Reusable Assets Overview
5657

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
## OKE Policies
2+
3+
4+
5+
### VCN NATIVE CNI
6+
7+
When network compartment is not the same as OKE compartment AND OKE is using VCN\_NATIVE CNI
8+
9+
[https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengpodnetworking\_topic-OCI\_CNI\_plugin.htm](https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengpodnetworking_topic-OCI_CNI_plugin.htm)
10+
11+
```
12+
Allow any-user to manage instances in compartment <compartment-ocid-of-nodepool> where all { request.principal.id = '<cluster-ocid>' }
13+
Allow any-user to use private-ips in compartment <compartment-ocid-of-network-resources> where all { request.principal.id = '<cluster-ocid>' }
14+
Allow any-user to use network-security-groups in compartment <compartment-ocid-of-network-resources> where all { request.principal.id = '<cluster-ocid>' }
15+
```
16+
17+
18+
19+
### USE IPv6 WITH VCN NATIVE CNI
20+
21+
[https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengpodnetworking\_topic-OCI\_CNI\_plugin.htm](https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengpodnetworking_topic-OCI_CNI_plugin.htm)
22+
23+
[https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/conteng\_ipv4-and-ipv6.htm](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/conteng_ipv4-and-ipv6.htm)
24+
25+
UNCLEAR: Maybe this policy is necessary for every IPv6 cluster
26+
27+
```
28+
Allow any-user to use ipv6s in compartment <compartment-ocid-of-network-resources> where all { request.principal.id = '<cluster-ocid>' }
29+
```
30+
31+
32+
33+
### ENCRYPT BOOT VOLUME WITH KEY
34+
35+
To encrypt OKE worker nodes boot volume with a key that is in a different compartment than the worker nodes
36+
37+
[https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengpolicyconfig.htm#contengpolicyconfig\_topic\_Create\_Policies\_for\_User\_Managed\_Encryption](https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengpolicyconfig.htm#contengpolicyconfig_topic_Create_Policies_for_User_Managed_Encryption)
38+
39+
```
40+
Allow any-user to use key-delegates in <compartment-key> where ALL {request.principal.type='nodepool', target.key.id = '<key_OCID>'}
41+
Allow service blockstorage to use keys in compartment <compartment-key> where target.key.id = '<key_OCID>'
42+
Allow any-user to use key-delegates in compartment <compartment-key> where ALL {request.principal.type='nodepool', target.key.id = '<key_OCID>'}
43+
```
44+
45+
46+
47+
### ENCRYPT BLOCK VOLUME WITH KEY
48+
49+
To enable encryption on block volumes with a key in a different compartment than the worker nodes
50+
51+
[https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengpolicyconfig.htm#contengpolicyconfig\_topic\_Create\_Policies\_for\_User\_Managed\_Encryption](https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengpolicyconfig.htm#contengpolicyconfig_topic_Create_Policies_for_User_Managed_Encryption)
52+
53+
```
54+
Allow service blockstorage to use keys in compartment <compartment-key> where target.key.id = '<key-ocid>'
55+
Allow any-user to use key-delegates in compartment <compartment-key> where ALL {request.principal.type = 'cluster', target.key.id = '<key-ocid>'}
56+
```
57+
58+
59+
60+
### ENCRYPT FILE SYSTEM
61+
62+
To enable in-transit/in-place encryption of FSS
63+
64+
[https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengpolicyconfig.htm#contengpolicyconfig\_topic\_Create\_Policies\_for\_User\_Managed\_Encryption](https://docs.oracle.com/en-us/iaas/Content/ContEng/Concepts/contengpolicyconfig.htm#contengpolicyconfig_topic_Create_Policies_for_User_Managed_Encryption)
65+
66+
```
67+
Dynamic Group
68+
ALL { resource.type='filesystem', resource.compartment.id = '<file_system_compartment_OCID>' }
69+
70+
Allow dynamic-group <domain>/<dynamic-group-name> to use keys in compartment <key-compartment-name>
71+
Allow any-user to use key-delegates in compartment <compartment-key> where ALL {request.principal.type = 'cluster', target.key.id = '<key_OCID>'}
72+
```
73+
74+
75+
76+
### ENABLE CCM TO MANAGE NSGs FOR LBs and NLBs
77+
78+
[https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengconfiguringloadbalancersnetworkloadbalancers-subtopic.htm#contengcreatingloadbalancer\_topic-Specifying\_Load\_Balancer\_Security\_Rule\_Management\_Annotation](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengconfiguringloadbalancersnetworkloadbalancers-subtopic.htm#contengcreatingloadbalancer_topic-Specifying_Load_Balancer_Security_Rule_Management_Annotation)
79+
80+
```
81+
ALLOW any-user to manage network-security-groups in compartment <compartment-name> where request.principal.type = 'cluster'
82+
ALLOW any-user to manage vcns in compartment <compartment-name> where request.principal.type = 'cluster'
83+
ALLOW any-user to manage virtual-network-family in compartment <compartment-name> where request.principal.type = 'cluster'
84+
```
85+
86+
87+
88+
### TAGGING RESOURCES DIFFERENT COMPARTMENT
89+
90+
[https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengtaggingclusterresources\_iam-tag-namespace-policy.htm#contengtaggingclusterresources\_iam-tag-namespace-policy](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengtaggingclusterresources_iam-tag-namespace-policy.htm#contengtaggingclusterresources_iam-tag-namespace-policy)
91+
92+
```
93+
Allow any-user to use tag-namespace in compartment <compartment-ocid-tag-namespace> where all { request.principal.id = '<cluster-ocid>' }
94+
```
95+
96+
97+
98+
### USE MANAGED NODE POOL WITH CAPACITY RESERVATION
99+
100+
[https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengmakingcapacityreservations.htm#contengmakingcapacityreservations\_topic\_Using\_capacity\_reservations](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengmakingcapacityreservations.htm#contengmakingcapacityreservations_topic_Using_capacity_reservations)
101+
102+
```
103+
Allow service oke to use compute-capacity-reservations in compartment id <compartment_capacity>
104+
Allow any-user to use compute-capacity-reservations in tenancy where request.principal.type = 'nodepool'
105+
```
106+
107+
108+
109+
### USE RESERVED PUBLIC IP IN DIFFERENT COMPARTMENTS THAN OKE
110+
111+
[https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengconfiguringloadbalancersnetworkloadbalancers-subtopic.htm#contengcreatingloadbalancer\_topic\_Specifying\_Load\_Balancer\_Reserved\_IP](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengconfiguringloadbalancersnetworkloadbalancers-subtopic.htm#contengcreatingloadbalancer_topic_Specifying_Load_Balancer_Reserved_IP)
112+
113+
If it is a LB:
114+
115+
```
116+
ALLOW any-user to read public-ips in tenancy where request.principal.type = 'cluster'
117+
ALLOW any-user to manage floating-ips in tenancy where request.principal.type = 'cluster'
118+
```
119+
120+
121+
122+
If it is a NLB:
123+
124+
```
125+
ALLOW any-user to use private-ips in TENANCY where ALL {request.principal.type = 'cluster', request.principal.compartment.id = 'target.compartment.id'}
126+
ALLOW any-user to manage public-ips in TENANCY where ALL {request.principal.type = 'cluster', request.principal.compartment.id = 'target.compartment.id'}
127+
```
128+
129+
130+
131+
### ATTACH NSGs WHEN THEY ARE IN DIFFERENT COMPARTMENTS THAN OKE
132+
133+
[https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengconfiguringloadbalancersnetworkloadbalancers-subtopic.htm#contengcreatingloadbalancer\_topic\_Specifying\_Load\_Balancer\_Network\_Security\_Group](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengconfiguringloadbalancersnetworkloadbalancers-subtopic.htm#contengcreatingloadbalancer_topic_Specifying_Load_Balancer_Network_Security_Group)
134+
135+
```
136+
Allow any-user to use network-security-groups in compartment <network-compartment-ocid> where all { request.principal.id = '<cluster-ocid>' }
137+
```
138+
139+
### USE A STATICALLY PROVISIONED SNAPSHOT WHEN IT IS IN A DIFFERENT COMPARTMENT
140+
141+
[https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengcreatingpersistentvolumeclaim_topic-Provisioning_PVCs_on_BV.htm#contengcreatingpersistentvolumeclaim_topic-Provisioning_PVCs_on_BV-PV_From_Snapshot_CSI__section_volume-snapshot-prerequisites](https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contengcreatingpersistentvolumeclaim_topic-Provisioning_PVCs_on_BV.htm#contengcreatingpersistentvolumeclaim_topic-Provisioning_PVCs_on_BV-PV_From_Snapshot_CSI__section_volume-snapshot-prerequisites)
142+
143+
```
144+
ALLOW any-user to manage volume-backups in compartment <compartment-name> where request.principal.type = 'cluster'
145+
ALLOW any-user to use volumes in compartment <compartment-name> where request.principal.type = 'cluster'
146+
```

data-platform/data-development/sql/README.md

+6-2
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ Welcome to the SQL repository of the Data Development team at Oracle. This repos
44

55
Structured Query Language (SQL) is the standard programming language used for managing and manipulating relational databases. SQL allows you to perform a variety of operations such as querying data, updating records, creating and modifying schema, and controlling access to the database. It is a crucial skill for data developers and analysts, enabling efficient data retrieval and manipulation to support data-driven decision-making.
66

7+
PL/SQL, the Oracle procedural extension of SQL, is a portable, high-performance transaction-processing language. PL/SQL offers several advantages over other programming languages: from being tightly integrated with SQL to leveraging High Performance and High Productivity. PL/SQL is a portable and scalable Procedural Language which also increase Manageability and support for Object Oriented Programming.
8+
79
Below you'll find an index to all the sections available in this repository, along with a brief introduction to what you can expect in each section.
810

9-
Reviewed: 20.11.2024
11+
Reviewed: 06.03.2024
1012

1113
# Table of contents
1214

@@ -59,6 +61,7 @@ To support your development journey, here are some valuable resources related to
5961
- [SQL Blog by Chris Saxon](https://blogs.oracle.com/sql)
6062
- [The Magic of SQL by Chris Saxon - YouTube Channel](https://www.youtube.com/c/TheMagicofSQL)
6163
- [SQL and Database explained! By Connor McDonald - YouTube Channel](https://www.youtube.com/@DatabaseDude)
64+
- [Learning is not a Spectator Sport - Connor McDonald Blog](https://connor-mcdonald.com)
6265

6366
We hope you find these resources helpful in your SQL journey. If you have any questions or suggestions, please feel free to contribute or reach out to the team. Happy querying!
6467

@@ -68,4 +71,5 @@ Copyright (c) 2024 Oracle and/or its affiliates.
6871

6972
Licensed under the Universal Permissive License (UPL), Version 1.0.
7073

71-
See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details.
74+
See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details.
75+

data-platform/data-integration/oci-data-integration/README.md

+29-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Data Integration is a fully managed, multi-tenant service that helps data engineers and developers with data movement and data loading tasks. Powered by Spark ETL or ELT processes, a large volume of data can be ingested from a variety of data assets; cleansed; transformed and reshaped; and efficiently loaded to Oracle Cloud Infrastructure target data assets.
44

5-
Reviewed: 24.04.2024
5+
Reviewed: 28.02.2025
66

77
# Useful Link
88

@@ -26,11 +26,37 @@ Reviewed: 24.04.2024
2626

2727
- [Automate Object Store file ingestion to DBCS with OCI DI](https://medium.com/@aporcescu/automating-oracle-object-store-file-loading-with-oci-data-integration-64f8d608601e)
2828
- A step-by-step blog article that explains how to trigger the OCI Data Integration job every time a new file is uploaded to the Object Store
29-
29+
30+
- [How to create Parameters in OCI Data Integration (Part 1)](https://medium.com/@aporcescu/how-to-create-parameters-in-oci-data-integration-part-1-dc3782109f1c)
31+
- This blog post explains how to create parameters in Oracle Cloud Infrastructure (OCI) Data Integration to enhance pipeline flexibility
32+
33+
- [Pass values to Parameters automatically in OCI Data Integration (Part2)](https://medium.com/@aporcescu/pass-values-to-parameters-automatically-in-oci-di-cee5d98e2fbc)
34+
- This step-by-step guide demonstrates how to automatically pass values to parameters in OCI Data Integration pipelines, using a procedure with an output variable to dynamically assign a filename to a subsequent integration task, streamlining workflow and eliminating manual entry
35+
36+
- [Incremental File load with OCI Data Integration (Part 3)](https://medium.com/@aporcescu/incremental-file-load-with-oci-data-integration-part-3-b9814179a7d0)
37+
- Automate incremental file loading from OCI Object Storage using Data Integration pipelines
38+
39+
- [Trigger Scripts with OCI Data Integration](https://medium.com/@aporcescu/trigger-scripts-with-oci-data-integration-b4fd483d9431)
40+
- Trigger scripts from OCI Data Integration pipelines using OCI Functions and Paramiko
41+
42+
- [Export/Import use cases for OCI Data Integration](https://www.ateam-oracle.com/post/oci-data-integration-exportimport-use-cases)
43+
- OCI Data Integration's new export/import feature streamlines development, deployment, and governance by enabling seamless transfer of projects and objects across workspaces. Use cases include backups, version control, environment migration, sandbox creation, tenancy migration, disaster recovery, and enhanced collaboration
44+
45+
- [OCI Data Integration Service Templates](https://blogs.oracle.com/dataintegration/post/oci-data-integration-service-templates)
46+
- Leverage prebuilt templates in OCI Data Integration to simplify data operations, automate tasks, and customize data flows across OCI and multi-cloud environments
47+
48+
- [Using OCI DI and Functions for Fusion SaaS data load](https://www.ateam-oracle.com/post/using-oci-di-and-functions-for-fusion-saas-data-load)
49+
- Load data from Fusion SaaS using OCI Data Integration and Functions
50+
51+
- [Extract data from Fusion Application using BI Publisher in OCI DI](https://blogs.oracle.com/cloud-infrastructure/post/extract-data-from-fusion-application-using-bi-publisher-in-oci-di)
52+
- Extract data from Oracle Fusion Applications using BI Publisher and OCI Data Integration
53+
54+
- [Data Integration and sFTP](https://blogs.oracle.com/dataintegration/post/data-integration-and-sftp)
55+
- Use OCI Data Integration and REST tasks with OCI Functions to SFTP data to/from Object Storage
3056

3157
# License
3258

33-
Copyright (c) 2024 Oracle and/or its affiliates.
59+
Copyright (c) 2025 Oracle and/or its affiliates.
3460

3561
Licensed under the Universal Permissive License (UPL), Version 1.0.
3662

data-platform/exadata-cloud-at-customer/exacc-infra/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ Reviewed: 24.06.2024
1212

1313
- [Oracle Exadata Configuration Assistant (OECA)](https://www.oracle.com/database/technologies/oeca-download.html)
1414

15+
- [Oracle EMCC extracts sizing script and documentaion](assets/Oracle_EMCC_sizing_extracts.zip)
16+
1517
## Useful Documentation
1618
- [Managing VM Clusters](https://docs.oracle.com/en/engineered-systems/exadata-cloud-at-customer/ecccm/ecc-manage-vm-clusters.html)
1719

data-platform/exadata-cloud-at-customer/exacc-value/README.md

+24-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,29 @@
11
# Exadata Cloud@Customer Value
22

3-
Reviewed: 24.06.2024
3+
Reviewed: 28.02.2025
4+
5+
# Videos
6+
A short video series covering different aspects of the Oracle Exadata Cloud@Customer - the best platform for running your Oracle Databases in the cloud behind your firewall.
7+
8+
**Episode 1 - Introductions to Exadata Cloud@Customer:**
9+
[![Episode 1 - Introduction](images/Ep1_TN.jpg "Episode 1 - Introduction")](https://lnkd.in/gb9pHt8Z)
10+
11+
**Episode 2 - Exadata Cloud@Customer Networking:**
12+
[![Episode 2 - Networking](images/Ep2_TN.jpg "Episode 2 - Networking")](https://lnkd.in/e2YcMUn5)
13+
14+
**Episode 3 - VM Clusters on Exadata Cloud@Customer:**
15+
[![Episode 3 - VM Clusters](images/Ep3_TN.jpg "Episode 3 - VM Clusters")](https://lnkd.in/gdTmDbFw)
16+
17+
**Episode 4 - Exadata Cloud@Customer X11M Introduction:**
18+
[![Episode 4 - X11M](images/Ep4_TN.jpg "Episode 4 - X11M")](https://lnkd.in/e7C96jBx)
19+
20+
**Episode 5 - Autonomous Database on Exadata Cloud@Customer:**
21+
[![Episode 5 - X11M](images/Ep5_TN.jpg "Episode 5 - Autonomous Database")](https://lnkd.in/eQkZzKvk)
22+
23+
The below videos are showcasing best practices and how-to's with a technical and hands-on approach.
24+
25+
**Learn how to optimize Exadata Database Service performance using IORM (I/O Resource Manager):**
26+
[![IORM](images/Ep5_TN.jpg "Exadata Database Service Resource Management – IORM")](https://youtu.be/vXkWR6Uc0vM)
427

528
# Useful Links
629

Loading
Loading
Loading
Loading
Loading
Loading

data-platform/modernise/README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ Reviewed: 15.11.2024
5050
- Detailed, step-by-step instructions for Modernising OS and Shape of Oracle Base Database Systems with Data Guard using Refreshable PDBs , available on Amalraj Puthenchira's public platform
5151
- [Migrating to latest generation of Exadata Database Service on Dedicated Infrastructure without worrying about RTO/RPO](https://amalrajputhenchira.wordpress.com/2025/02/17/migrating-to-latest-generation-of-exadata-database-service-on-dedicated-infrastructure-without-worrying-about-rto-rpo/)
5252
- Detailed, step-by-step instructions for Migrating Database from existing ExaDB-D to latest generation of ExaDB-D , available on Amalraj Puthenchira's public platform
53-
53+
- [Migrate and Upgrade your Oracle Base Database to Exadata Database Service on Exascale Infrastructure using AutoUpgrade](https://amalrajputhenchira.wordpress.com/2025/03/03/migrate-your-oracle-base-database-to-exadata-database-service-on-exascale-infrastructure-using-autoupgrade/)
54+
- Detailed, step-by-step instructions for Migrate and Upgrade Oracle Base Database 19c to ExaDB-XS using AutoUpgrade , available on Amalraj Puthenchira's public platform
5455
# Useful Links
5556

5657
- [OCI Migration Hub - Migrate Oracle Databases to OCI](https://www.oracle.com/database/cloud-migration/)

0 commit comments

Comments
 (0)