Skip to content

New stuff #136

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 212 commits into from
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
212 commits
Select commit Hold shift + click to select a range
fe06d36
Merge branch 'fix_operator_yaml' into 'master'
yunus-qureshi Jul 13, 2023
b09ccfe
Fix webhook reject scaling after stop and restart adb
ting-lan-wang Aug 15, 2023
464bf7e
Merge branch 'fix-adb-webhook-lifecyclestate' into 'master'
ting-lan-wang Aug 15, 2023
7f8634f
Update the command of installing cert-manager
ting-lan-wang Aug 23, 2023
f63c1a6
Update cert-manager command installation command in README.md
ting-lan-wang Aug 28, 2023
28dc9f9
Merge branch 'ting-lan_wang-master-patch-27095' into 'master'
ting-lan-wang Aug 28, 2023
53d92cf
Enhance CI/CD pipeline to use commit ID
yunus-qureshi Sep 8, 2023
6cc50e1
Merge branch 'enhancement/cicd-pipeline' into 'master'
yunus-qureshi Sep 8, 2023
1cc8737
Bugfix issue 67
IshaanDesai45 Sep 12, 2023
bc35cfc
Merge branch 'bugfix-issue_67' into 'master'
yunus-qureshi Sep 12, 2023
94e1d84
Fix adb controller reconcile error
ting-lan-wang Sep 22, 2023
4da1609
Merge branch 'fix-adb-reconciler-error' into 'master'
ting-lan-wang Sep 22, 2023
121e0ed
Fix adb reconcile
ting-lan-wang Sep 28, 2023
c2c9e16
Merge branch 'fix-adb-reconcile' into 'master'
ting-lan-wang Sep 28, 2023
2d1126d
Tcps user certs
vatsrahul Oct 13, 2023
08077ad
Merge branch 'tcps_user_certs' into 'master'
yunus-qureshi Oct 13, 2023
1d6361e
Enhance status updation of sidb controller
IshaanDesai45 Nov 7, 2023
124410a
Merge branch 'idesai_enhance_status_updation' into 'master'
yunus-qureshi Nov 7, 2023
75e6c7f
Modifying singleinstancedatabase types attributes, for bug 35430671 r…
IshaanDesai45 Nov 10, 2023
00f72c7
Merge branch 'idesai_hotfix_35430671' into 'master'
yunus-qureshi Nov 10, 2023
33057d6
Bug 35895394
Nov 16, 2023
76e5916
Update libs and Dockerfile
ting-lan-wang Dec 1, 2023
bb921e9
Merge branch 'update-libs' into 'master'
ting-lan-wang Dec 1, 2023
f9a4ef7
Update docs/adb/ADB_PREREQUISITES.md, docs/adb/README.md, docs/adb/AC…
ting-lan-wang Dec 1, 2023
eead5e1
Use oraclelinux 8 image instead of slim
yunus-qureshi Dec 8, 2023
0a5fb18
Merge branch 'enhancement/mqureshi/use-oraclelinux-8' into 'master'
yunus-qureshi Dec 8, 2023
3d4a9ad
bug 36099948
mmalvezz Dec 12, 2023
4e7748f
Merge branch 'mmalvezz' into 'master'
mmalvezz Dec 12, 2023
6aa57b8
Merge branch 'mmalvezz' into 'master'
mmalvezz Dec 12, 2023
a56e15b
Use '[' instead of '[[' to be able to run in Shell
ting-lan-wang Dec 12, 2023
32e354b
Merge branch 'ting-lan_wang-master-patch-90604' into 'master'
ting-lan-wang Dec 12, 2023
cd3f097
issue66: add documentation page
mmalvezz Dec 15, 2023
201e464
Merge branch 'issue66' into 'master'
mmalvezz Dec 15, 2023
08fcecb
Support Wallet expiring date and Conditions
ting-lan-wang Dec 15, 2023
522739b
Merge branch 'adb-support-conditions' into 'master'
ting-lan-wang Dec 15, 2023
7194e30
Feature/idesai/storage expansion
IshaanDesai45 Jan 25, 2024
e20c94a
Merge branch 'feature/idesai/storage_expansion' into 'master'
yunus-qureshi Jan 25, 2024
679b60e
Custom scripts
vatsrahul Feb 6, 2024
89b11ef
Merge branch 'customScripts' into 'master'
yunus-qureshi Feb 6, 2024
8fd6342
Feature/naberin/v1.1.0 release of DatabaseObserver v1.0.final
aberinnj Feb 13, 2024
b02ce95
Merge branch 'databaseobserver-v1.0.final' into 'master'
psaini79 Feb 13, 2024
d2490ac
Fix/idesai/rbac changes
IshaanDesai45 Feb 13, 2024
e2ccbb2
Merge branch 'fix/idesai/rbac_changes' into 'master'
yunus-qureshi Feb 13, 2024
877bcf5
Enhancement/idesai/root permissions fix
IshaanDesai45 Feb 14, 2024
b8563d1
Merge branch 'enhancement/idesai/root_permissions_fix' into 'master'
yunus-qureshi Feb 14, 2024
c7ee2dd
Multinamespaced support for operator deployment
IshaanDesai45 Feb 20, 2024
af4da38
Merge branch 'idesai_sidb_multinamespaced' into 'master'
psaini79 Feb 20, 2024
cd74587
Enhancement namespace webhook logic + updating ords images + updating…
IshaanDesai45 Feb 23, 2024
937eceb
Merge branch 'enhancement/idesai/webhook_logic' into 'master'
yunus-qureshi Feb 23, 2024
feb24c5
Added support for user defined sharding
Feb 23, 2024
d69eefd
Added fix
Feb 23, 2024
5d57f5e
Added fix
Feb 23, 2024
642c544
Changing ResourceRequirements to VolumeResourceRequirement
Feb 23, 2024
08a8f93
Replace ClusterRoleBinding to RoleBinding
Feb 23, 2024
993994a
Added fix
psaini79 Feb 24, 2024
5f3f7be
GO version 1.21.7
yunus-qureshi Feb 27, 2024
106384c
Merge branch 'enhancement/mqureshi/fix-go-compile' into 'master'
yunus-qureshi Feb 27, 2024
02b1984
Added fixes to handle cluster namescope
psaini79 Feb 27, 2024
f666a18
Added fixes for proxy role
psaini79 Feb 27, 2024
121dd2c
Generated new operator file
psaini79 Feb 27, 2024
aad4f43
Added fix for GSM2 region
psaini79 Feb 27, 2024
a292c16
Node watch and list priv for operator manager
IshaanDesai45 Feb 28, 2024
474afed
Merge branch 'idesai_node_priv' into 'master'
yunus-qureshi Feb 28, 2024
3f2f3cd
Documentation Bugs in OraOperator
vatsrahul Feb 28, 2024
85fc147
Merge branch 'rvats_bugfixes' into 'master'
yunus-qureshi Feb 28, 2024
49052bb
fixing dg_webhook
IshaanDesai45 Feb 29, 2024
f535f48
Merge branch 'idesai_dg_fix' into 'master'
yunus-qureshi Feb 29, 2024
301350d
Pdb cdb multinamespace
mmalvezz Mar 4, 2024
9101a7d
Merge branch 'pdb_cdb_multinamespace' into 'master'
mmalvezz Mar 4, 2024
691e78b
rm database.oracle.com_CDBS.yam and database.oracle.com_PDBS.yaml
Mar 6, 2024
570cc10
Merge branch 'mmalvezz' into 'master'
mmalvezz Mar 6, 2024
c6b1733
Idesai bugfix release v1.1
IshaanDesai45 Mar 7, 2024
8fe4920
Merge branch 'idesai_bugfix_release_v1.1' into 'master'
yunus-qureshi Mar 7, 2024
34634ac
Jyoti sharding docs changes
jpverma85 Mar 8, 2024
a32aa1d
Merge branch 'jyoti-sharding-docs-changes' into 'master'
psaini79 Mar 8, 2024
6557e41
add support for namspace scoped
ting-lan-wang Mar 11, 2024
9da58d7
Merge branch 'tinglwan-adb-multinamespace' into 'master'
ting-lan-wang Mar 11, 2024
0ded045
Rvats bugfixes
vatsrahul Mar 12, 2024
4e5f4b1
Merge branch 'rvats_bugfixes' into 'master'
yunus-qureshi Mar 12, 2024
9b4e95d
Minor syntax fixes and renamed Metric Exporter.
Kuassim Mar 13, 2024
2366b96
Fixing prebuilt sidb flow
IshaanDesai45 Mar 13, 2024
15dec08
Merge branch 'idesai_bugfix_36398929' into 'master'
yunus-qureshi Mar 13, 2024
127f2b4
pkeyutl secret change
jpverma85 Mar 14, 2024
f889287
Merge branch 'pkeyutl_secret' into 'master'
psaini79 Mar 14, 2024
7c0e4e4
Bugs and Doc Fixes for operator release v1.1.0
IshaanDesai45 Mar 14, 2024
090f0b8
Merge branch 'idesai_bug_doc_fix' into 'master'
yunus-qureshi Mar 14, 2024
131c4ba
Fixed BUG-36350588: error handling on CR fetch
aberinnj Mar 14, 2024
aa66dc0
Updated rbac for observability
aberinnj Mar 14, 2024
0cefe34
Rvats bugfixes
vatsrahul Mar 15, 2024
4854f75
Merge branch 'rvats_bugfixes' into 'master'
yunus-qureshi Mar 15, 2024
088c42b
Bug 36407635 - NULL POINTER IN SETDBCSSTATUS CAUSES OPERATOR TO CRASH
Mar 15, 2024
2cc32bd
Merge branch 'bug36407635' into 'master'
mmalvezz Mar 15, 2024
a25e5c6
dbcsdoc usecase01
Mar 15, 2024
564f1c9
Merge branch 'dbcsdoc' into 'master'
mmalvezz Mar 15, 2024
b075393
Tinglwan adb multinamespace
ting-lan-wang Mar 15, 2024
b73fcab
Merge branch 'tinglwan-adb-multinamespace' into 'master'
ting-lan-wang Mar 15, 2024
b61f540
Dg tcps validation
vatsrahul Mar 19, 2024
ab8cb3d
Merge branch 'dg-tcps-validation' into 'master'
yunus-qureshi Mar 19, 2024
4f17dcd
standby tcps validation
vatsrahul Mar 20, 2024
1f225ec
Merge branch 'dg-tcps-validation' into 'master'
yunus-qureshi Mar 20, 2024
375a587
Documentation Changes for v1.1.0 release
IshaanDesai45 Mar 20, 2024
d84aa16
Merge branch 'idesai_hotfix_36413221' into 'master'
yunus-qureshi Mar 20, 2024
1a7ef86
Update README.md
yunus-qureshi Mar 20, 2024
14edae3
Fix PV RBAC
yunus-qureshi Mar 21, 2024
52a0651
Merge branch 'enhancement/mqureshi/pv-watch' into 'master'
yunus-qureshi Mar 21, 2024
e5274d3
Same yaml fixes
yunus-qureshi Mar 21, 2024
23f18cf
Fix comments
yunus-qureshi Mar 21, 2024
704aa48
Merge branch 'bugfix/mqureshi/sample-yamls'
yunus-qureshi Mar 21, 2024
7639531
Update README.md
yunus-qureshi Mar 21, 2024
8391a57
Psaini sharding branch1
jpverma85 Mar 21, 2024
b1ef615
Merge branch 'psaini_sharding_branch1' into 'master'
psaini79 Mar 21, 2024
3ded387
Revert "Merge branch 'psaini_sharding_branch1' into 'master'"
psaini79 Mar 21, 2024
4fb8bdf
Enhancing event logs and sidb resource status updation
IshaanDesai45 Mar 22, 2024
7cda4e6
Merge branch 'idesai_enhance_spec_validation_event_primary_db' into '…
yunus-qureshi Mar 22, 2024
3fdc231
Including access and privileges that sidb controller requires in the …
IshaanDesai45 Mar 25, 2024
66f99cb
Merge branch 'idesai_doc_enh_role_priv' into 'master'
yunus-qureshi Mar 25, 2024
d3b1aab
Autonomous Database Controller doc changes
ting-lan-wang Mar 25, 2024
91af7fc
Merge branch 'tinglwan-doc-change' into 'master'
ting-lan-wang Mar 25, 2024
a1101f7
Updated README with security section
aberinnj Mar 25, 2024
b733129
Merge branch 'fix/databaseobserver-rbac-docs-fine-tune' into 'master'
ting-lan-wang Mar 25, 2024
9284c7d
Merge branch 'cleanup/databaseobserver-rbac-cleanup' into 'master'
yunus-qureshi Mar 26, 2024
293c4ee
Merge branch 'fix/databaseobserver-BUG-36350588' into 'master'
yunus-qureshi Mar 26, 2024
76be372
ReadMe fixes
yunus-qureshi Mar 26, 2024
0973179
Merge branch 'bugfix/mqureshi/36413631' into 'master'
yunus-qureshi Mar 26, 2024
0262633
update README file security details
s1saurabh Mar 26, 2024
7c3d07f
Merge branch 'permissions' into 'master'
psaini79 Mar 27, 2024
8ec216b
ReadMe update
yunus-qureshi Mar 28, 2024
713696b
Merge branch 'bugfix/mqureshi/36411472' into 'master'
yunus-qureshi Mar 28, 2024
9ad0784
Update PREREQUISITES.md
yunus-qureshi Mar 28, 2024
53e5b04
patch instructions
yunus-qureshi Mar 29, 2024
664abd3
Merge branch 'bugfix/mqureshi/patching-instructions' into 'master'
yunus-qureshi Mar 29, 2024
a6d3938
Patching Enhancements
IshaanDesai45 Mar 29, 2024
2291391
Merge branch 'idesai_dg_dat_file_loc_change' into 'master'
yunus-qureshi Mar 29, 2024
8a0de28
Tinglwan doc change
ting-lan-wang Mar 29, 2024
7acedc9
Merge branch 'tinglwan-doc-change' into 'master'
ting-lan-wang Mar 29, 2024
ca260cc
ReadMe update for uninstall
yunus-qureshi Apr 2, 2024
705a31b
Merge branch 'bugfix/mqureshi/36462833' into 'master'
yunus-qureshi Apr 2, 2024
c84fa7a
Bugfix/mqureshi/36454509
yunus-qureshi Apr 2, 2024
d5611d4
Merge branch 'bugfix/mqureshi/36454509' into 'master'
yunus-qureshi Apr 2, 2024
9b80b78
Dataguard Controller enhancements and bugfixes
IshaanDesai45 Apr 2, 2024
3e07911
Merge branch 'idesai_dg_bugfix' into 'master'
yunus-qureshi Apr 2, 2024
d85e312
Bugfixes/mqureshi/1.1.0
yunus-qureshi Apr 3, 2024
7305d50
Merge branch 'bugfixes/mqureshi/1.1.0' into 'master'
yunus-qureshi Apr 3, 2024
8b7c6fe
bugfix/idesai/36473360
IshaanDesai45 Apr 3, 2024
f59a9c1
Merge branch 'idesai_dg_bugfix_3' into 'master'
yunus-qureshi Apr 3, 2024
1d10080
Fix shutdown condition
yunus-qureshi Apr 4, 2024
a4b5dcf
Add comments
yunus-qureshi Apr 4, 2024
d486095
Fix standby validation
yunus-qureshi Apr 4, 2024
413eeb2
Merge branch 'bugfix/mqureshi/role' into 'master'
yunus-qureshi Apr 4, 2024
ca2aedd
Update README.md
yunus-qureshi Apr 5, 2024
c2fc6eb
Failover matrix
yunus-qureshi Apr 5, 2024
1ec674e
Merge branch 'bugfix/mqureshi/readme-32982850' into 'master'
yunus-qureshi Apr 5, 2024
92486d6
Added databaseobserver webhook
aberinnj Apr 8, 2024
4f25c62
Merge branch 'feature/databaseobserver-webhook' into 'master'
yunus-qureshi Apr 8, 2024
0d0a800
Update README.md Minor style updates
dwilliams-orcl Apr 15, 2024
4f1f29f
Merge branch 'douglas_williams-master-patch-74801' into 'master'
psaini79 Apr 16, 2024
e68e966
bug fix 36545873
Apr 24, 2024
4dff830
Merge branch 'bug_36545873' into 'master'
mmalvezz Apr 24, 2024
b23f486
Tinglwan merge workload pr
ting-lan-wang May 1, 2024
ee951f5
Merge branch 'tinglwan-merge-workload-pr' into 'master'
ting-lan-wang May 1, 2024
8461f68
Update README.md
ting-lan-wang May 1, 2024
6b8438e
patch/databaseobserver Docs
aberinnj May 1, 2024
e24228b
Merge branch 'patch/databaseobserver-docs' into 'master'
Kuassim May 1, 2024
fff2a74
Update THIRD_PARTY_LICENSES.txt
Kuassim May 2, 2024
10afd19
Updated Readme with Free 23ai and OKE workload Identify
Kuassim May 2, 2024
ced238e
changing 23c references to 23.3.0
IshaanDesai45 May 2, 2024
deb1740
Merge branch 'idesai_readme_version_fix' into 'master'
yunus-qureshi May 2, 2024
959da6a
Idesai readme version fix
yunus-qureshi May 2, 2024
d4d8f70
Merge branch 'idesai_readme_version_fix' into 'master'
yunus-qureshi May 2, 2024
71ac3d7
Update Readme.md
Kuassim May 2, 2024
6f287d8
Tinglwan bug 36349519
ting-lan-wang May 2, 2024
5972fec
Merge branch 'tinglwan_bug_36349519' into 'master'
ting-lan-wang May 2, 2024
e57cfb9
Update README.md
ting-lan-wang May 6, 2024
4815636
Added fix for bug
aberinnj May 7, 2024
732fb0e
use 23.4.0-8
May 16, 2024
7f60048
Merge branch 'useords23.1' into 'master'
mmalvezz May 16, 2024
370e888
Merge branch 'fix/databaseobserver/serivceport-bug' into 'master'
psaini79 May 16, 2024
769809f
update README.md
ting-lan-wang May 29, 2024
e9e7667
Documentation Changes to include openshift pre req
IshaanDesai45 Jul 4, 2024
eef5d69
Merge branch 'idesai_openshift_doc_changes' into 'master'
yunus-qureshi Jul 4, 2024
e953473
Documentation enhancements
IshaanDesai45 Jul 8, 2024
afc3674
Merge branch 'idesai_doc_enh' into 'master'
yunus-qureshi Jul 8, 2024
4d353df
Saurabh basedb
s1saurabh Jul 15, 2024
ec1b0fa
Merge branch 'saurabh_basedb' into 'master'
psaini79 Jul 15, 2024
aa36b61
Sidb resource management and node scheduling
IshaanDesai45 Jul 18, 2024
102b202
Merge branch 'idesai_resource_management' into 'master'
yunus-qureshi Jul 18, 2024
cac2a9a
Psaini sharding branch1
psaini79 Jul 29, 2024
a331d49
Merge branch 'psaini_sharding_branch1' into 'master'
psaini79 Jul 29, 2024
c1b7773
psaini_dbcs_branch1
psaini79 Jul 30, 2024
802d273
Merge branch 'revert-ec1b0fa4' into 'master'
psaini79 Jul 30, 2024
e9ea2bd
Update README.md
s1saurabh Jul 31, 2024
c65709c
Merge branch 'review_github_main_merge' into 'master'
psaini79 Jul 31, 2024
a0986d1
Added fixes
psaini79 Jul 31, 2024
7221671
Added fixes
psaini79 Jul 31, 2024
d94909c
fix bug36752628
Aug 13, 2024
6d79df4
Merge branch 'bug36752628' into 'master'
mmalvezz Aug 13, 2024
183a321
assertive approach on pdb deletion
Aug 19, 2024
87851c2
Merge branch 'assertive_delpdb' into 'master'
mmalvezz Aug 19, 2024
56b3bd6
Review sharding changes
psaini79 Aug 20, 2024
869a2a2
Merge branch 'Review-Sharding-Changes' into 'master'
psaini79 Aug 20, 2024
d4045a1
fix documentation broken links
mmalvezz Aug 20, 2024
12f053d
Merge branch 'fixdocissue' into 'master'
mmalvezz Aug 20, 2024
23ebf0b
Changes in config to create bundle for operatorhub
psilberk Aug 27, 2024
fef1e95
Merge branch 'operatorhub' into 'master'
psilberk Aug 27, 2024
d411bb1
Set default as FALSE for InvitedNodeSubnetFlag
tthathac Aug 28, 2024
d945d3d
Merge branch 'Review-bug36080527-fix' into 'master'
psaini79 Aug 28, 2024
3cd4429
Review bug36738203 fix
tthathac Aug 28, 2024
6b20f7e
Merge branch 'Review-bug36738203-fix' into 'master'
psaini79 Aug 28, 2024
df25575
Fix image repository
ting-lan-wang Aug 28, 2024
b8422c2
Update README.md (#99)
s1saurabh Sep 2, 2024
179b67a
Merge branch 'new_stuff2' into 'master'
psaini79 Sep 2, 2024
dd423ea
Merge remote-tracking branch 'gitlab-origin/master' into new_stuff
s1saurabh Sep 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ ARG BUILDER_IMG
FROM ${BUILDER_IMG} as builder

# Download golang if BUILD_INTERNAL is set to true
ARG INSTALL_GO
ARG GOLANG_VERSION
RUN if [ -n "$GOLANG_VERSION" ]; then \
RUN if [ "$INSTALL_GO" = "true" ]; then \
curl -LJO https://go.dev/dl/go${GOLANG_VERSION}.linux-amd64.tar.gz &&\
rm -rf /usr/local/go && tar -C /usr/local -xzf go${GOLANG_VERSION}.linux-amd64.tar.gz &&\
rm go${GOLANG_VERSION}.linux-amd64.tar.gz; \
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,10 @@ GOLANG_VERSION ?= 1.21.7
## Otherwise, use golang image from docker hub as the builder.
ifeq ($(BUILD_INTERNAL), true)
BUILDER_IMG = oraclelinux:8
BUILD_ARGS = --build-arg BUILDER_IMG=$(BUILDER_IMG) --build-arg GOLANG_VERSION=$(GOLANG_VERSION)
BUILD_ARGS = --build-arg BUILDER_IMG=$(BUILDER_IMG) --build-arg GOLANG_VERSION=$(GOLANG_VERSION) --build-arg INSTALL_GO=true
else
BUILDER_IMG = golang:$(GOLANG_VERSION)
BUILD_ARGS = --build-arg BUILDER_IMG=$(BUILDER_IMG)
BUILD_ARGS = --build-arg BUILDER_IMG=$(BUILDER_IMG) --build-arg INSTALL_GO=false
endif
docker-build: #manifests generate fmt vet #test ## Build docker image with the manager. Disable the test but keep the validations to fail fast
docker build --no-cache=true --build-arg http_proxy=$(HTTP_PROXY) --build-arg https_proxy=$(HTTPS_PROXY) \
Expand Down
15 changes: 14 additions & 1 deletion apis/database/v1alpha1/autonomousdatabase_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ import (

"github.com/oracle/oci-go-sdk/v65/common"
"github.com/oracle/oci-go-sdk/v65/database"
dbcommons "github.com/oracle/oracle-database-operator/commons/database"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
Expand Down Expand Up @@ -99,11 +100,23 @@ var _ webhook.Validator = &AutonomousDatabase{}
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
// ValidateCreate checks if the spec is valid for a provisioning or a binding operation
func (r *AutonomousDatabase) ValidateCreate() (admission.Warnings, error) {

var allErrs field.ErrorList

autonomousdatabaselog.Info("validate create", "name", r.Name)

namespaces := dbcommons.GetWatchNamespaces()
_, hasEmptyString := namespaces[""]
isClusterScoped := len(namespaces) == 1 && hasEmptyString
if !isClusterScoped {
_, containsNamespace := namespaces[r.Namespace]
// Check if the allowed namespaces maps contains the required namespace
if len(namespaces) != 0 && !containsNamespace {
allErrs = append(allErrs,
field.Invalid(field.NewPath("metadata").Child("namespace"), r.Namespace,
"Oracle database operator doesn't watch over this namespace"))
}
}

if r.Spec.Details.AutonomousDatabaseOCID == nil { // provisioning operation
allErrs = validateCommon(r, allErrs)
allErrs = validateNetworkAccess(r, allErrs)
Expand Down
3 changes: 2 additions & 1 deletion apis/database/v1alpha1/autonomousdatabasebackup_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ type AutonomousDatabaseBackupSpec struct {
Target TargetSpec `json:"target,omitempty"`
DisplayName *string `json:"displayName,omitempty"`
AutonomousDatabaseBackupOCID *string `json:"autonomousDatabaseBackupOCID,omitempty"`

IsLongTermBackup *bool `json:"isLongTermBackup,omitempty"`
RetentionPeriodInDays *int `json:"retentionPeriodInDays,omitempty"`
OCIConfig OCIConfigSpec `json:"ociConfig,omitempty"`
}

Expand Down
14 changes: 14 additions & 0 deletions apis/database/v1alpha1/autonomousdatabasebackup_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
package v1alpha1

import (
dbcommons "github.com/oracle/oracle-database-operator/commons/database"
apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
Expand Down Expand Up @@ -82,6 +83,19 @@ func (r *AutonomousDatabaseBackup) ValidateCreate() (admission.Warnings, error)

var allErrs field.ErrorList

namespaces := dbcommons.GetWatchNamespaces()
_, hasEmptyString := namespaces[""]
isClusterScoped := len(namespaces) == 1 && hasEmptyString
if !isClusterScoped {
_, containsNamespace := namespaces[r.Namespace]
// Check if the allowed namespaces maps contains the required namespace
if len(namespaces) != 0 && !containsNamespace {
allErrs = append(allErrs,
field.Invalid(field.NewPath("metadata").Child("namespace"), r.Namespace,
"Oracle database operator doesn't watch over this namespace"))
}
}

if r.Spec.Target.K8sADB.Name == nil && r.Spec.Target.OCIADB.OCID == nil {
allErrs = append(allErrs,
field.Forbidden(field.NewPath("spec").Child("target"), "target ADB is empty"))
Expand Down
2 changes: 1 addition & 1 deletion apis/database/v1alpha1/cdb_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ type CDBStatus struct {
// +kubebuilder:printcolumn:JSONPath=".spec.replicas",name="Replicas",type="integer",description="Replicas"
// +kubebuilder:printcolumn:JSONPath=".status.phase",name="Status",type="string",description="Status of the CDB Resource"
// +kubebuilder:printcolumn:JSONPath=".status.msg",name="Message",type="string",description="Error message, if any"
// +kubebuilder:resource:path=CDBS,scope=Namespaced
// +kubebuilder:resource:path=cdbs,scope=Namespaced

// CDB is the Schema for the cdbs API
type CDB struct {
Expand Down
2 changes: 1 addition & 1 deletion apis/database/v1alpha1/pdb_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ type PDBStatus struct {
// +kubebuilder:printcolumn:JSONPath=".status.totalSize",name="PDB Size",type="string",description="Total Size of the PDB"
// +kubebuilder:printcolumn:JSONPath=".status.phase",name="Status",type="string",description="Status of the PDB Resource"
// +kubebuilder:printcolumn:JSONPath=".status.msg",name="Message",type="string",description="Error message, if any"
// +kubebuilder:resource:path=PDBS,scope=Namespaced
// +kubebuilder:resource:path=pdbs,scope=Namespaced

// PDB is the Schema for the pdbs API
type PDB struct {
Expand Down
10 changes: 10 additions & 0 deletions apis/database/v1alpha1/zz_generated.deepcopy.go
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,16 @@ func (in *AutonomousDatabaseBackupSpec) DeepCopyInto(out *AutonomousDatabaseBack
*out = new(string)
**out = **in
}
if in.IsLongTermBackup != nil {
in, out := &in.IsLongTermBackup, &out.IsLongTermBackup
*out = new(bool)
**out = **in
}
if in.RetentionPeriodInDays != nil {
in, out := &in.RetentionPeriodInDays, &out.RetentionPeriodInDays
*out = new(int)
**out = **in
}
in.OCIConfig.DeepCopyInto(&out.OCIConfig)
}

Expand Down
2 changes: 2 additions & 0 deletions commons/oci/database.go
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,8 @@ func (d *databaseService) CreateAutonomousDatabaseBackup(adbBackup *dbv1alpha1.A
createBackupRequest := database.CreateAutonomousDatabaseBackupRequest{
CreateAutonomousDatabaseBackupDetails: database.CreateAutonomousDatabaseBackupDetails{
AutonomousDatabaseId: common.String(adbOCID),
IsLongTermBackup: adbBackup.Spec.IsLongTermBackup,
RetentionPeriodInDays: adbBackup.Spec.RetentionPeriodInDays,
},
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ spec:
type: string
displayName:
type: string
isLongTermBackup:
type: boolean
ociConfig:
description: "*********************** *\tOCI config ***********************"
properties:
Expand All @@ -69,6 +71,8 @@ spec:
secretName:
type: string
type: object
retentionPeriodInDays:
type: integer
target:
description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
Important: Run "make" to regenerate code after modifying this file'
Expand Down
27 changes: 27 additions & 0 deletions config/rbac/role.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,13 @@ rules:
verbs:
- create
- patch
- apiGroups:
- ""
resources:
- nodes
verbs:
- list
- watch
- apiGroups:
- ""
resources:
Expand Down Expand Up @@ -179,6 +186,26 @@ rules:
- patch
- update
- watch
- apiGroups:
- ""
resources:
- configmaps
- containers
- events
- namespaces
- pods
- pods/exec
- pods/log
- secrets
- services
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
Expand Down
29 changes: 13 additions & 16 deletions controllers/database/autonomousdatabase_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,32 +93,29 @@ func (r *AutonomousDatabaseReconciler) SetupWithManager(mgr ctrl.Manager) error
For(&dbv1alpha1.AutonomousDatabase{}).
Watches(
&dbv1alpha1.AutonomousDatabaseBackup{},
handler.EnqueueRequestsFromMapFunc(r.enqueueMapFn()),
handler.EnqueueRequestsFromMapFunc(r.enqueueMapFn),
).
Watches(
&dbv1alpha1.AutonomousDatabaseRestore{},
handler.EnqueueRequestsFromMapFunc(r.enqueueMapFn()),
handler.EnqueueRequestsFromMapFunc(r.enqueueMapFn),
).
WithEventFilter(predicate.And(r.eventFilterPredicate(), r.watchPredicate())).
WithOptions(controller.Options{MaxConcurrentReconciles: 50}). // ReconcileHandler is never invoked concurrently with the same object.
Complete(r)
}
func (r *AutonomousDatabaseReconciler) enqueueMapFn(ctx context.Context, o client.Object) []reconcile.Request {
reqs := make([]reconcile.Request, len(o.GetOwnerReferences()))

func (r *AutonomousDatabaseReconciler) enqueueMapFn() handler.MapFunc {
return func(ctx context.Context, o client.Object) []reconcile.Request {
reqs := make([]reconcile.Request, len(o.GetOwnerReferences()))

for _, owner := range o.GetOwnerReferences() {
reqs = append(reqs, reconcile.Request{
NamespacedName: types.NamespacedName{
Name: owner.Name,
Namespace: o.GetNamespace(),
},
})
}

return reqs
for _, owner := range o.GetOwnerReferences() {
reqs = append(reqs, reconcile.Request{
NamespacedName: types.NamespacedName{
Name: owner.Name,
Namespace: o.GetNamespace(),
},
})
}

return reqs
}

func (r *AutonomousDatabaseReconciler) watchPredicate() predicate.Predicate {
Expand Down