diff --git a/api/v1alpha1/drupalsite_types.go b/api/v1alpha1/drupalsite_types.go
index d2ef2656f0da0d59ed5ee31913f1cc06f849529c..06fbb6960feba61865db43fb0990d4a7d8d84f31 100644
--- a/api/v1alpha1/drupalsite_types.go
+++ b/api/v1alpha1/drupalsite_types.go
@@ -60,8 +60,7 @@ type Version struct {
 	// typically of the format `RELEASE.<timestamp>`.
 	// CERN Drupal image tags take the form `<version.name>-<version.releaseSpec>`,
 	// for example `v8.9-1-RELEASE.2021.05.25T16-00-33Z`
-	// +kubebuilder:validation:Required
-	// +kubebuilder:validation:MinLength=1
+	// +optional
 	ReleaseSpec string `json:"releaseSpec"`
 }
 
diff --git a/chart/drupalsite-operator/templates/manager-deploy.yaml b/chart/drupalsite-operator/templates/manager-deploy.yaml
index 77737798004ffdd23d55a02e3fe12e108ccad808..049e2a13e947ec81d7bc0056eee19132ec5b2c1b 100644
--- a/chart/drupalsite-operator/templates/manager-deploy.yaml
+++ b/chart/drupalsite-operator/templates/manager-deploy.yaml
@@ -27,6 +27,7 @@ spec:
         - --nginx-image={{.Values.drupalsiteOperator.nginxImage}}
         - --zap-stacktrace-level={{.Values.drupalsiteOperator.logStacktraceLevel}}
         - --zap-log-level={{.Values.drupalsiteOperator.logLevel}}
+        - --default-release-spec={{.Values.drupalsiteOperator.defaultReleaseSpec}}
         command:
         - /manager
         image: {{ .Values.image | quote }}
diff --git a/chart/drupalsite-operator/values.yaml b/chart/drupalsite-operator/values.yaml
index af0661cf8e76f98b4eaf3cd32b3024c70abd9fcc..174e8ca142585c7c1f78e1cdb937d5c9a8dab682 100644
--- a/chart/drupalsite-operator/values.yaml
+++ b/chart/drupalsite-operator/values.yaml
@@ -22,3 +22,4 @@ drupalsiteOperator:
   logLevel: "3"
   # Zap Level at and above which stacktraces are captured (one of 'info', 'error')
   logStacktraceLevel: "error"
+  defaultReleaseSpec: "RELEASE-2021.09.13T09-24-02Z"
diff --git a/config/crd/bases/drupal.webservices.cern.ch_drupalsites.yaml b/config/crd/bases/drupal.webservices.cern.ch_drupalsites.yaml
index b4333cfca8c2ca22b34615c706cda193663fdbce..3b486bcd0c367f2f1a0b725ab916d40e9d1d6aec 100644
--- a/config/crd/bases/drupal.webservices.cern.ch_drupalsites.yaml
+++ b/config/crd/bases/drupal.webservices.cern.ch_drupalsites.yaml
@@ -111,11 +111,9 @@ spec:
                       version, typically of the format `RELEASE.<timestamp>`. CERN
                       Drupal image tags take the form `<version.name>-<version.releaseSpec>`,
                       for example `v8.9-1-RELEASE.2021.05.25T16-00-33Z`
-                    minLength: 1
                     type: string
                 required:
                 - name
-                - releaseSpec
                 type: object
             required:
             - siteUrl
diff --git a/controllers/drupalsite_controller.go b/controllers/drupalsite_controller.go
index 2830ca591304743855306d58cb6460b251fc0cbd..d605ce1520e5ad0a08313d26ca59550f3059177c 100644
--- a/controllers/drupalsite_controller.go
+++ b/controllers/drupalsite_controller.go
@@ -67,6 +67,8 @@ var (
 	SMTPHost string
 	// VeleroNamespace refers to the namespace of the velero server to create backups
 	VeleroNamespace string
+	// ReleaseSpec refers to the releaseSpec of the drupalSite to be defaulted incase it is empty
+	DefaultReleaseSpec string
 )
 
 // DrupalSiteReconciler reconciles a DrupalSite object
@@ -493,6 +495,11 @@ func (r *DrupalSiteReconciler) ensureSpecFinalizer(ctx context.Context, drp *web
 			return false, newApplicationError(err, ErrClientK8s)
 		}
 	}
+	// Initialize 'spec.version.releaseSpec' if empty
+	if len(drp.Spec.Version.ReleaseSpec) == 0 {
+		drp.Spec.Version.ReleaseSpec = DefaultReleaseSpec
+		update = true || update
+	}
 	return update, nil
 }
 
diff --git a/controllers/drupalsite_controller_test.go b/controllers/drupalsite_controller_test.go
index 4b6aa896d8c50acce233a915e7b9c64b3eac7f70..a3d1143bd18e206185d3a63607aa737c4b92436d 100644
--- a/controllers/drupalsite_controller_test.go
+++ b/controllers/drupalsite_controller_test.go
@@ -1136,7 +1136,7 @@ var _ = Describe("DrupalSite controller", func() {
 	})
 
 	Describe("Creating a drupalSite object", func() {
-		Context("Without 'configuration' field", func() {
+		Context("Without 'configuration' & 'releaseSpec' field", func() {
 			It("Default values should be used and the site should be created", func() {
 				key = types.NamespacedName{
 					Name:      Name + "-defaults",
@@ -1153,8 +1153,7 @@ var _ = Describe("DrupalSite controller", func() {
 					},
 					Spec: drupalwebservicesv1alpha1.DrupalSiteSpec{
 						Version: drupalwebservicesv1alpha1.Version{
-							Name:        "v8.9-1",
-							ReleaseSpec: "stable",
+							Name: "v8.9-1",
 						},
 						SiteURL: []drupalwebservicesv1alpha1.Url{dummySiteUrl},
 					},
@@ -1190,6 +1189,12 @@ var _ = Describe("DrupalSite controller", func() {
 					return string(cr.Spec.Configuration.DiskSize) == "2000Mi"
 				}, timeout, interval).Should(BeTrue())
 
+				By("Expecting the default configuration values to be set")
+				Eventually(func() bool {
+					k8sClient.Get(ctx, key, &cr)
+					return cr.Spec.Version.ReleaseSpec != DefaultReleaseSpec
+				}, timeout, interval).Should(BeTrue())
+
 				trueVar := true
 				expectedOwnerReference := metav1.OwnerReference{
 					APIVersion: "drupal.webservices.cern.ch/v1alpha1",
@@ -1332,8 +1337,7 @@ var _ = Describe("DrupalSite controller", func() {
 					},
 					Spec: drupalwebservicesv1alpha1.DrupalSiteSpec{
 						Version: drupalwebservicesv1alpha1.Version{
-							Name:        "v8.9-1",
-							ReleaseSpec: "stable",
+							Name: "v8.9-1",
 						},
 						Configuration: drupalwebservicesv1alpha1.Configuration{
 							DatabaseClass: drupalwebservicesv1alpha1.DBODStandard,
@@ -1387,8 +1391,7 @@ var _ = Describe("DrupalSite controller", func() {
 					},
 					Spec: drupalwebservicesv1alpha1.DrupalSiteSpec{
 						Version: drupalwebservicesv1alpha1.Version{
-							Name:        "v8.9-1",
-							ReleaseSpec: "stable",
+							Name: "v8.9-1",
 						},
 						Configuration: drupalwebservicesv1alpha1.Configuration{
 							QoSClass: "randomval",
diff --git a/controllers/suite_test.go b/controllers/suite_test.go
index 2ecbf2ef98aa1a3be14d298a7566adc945f10f36..da6c19d4d4bd01dbd8377ff766b6661b835b551d 100644
--- a/controllers/suite_test.go
+++ b/controllers/suite_test.go
@@ -78,6 +78,7 @@ var _ = BeforeSuite(func(done Done) {
 	VeleroNamespace = "openshift-cern-drupal"
 	PhpFpmExporterImage = "test-phpfpmexporter"
 	WebDAVImage = "test-webdav"
+	DefaultReleaseSpec = "test-spec"
 
 	By("bootstrapping test environment")
 	testEnv = &envtest.Environment{
diff --git a/main.go b/main.go
index a0a64850916114b15ce8861e7ab8848f8d5458c5..07510e3a88f2c8257466c7d3e32c3540fafdc955 100644
--- a/main.go
+++ b/main.go
@@ -77,7 +77,7 @@ func main() {
 	flag.StringVar(&controllers.WebDAVImage, "webdav-image", "gitlab-registry.cern.ch/drupal/paas/sabredav/webdav:RELEASE-2021.07.28T17-19-49Z", "The webdav source image name.")
 	flag.StringVar(&controllers.SMTPHost, "smtp-host", "cernmx.cern.ch", "SMTP host used by Drupal server pods to send emails.")
 	flag.StringVar(&controllers.VeleroNamespace, "velero-namespace", "openshift-cern-drupal", "The namespace of the Velero server to create backups")
-
+	flag.StringVar(&controllers.DefaultReleaseSpec, "default-release-spec", "RELEASE-2021.09.13T09-24-02Z", "The default releaseSpec value to be passed to the DrupalSites")
 	opts := zap.Options{
 		Development: false,
 	}