diff --git a/sxc/10.3/k8s-commerce-xc1/bizfx.yaml b/sxc/10.3/k8s-commerce-xc1/bizfx.yaml new file mode 100644 index 0000000..40a6949 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/bizfx.yaml @@ -0,0 +1,93 @@ +apiVersion: v1 +kind: Service +metadata: + name: bizfx +spec: + selector: + app: bizfx + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: bizfx + labels: + app: bizfx +spec: + replicas: 1 + selector: + matchLabels: + app: bizfx + template: + metadata: + labels: + app: bizfx + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xc-bizfx + image: sitecore-xc-bizfx + ports: + - containerPort: 80 + env: + - name: sitecore_xc_bizfx_default_language + valueFrom: + secretKeyRef: + name: commerce-bizfx + key: commerce-bizfx-language.txt + - name: sitecore_xc_bizfx_default_currency + valueFrom: + secretKeyRef: + name: commerce-bizfx + key: commerce-bizfx-currency.txt + - name: sitecore_xc_bizfx_default_shopname + valueFrom: + secretKeyRef: + name: commerce-bizfx + key: commerce-bizfx-shopname.txt + - name: sitecore_xc_bizfx_bizfx_url + value: https://$(bizfx-hostname) + - name: sitecore_xc_bizfx_authoring_url + value: https://$(engine-authoring-hostname) + - name: sitecore_xc_bizfx_identity_server_url + value: https://$(id-hostname) + livenessProbe: + httpGet: + path: / + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: / + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\inetpub\logs + name: logs + subPath: bizfx + resources: + requests: + memory: 200Mi + cpu: 50m + limits: + memory: 1Gi + cpu: 200m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/cd.yaml b/sxc/10.3/k8s-commerce-xc1/cd.yaml new file mode 100644 index 0000000..24b55b1 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/cd.yaml @@ -0,0 +1,246 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: cd-config-storage +spec: + accessModes: + - ReadWriteMany + storageClassName: azurefile + resources: + requests: + storage: 1Gi +--- +apiVersion: v1 +kind: Service +metadata: + name: cd +spec: + selector: + app: cd + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cd + labels: + app: cd +spec: + replicas: 1 + selector: + matchLabels: + app: cd + template: + metadata: + labels: + app: cd + spec: + nodeSelector: + kubernetes.io/os: windows + initContainers: + - name: wait-xdbcollection + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbcollection/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbautomation + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbautomation/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbautomationrpt + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbautomationrpt/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbrefdata + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbrefdata/healthz/ready).StatusCode -eq 200} catch { $false }));"] + containers: + - name: sitecore-xc1-cd + image: sitecore-xc1-cd + ports: + - containerPort: 80 + env: + - name: Sitecore_InstanceName + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Core_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-core-database-username.txt + - name: Core_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-core-database-password.txt + - name: Web_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-web-database-username.txt + - name: Web_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-web-database-password.txt + - name: Forms_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-forms-database-username.txt + - name: Forms_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-forms-database-password.txt + - name: Exm_Master_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-exm-master-database-username.txt + - name: Exm_Master_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-exm-master-database-password.txt + - name: Messaging_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-username.txt + - name: Messaging_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-password.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: LOG_LEVEL_VALUE + valueFrom: + secretKeyRef: + name: sitecore-log-level + key: sitecore-log-level-value.txt + - name: Sitecore_xc_Client_Secret_Hash + valueFrom: + secretKeyRef: + name: commerce-connect-client + key: commerce-connect-clientsecret.txt + - name: Sitecore_ConnectionStrings_Security + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_ConnectionStrings_Web + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Web;User ID=$(Web_Database_Username);Password=$(Web_Database_Password); + - name: Sitecore_ConnectionStrings_Messaging + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Messaging;User ID=$(Messaging_Database_Username);Password=$(Messaging_Database_Password); + - name: Sitecore_ConnectionStrings_ExperienceForms + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).ExperienceForms;User ID=$(Forms_Database_Username);Password=$(Forms_Database_Password); + - name: Sitecore_ConnectionStrings_Exm.Master + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Exm.master;User ID=$(Exm_Master_Database_Username);Password=$(Exm_Master_Database_Password); + - name: Sitecore_ConnectionStrings_Solr.Search + valueFrom: + secretKeyRef: + name: sitecore-solr + key: sitecore-solr-connection-string.txt + - name: Sitecore_ConnectionStrings_XConnect.Collection + value: http://xdbcollection + - name: Sitecore_ConnectionStrings_Xdb.MarketingAutomation.Operations.Client + value: http://xdbautomation + - name: Sitecore_ConnectionStrings_Xdb.MarketingAutomation.Reporting.Client + value: http://xdbautomationrpt + - name: Sitecore_ConnectionStrings_Xdb.ReferenceData.Client + value: http://xdbrefdata + - name: Sitecore_ConnectionStrings_Redis.Sessions + valueFrom: + secretKeyRef: + name: sitecore-redis + key: sitecore-redis-connection-string.txt + - name: Sitecore_Analytics_Forwarded_Request_Http_Header + value: X-Forwarded-For + - name: SOLR_CORE_PREFIX_NAME + valueFrom: + secretKeyRef: + name: sitecore-solr + key: sitecore-solr-core-prefix-name.txt + - name: MEDIA_REQUEST_PROTECTION_SHARED_SECRET + valueFrom: + secretKeyRef: + name: sitecore-protect-media-requests + key: sitecore-media-request-protection-shared-secret.txt + - name: Sitecore_Identity_Server_Authority + value: https://$(id-hostname) + - name: Sitecore_Identity_Server_InternalAuthority + value: http://id + - name: Sitecore_xc_Minions_Url + value: http://engine-minions:5000/commerceops/ + - name: Sitecore_xc_Ops_Url + value: http://engine-authoring:5000/commerceops/ + - name: Sitecore_xc_Shops_Url + value: http://engine-shops:5000/api/ + - name: Sitecore_xc_ConnectionStrings_Redis + valueFrom: + secretKeyRef: + name: commerce-redis + key: commerce-connect-redis-connection-string.txt + livenessProbe: + httpGet: + path: /healthz/live + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /healthz/ready + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\inetpub\wwwroot\App_Data\Submit Queue + name: submit-queue + - mountPath: C:\inetpub\wwwroot\App_Data\logs + name: logs + subPath: cd + - mountPath: C:\inetpub\wwwroot\App_Data\DeviceDetection + name: device-detection + - mountPath: "/inetpub/wwwroot/App_Config/Security-Shared" + name: config-storage-volume + resources: + requests: + memory: 2Gi + cpu: 2000m + limits: + memory: 4Gi + cpu: 8000m + volumes: + - name: submit-queue + persistentVolumeClaim: + claimName: submit-queue + - name: logs + persistentVolumeClaim: + claimName: logs + - name: device-detection + persistentVolumeClaim: + claimName: device-detection + - name: config-storage-volume + persistentVolumeClaim: + claimName: cd-config-storage + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/cm.yaml b/sxc/10.3/k8s-commerce-xc1/cm.yaml new file mode 100644 index 0000000..bfef1d3 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/cm.yaml @@ -0,0 +1,324 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: cm-config-storage +spec: + accessModes: + - ReadWriteMany + storageClassName: azurefile + resources: + requests: + storage: 1Gi +--- +apiVersion: v1 +kind: Service +metadata: + name: cm +spec: + selector: + app: cm + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cm + labels: + app: cm +spec: + replicas: 1 + selector: + matchLabels: + app: cm + template: + metadata: + labels: + app: cm + spec: + nodeSelector: + kubernetes.io/os: windows + initContainers: + - name: wait-xdbcollection + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbcollection/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbsearch + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbsearch/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-cortexreporting + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://cortexreporting/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-cortexprocessing + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://cortexprocessing/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbautomation + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbautomation/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbautomationrpt + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbautomationrpt/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbrefdata + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbrefdata/healthz/ready).StatusCode -eq 200} catch { $false }));"] + containers: + - name: sitecore-xc1-cm + image: sitecore-xc1-cm + ports: + - containerPort: 80 + env: + - name: Sitecore_InstanceName + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Master_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-master-database-username.txt + - name: Master_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-master-database-password.txt + - name: Core_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-core-database-username.txt + - name: Core_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-core-database-password.txt + - name: Web_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-web-database-username.txt + - name: Web_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-web-database-password.txt + - name: Forms_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-forms-database-username.txt + - name: Forms_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-forms-database-password.txt + - name: Exm_Master_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-exm-master-database-username.txt + - name: Exm_Master_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-exm-master-database-password.txt + - name: Messaging_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-username.txt + - name: Messaging_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-password.txt + - name: Reporting_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reporting-database-username.txt + - name: Reporting_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reporting-database-password.txt + - name: Reference_Data_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-username.txt + - name: Reference_Data_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-password.txt + - name: Sitecore_ConnectionStrings_Sitecoreidentity.secret + valueFrom: + secretKeyRef: + name: sitecore-identity + key: sitecore-identitysecret.txt + - name: Sitecore_AppSettings_Telerik.AsyncUpload.ConfigurationEncryptionKey + valueFrom: + secretKeyRef: + name: sitecore-telerik + key: sitecore-telerikencryptionkey.txt + - name: Sitecore_AppSettings_Telerik.Upload.ConfigurationHashKey + valueFrom: + secretKeyRef: + name: sitecore-telerik + key: sitecore-telerikencryptionkey.txt + - name: Sitecore_AppSettings_Telerik.Web.UI.DialogParametersEncryptionKey + valueFrom: + secretKeyRef: + name: sitecore-telerik + key: sitecore-telerikencryptionkey.txt + - name: Sitecore_ConnectionStrings_Reporting.ApiKey + valueFrom: + secretKeyRef: + name: sitecore-reporting + key: sitecore-reportingapikey.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: LOG_LEVEL_VALUE + valueFrom: + secretKeyRef: + name: sitecore-log-level + key: sitecore-log-level-value.txt + - name: Sitecore_xc_Client_Secret_Hash + valueFrom: + secretKeyRef: + name: commerce-connect-client + key: commerce-connect-clientsecret.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sitecore_ConnectionStrings_Core + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_ConnectionStrings_Security + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_ConnectionStrings_Master + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Master;User ID=$(Master_Database_Username);Password=$(Master_Database_Password); + - name: Sitecore_ConnectionStrings_Web + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Web;User ID=$(Web_Database_Username);Password=$(Web_Database_Password); + - name: Sitecore_ConnectionStrings_Messaging + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Messaging;User ID=$(Messaging_Database_Username);Password=$(Messaging_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Referencedata;User ID=$(Reference_Data_Database_Username);Password=$(Reference_Data_Database_Password); + - name: Sitecore_ConnectionStrings_ExperienceForms + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).ExperienceForms;User ID=$(Forms_Database_Username);Password=$(Forms_Database_Password); + - name: Sitecore_ConnectionStrings_Exm.Master + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Exm.master;User ID=$(Exm_Master_Database_Username);Password=$(Exm_Master_Database_Password); + - name: Sitecore_ConnectionStrings_Reporting + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Reporting;User ID=$(Reporting_Database_Username);Password=$(Reporting_Database_Password); + - name: Sitecore_ConnectionStrings_Sitecore.Reporting.Client + value: http://cortexreporting + - name: Sitecore_ConnectionStrings_Cortex.Processing.Engine + value: http://cortexprocessing + - name: Sitecore_ConnectionStrings_Solr.Search + valueFrom: + secretKeyRef: + name: sitecore-solr + key: sitecore-solr-connection-string.txt + - name: Sitecore_ConnectionStrings_XConnect.Collection + value: http://xdbcollection + - name: Sitecore_ConnectionStrings_XConnect.Search + value: http://xdbsearch + - name: Sitecore_ConnectionStrings_Xdb.MarketingAutomation.Operations.Client + value: http://xdbautomation + - name: Sitecore_ConnectionStrings_Xdb.MarketingAutomation.Reporting.Client + value: http://xdbautomationrpt + - name: Sitecore_ConnectionStrings_Xdb.ReferenceData.Client + value: http://xdbrefdata + - name: Sitecore_Processing_Service_Url + value: http://prc + - name: Sitecore_Processing_Service_Require_Https + value: 'false' + - name: Sitecore_GraphQL_Enabled + value: "false" + - name: Sitecore_GraphQL_ExposePlayground + value: "false" + - name: Sitecore_GraphQL_UploadMediaOptions_EncryptionKey + valueFrom: + secretKeyRef: + name: sitecore-graphql + key: sitecore-graphql-uploadmedia_encryptionkey.txt + - name: Sitecore_Identity_Server_Authority + value: https://$(id-hostname) + - name: Sitecore_Identity_Server_CallbackAuthority + value: https://$(cm-hostname) + - name: Sitecore_Identity_Server_InternalAuthority + value: http://id + - name: Sitecore_Identity_Server_Require_Https + value: "false" + - name: SOLR_CORE_PREFIX_NAME + valueFrom: + secretKeyRef: + name: sitecore-solr + key: sitecore-solr-core-prefix-name.txt + - name: MEDIA_REQUEST_PROTECTION_SHARED_SECRET + valueFrom: + secretKeyRef: + name: sitecore-protect-media-requests + key: sitecore-media-request-protection-shared-secret.txt + - name: Sitecore_xc_Minions_Url + value: http://engine-minions:5000/commerceops/ + - name: Sitecore_xc_Ops_Url + value: http://engine-authoring:5000/commerceops/ + - name: Sitecore_xc_Shops_Url + value: http://engine-authoring:5000/api/ + - name: Sitecore_xc_ConnectionStrings_Redis + valueFrom: + secretKeyRef: + name: commerce-redis + key: commerce-connect-redis-connection-string.txt + livenessProbe: + httpGet: + path: /healthz/live + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /healthz/ready + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + resources: + requests: + memory: 2Gi + cpu: 1800m + limits: + memory: 4Gi + cpu: 6000m + volumeMounts: + - mountPath: C:\inetpub\wwwroot\App_Data\logs + name: logs + subPath: cm + - mountPath: "/inetpub/wwwroot/App_Config/Security-Shared" + name: config-storage-volume + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + - name: config-storage-volume + persistentVolumeClaim: + claimName: cm-config-storage + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/configmaps/bizfx-hostname b/sxc/10.3/k8s-commerce-xc1/configmaps/bizfx-hostname new file mode 100644 index 0000000..921b34c --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/configmaps/bizfx-hostname @@ -0,0 +1 @@ +bizfx.globalhost \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/configmaps/cd-hostname b/sxc/10.3/k8s-commerce-xc1/configmaps/cd-hostname new file mode 100644 index 0000000..d6c7cb7 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/configmaps/cd-hostname @@ -0,0 +1 @@ +cd.globalhost \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/configmaps/cm-hostname b/sxc/10.3/k8s-commerce-xc1/configmaps/cm-hostname new file mode 100644 index 0000000..3d05b3f --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/configmaps/cm-hostname @@ -0,0 +1 @@ +cm.globalhost \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/configmaps/engine-authoring-hostname b/sxc/10.3/k8s-commerce-xc1/configmaps/engine-authoring-hostname new file mode 100644 index 0000000..53eb61f --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/configmaps/engine-authoring-hostname @@ -0,0 +1 @@ +authoring.globalhost \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/configmaps/engine-minions-hostname b/sxc/10.3/k8s-commerce-xc1/configmaps/engine-minions-hostname new file mode 100644 index 0000000..6201e8c --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/configmaps/engine-minions-hostname @@ -0,0 +1 @@ +minions.globalhost \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/configmaps/engine-shops-hostname b/sxc/10.3/k8s-commerce-xc1/configmaps/engine-shops-hostname new file mode 100644 index 0000000..7e3440a --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/configmaps/engine-shops-hostname @@ -0,0 +1 @@ +shops.globalhost \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/configmaps/id-hostname b/sxc/10.3/k8s-commerce-xc1/configmaps/id-hostname new file mode 100644 index 0000000..1e750d1 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/configmaps/id-hostname @@ -0,0 +1 @@ +id.globalhost \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/configmaps/kustomization.yaml b/sxc/10.3/k8s-commerce-xc1/configmaps/kustomization.yaml new file mode 100644 index 0000000..b98f5b0 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/configmaps/kustomization.yaml @@ -0,0 +1,67 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +generatorOptions: + disableNameSuffixHash: true + +configMapGenerator: +- name: sitecore-hostnames + files: + - cd-hostname + - cm-hostname + - id-hostname + - bizfx-hostname + - engine-authoring-hostname + - engine-minions-hostname + - engine-shops-hostname + +vars: +- name: cd-hostname + objref: + kind: ConfigMap + name: sitecore-hostnames + apiVersion: v1 + fieldref: + fieldpath: data.cd-hostname +- name: cm-hostname + objref: + kind: ConfigMap + name: sitecore-hostnames + apiVersion: v1 + fieldref: + fieldpath: data.cm-hostname +- name: id-hostname + objref: + kind: ConfigMap + name: sitecore-hostnames + apiVersion: v1 + fieldref: + fieldpath: data.id-hostname +- name: bizfx-hostname + objref: + kind: ConfigMap + name: sitecore-hostnames + apiVersion: v1 + fieldref: + fieldpath: data.bizfx-hostname +- name: engine-authoring-hostname + objref: + kind: ConfigMap + name: sitecore-hostnames + apiVersion: v1 + fieldref: + fieldpath: data.engine-authoring-hostname +- name: engine-minions-hostname + objref: + kind: ConfigMap + name: sitecore-hostnames + apiVersion: v1 + fieldref: + fieldpath: data.engine-minions-hostname +- name: engine-shops-hostname + objref: + kind: ConfigMap + name: sitecore-hostnames + apiVersion: v1 + fieldref: + fieldpath: data.engine-shops-hostname \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/cortexprocessing.yaml b/sxc/10.3/k8s-commerce-xc1/cortexprocessing.yaml new file mode 100644 index 0000000..a68bc3b --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/cortexprocessing.yaml @@ -0,0 +1,111 @@ +apiVersion: v1 +kind: Service +metadata: + name: cortexprocessing +spec: + selector: + app: cortexprocessing + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cortexprocessing + labels: + app: cortexprocessing +spec: + replicas: 1 + selector: + matchLabels: + app: cortexprocessing + template: + metadata: + labels: + app: cortexprocessing + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xp1-cortexprocessing + image: sitecore-xp1-cortexprocessing + ports: + - containerPort: 80 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Processing_Engine_Tasks_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-engine-tasks-database-username.txt + - name: Processing_Engine_Tasks_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-engine-tasks-database-password.txt + - name: Processing_Engine_Storage_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-engine-storage-database-username.txt + - name: Processing_Engine_Storage_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-engine-storage-database-password.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sitecore_ConnectionStrings_Processing.Engine.Storage + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Processing.Engine.Storage;User ID=$(Processing_Engine_Storage_Database_Username);Password=$(Processing_Engine_Storage_Database_Password); + - name: Sitecore_ConnectionStrings_Processing.Engine.Tasks + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Processing.Engine.Tasks;User ID=$(Processing_Engine_Tasks_Database_Username);Password=$(Processing_Engine_Tasks_Database_Password); + livenessProbe: + httpGet: + path: /healthz/live + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /healthz/ready + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\inetpub\wwwroot\App_Data\logs + name: logs + subPath: cortexprocessing + resources: + requests: + memory: 500Mi + cpu: 100m + limits: + memory: 1Gi + cpu: 300m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/cortexprocessingworker.yaml b/sxc/10.3/k8s-commerce-xc1/cortexprocessingworker.yaml new file mode 100644 index 0000000..ead01d8 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/cortexprocessingworker.yaml @@ -0,0 +1,134 @@ +apiVersion: v1 +kind: Service +metadata: + name: cortexprocessingworker +spec: + selector: + app: cortexprocessingworker + ports: + - protocol: TCP + port: 8080 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cortexprocessingworker + labels: + app: cortexprocessingworker +spec: + replicas: 1 + selector: + matchLabels: + app: cortexprocessingworker + template: + metadata: + labels: + app: cortexprocessingworker + spec: + nodeSelector: + kubernetes.io/os: windows + initContainers: + - name: wait-xdbcollection + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbcollection/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbsearch + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbsearch/healthz/ready).StatusCode -eq 200} catch { $false }));"] + containers: + - name: sitecore-xp1-cortexprocessingworker + image: sitecore-xp1-cortexprocessingworker + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Processing_Engine_Tasks_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-engine-tasks-database-username.txt + - name: Processing_Engine_Tasks_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-engine-tasks-database-password.txt + - name: Processing_Engine_Storage_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-engine-storage-database-username.txt + - name: Processing_Engine_Storage_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-engine-storage-database-password.txt + - name: Reporting_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reporting-database-username.txt + - name: Reporting_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reporting-database-password.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sitecore_ConnectionStrings_Processing.Engine.Storage + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Processing.Engine.Storage;User ID=$(Processing_Engine_Storage_Database_Username);Password=$(Processing_Engine_Storage_Database_Password); + - name: Sitecore_ConnectionStrings_Processing.Engine.Tasks + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Processing.Engine.Tasks;User ID=$(Processing_Engine_Tasks_Database_Username);Password=$(Processing_Engine_Tasks_Database_Password); + - name: Sitecore_ConnectionStrings_Processing.Webapi.Blob + value: http://cortexprocessing + - name: Sitecore_ConnectionStrings_Processing.Webapi.Table + value: http://cortexprocessing + - name: Sitecore_ConnectionStrings_Xconnect.Collection + value: http://xdbcollection + - name: Sitecore_ConnectionStrings_Xconnect.Configuration + value: http://xdbcollection + - name: Sitecore_ConnectionStrings_XConnect.Search + value: http://xdbsearch + - name: Sitecore_ConnectionStrings_Reporting + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Reporting;User ID=$(Reporting_Database_Username);Password=$(Reporting_Database_Password); + livenessProbe: + exec: + command: + - curl + - http://localhost:8080/healthz/live + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + exec: + command: + - curl + - http://localhost:8080/healthz/ready + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\service\App_Data\Logs + name: logs + subPath: cortexprocessingworker + resources: + requests: + memory: 200Mi + cpu: 100m + limits: + memory: 1Gi + cpu: 300m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/cortexreporting.yaml b/sxc/10.3/k8s-commerce-xc1/cortexreporting.yaml new file mode 100644 index 0000000..83de04d --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/cortexreporting.yaml @@ -0,0 +1,99 @@ +apiVersion: v1 +kind: Service +metadata: + name: cortexreporting +spec: + selector: + app: cortexreporting + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: cortexreporting + labels: + app: cortexreporting +spec: + replicas: 1 + selector: + matchLabels: + app: cortexreporting + template: + metadata: + labels: + app: cortexreporting + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xp1-cortexreporting + image: sitecore-xp1-cortexreporting + ports: + - containerPort: 80 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Reporting_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reporting-database-username.txt + - name: Reporting_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reporting-database-password.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sitecore_ConnectionStrings_Reporting + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Reporting;User ID=$(Reporting_Database_Username);Password=$(Reporting_Database_Password); + livenessProbe: + httpGet: + path: /healthz/live + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /healthz/ready + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\inetpub\wwwroot\App_Data\logs + name: logs + subPath: cortexreporting + resources: + requests: + memory: 500Mi + cpu: 100m + limits: + memory: 1Gi + cpu: 300m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/engine-authoring.yaml b/sxc/10.3/k8s-commerce-xc1/engine-authoring.yaml new file mode 100644 index 0000000..063c9c6 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/engine-authoring.yaml @@ -0,0 +1,227 @@ +apiVersion: v1 +kind: Service +metadata: + name: engine-authoring +spec: + selector: + app: engine-authoring + ports: + - protocol: TCP + port: 5000 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: engine-authoring + labels: + app: engine-authoring +spec: + replicas: 1 + selector: + matchLabels: + app: engine-authoring + template: + metadata: + labels: + app: engine-authoring + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xc-engine + image: sitecore-xc-engine + ports: + - containerPort: 5000 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: SOLR_CORE_PREFIX_NAME + valueFrom: + secretKeyRef: + name: sitecore-solr + key: sitecore-solr-core-prefix-name.txt + - name: COMMERCEENGINE_AppSettings__DeploymentId + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: COMMERCEENGINE_CommerceConnector__ClientId + valueFrom: + secretKeyRef: + name: commerce-connect-client + key: commerce-connect-clientid.txt + - name: COMMERCEENGINE_GlobalDatabaseUserName + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseusername.txt + - name: COMMERCEENGINE_GlobalDatabasePassword + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databasepassword.txt + - name: COMMERCEENGINE_SharedDatabaseUserName + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseusername.txt + - name: COMMERCEENGINE_SharedDatabasePassword + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databasepassword.txt + - name: COMMERCEENGINE_SitecorePassword + valueFrom: + secretKeyRef: + name: sitecore-admin + key: sitecore-adminpassword.txt + - name: COMMERCEENGINE_BraintreeEnvironment + valueFrom: + secretKeyRef: + name: commerce-braintree + key: commerce-engine-braintreeenvironment.txt + - name: COMMERCEENGINE_BraintreeMerchantId + valueFrom: + secretKeyRef: + name: commerce-braintree + key: commerce-engine-braintreemerchantid.txt + - name: COMMERCEENGINE_BraintreePublicKey + valueFrom: + secretKeyRef: + name: commerce-braintree + key: commerce-engine-braintreepublickey.txt + - name: COMMERCEENGINE_BraintreePrivateKey + valueFrom: + secretKeyRef: + name: commerce-braintree + key: commerce-engine-braintreeprivatekey.txt + - name: COMMERCEENGINE_SolrUrl + valueFrom: + secretKeyRef: + name: commerce-solr + key: commerce-solr-connection-string.txt + - name: SOLR_COMMERCE_PREFIX_NAME + valueFrom: + secretKeyRef: + name: commerce-solr + key: commerce-solr-prefix-name.txt + - name: COMMERCEENGINE_AppSettings__EnvironmentName + value: HabitatAuthoring + - name: COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl + value: https://$(id-hostname) + - name: COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl + value: http://id + - name: COMMERCEENGINE_AppSettings__AllowedOrigins + value: https://$(bizfx-hostname)|https://$(cm-hostname)|https://$(cd-hostname) + - name: COMMERCEENGINE_AppSettings__AntiForgeryEnabled + value: "false" + - name: COMMERCEENGINE_AppSettings__UseHttpsInKestrel + value: "false" + - name: COMMERCEENGINE_Caching__Redis__Options__Configuration + valueFrom: + secretKeyRef: + name: commerce-redis + key: commerce-redis-connection-string.txt + - name: COMMERCEENGINE_Caching__Redis__Options__InstanceName + value: Redis + - name: COMMERCEENGINE_GlobalDatabaseName + value: SitecoreCommerce_Global + - name: COMMERCEENGINE_GlobalDatabaseServer + value: $(Database_Server) + - name: COMMERCEENGINE_GlobalTrustedConnection + value: "false" + - name: COMMERCEENGINE_SharedDatabaseName + value: SitecoreCommerce_SharedEnvironments + - name: COMMERCEENGINE_SharedArchiveDatabaseName + value: SitecoreCommerce_ArchiveSharedEnvironments + - name: COMMERCEENGINE_SharedDatabaseServer + value: $(Database_Server) + - name: COMMERCEENGINE_SharedTrustedConnection + value: "false" + - name: COMMERCEENGINE_SitecoreHost + value: $(CM_SERVICE_HOST) + - name: COMMERCEENGINE_SitecoreDatabase + value: master + - name: COMMERCEENGINE_SitecoreUsername + value: admin + - name: COMMERCEENGINE_SitecoreDomain + value: sitecore + - name: COMMERCEENGINE_SitecoreProtocol + value: http + - name: COMMERCEENGINE_SitecoreAllowAnonymousUser + value: "true" + - name: COMMERCEENGINE_SitecoreExternalProtocol + value: https + - name: COMMERCEENGINE_SitecoreExternalHost + value: $(cm-hostname) + - name: COMMERCEENGINE_IsSolrCloud + value: "true" + - name: COMMERCEENGINE_StorefrontIndexPrefix_web_index + value: $(SOLR_CORE_PREFIX_NAME)_web_index + - name: COMMERCEENGINE_StorefrontIndexPrefix_master_index + value: $(SOLR_CORE_PREFIX_NAME)_master_index + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_OrdersScope + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_OrdersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_CustomersScope + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_CustomersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_CatalogItemsScope + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_CatalogItemsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_PromotionsScope + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_PromotionsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_PriceCardsScope + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_PriceCardsScope-Rebuild + - name: COMMERCEENGINE_EngineAuthoringUrl + value: https://$(engine-authoring-hostname) + - name: COMMERCEENGINE_EngineShopsUrl + value: https://$(engine-shops-hostname) + - name: COMMERCEENGINE_EngineMinionsUrl + value: https://$(engine-minions-hostname) + livenessProbe: + httpGet: + path: /health + port: 5000 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /health + port: 5000 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\engine\wwwroot\logs + name: logs + subPath: engineauthoring + resources: + requests: + memory: 500Mi + cpu: 500m + limits: + memory: 2Gi + cpu: 2000m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/engine-minions.yaml b/sxc/10.3/k8s-commerce-xc1/engine-minions.yaml new file mode 100644 index 0000000..2a5e708 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/engine-minions.yaml @@ -0,0 +1,227 @@ +apiVersion: v1 +kind: Service +metadata: + name: engine-minions +spec: + selector: + app: engine-minions + ports: + - protocol: TCP + port: 5000 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: engine-minions + labels: + app: engine-minions +spec: + replicas: 1 + selector: + matchLabels: + app: engine-minions + template: + metadata: + labels: + app: engine-minions + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xc-engine + image: sitecore-xc-engine + ports: + - containerPort: 5000 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: SOLR_CORE_PREFIX_NAME + valueFrom: + secretKeyRef: + name: sitecore-solr + key: sitecore-solr-core-prefix-name.txt + - name: COMMERCEENGINE_AppSettings__DeploymentId + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: COMMERCEENGINE_CommerceConnector__ClientId + valueFrom: + secretKeyRef: + name: commerce-connect-client + key: commerce-connect-clientid.txt + - name: COMMERCEENGINE_GlobalDatabaseUserName + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseusername.txt + - name: COMMERCEENGINE_GlobalDatabasePassword + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databasepassword.txt + - name: COMMERCEENGINE_SharedDatabaseUserName + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseusername.txt + - name: COMMERCEENGINE_SharedDatabasePassword + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databasepassword.txt + - name: COMMERCEENGINE_SitecorePassword + valueFrom: + secretKeyRef: + name: sitecore-admin + key: sitecore-adminpassword.txt + - name: COMMERCEENGINE_BraintreeEnvironment + valueFrom: + secretKeyRef: + name: commerce-braintree + key: commerce-engine-braintreeenvironment.txt + - name: COMMERCEENGINE_BraintreeMerchantId + valueFrom: + secretKeyRef: + name: commerce-braintree + key: commerce-engine-braintreemerchantid.txt + - name: COMMERCEENGINE_BraintreePublicKey + valueFrom: + secretKeyRef: + name: commerce-braintree + key: commerce-engine-braintreepublickey.txt + - name: COMMERCEENGINE_BraintreePrivateKey + valueFrom: + secretKeyRef: + name: commerce-braintree + key: commerce-engine-braintreeprivatekey.txt + - name: COMMERCEENGINE_SolrUrl + valueFrom: + secretKeyRef: + name: commerce-solr + key: commerce-solr-connection-string.txt + - name: SOLR_COMMERCE_PREFIX_NAME + valueFrom: + secretKeyRef: + name: commerce-solr + key: commerce-solr-prefix-name.txt + - name: COMMERCEENGINE_AppSettings__EnvironmentName + value: HabitatMinions + - name: COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl + value: https://$(id-hostname) + - name: COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl + value: http://id + - name: COMMERCEENGINE_AppSettings__AllowedOrigins + value: https://$(bizfx-hostname)|https://$(cm-hostname)|https://$(cd-hostname) + - name: COMMERCEENGINE_AppSettings__AntiForgeryEnabled + value: "false" + - name: COMMERCEENGINE_AppSettings__UseHttpsInKestrel + value: "false" + - name: COMMERCEENGINE_Caching__Redis__Options__Configuration + valueFrom: + secretKeyRef: + name: commerce-redis + key: commerce-redis-connection-string.txt + - name: COMMERCEENGINE_Caching__Redis__Options__InstanceName + value: Redis + - name: COMMERCEENGINE_GlobalDatabaseName + value: SitecoreCommerce_Global + - name: COMMERCEENGINE_GlobalDatabaseServer + value: $(Database_Server) + - name: COMMERCEENGINE_GlobalTrustedConnection + value: "false" + - name: COMMERCEENGINE_SharedDatabaseName + value: SitecoreCommerce_SharedEnvironments + - name: COMMERCEENGINE_SharedArchiveDatabaseName + value: SitecoreCommerce_ArchiveSharedEnvironments + - name: COMMERCEENGINE_SharedDatabaseServer + value: $(Database_Server) + - name: COMMERCEENGINE_SharedTrustedConnection + value: "false" + - name: COMMERCEENGINE_SitecoreHost + value: $(CM_SERVICE_HOST) + - name: COMMERCEENGINE_SitecoreDatabase + value: master + - name: COMMERCEENGINE_SitecoreUsername + value: admin + - name: COMMERCEENGINE_SitecoreDomain + value: sitecore + - name: COMMERCEENGINE_SitecoreProtocol + value: http + - name: COMMERCEENGINE_SitecoreAllowAnonymousUser + value: "true" + - name: COMMERCEENGINE_SitecoreExternalProtocol + value: https + - name: COMMERCEENGINE_SitecoreExternalHost + value: $(cm-hostname) + - name: COMMERCEENGINE_IsSolrCloud + value: "true" + - name: COMMERCEENGINE_StorefrontIndexPrefix_web_index + value: $(SOLR_CORE_PREFIX_NAME)_web_index + - name: COMMERCEENGINE_StorefrontIndexPrefix_master_index + value: $(SOLR_CORE_PREFIX_NAME)_master_index + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_OrdersScope + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_OrdersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_CustomersScope + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_CustomersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_CatalogItemsScope + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_CatalogItemsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_PromotionsScope + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_PromotionsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_PriceCardsScope + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_PriceCardsScope-Rebuild + - name: COMMERCEENGINE_EngineAuthoringUrl + value: https://$(engine-authoring-hostname) + - name: COMMERCEENGINE_EngineShopsUrl + value: https://$(engine-shops-hostname) + - name: COMMERCEENGINE_EngineMinionsUrl + value: https://$(engine-minions-hostname) + livenessProbe: + httpGet: + path: /health + port: 5000 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /health + port: 5000 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\engine\wwwroot\logs + name: logs + subPath: engineminions + resources: + requests: + memory: 500Mi + cpu: 500m + limits: + memory: 2Gi + cpu: 2000m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/engine-shops.yaml b/sxc/10.3/k8s-commerce-xc1/engine-shops.yaml new file mode 100644 index 0000000..d3dd370 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/engine-shops.yaml @@ -0,0 +1,227 @@ +apiVersion: v1 +kind: Service +metadata: + name: engine-shops +spec: + selector: + app: engine-shops + ports: + - protocol: TCP + port: 5000 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: engine-shops + labels: + app: engine-shops +spec: + replicas: 1 + selector: + matchLabels: + app: engine-shops + template: + metadata: + labels: + app: engine-shops + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xc-engine + image: sitecore-xc-engine + ports: + - containerPort: 5000 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: SOLR_CORE_PREFIX_NAME + valueFrom: + secretKeyRef: + name: sitecore-solr + key: sitecore-solr-core-prefix-name.txt + - name: COMMERCEENGINE_AppSettings__DeploymentId + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: COMMERCEENGINE_CommerceConnector__ClientId + valueFrom: + secretKeyRef: + name: commerce-connect-client + key: commerce-connect-clientid.txt + - name: COMMERCEENGINE_GlobalDatabaseUserName + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseusername.txt + - name: COMMERCEENGINE_GlobalDatabasePassword + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databasepassword.txt + - name: COMMERCEENGINE_SharedDatabaseUserName + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseusername.txt + - name: COMMERCEENGINE_SharedDatabasePassword + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databasepassword.txt + - name: COMMERCEENGINE_SitecorePassword + valueFrom: + secretKeyRef: + name: sitecore-admin + key: sitecore-adminpassword.txt + - name: COMMERCEENGINE_BraintreeEnvironment + valueFrom: + secretKeyRef: + name: commerce-braintree + key: commerce-engine-braintreeenvironment.txt + - name: COMMERCEENGINE_BraintreeMerchantId + valueFrom: + secretKeyRef: + name: commerce-braintree + key: commerce-engine-braintreemerchantid.txt + - name: COMMERCEENGINE_BraintreePublicKey + valueFrom: + secretKeyRef: + name: commerce-braintree + key: commerce-engine-braintreepublickey.txt + - name: COMMERCEENGINE_BraintreePrivateKey + valueFrom: + secretKeyRef: + name: commerce-braintree + key: commerce-engine-braintreeprivatekey.txt + - name: COMMERCEENGINE_SolrUrl + valueFrom: + secretKeyRef: + name: commerce-solr + key: commerce-solr-connection-string.txt + - name: SOLR_COMMERCE_PREFIX_NAME + valueFrom: + secretKeyRef: + name: commerce-solr + key: commerce-solr-prefix-name.txt + - name: COMMERCEENGINE_AppSettings__EnvironmentName + value: HabitatShops + - name: COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl + value: https://$(id-hostname) + - name: COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl + value: http://id + - name: COMMERCEENGINE_AppSettings__AllowedOrigins + value: https://$(bizfx-hostname)|https://$(cm-hostname)|https://$(cd-hostname) + - name: COMMERCEENGINE_AppSettings__AntiForgeryEnabled + value: "false" + - name: COMMERCEENGINE_AppSettings__UseHttpsInKestrel + value: "false" + - name: COMMERCEENGINE_Caching__Redis__Options__Configuration + valueFrom: + secretKeyRef: + name: commerce-redis + key: commerce-redis-connection-string.txt + - name: COMMERCEENGINE_Caching__Redis__Options__InstanceName + value: Redis + - name: COMMERCEENGINE_GlobalDatabaseName + value: SitecoreCommerce_Global + - name: COMMERCEENGINE_GlobalDatabaseServer + value: $(Database_Server) + - name: COMMERCEENGINE_GlobalTrustedConnection + value: "false" + - name: COMMERCEENGINE_SharedDatabaseName + value: SitecoreCommerce_SharedEnvironments + - name: COMMERCEENGINE_SharedArchiveDatabaseName + value: SitecoreCommerce_ArchiveSharedEnvironments + - name: COMMERCEENGINE_SharedDatabaseServer + value: $(Database_Server) + - name: COMMERCEENGINE_SharedTrustedConnection + value: "false" + - name: COMMERCEENGINE_SitecoreHost + value: $(CM_SERVICE_HOST) + - name: COMMERCEENGINE_SitecoreDatabase + value: master + - name: COMMERCEENGINE_SitecoreUsername + value: admin + - name: COMMERCEENGINE_SitecoreDomain + value: sitecore + - name: COMMERCEENGINE_SitecoreProtocol + value: http + - name: COMMERCEENGINE_SitecoreAllowAnonymousUser + value: "true" + - name: COMMERCEENGINE_SitecoreExternalProtocol + value: https + - name: COMMERCEENGINE_SitecoreExternalHost + value: $(cm-hostname) + - name: COMMERCEENGINE_IsSolrCloud + value: "true" + - name: COMMERCEENGINE_StorefrontIndexPrefix_web_index + value: $(SOLR_CORE_PREFIX_NAME)_web_index + - name: COMMERCEENGINE_StorefrontIndexPrefix_master_index + value: $(SOLR_CORE_PREFIX_NAME)_master_index + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_OrdersScope + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_OrdersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_CustomersScope + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_CustomersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_CatalogItemsScope + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_CatalogItemsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_PromotionsScope + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild + value: $(SOLR_COMMERCE_PREFIX_NAME)_PromotionsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope + value: $(SOLR_COMMERCE_PREFIX_NAME)_PriceCardsScope + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild + value: PriceCardsScope-Rebuild + - name: COMMERCEENGINE_EngineAuthoringUrl + value: https://$(engine-authoring-hostname) + - name: COMMERCEENGINE_EngineShopsUrl + value: https://$(engine-shops-hostname) + - name: COMMERCEENGINE_EngineMinionsUrl + value: https://$(engine-minions-hostname) + livenessProbe: + httpGet: + path: /health + port: 5000 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /health + port: 5000 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\engine\wwwroot\logs + name: logs + subPath: engineshops + resources: + requests: + memory: 500Mi + cpu: 1000m + limits: + memory: 4Gi + cpu: 7000m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/external/kustomization.yaml b/sxc/10.3/k8s-commerce-xc1/external/kustomization.yaml new file mode 100644 index 0000000..bb177eb --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/external/kustomization.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +images: +- name: mssql + newName: mcr.microsoft.com/mssql/server + newTag: 2017-CU21-ubuntu-16.04 +- name: redis + newName: redis + newTag: 4.0.14-alpine +- name: solr + newName: solr + newTag: 8.11.2 + +resources: + - mssql.yaml + - redis.yaml + - solr.yaml \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/external/mssql.yaml b/sxc/10.3/k8s-commerce-xc1/external/mssql.yaml new file mode 100644 index 0000000..bd79487 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/external/mssql.yaml @@ -0,0 +1,57 @@ +apiVersion: v1 +kind: Service +metadata: + name: mssql +spec: + selector: + app: mssql + ports: + - protocol: TCP + port: 1433 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: mssql + labels: + app: mssql +spec: + replicas: 1 + selector: + matchLabels: + app: mssql + template: + metadata: + labels: + app: mssql + spec: + nodeSelector: + kubernetes.io/os: linux + containers: + - name: mssql + image: mssql + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + runAsNonRoot: true + runAsUser: 101 + ports: + - containerPort: 1433 + env: + - name: SA_PASSWORD + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databasepassword.txt + - name: ACCEPT_EULA + value: "Y" + volumeMounts: + - mountPath: /var/opt/mssql + name: sql + resources: + requests: + memory: 1200Mi + cpu: 200m + volumes: + - name: sql + emptyDir: {} \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/external/redis.yaml b/sxc/10.3/k8s-commerce-xc1/external/redis.yaml new file mode 100644 index 0000000..ddeb8ab --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/external/redis.yaml @@ -0,0 +1,49 @@ +apiVersion: v1 +kind: Service +metadata: + name: redis +spec: + selector: + app: redis + ports: + - protocol: TCP + port: 6379 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: redis + labels: + app: redis +spec: + replicas: 1 + selector: + matchLabels: + app: redis + template: + metadata: + labels: + app: redis + spec: + volumes: + - emptyDir: {} + name: data + nodeSelector: + kubernetes.io/os: linux + containers: + - name: sitecore-redis + image: redis + ports: + - containerPort: 6379 + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + runAsNonRoot: true + runAsUser: 1000 + volumeMounts: + - mountPath: /data + name: data + resources: + requests: + memory: 100Mi + cpu: 100m \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/external/solr.yaml b/sxc/10.3/k8s-commerce-xc1/external/solr.yaml new file mode 100644 index 0000000..4db5f84 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/external/solr.yaml @@ -0,0 +1,62 @@ +apiVersion: v1 +kind: Service +metadata: + name: solr +spec: + selector: + app: solr + ports: + - protocol: TCP + port: 8983 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: solr + labels: + app: solr +spec: + replicas: 1 + selector: + matchLabels: + app: solr + template: + metadata: + labels: + app: solr + spec: + nodeSelector: + kubernetes.io/os: linux + containers: + - name: solr + image: solr + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + runAsNonRoot: true + runAsUser: 1000 + ports: + - containerPort: 8983 + env: + - name: SOLR_MODE + value: solrcloud + startupProbe: + httpGet: + path: /solr/admin/info/system + port: 8983 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 30 + periodSeconds: 10 + failureThreshold: 10 + volumeMounts: + - mountPath: /tmp + name: tmp + resources: + requests: + memory: 2048Mi + cpu: 500m + volumes: + - emptyDir: {} + name: tmp \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/id.yaml b/sxc/10.3/k8s-commerce-xc1/id.yaml new file mode 100644 index 0000000..be84264 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/id.yaml @@ -0,0 +1,134 @@ +apiVersion: v1 +kind: Service +metadata: + name: id +spec: + selector: + app: id + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: id + labels: + app: id +spec: + replicas: 1 + selector: + matchLabels: + app: id + template: + metadata: + labels: + app: id + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xc-id + image: sitecore-xc-id + ports: + - containerPort: 80 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Core_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-core-database-username.txt + - name: Core_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-core-database-password.txt + - name: Sitecore_Sitecore__IdentityServer__Clients__PasswordClient__ClientSecrets__ClientSecret1 + valueFrom: + secretKeyRef: + name: sitecore-identity + key: sitecore-identitysecret.txt + - name: Sitecore_Sitecore__IdentityServer__CertificateRawData + valueFrom: + secretKeyRef: + name: sitecore-identitycertificate + key: sitecore-identitycertificate.txt + - name: Sitecore_Sitecore__IdentityServer__CertificateRawDataPassword + valueFrom: + secretKeyRef: + name: sitecore-identitycertificate + key: sitecore-identitycertificatepassword.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sitecore_Sitecore__IdentityServer__Clients__CommerceEngineConnectClient__ClientId + valueFrom: + secretKeyRef: + name: commerce-connect-client + key: commerce-connect-clientid.txt + - name: Sitecore_Sitecore__IdentityServer__Clients__CommerceEngineConnectClient__ClientSecrets__ClientSecret1 + valueFrom: + secretKeyRef: + name: commerce-connect-client + key: commerce-connect-clientsecret.txt + - name: Sitecore_Sitecore__IdentityServer__SitecoreMemberShipOptions__ConnectionString + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_Sitecore__IdentityServer__AccountOptions__PasswordRecoveryUrl + value: https://$(cm-hostname)/sitecore/login?rc=1 + - name: Sitecore_Sitecore__IdentityServer__Clients__DefaultClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1 + value: https://$(cm-hostname) + - name: Sitecore_Sitecore__IdentityServer__PublicOrigin + value: https://$(id-hostname) + - name: Sitecore_Sitecore__IdentityServer__Clients__CommerceClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1 + value: https://$(bizfx-hostname)|https://$(engine-authoring-hostname) + - name: Sitecore_Sitecore__IdentityServer__Clients__CommerceEngineConnectClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1 + value: https://$(cm-hostname)|https://$(cd-hostname) + livenessProbe: + httpGet: + path: /healthz/live + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /healthz/ready + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\Identity\logs + name: logs + subPath: id + resources: + requests: + memory: 400Mi + cpu: 50m + limits: + memory: 1Gi + cpu: 200m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry diff --git a/sxc/10.3/k8s-commerce-xc1/ingress-nginx/configuration.yaml b/sxc/10.3/k8s-commerce-xc1/ingress-nginx/configuration.yaml new file mode 100644 index 0000000..0089326 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/ingress-nginx/configuration.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + namespace: ingress-basic + name: nginx-ingress-ingress-nginx-controller +data: + use-forwarded-headers: "true" + enable-underscores-in-headers: "true" \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/ingress-nginx/ingress.yaml b/sxc/10.3/k8s-commerce-xc1/ingress-nginx/ingress.yaml new file mode 100644 index 0000000..513a420 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/ingress-nginx/ingress.yaml @@ -0,0 +1,107 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: sitecore-ingress + annotations: + kubernetes.io/ingress.class: nginx + nginx.ingress.kubernetes.io/proxy-buffer-size: "32k" + nginx.ingress.kubernetes.io/affinity: "cookie" + nginx.ingress.kubernetes.io/rewrite-target: / + nginx.ingress.kubernetes.io/proxy-connect-timeout: "600" + nginx.ingress.kubernetes.io/proxy-read-timeout: "600" + nginx.ingress.kubernetes.io/proxy-send-timeout: "600" + nginx.ingress.kubernetes.io/proxy-body-size: "512m" +spec: + rules: + - host: $(cd-hostname) + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: cd + port: + number: 80 + - host: $(cm-hostname) + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: cm + port: + number: 80 + - host: $(id-hostname) + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: id + port: + number: 80 + - host: $(bizfx-hostname) + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: bizfx + port: + number: 80 + - host: $(engine-authoring-hostname) + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: engine-authoring + port: + number: 5000 + - host: $(engine-minions-hostname) + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: engine-minions + port: + number: 5000 + - host: $(engine-shops-hostname) + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: engine-shops + port: + number: 5000 + tls: + - secretName: global-cd-tls + hosts: + - $(cd-hostname) + - secretName: global-cm-tls + hosts: + - $(cm-hostname) + - secretName: global-id-tls + hosts: + - $(id-hostname) + - secretName: global-bizfx-tls + hosts: + - $(bizfx-hostname) + - secretName: global-authoring-tls + hosts: + - $(engine-authoring-hostname) + - secretName: global-minions-tls + hosts: + - $(engine-minions-hostname) + - secretName: global-shops-tls + hosts: + - $(engine-shops-hostname) \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/ingress-nginx/kustomization.yaml b/sxc/10.3/k8s-commerce-xc1/ingress-nginx/kustomization.yaml new file mode 100644 index 0000000..967c983 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/ingress-nginx/kustomization.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +bases: +- ../configmaps + +resources: + - ingress.yaml + - configuration.yaml \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/init/kustomization.yaml b/sxc/10.3/k8s-commerce-xc1/init/kustomization.yaml new file mode 100644 index 0000000..ec9ad42 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/init/kustomization.yaml @@ -0,0 +1,14 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +images: +- name: sitecore-xc1-mssql-init + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc1-mssql-init + newTag: {commerce-version} +- name: sitecore-xc1-solr-init + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc1-solr-init + newTag: {commerce-version} + +resources: + - mssql-init.yaml + - solr-init.yaml \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/init/mssql-init.yaml b/sxc/10.3/k8s-commerce-xc1/init/mssql-init.yaml new file mode 100644 index 0000000..8dd3d48 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/init/mssql-init.yaml @@ -0,0 +1,207 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: mssql-init +spec: + template: + spec: + nodeSelector: + kubernetes.io/os: windows + imagePullSecrets: + - name: sitecore-docker-registry + containers: + - name: mssql-init + image: sitecore-xc1-mssql-init + env: + - name: sitecore_admin_password + valueFrom: + secretKeyRef: + name: sitecore-admin + key: sitecore-adminpassword.txt + - name: SQL_ADMIN_PASSWORD + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databasepassword.txt + - name: SQL_ADMIN_LOGIN + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseusername.txt + - name: SQL_SERVER + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: SQL_ELASTIC_POOL_NAME + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-database-elastic-pool-name.txt + - name: Master_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-master-database-username.txt + - name: Master_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-master-database-password.txt + - name: Core_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-core-database-username.txt + - name: Core_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-core-database-password.txt + - name: Web_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-web-database-username.txt + - name: Web_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-web-database-password.txt + - name: Forms_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-forms-database-username.txt + - name: Forms_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-forms-database-password.txt + - name: Exm_Master_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-exm-master-database-username.txt + - name: Exm_Master_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-exm-master-database-password.txt + - name: Marketing_Automation_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-marketing-automation-database-username.txt + - name: Marketing_Automation_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-marketing-automation-database-password.txt + - name: Messaging_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-username.txt + - name: Messaging_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-password.txt + - name: Reporting_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reporting-database-username.txt + - name: Reporting_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reporting-database-password.txt + - name: Reference_Data_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-username.txt + - name: Reference_Data_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-password.txt + - name: Processing_Pools_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-pools-database-username.txt + - name: Processing_Pools_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-pools-database-password.txt + - name: Processing_Tasks_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-tasks-database-username.txt + - name: Processing_Tasks_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-tasks-database-password.txt + - name: Processing_Engine_Tasks_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-engine-tasks-database-username.txt + - name: Processing_Engine_Tasks_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-engine-tasks-database-password.txt + - name: Processing_Engine_Storage_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-engine-storage-database-username.txt + - name: Processing_Engine_Storage_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-engine-storage-database-password.txt + - name: Collection_ShardMapManager_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-collection-shardmapmanager-database-username.txt + - name: Collection_ShardMapManager_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-collection-shardmapmanager-database-password.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sql_Custom_Database_Prefix_Update_From + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-custom-database-prefix-update-from.txt + - name: XC_SHARED_DB + valueFrom: + secretKeyRef: + name: commerce-database + key: commerce-engine-shared-databasename.txt + - name: XC_SHARED_ARCHIVE_DB + valueFrom: + secretKeyRef: + name: commerce-database + key: commerce-engine-archive-databasename.txt + - name: XC_DB_Masterkey_Password + valueFrom: + secretKeyRef: + name: commerce-database + key: commerce-engine-database-masterkey-password.txt + restartPolicy: Never + backoffLimit: 5 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/init/solr-init.yaml b/sxc/10.3/k8s-commerce-xc1/init/solr-init.yaml new file mode 100644 index 0000000..035d5b7 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/init/solr-init.yaml @@ -0,0 +1,37 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: solr-init +spec: + template: + spec: + nodeSelector: + kubernetes.io/os: windows + imagePullSecrets: + - name: sitecore-docker-registry + containers: + - name: solr-init + image: sitecore-xc1-solr-init + env: + - name: SITECORE_SOLR_CONNECTION_STRING + valueFrom: + secretKeyRef: + name: sitecore-solr + key: sitecore-solr-connection-string.txt + - name: SOLR_CORE_PREFIX_NAME + valueFrom: + secretKeyRef: + name: sitecore-solr + key: sitecore-solr-core-prefix-name.txt + - name: COMMERCE_SOLR_CONNECTION_STRING + valueFrom: + secretKeyRef: + name: commerce-solr + key: commerce-solr-connection-string.txt + - name: SOLR_COMMERCE_PREFIX_NAME + valueFrom: + secretKeyRef: + name: commerce-solr + key: commerce-solr-prefix-name.txt + restartPolicy: Never + backoffLimit: 5 diff --git a/sxc/10.3/k8s-commerce-xc1/kustomization.yaml b/sxc/10.3/k8s-commerce-xc1/kustomization.yaml new file mode 100644 index 0000000..08c2ace --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/kustomization.yaml @@ -0,0 +1,77 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +bases: +- configmaps + +images: +- name: sitecore-xc-bizfx + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc-bizfx + newTag: {commerce-version} +- name: sitecore-xc1-cd + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc1-cd + newTag: {commerce-version} +- name: sitecore-xc1-cm + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc1-cm + newTag: {commerce-version} +- name: sitecore-xc-id + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc-id7 + newTag: {commerce-version} +- name: sitecore-xp1-cortexprocessing + newName: {registry}/{project}/sitecore-xp1-cortexprocessing + newTag: {version} +- name: sitecore-xp1-cortexprocessingworker + newName: {registry}/{project}/sitecore-xp1-cortexprocessingworker + newTag: {version} +- name: sitecore-xp1-cortexreporting + newName: {registry}/{project}/sitecore-xp1-cortexreporting + newTag: {version} +- name: sitecore-xc-engine + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc-engine + newTag: {commerce-version} +- name: sitecore-xc1-prc + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc1-prc + newTag: {commerce-version} +- name: sitecore-xc1-xdbautomation + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc1-xdbautomation + newTag: {commerce-version} +- name: sitecore-xp1-xdbautomationrpt + newName: {registry}/{project}/sitecore-xp1-xdbautomationrpt + newTag: {version} +- name: sitecore-xc1-xdbautomationworker + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc1-xdbautomationworker + newTag: {commerce-version} +- name: sitecore-xc1-xdbcollection + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc1-xdbcollection + newTag: {commerce-version} +- name: sitecore-xp1-xdbrefdata + newName: {registry}/{project}/sitecore-xp1-xdbrefdata + newTag: {version} +- name: sitecore-xc1-xdbsearch + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc1-xdbsearch + newTag: {commerce-version} +- name: sitecore-xc1-xdbsearchworker + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc1-xdbsearchworker + newTag: {commerce-version} +- name: pwsh-initContainer + newName: {powershell-version} + +resources: + - bizfx.yaml + - cm.yaml + - cd.yaml + - id.yaml + - cortexprocessing.yaml + - cortexprocessingworker.yaml + - cortexreporting.yaml + - engine-authoring.yaml + - engine-minions.yaml + - engine-shops.yaml + - prc.yaml + - xdbautomation.yaml + - xdbautomationrpt.yaml + - xdbautomationworker.yaml + - xdbcollection.yaml + - xdbrefdata.yaml + - xdbsearch.yaml + - xdbsearchworker.yaml \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/overlays/init/SearchStax/kustomization.yaml b/sxc/10.3/k8s-commerce-xc1/overlays/init/SearchStax/kustomization.yaml new file mode 100644 index 0000000..296007b --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/overlays/init/SearchStax/kustomization.yaml @@ -0,0 +1,22 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +bases: +- ..\..\..\init + +patchesStrategicMerge: + - solr-init.yaml + +images: +- name: sitecore-xc1-solr-init-searchstax + newName: {registry}/{sxc-nonproduction-project}/sitecore-xc1-solr-init-searchstax + newTag: {commerce-version} + +generatorOptions: + disableNameSuffixHash: true +secretGenerator: +- name: sitecore-solr-searchstax + files: + - sitecore-searchstax-apikey.txt + - sitecore-searchstax-account-name.txt + - sitecore-searchstax-deployment-uid.txt \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/overlays/init/SearchStax/sitecore-searchstax-account-name.txt b/sxc/10.3/k8s-commerce-xc1/overlays/init/SearchStax/sitecore-searchstax-account-name.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/overlays/init/SearchStax/sitecore-searchstax-apikey.txt b/sxc/10.3/k8s-commerce-xc1/overlays/init/SearchStax/sitecore-searchstax-apikey.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/overlays/init/SearchStax/sitecore-searchstax-deployment-uid.txt b/sxc/10.3/k8s-commerce-xc1/overlays/init/SearchStax/sitecore-searchstax-deployment-uid.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/overlays/init/SearchStax/solr-init.yaml b/sxc/10.3/k8s-commerce-xc1/overlays/init/SearchStax/solr-init.yaml new file mode 100644 index 0000000..fb8304c --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/overlays/init/SearchStax/solr-init.yaml @@ -0,0 +1,52 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: solr-init +spec: + template: + spec: + nodeSelector: + kubernetes.io/os: windows + imagePullSecrets: + - name: sitecore-docker-registry + containers: + - name: solr-init + image: sitecore-xc1-solr-init-searchstax + env: + - name: SITECORE_SOLR_CONNECTION_STRING + valueFrom: + secretKeyRef: + name: sitecore-solr + key: sitecore-solr-connection-string.txt + - name: SOLR_CORE_PREFIX_NAME + valueFrom: + secretKeyRef: + name: sitecore-solr + key: sitecore-solr-core-prefix-name.txt + - name: COMMERCE_SOLR_CONNECTION_STRING + valueFrom: + secretKeyRef: + name: commerce-solr + key: commerce-solr-connection-string.txt + - name: SOLR_COMMERCE_PREFIX_NAME + valueFrom: + secretKeyRef: + name: commerce-solr + key: commerce-solr-prefix-name.txt + - name: SEARCH_STAX_APIKEY + valueFrom: + secretKeyRef: + name: sitecore-solr-searchstax + key: sitecore-searchstax-apikey.txt + - name: SEARCH_STAX_ACCOUNT_NAME + valueFrom: + secretKeyRef: + name: sitecore-solr-searchstax + key: sitecore-searchstax-account-name.txt + - name: SEARCH_STAX_DEPLOYMENT_UID + valueFrom: + secretKeyRef: + name: sitecore-solr-searchstax + key: sitecore-searchstax-deployment-uid.txt + restartPolicy: Never + backoffLimit: 5 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/prc.yaml b/sxc/10.3/k8s-commerce-xc1/prc.yaml new file mode 100644 index 0000000..4a67e66 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/prc.yaml @@ -0,0 +1,186 @@ +apiVersion: v1 +kind: Service +metadata: + name: prc +spec: + selector: + app: prc + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: prc + labels: + app: prc +spec: + replicas: 1 + selector: + matchLabels: + app: prc + template: + metadata: + labels: + app: prc + spec: + nodeSelector: + kubernetes.io/os: windows + initContainers: + - name: wait-xdbcollection + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbcollection/healthz/ready).StatusCode -eq 200} catch { $false }));"] + containers: + - name: sitecore-xc1-prc + image: sitecore-xc1-prc + ports: + - containerPort: 80 + env: + - name: Sitecore_InstanceName + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Master_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-master-database-username.txt + - name: Master_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-master-database-password.txt + - name: Core_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-core-database-username.txt + - name: Core_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-core-database-password.txt + - name: Reporting_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reporting-database-username.txt + - name: Reporting_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reporting-database-password.txt + - name: Reference_Data_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-username.txt + - name: Reference_Data_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-password.txt + - name: Processing_Pools_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-pools-database-username.txt + - name: Processing_Pools_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-pools-database-password.txt + - name: Processing_Tasks_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-tasks-database-username.txt + - name: Processing_Tasks_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-tasks-database-password.txt + - name: Sitecore_ConnectionStrings_Reporting.ApiKey + valueFrom: + secretKeyRef: + name: sitecore-reporting + key: sitecore-reportingapikey.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: LOG_LEVEL_VALUE + valueFrom: + secretKeyRef: + name: sitecore-log-level + key: sitecore-log-level-value.txt + - name: Sitecore_ConnectionStrings_Core + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_ConnectionStrings_Security + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_ConnectionStrings_Master + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Master;User ID=$(Master_Database_Username);Password=$(Master_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Processing.Pools + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Processing.pools;User ID=$(Processing_Pools_Database_Username);Password=$(Processing_Pools_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Referencedata;User ID=$(Reference_Data_Database_Username);Password=$(Reference_Data_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Processing.Tasks + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Processing.tasks;User ID=$(Processing_Tasks_Database_Username);Password=$(Processing_Tasks_Database_Password); + - name: Sitecore_ConnectionStrings_Reporting + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Reporting;User ID=$(Reporting_Database_Username);Password=$(Reporting_Database_Password); + - name: Sitecore_ConnectionStrings_XConnect.Collection + value: http://xdbcollection + - name: MEDIA_REQUEST_PROTECTION_SHARED_SECRET + valueFrom: + secretKeyRef: + name: sitecore-protect-media-requests + key: sitecore-media-request-protection-shared-secret.txt + livenessProbe: + httpGet: + path: /healthz/live + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /healthz/ready + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\inetpub\wwwroot\App_Data\logs + name: logs + subPath: prc + resources: + requests: + memory: 500Mi + cpu: 200m + limits: + memory: 2Gi + cpu: 500m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/kustomization.yaml b/sxc/10.3/k8s-commerce-xc1/secrets/kustomization.yaml new file mode 100644 index 0000000..b0b0106 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/kustomization.yaml @@ -0,0 +1,140 @@ +generatorOptions: + disableNameSuffixHash: true +secretGenerator: +- name: sitecore-admin + files: + - xp/sitecore-adminpassword.txt +- name: sitecore-database + files: + - xp/sitecore-databaseusername.txt + - xp/sitecore-databasepassword.txt + - xp/sitecore-databaseservername.txt + - xp/sitecore-collection-shardmapmanager-database-password.txt + - xp/sitecore-collection-shardmapmanager-database-username.txt + - xp/sitecore-core-database-password.txt + - xp/sitecore-core-database-username.txt + - xp/sitecore-exm-master-database-password.txt + - xp/sitecore-exm-master-database-username.txt + - xp/sitecore-forms-database-password.txt + - xp/sitecore-forms-database-username.txt + - xp/sitecore-marketing-automation-database-password.txt + - xp/sitecore-marketing-automation-database-username.txt + - xp/sitecore-master-database-password.txt + - xp/sitecore-master-database-username.txt + - xp/sitecore-messaging-database-password.txt + - xp/sitecore-messaging-database-username.txt + - xp/sitecore-processing-engine-storage-database-password.txt + - xp/sitecore-processing-engine-storage-database-username.txt + - xp/sitecore-processing-engine-tasks-database-password.txt + - xp/sitecore-processing-engine-tasks-database-username.txt + - xp/sitecore-processing-pools-database-password.txt + - xp/sitecore-processing-pools-database-username.txt + - xp/sitecore-processing-tasks-database-password.txt + - xp/sitecore-processing-tasks-database-username.txt + - xp/sitecore-reference-data-database-password.txt + - xp/sitecore-reference-data-database-username.txt + - xp/sitecore-reporting-database-password.txt + - xp/sitecore-reporting-database-username.txt + - xp/sitecore-web-database-password.txt + - xp/sitecore-web-database-username.txt + - xp/sitecore-database-elastic-pool-name.txt + - xp/sitecore-databaseprefix.txt + - xp/sitecore-custom-database-prefix-update-from.txt +- name: sitecore-identitycertificate + files: + - xp/sitecore-identitycertificate.txt + - xp/sitecore-identitycertificatepassword.txt +- name: sitecore-license + files: + - xp/sitecore-license.txt +- name: sitecore-identity + files: + - xp/sitecore-identitysecret.txt +- name: sitecore-graphql + files: + - xp/sitecore-graphql-uploadmedia_encryptionkey.txt +- name: sitecore-telerik + files: + - xp/sitecore-telerikencryptionkey.txt +- name: sitecore-reporting + files: + - xp/sitecore-reportingapikey.txt +- name: sitecore-redis + files: + - xp/sitecore-redis-connection-string.txt +- name: sitecore-solr + files: + - xp/sitecore-solr-connection-string.txt + - xp/sitecore-solr-core-prefix-name.txt +- name: sitecore-solr-xdb + files: + - xp/sitecore-solr-connection-string-xdb.txt +- name: sitecore-protect-media-requests + files: + - xp/sitecore-media-request-protection-shared-secret.txt +- name: sitecore-log-level + files: + - xp/sitecore-log-level-value.txt +- name: commerce-bizfx + files: + - xc/commerce-bizfx-currency.txt + - xc/commerce-bizfx-language.txt + - xc/commerce-bizfx-shopname.txt +- name: commerce-connect-client + files: + - xc/commerce-connect-clientid.txt + - xc/commerce-connect-clientsecret.txt +- name: commerce-braintree + files: + - xc/commerce-engine-braintreeenvironment.txt + - xc/commerce-engine-braintreemerchantid.txt + - xc/commerce-engine-braintreepublickey.txt + - xc/commerce-engine-braintreeprivatekey.txt +- name: commerce-database + files: + - xc/commerce-engine-shared-databasename.txt + - xc/commerce-engine-archive-databasename.txt + - xc/commerce-engine-database-masterkey-password.txt +- name: commerce-redis + files: + - xc/commerce-redis-connection-string.txt + - xc/commerce-connect-redis-connection-string.txt +- name: commerce-solr + files: + - xc/commerce-solr-connection-string.txt + - xc/commerce-solr-prefix-name.txt +- name: global-cd-tls + files: + - tls/global-cd/tls.key + - tls/global-cd/tls.crt + type: kubernetes.io/tls +- name: global-cm-tls + files: + - tls/global-cm/tls.key + - tls/global-cm/tls.crt + type: kubernetes.io/tls +- name: global-id-tls + files: + - tls/global-id/tls.key + - tls/global-id/tls.crt + type: kubernetes.io/tls +- name: global-bizfx-tls + files: + - tls/global-bizfx/tls.key + - tls/global-bizfx/tls.crt + type: kubernetes.io/tls +- name: global-authoring-tls + files: + - tls/global-authoring/tls.key + - tls/global-authoring/tls.crt + type: kubernetes.io/tls +- name: global-minions-tls + files: + - tls/global-minions/tls.key + - tls/global-minions/tls.crt + type: kubernetes.io/tls +- name: global-shops-tls + files: + - tls/global-shops/tls.key + - tls/global-shops/tls.crt + type: kubernetes.io/tls \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-authoring/tls.crt b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-authoring/tls.crt new file mode 100644 index 0000000..981384e --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-authoring/tls.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDDTCCAfWgAwIBAgIUV55kUKrxUoY/+zSh/785YT7KybcwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTI1MTkyNzI5WhcNMzAwNTIzMTkyNzI5WjAfMR0wGwYDVQQDDBRhdXRob3Jpbmcu +Z2xvYmFsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALPBjrU7 +R5CU3H4afmOd/n0WWim15R/7o9sl94mo0ottY03PF4OvX0vBgd3j5YRkZvu9kKai +NeFA5Ka7dFHiDhyvh8aTjDZmDyVjJCDOZckef42sMeM6yY4KJUmQ0plZ8cktZvxr +B3J55zjPBzPN7uvgkcd3CQG9Q14Vz1DHgkfo2oefTDe5tEPPii7Cjt9sDztvW54U +HzyNtCjjWeGDcrNAHTCOGSNaG75L+RKhe79pgo7XNHjdLExt2InSxmT/o94jg6Wc +BaqoRNDR+O8eUiyx13EvW6UCis6QWXcPCUGOSLJhntf7IAbJB961NMSU/5+AeUcV +/iZIqRw3WHhVyOUCAwEAAaM7MDkwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwHwYD +VR0RBBgwFoIUYXV0aG9yaW5nLmdsb2JhbGhvc3QwDQYJKoZIhvcNAQELBQADggEB +AJikbT8u1TPcheGcC2dIS7bfWBGap4EWskAa16/bvQSjZZFf3WIXZZIQJQyXV3s5 +HUESWpPhN4Wy3ynMeL9mI1z/ZxsUnHcqr/Er79P2ZSJZ8ulcqbC57n+SOuvdMnwk +4xHa4+hMqUfzywymMe/RpaRupzcT2EuUDRp/+CzPIf0CCI0aR2b3kAOdRyHS069h +GQWBkIuDKT4sfQ993s0iYDZchHAWP924IfqPjhn22q80KtA/c7Q2DVlOMLLdbrDj +DXj6HpbhQ24MPPwqSb4YM5NthXWWG3ps36/1ZnPm5+5qGBYLbqH5mUlLtrTWbfz5 +1XkLxj6hDEuQP4S+bk+/K+g= +-----END CERTIFICATE----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-authoring/tls.key b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-authoring/tls.key new file mode 100644 index 0000000..10a38a3 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-authoring/tls.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAs8GOtTtHkJTcfhp+Y53+fRZaKbXlH/uj2yX3iajSi21jTc8X +g69fS8GB3ePlhGRm+72QpqI14UDkprt0UeIOHK+HxpOMNmYPJWMkIM5lyR5/jawx +4zrJjgolSZDSmVnxyS1m/GsHcnnnOM8HM83u6+CRx3cJAb1DXhXPUMeCR+jah59M +N7m0Q8+KLsKO32wPO29bnhQfPI20KONZ4YNys0AdMI4ZI1obvkv5EqF7v2mCjtc0 +eN0sTG3YidLGZP+j3iODpZwFqqhE0NH47x5SLLHXcS9bpQKKzpBZdw8JQY5IsmGe +1/sgBskH3rU0xJT/n4B5RxX+JkipHDdYeFXI5QIDAQABAoIBAQCvn2ZsTrSG38nl +MsFVVqGzWMlSgzKO4u6eSCPnTRgXvRIOjUyuDgOPIkpdnjE5/lZXkkfnZgg6QYqk +E/V7ot6izCRdsP6Gj4QwxQIhQ0ZTDwcURa6gEWmm6uavT11TEnuWUFOUPoWSJOPx +ruOci5DoyAnl1bjpCB7vp2NbyvDQi166xGYAaeFQQ8DrIZ+qIAk6qV2+cyIa2ojg +aRBl2ue/4qTaHny5jQBkUpr5d5sEhGtt2ih+8AZ7PSnDarwJPEzQRcVdXvghtcOr +qdtXV7wuz9Dbm4B5+ubMYCxHOZcHdHm+jnM5P9wypKEQIuck1sgkGPmLYbp3abpD +SYRrs61pAoGBAN4AiPrC8lwZoND73X7DpjjPhlTugiE2E6txUsvxuCQ3l5g5ZGBX +wI7dwDwGa6Bqhz4OSw1WFJU28WoCk2KYqZtRXa2AN3h38iuHRu31jPnIuFKnG9q6 +cgF1VD8QWSCDwfx/nclBtpbg8EYfq1EEENq3p50zj3IlmvzKg7oZFEhPAoGBAM9I +yrfy6XtCfq5kb/h7Bn1niruR3FbW9+mA/5x0R2LQeRMeqscqF7UXzdB2Wa2Tl7wX +zmR2dlXGA0Ky00Au2TpK00uvt/Zi1UttEob//ARlTVQokQMtYj48E5l42LtXrg0Q +Uwg2Y2lWNGk5hHFuPjiUtq9kTHJcstDl34DUPZqLAoGAfL7cOdw1h583CHeevM5/ +psil+S+Um8jhQKMLHWKUUHWUj4sgZiqpHx5oGNKaw6dYm3w4nCPUqQwYl7Me0nZq +R8Zu10GG6gCsad039BrYvrsVKAyS0FOYIE2nq1AqZOTkqlejeCWeziVTnnPJNlsM +hXpRizofzspmzsmVP4s8JG0CgYBwFd54ZYPXQPebeXgKlwvFV+3uy0qoMonP3A9c +HIxVZIFz00tpcttq8zo5lSWc9IhCD2VtcZk/fFlbAbO1qx+Po9JpxNTnCD5qEMrJ +8TXncpfEAEOZwjqziGzYuj4H37ugGMmtUSukVBb3J0D0zTYcBl5arROha3rN9t9K +nHnLTQKBgF5GnBhYeQeSRyM739yqkZ9VBNmQ6Uvii7qIfSe3wWfvDxP/85bhK7TC +miSlRjZJpcFUa+0Q40hfLMbcv083GurzBqeYFSzh1wj4MZ9RQxXyvU5VnTO7OiOU +j3NGRZP0RYPF+VEgFPJdfj4dvENuTNECw/mrKGCPaZqUZkyeRGBH +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-authority/root.crt b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-authority/root.crt new file mode 100644 index 0000000..93a1df5 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-authority/root.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDKzCCAhOgAwIBAgIUTtyxXGMSAGqacagqX2MztBOqEj8wDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTI1MTkyNzI2WhcNNDcxMDExMTkyNzI2WjAlMSMwIQYDVQQDDBpDb21tZXJjZSBD +b250YWluZXIgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ALHqALgoV8Qv2nDlZ5+6Ti3QOFTNUEoe4jx5Q1HTfD2HSdyllANPgTP6uzC060xL ++2RPQkqTKLz/jQgvzkUq6iIBAXcv9aT4Dbiuif/bVbl0llGMlNQ3FxtBAKyRngfR +pg56eZiH4f2ee/5+cipA6mSVGHAHX8TaiBG58kjKFxm3PgzPbomBbzCCPZgg8yE5 +UNEW01bs6CQqH6H4ijBmye0OPu2qq7/1ymg6lAGtRqMKpJq1z2sA78oR43GdAl98 +ejkDxecK0blrPpbhIUC7w7PIkn5LbNsMo1Ugm0lfm+qUw1j+PFtcOdXJYHA9DfJk +RwKAY8Lvc2k1ZG+wqDm6YE0CAwEAAaNTMFEwHQYDVR0OBBYEFM5xK9Uyf/9Jk093 +Yo0yV8aCGtazMB8GA1UdIwQYMBaAFM5xK9Uyf/9Jk093Yo0yV8aCGtazMA8GA1Ud +EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBABqS5/hjb2HeHdgtV9But7Ph +m5gnF2c4Eu5Ep5OYkZVNMF7OxV22frgl0KJGhYQNwocwaBX6PRr5wvzzOeEDC9u9 +jwmMxv7O+bLe2ma0YQHT4y1LITdnRF+/9u2kAHROIafaVWpNM7yaiiGMldRuGNXl +Kbh4xk+TCM2BDi9IZI5rSr5L5tAwOHlDUc+DCmfdWD3tz14LLGGOJ2HRwjYww/n6 +NMX3PV7b9TNfC2980R1FEYnO9jb0oEhSoDZazPLWav8Y5la9Kbp7oa68wX5iN6WJ +rEVF/NmAi4Di0IfH5X+zwfmKHVbWW7YmZHG6GVwm9H4p6KsXrouYFgOyEZZBXbg= +-----END CERTIFICATE----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-authority/root.key b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-authority/root.key new file mode 100644 index 0000000..222dd22 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-authority/root.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAseoAuChXxC/acOVnn7pOLdA4VM1QSh7iPHlDUdN8PYdJ3KWU +A0+BM/q7MLTrTEv7ZE9CSpMovP+NCC/ORSrqIgEBdy/1pPgNuK6J/9tVuXSWUYyU +1DcXG0EArJGeB9GmDnp5mIfh/Z57/n5yKkDqZJUYcAdfxNqIEbnySMoXGbc+DM9u +iYFvMII9mCDzITlQ0RbTVuzoJCofofiKMGbJ7Q4+7aqrv/XKaDqUAa1GowqkmrXP +awDvyhHjcZ0CX3x6OQPF5wrRuWs+luEhQLvDs8iSfkts2wyjVSCbSV+b6pTDWP48 +W1w51clgcD0N8mRHAoBjwu9zaTVkb7CoObpgTQIDAQABAoIBAGvOf+EXkRcwaA1A +9Sm0murn4TqBrsU7MZuzXzeWDxK5h+hL7QSUiJYWuJcrCemRoSOHY4QM6AKeV7c+ +QJ9pAbbZJSozxYXRSX8/RB/lqGxYWT3REd4GA9pf6SiolDnor9bWIBhtPmOQRVJR +DJzN+To5njVEQqPmR811/3pb+uN5QtxrGmUc6o6pK801yrEzLF0bsKS8Yr19w6gH +cXZfoORnw4dxJ8ZaxqCz8c0FJV54UlMEtt2I/1cN77fxULOQa0wY1VgfrZPXPtQN +XUjJ712PoSpHSYGVR+fo5XA+5CebCS2784h1SixRFoTH1eZCDeX/a1BemTJhvJKU +J+pLe4ECgYEA4xfcOBaTft9KNW+dblDxa3FNVUpzTAK6z0IGfWIHKpsw2K/tGcU2 +3i9597J9YPUAJDF7boYQdgUpO2Xqs0OxG2Gu3o4dlwmiOb3U0VEkGd/WFatduPU4 +WEwfMlxbFWkzXUHoJSMil6x/JmqOULrT5hXXv2r9ED6MiljDV7wbq0sCgYEAyI+S +78t7WXK3WHcZILhdklewpkWINTvWCWAUiqd7UiSh8CXiZa7Q/f3KL8wMTC4ot59V +IcGqW9uDvUFS8xLqu7EkatkZwAcDRv4Z0LisjHyx7bOEyENIyHmHaMOGxCSOrGB9 +o0JGtzEoykfpJvNV3rTgOjYNWVyc/0vVoIoUC8cCgYBdp7V2nDjwFf5w0ztGB7PI +781I449xRZ7tYvlyND9oXuBiPQu3mRHryACxGreCiQgp5Q5WooufYLmEeZ+1lrEv +7bVEq6+gXqS804E1YhVVZm7QOQBKCzfVkm87QcN+rQg16bxntHnLu6Qkn8VZnfNN +7KwxkVoUnPcxBzJouHdgyQKBgC07E+w4e60EjgzJb0VNzux+EjytWbaHtBGRNZC/ +jLRNxqeeI5zC/CcL4Vk+L1fO4SfoKw7d2km1C9TWsppXHdEOdiQSqhgAfOC51aCY +xXE5ffcZkUyIwBVWMw+RaQc7J2IAsNTs0X3m/EgCR7adEjSTni4CmqgYlt+MfrUh +7rtpAoGAdMiL0SSY0bbqJgjHRgKSQpDbtUb5GlnUHLHliVCzxZsZ9lYLSU2xIL38 +35tFVfDZx6n3Tj3TRxrmxoIbevWVAMtgHGTKNumsMggBoTyDnFji98FkuzjuxupV +guyXbIkMjO3h0C2R8thHDeWsL7KG5KUxLXS6yt7boiA2j/Q60xw= +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-bizfx/tls.crt b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-bizfx/tls.crt new file mode 100644 index 0000000..fb71f76 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-bizfx/tls.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDBTCCAe2gAwIBAgIUV55kUKrxUoY/+zSh/785YT7KybYwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTI1MTkyNzI5WhcNMzAwNTIzMTkyNzI5WjAbMRkwFwYDVQQDDBBiaXpmeC5nbG9i +YWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1M4i2dwtVkK +1F0i/koBgijgpZDmLnr195nb2/IZZHPLPlPYrbFAjPe23qA8HNQ8RFHuKial1B5G +VfZVJ+Xxb7N1caOLyPZ2g6N0NC5jMEOxZJSv0WZRs+gE7mIMN4P14EAuPOr8bSF7 +R5mdeuhfCTSgwKJNTCMtzGHrkeJas4YiawV5o+1bu6QvVOZiT9HYCtNrLVEiH9Li +kgkGiVllBorFc/nmKYZyQSd56pO1pVkAeBnPvk9xX3N6asEoFRqjFPmyhL7UOKoQ +uOco9D9GqgdkNUloAvbDPyxJ4hbxPH7HadLjxkd5trtOKF5SNZG2czOon6lkL9+t +6G5zWZ6Q2wIDAQABozcwNTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAbBgNVHREE +FDASghBiaXpmeC5nbG9iYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA4JdHdVnSJ +HRBJF9Jrl4QoIobBqxNK1u+mhBXzxL1+2CHd7/v6tzg+YS6XTsfsx7Y2NeidkfBS +e7hyEazIlZMiCdIsslyCNu+ykEO4fKZyPSkcuUNsBZSCYnxlTLlmXHGWumht2TuH +gcgjuUpJ/QCZcFPV9pCg3dnkNhiFRYN2yowrXaji0UsaJ5o77YaPHDZ559aEdbMv +j8Dx1sZIosq6LR2Lwlxh6T3gS4PJqutTK1rpViXtDX2boP1lxkGU08/PY05O6paq +kPTbxIL3/g67b4LxIXl2Padegir9zf/4c+ojKhHT3yD9q9JRF2cJESkKskD4qqRu +u4dJVZ0fooj8 +-----END CERTIFICATE----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-bizfx/tls.key b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-bizfx/tls.key new file mode 100644 index 0000000..ccba44f --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-bizfx/tls.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAx1M4i2dwtVkK1F0i/koBgijgpZDmLnr195nb2/IZZHPLPlPY +rbFAjPe23qA8HNQ8RFHuKial1B5GVfZVJ+Xxb7N1caOLyPZ2g6N0NC5jMEOxZJSv +0WZRs+gE7mIMN4P14EAuPOr8bSF7R5mdeuhfCTSgwKJNTCMtzGHrkeJas4YiawV5 +o+1bu6QvVOZiT9HYCtNrLVEiH9LikgkGiVllBorFc/nmKYZyQSd56pO1pVkAeBnP +vk9xX3N6asEoFRqjFPmyhL7UOKoQuOco9D9GqgdkNUloAvbDPyxJ4hbxPH7HadLj +xkd5trtOKF5SNZG2czOon6lkL9+t6G5zWZ6Q2wIDAQABAoIBACKkRgmEWsRJy2YJ +IdHMDuMOM6zSuA6P9DuqE9nwA5W/wiz86YWWbr+RNckPVCM2h5rgGmJdASkScery +uu4KOqHNMLYlVGAC5aoPOFzxSu/Sc/wlE0FzZPO9eU3s4G6tkof834xa0rAsx340 +Jnh79jhlWyLfkkuPOaBxzD04d8cHU+TS0W8r2o48sdd4U9O9kv3khMWJTzaNsnRX +KC7rtrRwUmDZG0VTUtNZck7VGXx+HVNd2f/SWehScsFOcZXGLKz5jCRctGTz4rvR +6Jh4efWz0g8xWBJnnXTbd4fIBIOKyt7WGozti+9+Aidm3/YLu7V34UERg2Z9tRkV +MwGW4kECgYEA/K0T/TX7OZS8+1IKY81ENiHz/00kFgdrQ0I2w80DPtE49NbuUohT ++MS2hRRLtqxNi0LVqrCvwI9DjyINSJiyCNVvbDCf0/xP7AhB/8sSPykfMg1dkcb6 +hrhwx1DBk1exdAZJB4Uuip8WrXM3uuGX5WfloHl3cIqOtVSoxiNXmrECgYEAyfJ5 +0Zz7OEQje00Gn8uRe1pjBmsesNiwD9M5UrybybG5DPUSfx86ePn8OXjXBnGov3re +s/ZJNazkYED9K1CKh+1RhUNVx7G2+cSLWWKwo2ReHA/XLPOqP2SA4mBvqCn0EJlS +5fDPu7BvabMx1+cnlTs7ilpd52s2unstSc5Z70sCgYAR83noE121yYtjj4CNdpfS +ALeE+8YEiqJkNOAPKRGB9PtG6b4kvuq4UcFl0vtODw+zRRxI9CSIWaVDFfg7oB2F +4yP3W7z/In3LFwsZUSQKuLEurSRopupFh/T7NBGMlj5VL90gW6Xi00qZKAZdkIlq +EueNbxO9OxrIZytWaExhAQKBgGoViS62szV0fdsYtGEe89aDvb8yaFXoDlzRzawL +zh6e0KHg342N3w6L65ZZR0NoU4f6yKBqwTyEDRgPK68kSRFsdkV2AMq9LWx5deZH +tJiwcct1+sfvXECe0CGbHSyOlVpe4LBP1yA2Z+BztLxA/ocjLXzZSbj2ljJR4JGD +57SPAoGAKN4Evnb6pbalphxbLMmpfFMnpIIVeEOe8M1D+4t+PYn2etahXgbL30Za +/56NlZBROLsYx16+R9NQ5xichfLPvh6lxwE+wuZwl8PbDsQW+JIVp5F7xD7yNu3w +2oi/A4wmDqeUfGo7uVH1srK4muhrLTHSb9KYCJPSK627ZUP0N80= +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-cd/tls.crt b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-cd/tls.crt new file mode 100644 index 0000000..8290c0a --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-cd/tls.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIC/zCCAeegAwIBAgIUV55kUKrxUoY/+zSh/785YT7KybUwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTI1MTkyNzI4WhcNMzAwNTIzMTkyNzI4WjAYMRYwFAYDVQQDDA1jZC5nbG9iYWxo +b3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw6Ful4XXvU4UIPk+ +iI6pXX16VW4skMAIhg4Jolwxz6/Wun33VEv7D5DvjkMrNccQJR9PEWHRB6YBhafh +aq0QOdLG0d0MtVCCrpIWZdk5mWQEfVIoWbTEuC4UAmcMl6DoRgcu7HV8Hh4LES+Z +EPqQIJpoOUCG291ZVLSQEL3EbCCsrhRgCmAxULSo3JjEkfCV3YUPz9QrN0z7qNu2 +PQG4CyiYdivPEJL1HEyfN+s5ex2pju6ovxzo3aAbwtp7Zmk3aVNOXha0xkzbzXHF +tqrIi380aftEzV5cmEpdm8cUueqZN45HO5WCEmKpy1Vyv/61uPlT8VjjA+v+2DT0 +YORNJwIDAQABozQwMjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAYBgNVHREEETAP +gg1jZC5nbG9iYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQBV7l6QLZvjIeeEgCkj +7gW+12QWl1eRQ1XDjzmfaSCKbpIwjVO/KllD1dKtiPGT8Pe9AVr0PvYoVCWY9nDX +X1LXrZvYaY4d21IbcWrWNkwOaadmFbQ8FSD/2XWFgloM9zHwxXZa6z641JGLb9vS +j4bIWXJlILiKiV4KTE7m1Hr3q5wfIrQdZrmmNRtw+S5IqCMw75BdGVH0FGxxm7Fs +5Zr9P0dQBO60fb4VoyvcYXlv5wwXRiniNi+DkO/A5vjA9o3KoWsxBfdeiID2LErg +AOjoRIcvqGXmrM+8CrxmIoi33n+FQF2cau3QfnpyOziQC5uNtj5O3ePjGkJZv5EU +DOw5 +-----END CERTIFICATE----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-cd/tls.key b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-cd/tls.key new file mode 100644 index 0000000..551854c --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-cd/tls.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAw6Ful4XXvU4UIPk+iI6pXX16VW4skMAIhg4Jolwxz6/Wun33 +VEv7D5DvjkMrNccQJR9PEWHRB6YBhafhaq0QOdLG0d0MtVCCrpIWZdk5mWQEfVIo +WbTEuC4UAmcMl6DoRgcu7HV8Hh4LES+ZEPqQIJpoOUCG291ZVLSQEL3EbCCsrhRg +CmAxULSo3JjEkfCV3YUPz9QrN0z7qNu2PQG4CyiYdivPEJL1HEyfN+s5ex2pju6o +vxzo3aAbwtp7Zmk3aVNOXha0xkzbzXHFtqrIi380aftEzV5cmEpdm8cUueqZN45H +O5WCEmKpy1Vyv/61uPlT8VjjA+v+2DT0YORNJwIDAQABAoIBAGmCXXUXWJ3eyHho +NNPNrYagsCP3Qc3n5DD4zTVl5++NdJAsdAJg4E0q7CicDWf5rrl2w1wql2Q6okOF +ocu4/zFQfq6dO8dmXrTsUWwo1inmiY1VjDGljxuOrngFQANfYyaxpRse2gwcQ/fG +5hUELkuHO4L1TEa0gQNwRurgjlmJ6p0jYQT/m7gAQSxgy3dG5bID6qaJmRO+9kui +36uKs4OiYswH2fMjidIv0jjLysJFkbFZy0FB0DBc9Hk/ojymiouuzuxGq0+uk50U +9ThLpCpQ4NTse28YorkAilfggs+K43eRPUPTt7vlNuYeVe+8aXAo7qx9f1vf5RLA +1HzXE9ECgYEA/SKnSOn5T0D+c9D7Pf1CzeDlLWZ0TQKhFmjgCM5s6CN1llnAz1ms +LV8koRRtK1J+ylFNKry+QE+ZuX5FtaCxKCWE9OjYVSnaVTtr4+elTxcnwCONmv66 +YY2XGFd3yLrcQ6W2fzed1V+hSzK8zJ4DDWnoq7ko/STda5e4YQAl2FsCgYEAxdgv +JlVezzu0OouUUGtg3w4vAnMxmsCKvPnsYszg3f81sTFUhInEzhmXCN4qUY8D7Bjb +Lt44lJQDexC8uhhWgad8DbwudQDjxwSvX4wQUhVh54H33Zwk329v2I0T/R+BYl8Y +c9VRRRKc2Jx4LB82vBswtQsQXUdfG2UtxCrCmCUCgYAVQVaoobTkecGj+fVOxDha +zzqPMF4tpT3fgtjlBGhSqb+S62BsSMxTVvzdZbiw/ZFV7bO8FfMntUdkMv0pfh/C +Djx20CJyLDyAEahCj83qsTgOQy39yMvfqyL30Uhmm4IpT/3d+s6O/yOtC8qcp9v7 +wVvfJ4IQl4rcIPZDdt62pwKBgCV6iZwKahZ56e95R5Rgcw5uQmuFZO068k1QTv58 +b1C+qu4xOSCOdLDSWjE83OlsXULZhpP/VtqWm34xsn7SY3jWQILdljNmAsBN2+cO +wny6Pjy7+zeI/9cv5hEw0IuP71OyThCLZYTfPMUwBvfcxeKmh/iT6vqwrYykAyJ5 +MzndAoGAHlJ0gvBBrr6MkzrSd5UT0r6n6GFlmkIX9IppeQp49taeTM/SQfhhX5TD +iTYy+8+Eqf+sujUzBlYb9jE8c9WY1lkOSCRKIEBlvAxzyFNWttMRInm+L4xf3K0q +xcTcRiQjwcj9Qtk3g8YIaTrKPhjIyjP/cOdSaMAzu8ZRL9ta76k= +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-cm/tls.crt b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-cm/tls.crt new file mode 100644 index 0000000..8a2f50e --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-cm/tls.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIC/zCCAeegAwIBAgIUV55kUKrxUoY/+zSh/785YT7KybQwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTI1MTkyNzI4WhcNMzAwNTIzMTkyNzI4WjAYMRYwFAYDVQQDDA1jbS5nbG9iYWxo +b3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5Yw49VWGUVTpKETG +WkBwp4L5c6LdvlmhJymrBNHFYC76j1P/CIVpt/mOnSgGZKb7PV+EGf36t5Ye7YCZ +KTGr6DuPojPRCEyOXZkKNtZpVZ4mrOxfCUS2tONr3xfctqrYcaCCalhAuh52p8Xg +leV0ohBqdRy9dRhi2LWOLI53DNX65ppECHV43uE9OWvR8YSnwpZJm4MHsaBr7Fmn +vIjRSQ4LLZsfHM8casY09WvlmOzM4rqJT1HoxrYWLBG41PwXJvZkPxGeRAD/rIxl +6x2UYrQ8hgeT+wbbh6Dhb9X9Dsv0GAa3iLsX7zXxknz6GGkDWXUm8SIOZazGS3Od +yY+b2QIDAQABozQwMjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAYBgNVHREEETAP +gg1jbS5nbG9iYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA5+HZWmShI1Bm43UmI +uYrxMOzvRi6JX+L22M2/vZwB031fZd6vHzzLykHX/QzjH7DPmY+wzrH4uyebmKnS +Niph6k/Q2w3f/SlY+mmuBcTVCdliuCMf0Q0mzBjHfkp1iyU2yTdJnBHqgs23gT5E +709XsRLLlm3FCnc1Mf9W/oxx6I+Sxrm4T01glwUnZZoJuOC0fbmtGEXZY7ZLtX/w +XqZtKLTiwUkrjTMt1ZUtRNHuh+NnxxMAdo8p2lKV6cPuKg3iVgAzY/gBkrT0xY6e +MHcVQ9sovzIvvw7vOOfO+9jXfpOYUwDZHm7q3cHJkVxv/Qpsa6U0evKxmVSYN+/w +SEF4 +-----END CERTIFICATE----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-cm/tls.key b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-cm/tls.key new file mode 100644 index 0000000..8b16e27 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-cm/tls.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA5Yw49VWGUVTpKETGWkBwp4L5c6LdvlmhJymrBNHFYC76j1P/ +CIVpt/mOnSgGZKb7PV+EGf36t5Ye7YCZKTGr6DuPojPRCEyOXZkKNtZpVZ4mrOxf +CUS2tONr3xfctqrYcaCCalhAuh52p8XgleV0ohBqdRy9dRhi2LWOLI53DNX65ppE +CHV43uE9OWvR8YSnwpZJm4MHsaBr7FmnvIjRSQ4LLZsfHM8casY09WvlmOzM4rqJ +T1HoxrYWLBG41PwXJvZkPxGeRAD/rIxl6x2UYrQ8hgeT+wbbh6Dhb9X9Dsv0GAa3 +iLsX7zXxknz6GGkDWXUm8SIOZazGS3OdyY+b2QIDAQABAoIBAQCpZtM+ErC+Yuhy +hFbRkg7RQHIxaXc1m9W3HiQMuXZs5h6ZGcbzlemQEQazai9VpnlxMIU/3VRimdIX +OjlN0k9oYlQ8wvq3oi/KWT/VemRgAAfQw9va7i/bzJ32FRkYYXq8WFUGgDy8XfD5 +HaoBVUW+uFioNt6GhMml3k6fCUBIYlgoTZsmt3eTo5dvpMX6seDjvXPHJkedkf6K +jDY7/TG4wDmn6z/XREO8AEszK50VQpwaS2uw9+gJid9bCL6E1UJWqIFBc84gZxoE +TKZoExcN8DZr4FmjKoAovnlSHsZkWd0lqYhtiXmbn6drF3dOIq+S1ebm49se8AaJ +nVeUzW4BAoGBAPScBXQwIk39jsDNUKd7UX4Jw49HP0QeRIoZ/G8j5DR2nDg/i4uS +52+8q2drZ4a/1DWaHDA1SO3YxxjvbXRW502sPDuS9MLJpAl38dLmpJ2IsDXtUSvu +R7WsRHaEgon1OYvTNTH8N5k+IkEHk62LXKV3nvj9v9tQG6TxYXqO1RWZAoGBAPA8 +prHftfNlwnNCOz5zgwAxx2XdPn5I3xTJNVrPSABDdSFFqBZT+9iyK21qDZmtEIRf +OlMhCN/SOYhCnfXnLTKkkIYgkiIU0cRtXQG2k62CsGNJ3jJ3FYC40f4Z00Dyfzut +Vl30zGq8e2xaaVIcXoL6iBpET5K4hN51sjMOEiBBAoGAe2OUsLZzJ4pHD2TCUam4 +Qu7j8guLk239Pvi6yMl/HSPTy9/qIX76NfgjMmkQcP2lK2DQ5VSLtEcMr7xfJzeL +ODgwrhCEXRngIFKb7rofwcOot5s9vf5VuAPtCSfwvWyxGaJyDAPhe/DG0Kzkxr8s +/d7ol0tRE21GdJ66gFs6i8kCgYBqEd1n2+ZyORPJ4AxYXpgQlen8R9s31uToQI6W +Mb8QnrgwoJi+gwZHfyM9g/3NRGRujb0qxwMsD53nU8J6uD90hMRq9CaRda/IkqDm +CL7bdUB8FjlM/tc3pmLRVoW3v1n992KSyWsYFXBJPwIRhwUTv5ooPtEDbwT7U+wC +LsxCAQKBgAHD6esIDWTzOr98BpGhmj9ioQE+05dvz6IqjZZTexB8gGUC3l8Jvt4x +ZtApIpO2C0Iy51yqn1ihaNEiJsIwxbp7FDQmIdS2CebKMWh1okJgZcKj5DKDN5+s +jgYVS/MDL91Vu7yWW5V4BIJhlsKvqyoqPSTXilT0/rN5AZ2bHgry +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-id/tls.crt b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-id/tls.crt new file mode 100644 index 0000000..d906e96 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-id/tls.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIC/zCCAeegAwIBAgIUV55kUKrxUoY/+zSh/785YT7KybMwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTI1MTkyNzI4WhcNMzAwNTIzMTkyNzI4WjAYMRYwFAYDVQQDDA1pZC5nbG9iYWxo +b3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1X2666Tp3I17TOK +9zxVZSiI2sf9LgLQ9pndcmHm9DuvK3W753HvfwI+pythEpY/EvAKjYh6JDAHU+Cc +L1+oHg577YZZ4SoEW/kZDlssgdRHV3esdvliROSoxTnUX7mdZ40O6EHDJ8YIGCtc +eB8AXpil/EGRknFIgh1qVoETbW/YOTm+eb8O20mYwmH1/Hjqlmw/NoqnkNNiUzkn +HgtGOs7USaWIogOueD+pnGX0dPEmiXvuhb4dYxuNHAmjNCdqYf4dQWN8ThBruxmg +t3PJ7B875gl0S6KNdwCX/6+mYTlOF6LH/mkkNFRXoSDZ4REeDOsXesqBD7l2NShG +G4tOLwIDAQABozQwMjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAYBgNVHREEETAP +gg1pZC5nbG9iYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQBxKdiB/dYIX161txWV +DtyHEpZT2WA90hRQvbYV5yZQZSs+HE1O3LGdGr2cJyaxIHBnb8R0DA4J36K5SZx9 +VhmuTqhTOLW4lPqizh0FOS/bwaVjY6MzRHNsNB5cdKZAV0IKsjeK4zmygfaCfUsN ++EDQP+OcDVBwSvT62OJ5DFciUm8Y4amrDyKpOB+cf/dZ5TMtq6LnQ40HtpXINHnQ +Iu3NctLHt0sG4QGldymkynAQCVWg1IxWKVwPNHY9++TAd2z6Jy5qx2yCBWO1VTxE +hsmUu1+IlPM6z4szha0kn2otWupIcIVusyhzTXt6BOi10VSr0Kbv0bB46chGSdWO +pGLZ +-----END CERTIFICATE----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-id/tls.key b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-id/tls.key new file mode 100644 index 0000000..53a7c06 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-id/tls.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAu1X2666Tp3I17TOK9zxVZSiI2sf9LgLQ9pndcmHm9DuvK3W7 +53HvfwI+pythEpY/EvAKjYh6JDAHU+CcL1+oHg577YZZ4SoEW/kZDlssgdRHV3es +dvliROSoxTnUX7mdZ40O6EHDJ8YIGCtceB8AXpil/EGRknFIgh1qVoETbW/YOTm+ +eb8O20mYwmH1/Hjqlmw/NoqnkNNiUzknHgtGOs7USaWIogOueD+pnGX0dPEmiXvu +hb4dYxuNHAmjNCdqYf4dQWN8ThBruxmgt3PJ7B875gl0S6KNdwCX/6+mYTlOF6LH +/mkkNFRXoSDZ4REeDOsXesqBD7l2NShGG4tOLwIDAQABAoIBAH8xidpRiP0q5YRs +95CQDWcGk40ANl2UGe8lXx63bEktcOzwHimxySuSCZoVMO6exqqEApZAMLX7Si5g +FYtwxkPKD8ig7MudbKJJygJeUyS/TcUMgzOwdVFTc2edsR1heIcDVjjJ1cheg8Zt +QnZojiasPB6/Iiis888sS7P6JYeqPD4K/2Zyoh6JfwEMijWEKP9jIXy58xKqaACI +uFI5ukQGS0foNOLi/dF4UTGdqohcgyBmETD7gX44DJ05KTJWN38O62Dxawawd++T +02YBV4yDVpd81O3NwdP9MUim7ECCq4qdPo4BouknhMGnEiSFZp9SBAp7gAVUaar7 +cdA790kCgYEA4edLYxaRtvhHLWWTy/9BPcNIEd4O91e3/9i5AgsJqWdPnUBAw16a +R7YU1D1q/Exhcjq+qgQsGPolILN3prWemPLGuHxSKsyk+rvgC50fFp+jzl0sWkSA +x65/grLa7a9OBNH9t3hZx9n9ERQBbel4nkrfc5N3pTzKG4L2b3Dp5QMCgYEA1EtF +894ZiCNJUBtDBAYBmQxCIQXqoOAxvlcUaUpLU1MiVuElsB0xphwp7qI5ehyK661G +VYkKLnernxHOvk+Uic+x8hqG3LQaPjCysulAeA2conzwzFgzuAvJqfmh/YYUhluc +mcJM9fECSLyKpS9gJUpjBgKP22BOSDP5gppH/GUCgYBJMHezPc+t+RiOc7eDw0pu +6UMDTu+IYWoiwSOHru3NbcRUjUmuQos3qp1q+g8ceN6ldLTrPnjPCtRWmO6uG2+r +3BRYFydD6JOXDKGVAa3d1ZDrvjIteL5Ec5uqS6o0kbR0SVirRZnI7y5XhyTDaH4E +wvtMZb3A0kYkzbRr/Kg64wKBgAeDDludvUuK7BowjMOEruPKgkCG5BGDPV9d13QO +U/ID3BA08U91CP+2uWkfRmdiwSuruvRl3/1a8LC1QZqMWFY0Cjjl5WXD3bXbpUcd +Z9GXsbYyM5cXe+UETcN8+NVuvCUw8q6iKHT/bTRDr6g+r+lB45Uf3BVIKBz38dlE +Ok3dAoGANOqcctgPDCUb7znmIgcLp3BhxPWd+REmwKM2jFWSVeH6m8VyjxLV0Nxr +orR1rmWZVtgzsm2m8OrkuJV0ybKpMuMSypL1KhXhHbbXrRK1Ozjh2N23NaX4fLLK +NiHE/7pIin5N7ejugvcmjl+fsAHa08jCXaMbbgLz9oYFCme8TSg= +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-minions/tls.crt b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-minions/tls.crt new file mode 100644 index 0000000..99bbb1c --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-minions/tls.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCTCCAfGgAwIBAgIUV55kUKrxUoY/+zSh/785YT7KybgwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTI1MTkyNzI5WhcNMzAwNTIzMTkyNzI5WjAdMRswGQYDVQQDDBJtaW5pb25zLmds +b2JhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDCtN0hUquY +pt8Q8p46RQPJFDqL34GIU/I4fCkkbozgMPNL6esmxOZtfR6cAKkLW0+LA1xHYM6E +UJ5dDmMm4u4yTahEDaBi7OIFX0p1L7NTS4LOpeesXYvCU/hDmnjIOdrPx930iZIC +zEhCcDKGGTP10HoD3G7W12pqAeIghwQtZfRV08shJPu3PSvp+87BrCEpXPmxfhL+ +UiwvUmYVT0IEkZxAoX1C+UwR3qdkys/rDNcNeYRQX1Im4rmYUzM287kG1xfQ/EOO +JePmXoHDMlYA/12TgmfCBPx3qaBLHyuCZKbyYylwtw80OqTRJs0clpkD5KzpTZGt +38y+hQsx9YWPAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMB0GA1Ud +EQQWMBSCEm1pbmlvbnMuZ2xvYmFsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAciab +Zx2NrFNJVuxTX9MsvOoH7aUFX2+mRmoHq6YUjCXGsiXJaZuqgGx90nY0Tv+YwO/a +EiTSxF+Eg+3luym3f8iax+27Y11Xwwi/1dhen1bqXolo4+uKUpdiag+7/fwXfunc +w6KJ0W+oNeyiNRPY+n7uezlH2tUaP0m6HDsI3Ufcin+DpFamgYqqcqSKcAwzOspA +rMT3GgWlds+tKe928/AGAnJBGLpUrik4MoARtcl3lKyL4UWqVB14y8+hECfh7gtX +ycIQCcpqJd99rXQevSHteeMQMiYGWblC/++rZklHmAdGbTyC/FXnfjRiWk93V/Zg +GcoeNYP6bNExbZg4jw== +-----END CERTIFICATE----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-minions/tls.key b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-minions/tls.key new file mode 100644 index 0000000..c9bf4d0 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-minions/tls.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAwrTdIVKrmKbfEPKeOkUDyRQ6i9+BiFPyOHwpJG6M4DDzS+nr +JsTmbX0enACpC1tPiwNcR2DOhFCeXQ5jJuLuMk2oRA2gYuziBV9KdS+zU0uCzqXn +rF2LwlP4Q5p4yDnaz8fd9ImSAsxIQnAyhhkz9dB6A9xu1tdqagHiIIcELWX0VdPL +IST7tz0r6fvOwawhKVz5sX4S/lIsL1JmFU9CBJGcQKF9QvlMEd6nZMrP6wzXDXmE +UF9SJuK5mFMzNvO5BtcX0PxDjiXj5l6BwzJWAP9dk4JnwgT8d6mgSx8rgmSm8mMp +cLcPNDqk0SbNHJaZA+Ss6U2Rrd/MvoULMfWFjwIDAQABAoIBAQCY/1pMFxQz7dyX +Cq7/BsBEv5qJ0uWMZLqPXDFQKXaVrKFh47weSNbw7kKhP3uWKvhEOi3HAPEG0/q9 +ENMk+WlHKfKxFywS0CWDJy/xCbyWFV4CWCfGL/Pkjesl5DpIy/1/DIUC5R9RB4k4 +e8WXzjIgVOOsKQkH1VoPVs+D09SafoYQx3+SJONFfJImkvFD4zEDIC0GehySxh6I +akSOEpmIk59cX4gBc8gLpzbyPA7I3dUire6NEcTSJvRL1WC4WIJFUuSpLjrlNil0 +XrZ75gvms2vgbSIZypwS6ynW9oWmF/Xi1C2FicZiKkNTs+oRbTDxvV0/vxxHwQZ3 +K7KgAt3BAoGBAOWJo4obUGoRbknU9mXGt8t74afxY3cy/uflHoGSpnK4k5wZw64I +AwiCMTpDLSMlFv3E1f5pi5WOCBIx52aysgl1cei1OoeofKXHcvbSYjvi4R1a2XO2 +AbcGxSso4FtrpaCMFMDd5eisRfUcdErFm0dKEIIynyoLw9v6mS4rlaVRAoGBANkn +QCtrmILr6TEbP9nKIFgSd88bhrG44RCeMJtdSofMD55NJi+0MokehQ7plkXbj8DD +jtjkxHngNb3TW9GypoGETjzWkKY3Ug6I+2BV6Wz2NDC2XQCy266uSfP5kf7iJ3yy +eP+0jdzPee7wIA1+PzPJFqKSCGQUYKZEl3SnYUTfAoGBAOEkYi6in/uJ4V2174Dg +q4KBnlL2aBORB4o5p/R7/ZtlBBQHCXJ4FVGRMevt3CYuySBco3GJ4QnuaGhAXrLS +7+JrOjGBIUnSr4CD43XJ4eTPovMCG2xtx7zYfSjaTUYejjStceXDQTE5WN0U7dQx +gx8nvI2YTZoWNCRe50TsJzohAoGBAIPP7IauwBuwYZNaTA7CP5HWW/1OYxtb8tno +e+7C2SvG9TAM+oH4ariK2w+rQHlVBlRnID2N16l3LIf2VQTb4XA6xFbvk0whxmBm +S9g1LgTjCdkLyTZUWz8UMnWy5ykFVBzAJOxqR7ZiBkzAW2R1Xp3rkR7Lb+Z37Bbh +CeJYe5WXAoGAA2ZcEKzXP4OrWnuxonx6CpItFFDOFI+M7XjPBqkPWmrcfyb0o0+M +bgkwfG2n7XZ8mQZkKOh8C7U0V5gCQEdHxa1I1D7VQ5bRrUDh8Bgk6q8GTc9lRYAR +U1qXk8DYa1E3MGkb2KQIsEuHMdEuTYlj3bDv1tbtxAf1WB0+xSOTFl0= +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-shops/tls.crt b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-shops/tls.crt new file mode 100644 index 0000000..9d363fd --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-shops/tls.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDBTCCAe2gAwIBAgIUV55kUKrxUoY/+zSh/785YT7KybowDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTI1MTkyNzI5WhcNMzAwNTIzMTkyNzI5WjAbMRkwFwYDVQQDDBBzaG9wcy5nbG9i +YWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6bmMuIXZ95TI +bH9DU3KyPhsl2UxNN8NKKDFR1AL5HnOAlIrEXoahe8BKc0scA2hC3SrwBNdUywRV +DxnHbsBrX1j0ez4UEYt51AMKQ0mNdhBPIbMOnELiyD/RPbYIwMVlm6UKA/u72Bhf +lHGaZZ0Uv3b2j1uLWxASmA9VD5sQHxOBOXg43tgL/1su/zg3S76Z94h5fgxPet57 +AZJ/eDNkMaEwzYmeICrVjvCrUqS+1b+ES+rhI3CEVUn5IbmSRZ/gfa0bivDC9tNv +nCi0zq6//t/iKKmmuMKexo4bscc3kXj6EbtKjp0Dq9Y6xErOFAJ4l3SoHqDqbJTP +mdEd1+UA3QIDAQABozcwNTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAbBgNVHREE +FDASghBzaG9wcy5nbG9iYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQAYj/qeO5XS +4yv1F1Rn+JBvphhp7HO+cT5C+uOgxd7tUEMHqXQrj7U/vKc2nd/oDeVExd6E93Oj +c6gNnT4PKBpB+5PgOHSjl+dhz0XSXA8RGwX5uI65mIhP8EpRAua5LGQimMdjuE7n +DdclGyhnK9cDz3OpD+I50RefQ70aWDjqqS4yzQYph2mcIFiR0HcvXExGN7b3QK9D +QTQY794dthfBpAfof4dQH8MtLFbbMzffzVm4vALEoahW/zEu0U9ajhUjVx8qcWCH +bvCnuBX99IUBDz3EId14QVsD391BeMUrRvWkGOQqSrPYNAymoVjNTm0j7XOEIGYV +fa7EVYSq7U3M +-----END CERTIFICATE----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-shops/tls.key b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-shops/tls.key new file mode 100644 index 0000000..f58827f --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/tls/global-shops/tls.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA6bmMuIXZ95TIbH9DU3KyPhsl2UxNN8NKKDFR1AL5HnOAlIrE +Xoahe8BKc0scA2hC3SrwBNdUywRVDxnHbsBrX1j0ez4UEYt51AMKQ0mNdhBPIbMO +nELiyD/RPbYIwMVlm6UKA/u72BhflHGaZZ0Uv3b2j1uLWxASmA9VD5sQHxOBOXg4 +3tgL/1su/zg3S76Z94h5fgxPet57AZJ/eDNkMaEwzYmeICrVjvCrUqS+1b+ES+rh +I3CEVUn5IbmSRZ/gfa0bivDC9tNvnCi0zq6//t/iKKmmuMKexo4bscc3kXj6EbtK +jp0Dq9Y6xErOFAJ4l3SoHqDqbJTPmdEd1+UA3QIDAQABAoIBADWfeIWtUADZhdI+ +sHeozPQqzlg4hU7R42WtSxTVScqOvWVXIQ5+3PXDfFFPXjH57b1IaKDztmSNreY1 +B+iFBR1vD0hnSbtswJq/x88ARRBdVYppxmRbhCRlX+BEr2Vq5JD9IHshektt7B/m +oIHHtEbpSFBDtIlD+sAgZGecL+qw4plV+hMQ7pEvhlQVk1yrsWMLO7uq5rYjXLSo +ZgwhAzYiP+64Jm1PpJ4aIObmrXCypiNlsZagSmosYQjlP0Yrv3dojQ5YzzqsDjtX +7wzSVu7WM3LrYEyl6itVZ72Sec/RAqK9jSNV5GHBjc2KNqx2QU7EIdHok9LEp/fg +BUMQ7ZECgYEA/V5uCknsfllzcnvEUIYMx5LXYxL89WJATHsNGClU5CSQi0m578rI +iKIYA1eKFWasNspex30dPnprgn2IYQKq33cG/dSK3rw9aml5ve8C/88RRCF4KRxb +6a1v/PaV0Z+Utc7cYhptNTi66P1gwT0l2JO5zbL9XZ16LJ/i7cbH54cCgYEA7Cbl +nt29SI4rcHLnwSQaDYdHElnI9fd8A3vg0fLgsNPVXI9RvRZJAFjyjWcw7QC/JaF9 +k9JJuH+zBu4udyU2bF76fPCGwi+iMgUnVIC2G0nwfmi8tPp7blFPX9r1nTSnIuUW +5BSEqvlOIceYUpl8KSg1bdRFz35B4rY8a0Ob5XsCgYEA5TuwV4K2g0IvH183KJt/ +qHkEglDFqMVx40BZgoiyk485b6wOnBNeB7CQBUYIWoCAQzopMlfSQ5rC9lbZMtwU ++QVZwAGyev7YmhQ/30YF8qfHuVqGurs7tVoDvlzjA7tb8nnsDp5WPBbNlMrZ5TuL +qD1Pl/nfHfnCdelaiUKVzrUCgYEAgM76onvqef/qG8zhMo1hlI18K7tDjT5vq2rP +h1UGUA1LrNAT0qKsMP9TVeO6YRvuJzV9zLqAMZ2d5iLWv3BRzizETo/XwWW//66l +9Ea8jgf3oMu6WrDh0JuTQwKoxBXrMHJq2P+EGcogXvaC1FMZ0U04T27goTwJ7gJe +1FctWq8CgYEA0wmjzFlB+67VRQTCbbjkBRM13kQFxhhTgC2l/4FrLM1ZvOsAvjkE +ES5A+T+Mel+mVUb01jWj3RYZrEGVAlRgDQV+y71Sb5BHtoA8vaG6eZax97IbA5b6 +Jru4OR4nvMU4A6zWxcx1J5kzH5bsZnIeJwFG/4+YEzwsCpzl0yQ6ApE= +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-bizfx-currency.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-bizfx-currency.txt new file mode 100644 index 0000000..11d6bf5 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-bizfx-currency.txt @@ -0,0 +1 @@ +USD \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-bizfx-language.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-bizfx-language.txt new file mode 100644 index 0000000..2c4c454 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-bizfx-language.txt @@ -0,0 +1 @@ +en \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-bizfx-shopname.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-bizfx-shopname.txt new file mode 100644 index 0000000..fd834bf --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-bizfx-shopname.txt @@ -0,0 +1 @@ +CommerceEngineDefaultStorefront \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-connect-clientid.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-connect-clientid.txt new file mode 100644 index 0000000..2187f07 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-connect-clientid.txt @@ -0,0 +1 @@ +CommerceEngineConnect \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-connect-clientsecret.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-connect-clientsecret.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-connect-redis-connection-string.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-connect-redis-connection-string.txt new file mode 100644 index 0000000..108c777 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-connect-redis-connection-string.txt @@ -0,0 +1 @@ +redis:6379,defaultDatabase=1,allowAdmin=true,syncTimeout=3600000 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-archive-databasename.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-archive-databasename.txt new file mode 100644 index 0000000..38f62d9 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-archive-databasename.txt @@ -0,0 +1 @@ +SitecoreCommerce_ArchiveSharedEnvironments \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreeenvironment.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreeenvironment.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreemerchantid.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreemerchantid.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreeprivatekey.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreeprivatekey.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreepublickey.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreepublickey.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-database-masterkey-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-database-masterkey-password.txt new file mode 100644 index 0000000..09cac84 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-database-masterkey-password.txt @@ -0,0 +1 @@ +a3X8tA3FRMZf3xKN! \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-shared-databasename.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-shared-databasename.txt new file mode 100644 index 0000000..755c261 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-engine-shared-databasename.txt @@ -0,0 +1 @@ +SitecoreCommerce_SharedEnvironments \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-redis-connection-string.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-redis-connection-string.txt new file mode 100644 index 0000000..15a10e5 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-redis-connection-string.txt @@ -0,0 +1 @@ +redis:6379,ssl=False,abortConnect=False \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-solr-connection-string.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-solr-connection-string.txt new file mode 100644 index 0000000..0f57f1c --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-solr-connection-string.txt @@ -0,0 +1 @@ +http://solr:8983/solr \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-solr-prefix-name.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-solr-prefix-name.txt new file mode 100644 index 0000000..e585d89 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xc/commerce-solr-prefix-name.txt @@ -0,0 +1 @@ +commerce \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-adminpassword.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-adminpassword.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-adminpassword.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-collection-shardmapmanager-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-collection-shardmapmanager-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-collection-shardmapmanager-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-collection-shardmapmanager-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-collection-shardmapmanager-database-username.txt new file mode 100644 index 0000000..44946c8 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-collection-shardmapmanager-database-username.txt @@ -0,0 +1 @@ +shardmapmanageruser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-core-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-core-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-core-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-core-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-core-database-username.txt new file mode 100644 index 0000000..1a01ffc --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-core-database-username.txt @@ -0,0 +1 @@ +coreuser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-custom-database-prefix-update-from.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-custom-database-prefix-update-from.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-database-elastic-pool-name.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-database-elastic-pool-name.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-databasepassword.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-databasepassword.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-databasepassword.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-databaseprefix.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-databaseprefix.txt new file mode 100644 index 0000000..84e851b --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-databaseprefix.txt @@ -0,0 +1 @@ +Sitecore \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-databaseservername.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-databaseservername.txt new file mode 100644 index 0000000..a5faf70 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-databaseservername.txt @@ -0,0 +1 @@ +mssql \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-databaseusername.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-databaseusername.txt new file mode 100644 index 0000000..0107e44 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-databaseusername.txt @@ -0,0 +1 @@ +sa \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-exm-master-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-exm-master-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-exm-master-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-exm-master-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-exm-master-database-username.txt new file mode 100644 index 0000000..6b4a10e --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-exm-master-database-username.txt @@ -0,0 +1 @@ +exmmasteruser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-forms-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-forms-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-forms-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-forms-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-forms-database-username.txt new file mode 100644 index 0000000..2af6196 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-forms-database-username.txt @@ -0,0 +1 @@ +formsuser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-graphql-uploadmedia_encryptionkey.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-graphql-uploadmedia_encryptionkey.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-identitycertificate.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-identitycertificate.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-identitycertificatepassword.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-identitycertificatepassword.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-identitysecret.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-identitysecret.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-license.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-license.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-log-level-value.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-log-level-value.txt new file mode 100644 index 0000000..6a34d78 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-log-level-value.txt @@ -0,0 +1 @@ +INFO \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-marketing-automation-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-marketing-automation-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-marketing-automation-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-marketing-automation-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-marketing-automation-database-username.txt new file mode 100644 index 0000000..0d2f9dc --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-marketing-automation-database-username.txt @@ -0,0 +1 @@ +mauser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-master-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-master-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-master-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-master-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-master-database-username.txt new file mode 100644 index 0000000..92db714 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-master-database-username.txt @@ -0,0 +1 @@ +masteruser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-media-request-protection-shared-secret.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-media-request-protection-shared-secret.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-messaging-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-messaging-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-messaging-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-messaging-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-messaging-database-username.txt new file mode 100644 index 0000000..627db56 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-messaging-database-username.txt @@ -0,0 +1 @@ +messaginguser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-storage-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-storage-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-storage-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-storage-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-storage-database-username.txt new file mode 100644 index 0000000..0447fe0 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-storage-database-username.txt @@ -0,0 +1 @@ +processingenginestorageuser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-tasks-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-tasks-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-tasks-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-tasks-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-tasks-database-username.txt new file mode 100644 index 0000000..09ab54b --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-tasks-database-username.txt @@ -0,0 +1 @@ +processingenginetasksuser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-pools-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-pools-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-pools-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-pools-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-pools-database-username.txt new file mode 100644 index 0000000..afa6719 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-pools-database-username.txt @@ -0,0 +1 @@ +processingpoolsuser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-tasks-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-tasks-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-tasks-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-tasks-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-tasks-database-username.txt new file mode 100644 index 0000000..8731b1d --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-processing-tasks-database-username.txt @@ -0,0 +1 @@ +processingtasksuser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-redis-connection-string.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-redis-connection-string.txt new file mode 100644 index 0000000..15a10e5 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-redis-connection-string.txt @@ -0,0 +1 @@ +redis:6379,ssl=False,abortConnect=False \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reference-data-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reference-data-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reference-data-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reference-data-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reference-data-database-username.txt new file mode 100644 index 0000000..eec4367 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reference-data-database-username.txt @@ -0,0 +1 @@ +refdatauser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reporting-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reporting-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reporting-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reporting-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reporting-database-username.txt new file mode 100644 index 0000000..68515d5 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reporting-database-username.txt @@ -0,0 +1 @@ +reportinguser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reportingapikey.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reportingapikey.txt new file mode 100644 index 0000000..55c80f2 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-reportingapikey.txt @@ -0,0 +1 @@ +00112233445566778899AABBCCDDEEFF \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-solr-connection-string-xdb.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-solr-connection-string-xdb.txt new file mode 100644 index 0000000..eea97d7 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-solr-connection-string-xdb.txt @@ -0,0 +1 @@ +http://solr:8983/solr/sitecore_xdb;solrCloud=true \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-solr-connection-string.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-solr-connection-string.txt new file mode 100644 index 0000000..223d335 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-solr-connection-string.txt @@ -0,0 +1 @@ +http://solr:8983/solr;solrCloud=true \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-solr-core-prefix-name.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-solr-core-prefix-name.txt new file mode 100644 index 0000000..3220fb3 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-solr-core-prefix-name.txt @@ -0,0 +1 @@ +sitecore \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-telerikencryptionkey.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-telerikencryptionkey.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-web-database-password.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-web-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-web-database-password.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-web-database-username.txt b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-web-database-username.txt new file mode 100644 index 0000000..134ed9d --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/secrets/xp/sitecore-web-database-username.txt @@ -0,0 +1 @@ +webuser \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/volumes/azurefile/device-detection.yaml b/sxc/10.3/k8s-commerce-xc1/volumes/azurefile/device-detection.yaml new file mode 100644 index 0000000..3bd66f3 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/volumes/azurefile/device-detection.yaml @@ -0,0 +1,20 @@ +--- +kind: StorageClass +apiVersion: storage.k8s.io/v1 +metadata: + name: device-detection +provisioner: kubernetes.io/azure-file +parameters: + skuName: Standard_LRS +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: device-detection +spec: + accessModes: + - ReadWriteMany + storageClassName: device-detection + resources: + requests: + storage: 10Gi \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/volumes/azurefile/logs.yaml b/sxc/10.3/k8s-commerce-xc1/volumes/azurefile/logs.yaml new file mode 100644 index 0000000..2f53307 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/volumes/azurefile/logs.yaml @@ -0,0 +1,20 @@ +--- +kind: StorageClass +apiVersion: storage.k8s.io/v1 +metadata: + name: logs +provisioner: kubernetes.io/azure-file +parameters: + skuName: Standard_LRS +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: logs +spec: + accessModes: + - ReadWriteMany + storageClassName: logs + resources: + requests: + storage: 10Gi \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/volumes/azurefile/submit-queue.yaml b/sxc/10.3/k8s-commerce-xc1/volumes/azurefile/submit-queue.yaml new file mode 100644 index 0000000..07b9bd3 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/volumes/azurefile/submit-queue.yaml @@ -0,0 +1,20 @@ +--- +kind: StorageClass +apiVersion: storage.k8s.io/v1 +metadata: + name: submit-queue +provisioner: kubernetes.io/azure-file +parameters: + skuName: Standard_LRS +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: submit-queue +spec: + accessModes: + - ReadWriteMany + storageClassName: submit-queue + resources: + requests: + storage: 10Gi \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/volumes/hostpath/device-detection.yaml b/sxc/10.3/k8s-commerce-xc1/volumes/hostpath/device-detection.yaml new file mode 100644 index 0000000..cd894bc --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/volumes/hostpath/device-detection.yaml @@ -0,0 +1,27 @@ +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: device-detection +spec: + storageClassName: "" + capacity: + storage: 10Gi + accessModes: + - ReadWriteMany + persistentVolumeReclaimPolicy: Retain + hostPath: + path: "/sitecore/device-detection" + type: DirectoryOrCreate +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: device-detection +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 10Gi + storageClassName: "" \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/volumes/hostpath/logs.yaml b/sxc/10.3/k8s-commerce-xc1/volumes/hostpath/logs.yaml new file mode 100644 index 0000000..ab4a109 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/volumes/hostpath/logs.yaml @@ -0,0 +1,27 @@ +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: logs +spec: + storageClassName: "" + capacity: + storage: 10Gi + accessModes: + - ReadWriteMany + persistentVolumeReclaimPolicy: Retain + hostPath: + path: "/sitecore/logs" + type: DirectoryOrCreate +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: logs +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 10Gi + storageClassName: "" \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/volumes/hostpath/submit-queue.yaml b/sxc/10.3/k8s-commerce-xc1/volumes/hostpath/submit-queue.yaml new file mode 100644 index 0000000..06aa4a7 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/volumes/hostpath/submit-queue.yaml @@ -0,0 +1,27 @@ +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: submit-queue +spec: + storageClassName: "" + capacity: + storage: 10Gi + accessModes: + - ReadWriteMany + persistentVolumeReclaimPolicy: Retain + hostPath: + path: "/sitecore/submitqueue" + type: DirectoryOrCreate +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: submit-queue +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 10Gi + storageClassName: "" \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/volumes/platform-config-storage.yaml b/sxc/10.3/k8s-commerce-xc1/volumes/platform-config-storage.yaml new file mode 100644 index 0000000..0254253 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/volumes/platform-config-storage.yaml @@ -0,0 +1,14 @@ +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: platform-config-storage +provisioner: kubernetes.io/azure-file +mountOptions: + - dir_mode=0777 + - file_mode=0777 + - uid=0 + - gid=0 + - mfsymlinks + - cache=strict +parameters: + skuName: Standard_LRS \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/xdbautomation.yaml b/sxc/10.3/k8s-commerce-xc1/xdbautomation.yaml new file mode 100644 index 0000000..4df5660 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/xdbautomation.yaml @@ -0,0 +1,134 @@ +apiVersion: v1 +kind: Service +metadata: + name: xdbautomation +spec: + selector: + app: xdbautomation + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: xdbautomation + labels: + app: xdbautomation +spec: + replicas: 1 + selector: + matchLabels: + app: xdbautomation + template: + metadata: + labels: + app: xdbautomation + spec: + nodeSelector: + kubernetes.io/os: windows + initContainers: + - name: wait-xdbcollection + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbcollection/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbsearch + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbsearch/healthz/ready).StatusCode -eq 200} catch { $false }));"] + containers: + - name: sitecore-xc1-xdbautomation + image: sitecore-xc1-xdbautomation + ports: + - containerPort: 80 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Marketing_Automation_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-marketing-automation-database-username.txt + - name: Marketing_Automation_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-marketing-automation-database-password.txt + - name: Messaging_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-username.txt + - name: Messaging_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-password.txt + - name: Reference_Data_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-username.txt + - name: Reference_Data_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-password.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sitecore_ConnectionStrings_Messaging + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Messaging;User ID=$(Messaging_Database_Username);Password=$(Messaging_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Marketingautomation + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Marketingautomation;User ID=$(Marketing_Automation_Database_Username);Password=$(Marketing_Automation_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Referencedata;User ID=$(Reference_Data_Database_Username);Password=$(Reference_Data_Database_Password); + - name: Sitecore_ConnectionStrings_XConnect.Collection + value: http://xdbcollection + - name: Sitecore_ConnectionStrings_XConnect.Search + value: http://xdbsearch + livenessProbe: + httpGet: + path: /healthz/live + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /healthz/ready + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\inetpub\wwwroot\App_Data\logs + name: logs + subPath: xdbautomation + resources: + requests: + memory: 500Mi + cpu: 50m + limits: + memory: 1Gi + cpu: 200m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/xdbautomationrpt.yaml b/sxc/10.3/k8s-commerce-xc1/xdbautomationrpt.yaml new file mode 100644 index 0000000..2d4dfc6 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/xdbautomationrpt.yaml @@ -0,0 +1,111 @@ +apiVersion: v1 +kind: Service +metadata: + name: xdbautomationrpt +spec: + selector: + app: xdbautomationrpt + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: xdbautomationrpt + labels: + app: xdbautomationrpt +spec: + replicas: 1 + selector: + matchLabels: + app: xdbautomationrpt + template: + metadata: + labels: + app: xdbautomationrpt + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xp1-xdbautomationrpt + image: sitecore-xp1-xdbautomationrpt + ports: + - containerPort: 80 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Marketing_Automation_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-marketing-automation-database-username.txt + - name: Marketing_Automation_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-marketing-automation-database-password.txt + - name: Reference_Data_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-username.txt + - name: Reference_Data_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-password.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sitecore_ConnectionStrings_Xdb.Marketingautomation + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Marketingautomation;User ID=$(Marketing_Automation_Database_Username);Password=$(Marketing_Automation_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Referencedata;User ID=$(Reference_Data_Database_Username);Password=$(Reference_Data_Database_Password); + livenessProbe: + httpGet: + path: /healthz/live + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /healthz/ready + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\inetpub\wwwroot\App_Data\logs + name: logs + subPath: xdbautomationrpt + resources: + requests: + memory: 500Mi + cpu: 50m + limits: + memory: 1Gi + cpu: 200m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/xdbautomationworker.yaml b/sxc/10.3/k8s-commerce-xc1/xdbautomationworker.yaml new file mode 100644 index 0000000..810e9cb --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/xdbautomationworker.yaml @@ -0,0 +1,128 @@ +apiVersion: v1 +kind: Service +metadata: + name: xdbautomationworker +spec: + selector: + app: xdbautomationworker + ports: + - protocol: TCP + port: 8080 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: xdbautomationworker + labels: + app: xdbautomationworker +spec: + replicas: 1 + selector: + matchLabels: + app: xdbautomationworker + template: + metadata: + labels: + app: xdbautomationworker + spec: + nodeSelector: + kubernetes.io/os: windows + initContainers: + - name: wait-xdbcollection + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbcollection/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbsearch + image: pwsh-initContainer + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbsearch/healthz/ready).StatusCode -eq 200} catch { $false }));"] + containers: + - name: sitecore-xc1-xdbautomationworker + image: sitecore-xc1-xdbautomationworker + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Messaging_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-username.txt + - name: Messaging_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-password.txt + - name: Marketing_Automation_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-marketing-automation-database-username.txt + - name: Marketing_Automation_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-marketing-automation-database-password.txt + - name: Reference_Data_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-username.txt + - name: Reference_Data_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-password.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sitecore_ConnectionStrings_XConnect.Collection + value: http://xdbcollection + - name: Sitecore_ConnectionStrings_XConnect.Search + value: http://xdbsearch + - name: Sitecore_ConnectionStrings_Xdb.Marketingautomation + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Marketingautomation;User ID=$(Marketing_Automation_Database_Username);Password=$(Marketing_Automation_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Referencedata;User ID=$(Reference_Data_Database_Username);Password=$(Reference_Data_Database_Password); + - name: Sitecore_ConnectionStrings_Messaging + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Messaging;User ID=$(Messaging_Database_Username);Password=$(Messaging_Database_Password); + livenessProbe: + exec: + command: + - curl + - http://localhost:8080/healthz/live + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + exec: + command: + - curl + - http://localhost:8080/healthz/ready + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\service\App_Data\Logs + name: logs + subPath: xdbautomationworker + resources: + requests: + memory: 200Mi + cpu: 20m + limits: + memory: 1Gi + cpu: 200m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/xdbcollection.yaml b/sxc/10.3/k8s-commerce-xc1/xdbcollection.yaml new file mode 100644 index 0000000..865c96e --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/xdbcollection.yaml @@ -0,0 +1,147 @@ +apiVersion: v1 +kind: Service +metadata: + name: xdbcollection +spec: + selector: + app: xdbcollection + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: xdbcollection + labels: + app: xdbcollection +spec: + replicas: 1 + selector: + matchLabels: + app: xdbcollection + template: + metadata: + labels: + app: xdbcollection + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xc1-xdbcollection + image: sitecore-xc1-xdbcollection + ports: + - containerPort: 80 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Messaging_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-username.txt + - name: Messaging_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-password.txt + - name: Marketing_Automation_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-marketing-automation-database-username.txt + - name: Marketing_Automation_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-marketing-automation-database-password.txt + - name: Collection_ShardMapManager_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-collection-shardmapmanager-database-username.txt + - name: Collection_ShardMapManager_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-collection-shardmapmanager-database-password.txt + - name: Processing_Pools_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-pools-database-username.txt + - name: Processing_Pools_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-pools-database-password.txt + - name: Reference_Data_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-username.txt + - name: Reference_Data_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-password.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sitecore_ConnectionStrings_Messaging + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Messaging;User ID=$(Messaging_Database_Username);Password=$(Messaging_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Marketingautomation + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Marketingautomation;User ID=$(Marketing_Automation_Database_Username);Password=$(Marketing_Automation_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Processing.Pools + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Processing.pools;User ID=$(Processing_Pools_Database_Username);Password=$(Processing_Pools_Database_Password); + - name: Sitecore_ConnectionStrings_Collection + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Xdb.Collection.ShardMapManager;User ID=$(Collection_ShardMapManager_Database_Username);Password=$(Collection_ShardMapManager_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Referencedata;User ID=$(Reference_Data_Database_Username);Password=$(Reference_Data_Database_Password); + livenessProbe: + httpGet: + path: /healthz/live + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /healthz/ready + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\inetpub\wwwroot\App_Data\logs + name: logs + subPath: xdbcollection + resources: + requests: + memory: 500Mi + cpu: 150m + limits: + memory: 2Gi + cpu: 500m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/xdbrefdata.yaml b/sxc/10.3/k8s-commerce-xc1/xdbrefdata.yaml new file mode 100644 index 0000000..047002d --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/xdbrefdata.yaml @@ -0,0 +1,99 @@ +apiVersion: v1 +kind: Service +metadata: + name: xdbrefdata +spec: + selector: + app: xdbrefdata + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: xdbrefdata + labels: + app: xdbrefdata +spec: + replicas: 1 + selector: + matchLabels: + app: xdbrefdata + template: + metadata: + labels: + app: xdbrefdata + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xp1-xdbrefdata + image: sitecore-xp1-xdbrefdata + ports: + - containerPort: 80 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Reference_Data_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-username.txt + - name: Reference_Data_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-password.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Referencedata;User ID=$(Reference_Data_Database_Username);Password=$(Reference_Data_Database_Password); + livenessProbe: + httpGet: + path: /healthz/live + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /healthz/ready + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\inetpub\wwwroot\App_Data\logs + name: logs + subPath: xdbrefdata + resources: + requests: + memory: 500Mi + cpu: 150m + limits: + memory: 1Gi + cpu: 350m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/xdbsearch.yaml b/sxc/10.3/k8s-commerce-xc1/xdbsearch.yaml new file mode 100644 index 0000000..33ed21a --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/xdbsearch.yaml @@ -0,0 +1,156 @@ +apiVersion: v1 +kind: Service +metadata: + name: xdbsearch +spec: + selector: + app: xdbsearch + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: xdbsearch + labels: + app: xdbsearch +spec: + replicas: 1 + selector: + matchLabels: + app: xdbsearch + template: + metadata: + labels: + app: xdbsearch + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xc1-xdbsearch + image: sitecore-xc1-xdbsearch + ports: + - containerPort: 80 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Messaging_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-username.txt + - name: Messaging_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-messaging-database-password.txt + - name: Marketing_Automation_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-marketing-automation-database-username.txt + - name: Marketing_Automation_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-marketing-automation-database-password.txt + - name: Collection_ShardMapManager_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-collection-shardmapmanager-database-username.txt + - name: Collection_ShardMapManager_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-collection-shardmapmanager-database-password.txt + - name: Processing_Pools_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-pools-database-username.txt + - name: Processing_Pools_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-processing-pools-database-password.txt + - name: Reference_Data_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-username.txt + - name: Reference_Data_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-reference-data-database-password.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sitecore_ConnectionStrings_Messaging + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Messaging;User ID=$(Messaging_Database_Username);Password=$(Messaging_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Marketingautomation + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Marketingautomation;User ID=$(Marketing_Automation_Database_Username);Password=$(Marketing_Automation_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Processing.Pools + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Processing.pools;User ID=$(Processing_Pools_Database_Username);Password=$(Processing_Pools_Database_Password); + - name: Sitecore_ConnectionStrings_Collection + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Xdb.Collection.ShardMapManager;User ID=$(Collection_ShardMapManager_Database_Username);Password=$(Collection_ShardMapManager_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Referencedata;User ID=$(Reference_Data_Database_Username);Password=$(Reference_Data_Database_Password); + - name: Sitecore_ConnectionStrings_SolrCore + valueFrom: + secretKeyRef: + name: sitecore-solr-xdb + key: sitecore-solr-connection-string-xdb.txt + - name: Sitecore_Sitecore__XConnect__CollectionSearch__Services__Solr.SolrReaderSettings__Options__RequireHttps + value: 'false' + - name: Sitecore_Sitecore__XConnect__CollectionSearch__Services__XConnectSolrHealthCheckServicesConfiguration__Options__RequireHttps + value: 'false' + livenessProbe: + httpGet: + path: /healthz/live + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Liveness + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + httpGet: + path: /healthz/ready + port: 80 + httpHeaders: + - name: X-Kubernetes-Probe + value: Startup + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\inetpub\wwwroot\App_Data\logs + name: logs + subPath: xdbsearch + resources: + requests: + memory: 500Mi + cpu: 150m + limits: + memory: 1Gi + cpu: 350m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/k8s-commerce-xc1/xdbsearchworker.yaml b/sxc/10.3/k8s-commerce-xc1/xdbsearchworker.yaml new file mode 100644 index 0000000..3b72095 --- /dev/null +++ b/sxc/10.3/k8s-commerce-xc1/xdbsearchworker.yaml @@ -0,0 +1,104 @@ +apiVersion: v1 +kind: Service +metadata: + name: xdbsearchworker +spec: + selector: + app: xdbsearchworker + ports: + - protocol: TCP + port: 8080 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: xdbsearchworker + labels: + app: xdbsearchworker +spec: + replicas: 1 + selector: + matchLabels: + app: xdbsearchworker + template: + metadata: + labels: + app: xdbsearchworker + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xc1-xdbsearchworker + image: sitecore-xc1-xdbsearchworker + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.txt + - name: Collection_ShardMapManager_Database_Username + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-collection-shardmapmanager-database-username.txt + - name: Collection_ShardMapManager_Database_Password + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-collection-shardmapmanager-database-password.txt + - name: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sql_Database_Prefix + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseprefix.txt + - name: Sitecore_ConnectionStrings_Collection + value: Data Source=$(Database_Server);Initial Catalog=$(Sql_Database_Prefix).Xdb.Collection.ShardMapManager;User ID=$(Collection_ShardMapManager_Database_Username);Password=$(Collection_ShardMapManager_Database_Password); + - name: Sitecore_ConnectionStrings_SolrCore + valueFrom: + secretKeyRef: + name: sitecore-solr-xdb + key: sitecore-solr-connection-string-xdb.txt + - name: Sitecore_Sitecore__XConnect__SearchIndexer__Services__Solr.SolrReaderSettings__Options__RequireHttps + value: 'false' + - name: Sitecore_Sitecore__XConnect__SearchIndexer__Services__Solr.SolrWriterSettings__Options__RequireHttps + value: 'false' + - name: Sitecore_Sitecore__XConnect__CollectionSearch__Services__XConnectSolrHealthCheckServicesConfiguration__Options__RequireHttps + value: 'false' + livenessProbe: + exec: + command: + - curl + - http://localhost:8080/healthz/live + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 3 + startupProbe: + exec: + command: + - curl + - http://localhost:8080/healthz/ready + timeoutSeconds: 300 + periodSeconds: 30 + failureThreshold: 10 + volumeMounts: + - mountPath: C:\service\App_Data\Logs + name: logs + subPath: xdbsearchworker + resources: + requests: + memory: 400Mi + cpu: 50m + limits: + memory: 1Gi + cpu: 300m + volumes: + - name: logs + persistentVolumeClaim: + claimName: logs + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.3/postman/Containers - Docker - AdventureWorks.postman_environment.json b/sxc/10.3/postman/Containers - Docker - AdventureWorks.postman_environment.json new file mode 100644 index 0000000..8163a4b --- /dev/null +++ b/sxc/10.3/postman/Containers - Docker - AdventureWorks.postman_environment.json @@ -0,0 +1,109 @@ +{ + "id": "43b7338d-bec5-46d2-975d-71831570727d", + "name": "Containers - Docker - AdventureWorks", + "values": [ + { + "key": "Environment", + "value": "AdventureWorksAuthoring", + "enabled": true + }, + { + "key": "ShopName", + "value": "CommerceEngineDefaultStorefront", + "enabled": true + }, + { + "key": "ShopperId", + "value": "ShopperId", + "enabled": true + }, + { + "key": "Language", + "value": "en-US", + "enabled": true + }, + { + "key": "Currency", + "value": "USD", + "enabled": true + }, + { + "key": "ServiceHost", + "value": "{{Protocol}}://authoring.localhost", + "enabled": true + }, + { + "key": "ShopsApi", + "value": "api", + "enabled": true + }, + { + "key": "OpsApi", + "value": "commerceops", + "enabled": true + }, + { + "key": "OpsApiHost", + "value": "{{Protocol}}://ops.localhost", + "enabled": true + }, + { + "key": "AuthoringHost", + "value": "{{Protocol}}://authoring.localhost", + "enabled": true + }, + { + "key": "MinionsHost", + "value": "{{Protocol}}://minions.localhost", + "enabled": true + }, + { + "key": "ShopsHost", + "value": "{{Protocol}}://shops.localhost", + "enabled": true + }, + { + "key": "SitecoreIdServerHost", + "value": "{{Protocol}}://{{Topology}}id.localhost", + "enabled": true + }, + { + "key": "SitecoreIdServerUserName", + "value": "sitecore\\admin", + "enabled": true + }, + { + "key": "SitecoreIdServerPassword", + "value": "Password12345", + "enabled": true + }, + { + "key": "GeoLocation", + "value": "IpAddress=1.0.0.0", + "enabled": true + }, + { + "key": "MinionsEnvironment", + "value": "AdventureWorksMinions", + "enabled": true + }, + { + "key": "ShopsEnvironment", + "value": "AdventureWorksShops", + "enabled": true + }, + { + "key": "Protocol", + "value": "https", + "enabled": true + }, + { + "key": "Topology", + "value": "xc1-cxa", + "enabled": true + } + ], + "_postman_variable_scope": "environment", + "_postman_exported_at": "2021-08-26T13:56:57.229Z", + "_postman_exported_using": "Postman/7.33.1" +} \ No newline at end of file diff --git a/sxc/10.3/postman/Containers - Docker - Habitat.postman_environment.json b/sxc/10.3/postman/Containers - Docker - Habitat.postman_environment.json new file mode 100644 index 0000000..aff9e01 --- /dev/null +++ b/sxc/10.3/postman/Containers - Docker - Habitat.postman_environment.json @@ -0,0 +1,109 @@ +{ + "id": "4c4a2ac7-6661-45bd-af8b-8221dff506c3", + "name": "Containers - Docker - Habitat", + "values": [ + { + "key": "Environment", + "value": "HabitatAuthoring", + "enabled": true + }, + { + "key": "ShopName", + "value": "CommerceEngineDefaultStorefront", + "enabled": true + }, + { + "key": "ShopperId", + "value": "ShopperId", + "enabled": true + }, + { + "key": "Language", + "value": "en-US", + "enabled": true + }, + { + "key": "Currency", + "value": "USD", + "enabled": true + }, + { + "key": "ServiceHost", + "value": "{{Protocol}}://authoring.localhost", + "enabled": true + }, + { + "key": "ShopsApi", + "value": "api", + "enabled": true + }, + { + "key": "OpsApi", + "value": "commerceops", + "enabled": true + }, + { + "key": "OpsApiHost", + "value": "{{Protocol}}://ops.localhost", + "enabled": true + }, + { + "key": "AuthoringHost", + "value": "{{Protocol}}://authoring.localhost", + "enabled": true + }, + { + "key": "MinionsHost", + "value": "{{Protocol}}://minions.localhost", + "enabled": true + }, + { + "key": "ShopsHost", + "value": "{{Protocol}}://shops.localhost", + "enabled": true + }, + { + "key": "SitecoreIdServerHost", + "value": "{{Protocol}}://{{Topology}}id.localhost", + "enabled": true + }, + { + "key": "SitecoreIdServerUserName", + "value": "sitecore\\admin", + "enabled": true + }, + { + "key": "SitecoreIdServerPassword", + "value": "Password12345", + "enabled": true + }, + { + "key": "GeoLocation", + "value": "IpAddress=1.0.0.0", + "enabled": true + }, + { + "key": "MinionsEnvironment", + "value": "HabitatMinions", + "enabled": true + }, + { + "key": "ShopsEnvironment", + "value": "HabitatShops", + "enabled": true + }, + { + "key": "Protocol", + "value": "https", + "enabled": true + }, + { + "key": "Topology", + "value": "xc1-cxa", + "enabled": true + } + ], + "_postman_variable_scope": "environment", + "_postman_exported_at": "2021-08-26T13:57:15.691Z", + "_postman_exported_using": "Postman/7.33.1" +} \ No newline at end of file diff --git a/sxc/10.3/postman/Containers - K8S - AdventureWorks.postman_environment.json b/sxc/10.3/postman/Containers - K8S - AdventureWorks.postman_environment.json new file mode 100644 index 0000000..8d820a9 --- /dev/null +++ b/sxc/10.3/postman/Containers - K8S - AdventureWorks.postman_environment.json @@ -0,0 +1,99 @@ +{ + "id": "8fd0f42d-dfd4-4d96-9fdf-d867c753e068", + "name": "Containers - K8S - AdventureWorks", + "values": [ + { + "key": "Environment", + "value": "AdventureWorksAuthoring", + "enabled": true + }, + { + "key": "ShopName", + "value": "CommerceEngineDefaultStorefront", + "enabled": true + }, + { + "key": "ShopperId", + "value": "ShopperId", + "enabled": true + }, + { + "key": "Language", + "value": "en-US", + "enabled": true + }, + { + "key": "Currency", + "value": "USD", + "enabled": true + }, + { + "key": "ServiceHost", + "value": "{{Protocol}}://authoring.globalhost", + "enabled": true + }, + { + "key": "ShopsApi", + "value": "api", + "enabled": true + }, + { + "key": "OpsApi", + "value": "commerceops", + "enabled": true + }, + { + "key": "AuthoringHost", + "value": "{{Protocol}}://authoring.globalhost", + "enabled": true + }, + { + "key": "MinionsHost", + "value": "{{Protocol}}://minions.globalhost", + "enabled": true + }, + { + "key": "ShopsHost", + "value": "{{Protocol}}://shops.globalhost", + "enabled": true + }, + { + "key": "SitecoreIdServerHost", + "value": "{{Protocol}}://id.globalhost", + "enabled": true + }, + { + "key": "SitecoreIdServerUserName", + "value": "sitecore\\admin", + "enabled": true + }, + { + "key": "SitecoreIdServerPassword", + "value": "Password12345", + "enabled": true + }, + { + "key": "GeoLocation", + "value": "IpAddress=1.0.0.0", + "enabled": true + }, + { + "key": "MinionsEnvironment", + "value": "AdventureWorksMinions", + "enabled": true + }, + { + "key": "ShopsEnvironment", + "value": "AdventureWorksShops", + "enabled": true + }, + { + "key": "Protocol", + "value": "https", + "enabled": true + } + ], + "_postman_variable_scope": "environment", + "_postman_exported_at": "2020-09-03T19:05:15.019Z", + "_postman_exported_using": "Postman/7.31.1" +} \ No newline at end of file diff --git a/sxc/10.3/postman/Containers - K8S - Habitat.postman_environment.json b/sxc/10.3/postman/Containers - K8S - Habitat.postman_environment.json new file mode 100644 index 0000000..6df1f6e --- /dev/null +++ b/sxc/10.3/postman/Containers - K8S - Habitat.postman_environment.json @@ -0,0 +1,99 @@ +{ + "id": "746941f3-861c-4882-b58f-1ae91cb9234b", + "name": "Containers - K8S - Habitat", + "values": [ + { + "key": "Environment", + "value": "HabitatAuthoring", + "enabled": true + }, + { + "key": "ShopName", + "value": "CommerceEngineDefaultStorefront", + "enabled": true + }, + { + "key": "ShopperId", + "value": "ShopperId", + "enabled": true + }, + { + "key": "Language", + "value": "en-US", + "enabled": true + }, + { + "key": "Currency", + "value": "USD", + "enabled": true + }, + { + "key": "ServiceHost", + "value": "{{Protocol}}://authoring.globalhost", + "enabled": true + }, + { + "key": "ShopsApi", + "value": "api", + "enabled": true + }, + { + "key": "OpsApi", + "value": "commerceops", + "enabled": true + }, + { + "key": "AuthoringHost", + "value": "{{Protocol}}://authoring.globalhost", + "enabled": true + }, + { + "key": "MinionsHost", + "value": "{{Protocol}}://minions.globalhost", + "enabled": true + }, + { + "key": "ShopsHost", + "value": "{{Protocol}}://shops.globalhost", + "enabled": true + }, + { + "key": "SitecoreIdServerHost", + "value": "{{Protocol}}://id.globalhost", + "enabled": true + }, + { + "key": "SitecoreIdServerUserName", + "value": "sitecore\\admin", + "enabled": true + }, + { + "key": "SitecoreIdServerPassword", + "value": "Password12345", + "enabled": true + }, + { + "key": "GeoLocation", + "value": "IpAddress=1.0.0.0", + "enabled": true + }, + { + "key": "MinionsEnvironment", + "value": "HabitatMinions", + "enabled": true + }, + { + "key": "ShopsEnvironment", + "value": "HabitatShops", + "enabled": true + }, + { + "key": "Protocol", + "value": "https", + "enabled": true + } + ], + "_postman_variable_scope": "environment", + "_postman_exported_at": "2020-09-03T19:05:16.788Z", + "_postman_exported_using": "Postman/7.31.1" +} \ No newline at end of file diff --git a/sxc/10.3/scripts/CleanContainerCache.ps1 b/sxc/10.3/scripts/CleanContainerCache.ps1 new file mode 100644 index 0000000..778015a --- /dev/null +++ b/sxc/10.3/scripts/CleanContainerCache.ps1 @@ -0,0 +1,65 @@ +<# +.SYNOPSIS +Cleans the container images cache on a Windows machine. Presumes the default location of Docker Desktop installation. + +.DESCRIPTION +Cleans the container images cache on a Windows machine. Presumes the default installation location of C:\ProgramData\docker\windowsfilter\ +for Docker Desktop cache. + +No parameters required. + +.EXAMPLE +CleanContainerCache.ps1 +#> + +#Swallow all the errors +function CleanCache { + Invoke-Command -Script { + $ErrorActionPreference="silentlycontinue" + & docker rmi $allImages --force 2>&1 > $null | Out-Null + } -ErrorAction SilentlyContinue | Out-Null -ErrorAction SilentlyContinue +} + +Write-Host "=======================CACHE INFO============================" +Write-host "Count of images:"((& docker image ls -a | Measure-Object).Count -1) +Write-Host "Count of cache directories:"(Get-ChildItem -path C:\ProgramData\docker\windowsfilter\ -force | Measure-Object).Count +Write-Host "Diskspace used:" +& docker system df +Write-Host "=============================================================`n" + +Write-Host "==============STOPPING RUNNING CONTAINERS====================" +$runningContainers = docker ps -a -q +if ($null -ne $runningContainers){ + & docker stop $runningContainers + & docker rm $runningContainers +} +Write-Host "============================================================`n" + +Write-Host "=====================CLEANING CACHE=========================" +$allImages = docker images -a -q +if ($null -ne $allImages){ + #Try/catch to swallow the writes to stderr, if there are errors, + #write warnings + try { + & docker images -a -q + CleanCache + } catch { + Write-Warning "Warnings: `n" + Format-list * -InputObject $_ -Force + } finally { + Write-Host "Finished" + } +} +Write-Host "=============================================================`n" + +Write-Host "======================PRUNING SYSTEM=========================" +Write-Host 'docker system prune -a -f' +docker system prune -a -f +Write-Host "=============================================================" + +Write-Host "=======================CACHE INFO============================" +Write-host "Count of images:"((docker image ls -a | Measure-Object).Count -1) +Write-Host "Count of cache directories:"(Get-ChildItem -path C:\ProgramData\docker\windowsfilter\ -force | Measure-Object).Count +Write-Host "Diskspace used:" +docker system df +Write-Host "=============================================================" diff --git a/sxc/10.3/scripts/ComposeInit.ps1 b/sxc/10.3/scripts/ComposeInit.ps1 new file mode 100644 index 0000000..3d91a73 --- /dev/null +++ b/sxc/10.3/scripts/ComposeInit.ps1 @@ -0,0 +1,437 @@ +[CmdletBinding()] +Param ( + [ValidateSet("xc0","xc1-cxa")] + [string] $Topology = "xc1-cxa", + + [ValidateNotNullOrEmpty()] + [string] $EnvFilePath = "..\$($Topology)\.env", + + [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] + [string] $LicenseXmlPath, + + # We do not need to use [SecureString] here since the value will be stored unencrypted in .env, + # and used only for transient local example environment. + [string] $SitecoreAdminPassword = "Password12345", + + # We do not need to use [SecureString] here since the value will be stored unencrypted in .env, + # and used only for transient local example environment. + [string] $SqlSaPassword = "Password12345", + + [string] $SqlServer = "mssql", + + [string] $SqlUserName = "sa", + + [string] $CdHost = "$($Topology)cd.localhost", + + [string] $CmHost = "$($Topology)cm.localhost", + + [string] $IdHost = "$($Topology)id.localhost", + + [string] $BizFxHost = "bizfx.localhost", + + [string] $AuthoringHost = "authoring.localhost", + + [string] $ShopsHost = "shops.localhost", + + [string] $MinionsHost = "minions.localhost", + + [string] $SitecoreGalleryRepositoryLocation = "https://sitecore.myget.org/F/sc-powershell/api/v2", + + [string] $TraefikFolder = "..\$($Topology)\traefik", + + [string] $RootCertName = "Sitecore Docker Compose Development Self-Signed Authority", + + [string] $BraintreeEnvironment, + + [string] $BraintreeMerchantId, + + [string] $BraintreePublicKey, + + [string] $BraintreePrivateKey, + + [ValidateSet("default", "process", "hyperv")] + [string] $Isolation = "process", + + [string] $DockerToolsVersion +) + +<# +.SYNOPSIS +Script to facilitate the updating of the .env files for use with docker-compose and required initialization of certificates and hosts entires + +.PARAMETER Topology +[ValidateSet("xc0","xc1-cxa")] +The topology to deploy. Parameter is used to determine paths to other locations (.env file, certificates) + +.PARAMETER EnvFilePath +The path to the parent (root) directory containg the .env file for the specified topology. Default is to use the topology to determine path. + +.PARAMETER LicenseXmlPath +[Parameter(Mandatory)] +Sitecore license file xml path + +.PARAMETER SitecoreAdminPassword +The admin password for sitecore + +.PARAMETER SqlSaPassword +The SQL sa password + +.PARAMETER SqlServer +The SQL server + +.PARAMETER SqlUserName +The SQL sa username + +.PARAMETER CdHost +The host name for the CD site + +.PARAMETER CmHost +The host name for the cm site + +.PARAMETER IdHost +The host name for the identity server + +.PARAMETER BizFxHost +The host name for the commerce business tools site + +.PARAMETER AuthoringHost +The host name for the commerce engine authoring service + +.PARAMETER ShopsHost +The host name for the commerce engine shops service + +.PARAMETER MinionsHost +The host name for the commerce engine minions service + +.PARAMETER SitecoreGalleryRepositoryLocation +Sitecore Gallery repository location. Default is https://sitecore.myget.org/F/sc-powershell/api/v2 + +.PARAMETER TraefikFolder +Path to the traefik folder. Default is to use the topology to determine path. + +.PARAMETER CommonName +The name of the root certificate as it will be displayed in windows certificate manager + +.PARAMETER BraintreeEnvironment +The Braintree environment. E.G. sandbox or production + +.PARAMETER BraintreeMerchantId +Your merchant ID for the Braintreepayment provider. + +.PARAMETER BraintreePublicKey +The public key associated to your Braintree account. + +.PARAMETER BraintreePrivateKey +The private key associated to your Braintree account. + +.PARAMETER Isolation +[ValidateSet("default", "process", "hyperv")] +Choose the isolation method. default will use the default method determiend by the OS, process will force process isolation, hyperv wil force hyperv isolation. +To improve performance it is recommened to use "process" as isolation method for Windows 10 as default is hyperv. + +.PARAMETER DockerToolsVersion +The version of the Sitecore Docker Tools to use + +.EXAMPLE +Example of the required parameters if default values are appropriate +PS> ComposeInit.ps1 -licenseXmlPath "Location of your licence file" ` + -braintreeEnvironment "sandbox" ` + -braintreeMerchantId "Your merchant id" ` + -braintreePublicKey "Your public key" ` + -braintreePrivateKey "Your private key" +#> + +$ErrorActionPreference = "Stop"; +[boolean]$RootCertificateCreated = $false; + +function Get-EnvironmentVariableNameList { + param( + [string]$EnvFilePath + ) + + $envVariableNameList = @() + $envVariables = Get-Content -Path $EnvFilePath + foreach ($envVariable in $envVariables) { + $envName = $envVariable.Split('=')[0] + $envVariableNameList += $envName + } + return $envVariableNameList +} + +function Populate-EnvironmentFile { + param( + [string]$EnvFilePath, + [hashtable]$EnvVariablesTable + ) + + Write-Information -MessageData "Starting populating '$EnvFilePath' env file variables..." -InformationAction Continue + + $envVariableNameList = Get-EnvironmentVariableNameList -EnvFilePath $EnvFilePath + foreach ($envVariableName in $envVariableNameList){ + if ($EnvVariablesTable.ContainsKey($envVariableName)) { + Set-EnvFileVariable $envVariableName -Value $($EnvVariablesTable[$envVariableName]) -Path $EnvFilePath + } + } + + Write-Information -MessageData "Finish populating '$EnvFilePath' env file variables." -InformationAction Continue +} + +function Add-WindowsHostsFileEntries { + param( + [string]$EnvFilePath, + [string]$Topology, + [string]$CdHost, + [string]$CmHost, + [string]$IdHost, + [string]$BizFxHost, + [string]$AuthoringHost, + [string]$ShopsHost, + [string]$MinionsHost + ) + + Write-Information -MessageData "Starting adding Windows hosts file entries for '$Topology' topology..." -InformationAction Continue + + Add-HostsEntry "$CmHost" + Add-HostsEntry "$IdHost" + if ($Topology -eq "xc1-cxa") { + Add-HostsEntry "$CdHost" + } + Add-HostsEntry "$BizFxHost" + Add-HostsEntry "$AuthoringHost" + Add-HostsEntry "$ShopsHost" + Add-HostsEntry "$MinionsHost" + + Write-Information -MessageData "Finish adding Windows hosts file entries for '$Topology' topology." -InformationAction Continue +} + +function Create-Certificates { + param( + [string]$TraefikFolder, + [string]$Topology, + [string]$CdHost, + [string]$CmHost, + [string]$IdHost, + [string]$BizFxHost, + [string]$AuthoringHost, + [string]$ShopsHost, + [string]$MinionsHost + ) + + Write-Information -MessageData "Starting create certificates for '$Topology' topology..." -InformationAction Continue + + $dnsNames = @("$CdHost", "$CmHost", "$IdHost", "$BizFxHost", "$AuthoringHost", "$ShopsHost", "$MinionsHost") + + if ($Topology -eq "xc0") { + $dnsNames = @("$CmHost", "$IdHost", "$BizFxHost", "$AuthoringHost", "$ShopsHost", "$MinionsHost") + } + + # Check that Certificate or Key files already exist in the $CertDataFolder + $CertDataFolder = "$TraefikFolder\certs" + $existingCertificateFiles = Get-ChildItem "$CertDataFolder\*" -Include *.crt, *.key + + if (-not $existingCertificateFiles){ + + # Create Root Certificate file + $rootKey = Create-RSAKey -KeyLength 4096 + $rootCertificate = Create-SelfSignedCertificate -Key $rootKey -CommonName $RootCertName + Create-CertificateFile -Certificate $rootCertificate -OutCertPath "$CertDataFolder\root-ca.crt" + + # Create Certificate and Key files for each Sitecore role + $dnsNames | ForEach-Object { + $selfSignedKey = Create-RSAKey + $certificate = Create-SelfSignedCertificateWithSignature -Key $selfSignedKey -CommonName $_ -DnsName $_ -RootCertificate $rootCertificate + Create-KeyFile -Key $selfSignedKey -OutKeyPath "$CertDataFolder\$_.key" + Create-CertificateFile -Certificate $certificate -OutCertPath "$CertDataFolder\$_.crt" + } + + Write-Information -MessageData "Finish creating certificates for '$Topology' topology." -InformationAction Continue + + return $true + } + else { + Write-Information -MessageData "Certificate files already exist for '$Topology' topology." -InformationAction Continue + return $false + } +} + +function Update-CertsConfigFile { + + param( + [string]$TraefikFolder, + [string]$Topology, + [string]$CdHost, + [string]$CmHost, + [string]$IdHost, + [string]$BizFxHost, + [string]$AuthoringHost, + [string]$ShopsHost, + [string]$MinionsHost + ) + + Write-Information -MessageData "Updating certs_config.yaml file." -InformationAction Continue + + $certsConfigFile = (Get-ChildItem "$TraefikFolder\config\dynamic\certs_config.yaml").FullName + $certificatePath = "C:\etc\traefik\certs\" + + $customHostNames = @("$CdHost", "$CmHost", "$IdHost", "$BizFxHost", "$AuthoringHost", "$ShopsHost", "$MinionsHost") + if ($Topology -eq "xc0") { + $customHostNames = @("$CmHost", "$IdHost", "$BizFxHost", "$AuthoringHost", "$ShopsHost", "$MinionsHost") + } + + $newFileContent = @("tls:", " certificates:") + foreach ($customHostName in $customHostNames) { + $newFileContent += " - certFile: " + $certificatePath + $customHostName + ".crt" + $newFileContent += " keyFile: " + $certificatePath + $customHostName + ".key" + } + + # Clear certs_config.yaml file + Clear-Content -Path $certsConfigFile + + # Setting new content to the certs_config.yaml file + $newFileContent | Set-Content $certsConfigFile + + Write-Information -MessageData "certs_config.yaml file was successfully updated." -InformationAction Continue +} + +function InstallModule { + param( + [string]$ModuleName, + [string]$ModuleVersion, + [string]$RepositoryName + ) + + $moduleInstalled = Get-InstalledModule -Name $ModuleName -RequiredVersion $ModuleVersion -AllowPrerelease -ErrorAction SilentlyContinue + if (-not $moduleInstalled) { + Write-Host "Installing '$ModuleName' with version $ModuleVersion" -ForegroundColor Green + Install-Module -Name $ModuleName -RequiredVersion $ModuleVersion -AllowPrerelease -Repository $RepositoryName -Scope CurrentUser + } +} + +Function Confirm-VolumeFoldersExist { + param ( + [string] $Path + ) + Write-Host "Verifying Folders for Commerce Engine volumes exist in [$Path]" + + "cm\domains-shared", + "cd\domains-shared", + "engine\catalogs", + "mssql-data", + "solr-data" | + ForEach-Object { + if (-Not (Test-Path (Join-Path $Path $_))) { + Write-Verbose "Creating folder [$_]" + New-Item -Path $Path -Name $_ -ItemType Directory + } + } +} + +if (-not (Test-Path $LicenseXmlPath)) { + throw "Did not find $LicenseXmlPath" +} +if (-not (Test-Path $LicenseXmlPath -PathType Leaf)) { + throw "$LicenseXmlPath is not a file" +} + +# Check for Sitecore Gallery +Import-Module PowerShellGet +$SitecoreGallery = Get-PSRepository | Where-Object { $_.SourceLocation -eq $SitecoreGalleryRepositoryLocation } +if (-not $SitecoreGallery) { + Write-Host "Adding Sitecore PowerShell Gallery..." -ForegroundColor Green + Register-PSRepository -Name SitecoreGallery -SourceLocation $SitecoreGalleryRepositoryLocation -InstallationPolicy Trusted + $SitecoreGallery = Get-PSRepository -Name SitecoreGallery +} + +# Install and Import SitecoreDockerTools +$moduleName = "SitecoreDockerTools" +$repositoryName = $SitecoreGallery.Name + +$module = Find-Module -Name $moduleName -Repository $repositoryName +$latestVersion = $module.Version +$importModuleCommand = "Import-Module $moduleName -RequiredVersion $latestVersion" + +if(![string]::IsNullOrEmpty($DockerToolsVersion)){ + $module = Find-Module -Name $moduleName -Repository $repositoryName -RequiredVersion $DockerToolsVersion -AllowPrerelease + $latestVersion = $module.Version + + if([string]::IsNullOrEmpty($latestVersion)){ + Write-Warning -Message "'$moduleName' module with '$DockerToolsVersion' version doesn't exist." + return + } + InstallModule -ModuleName $moduleName -ModuleVersion $latestVersion -RepositoryName $repositoryName + + $modulePath = ((Get-Module $moduleName -ListAvailable) | where Version -eq $latestVersion.Split("-")[0]).Path + $importModuleCommand = "Import-Module -Name $modulePath" +}else { + InstallModule -ModuleName $moduleName -ModuleVersion $latestVersion -RepositoryName $repositoryName +} + +Write-Host "Importing '$moduleName'..." -ForegroundColor Green +Invoke-Expression $importModuleCommand + +$idCertPassword = Get-SitecoreRandomString 12 -DisallowSpecial +$envVariablesTable = @{ + "SITECORE_ADMIN_PASSWORD" = $SitecoreAdminPassword + "SQL_SA_PASSWORD" = $SqlSaPassword + "REPORTING_API_KEY" = "00112233445566778899AABBCCDDEEFF" + "TELERIK_ENCRYPTION_KEY" = Get-SitecoreRandomString 128 -DisallowSpecial + "MEDIA_REQUEST_PROTECTION_SHARED_SECRET" = Get-SitecoreRandomString 64 -DisallowSpecial + "SITECORE_IDSECRET" = Get-SitecoreRandomString 64 -DisallowSpecial + "SITECORE_ID_CERTIFICATE" = (Get-SitecoreCertificateAsBase64String -DnsName "localhost" -Password (ConvertTo-SecureString -String $idCertPassword -Force -AsPlainText) -KeyLength 2048) + "SITECORE_ID_CERTIFICATE_PASSWORD" = $idCertPassword + "SITECORE_LICENSE" = ConvertTo-CompressedBase64String -Path $LicenseXmlPath + "SQL_SERVER" = $SqlServer + "SQL_USERNAME" = $SqlUserName + "SQL_PASSWORD" = $SqlSaPassword + "CD_HOST" = $CdHost + "CM_HOST" = $CmHost + "ID_HOST" = $IdHost + "SITECORE_GRAPHQL_UPLOADMEDIAOPTIONS_ENCRYPTIONKEY" = Get-SitecoreRandomString 16 -DisallowSpecial + "BIZFX_HOST" = $BizFxHost + "AUTHORING_HOST" = $AuthoringHost + "SHOPS_HOST" = $ShopsHost + "MINIONS_HOST" = $MinionsHost + "XC_ENGINE_BRAINTREEENVIRONMENT" = $BraintreeEnvironment + "XC_ENGINE_BRAINTREEMERCHANTID" = $BraintreeMerchantId + "XC_ENGINE_BRAINTREEPUBLICKEY" = $BraintreePublicKey + "XC_ENGINE_BRAINTREEPRIVATEKEY" = $BraintreePrivateKey + "XC_IDENTITY_COMMERCEENGINECONNECTCLIENT_CLIENTSECRET1" = Get-SitecoreRandomString 12 -DisallowSpecial + "ISOLATION" = $Isolation +} + +$envFile = Split-Path $EnvFilePath -Leaf + +if($envFile -eq "upgrade.env") { + # Populate the environment file + Populate-EnvironmentFile -EnvFilePath $EnvFilePath -EnvVariablesTable $envVariablesTable +}else { + if (!(Test-Path $TraefikFolder)) { + Write-Warning -Message "The certificate '$TraefikFolder' path isn't valid. Please, specify another path for certificates." + return + } + + # Populate the environment file + Populate-EnvironmentFile -EnvFilePath $EnvFilePath -EnvVariablesTable $envVariablesTable + + # Configure TLS/HTTPS certificates + $RootCertificateCreated = Create-Certificates -TraefikFolder "$TraefikFolder" -Topology $Topology -CdHost $CdHost -CmHost $CmHost -IdHost $IdHost -BizFxHost $BizFxHost -AuthoringHost $AuthoringHost -ShopsHost $ShopsHost -MinionsHost $MinionsHost + + # The update for the certs_config.yaml file is if Certificates were created for the custom hostnames. + if ($RootCertificateCreated) { + Update-CertsConfigFile -TraefikFolder $TraefikFolder -Topology $Topology -CdHost $CdHost -CmHost $CmHost -IdHost $IdHost -BizFxHost $BizFxHost -AuthoringHost $AuthoringHost -ShopsHost $ShopsHost -MinionsHost $MinionsHost + } + + # Install Root Certificate if it was created + if ($RootCertificateCreated) { + Write-Information -MessageData "Importing certificate" -InformationAction Continue + Import-Certificate -FilePath "$TraefikFolder\certs\root-ca.crt" -CertStoreLocation "Cert:\LocalMachine\Root" + Write-Information -MessageData "Importing certificate complete" -InformationAction Continue + } + + # Add Windows hosts file entries + Add-WindowsHostsFileEntries -EnvFilePath $EnvFilePath -Topology $Topology -CdHost $CdHost -CmHost $CmHost -IdHost $IdHost -BizFxHost $BizFxHost -AuthoringHost $AuthoringHost -ShopsHost $ShopsHost -MinionsHost $MinionsHost + + # Creates volumes folders in the host + Confirm-VolumeFoldersExist -Path "C:\containers" +} \ No newline at end of file diff --git a/sxc/10.3/scripts/ContainerBuild.ps1 b/sxc/10.3/scripts/ContainerBuild.ps1 new file mode 100644 index 0000000..ad3dccb --- /dev/null +++ b/sxc/10.3/scripts/ContainerBuild.ps1 @@ -0,0 +1,39 @@ +[cmdletbinding()] +param( + [string]$envRootPath = (Join-Path $PWD "..") +) +<# +.SYNOPSIS +Script to facilitate the creation of container images via docker-compose build. The artifacts produced are ImageName:latest, +where ImageName comes from the docker-compose.build.yml files. + +.PARAMETER envRootPath +The path to the parent (root) directory containing the .env files. If C:\download\XC\xc0 and C:\download\XC\xc1 +contain .env files, then the envRootPath is C:\download\XC. Changes are performed in place +Default path is ../ + +.EXAMPLE +ContainerBuild.ps1 -envRootPath (Join-Path $PWD "..") +#> + +if (!(Get-Module -Name "powershell-yaml" -ListAvailable)){ + $r = Get-PSRepository + Install-Module -Name "powershell-yaml" -Repository $r.name -Force +} + +Get-ChildItem -Path "$envRootPath" -Include 'docker-compose.build.yml' -Recurse | + ForEach-Object { + $workingDir = Split-Path $_.FullName -Parent + + Push-Location -Path $workingDir + + '[Building containers for] {0}' -f $PWD + Write-Host "docker-compose --no-ansi --file (Join-Path $workingDir 'docker-compose.build.yml') build --parallel" + & docker-compose --no-ansi -f (Join-Path $workingDir 'docker-compose.build.yml') build --parallel + + if ($LASTEXITCODE -gt 0) { + Throw "Error in docker-compose build." + } + + Pop-Location + } diff --git a/sxc/10.3/scripts/ContainerTag.ps1 b/sxc/10.3/scripts/ContainerTag.ps1 new file mode 100644 index 0000000..d52231e --- /dev/null +++ b/sxc/10.3/scripts/ContainerTag.ps1 @@ -0,0 +1,74 @@ +[cmdletbinding()] +param( + [string]$envRootPath = (Join-Path $PWD ".."), + [Parameter(Mandatory)] + [string]$tag, + [switch]$keepSourceTag +) + +<# +.SYNOPSIS +Script to facilitate the tagging of container images via docker-compose build. + +.PARAMETER envRootPath +The path to the parent (root) directory containing the .env files. If C:\download\XC\xc0 and C:\download\XC\xc1 +contain .env files, then the envRootPath is C:\download\XC. Changes are performed in place +Default path is ../ + +.PARAMETER tag +[Parameter(Mandatory)] +This is the tag for your docker container image. Typically it includes: +Repository -> ideftdevacr.azurecr.io +Namespace -> experimental +Image Name -> sitecore-xc-engine, found in the build yml files +Version -> 10.2.0-ltsc2019, a version identifier. This can be anything you like + Be aware that there can only ever be one. If you have a version 10.2.0-ltsc2019 then this will only ever point to one + 'container'. If you tag another container image with 10.2.0-ltsc2019, the old one is lost. + +.PARAMETER keepSourceTag +A degug switch to prevent the removal of the 'latest' tag allowing for multiple runs with out rebuilding the container images. + +.EXAMPLE +ContainerTag.ps1 -envRootPath (Join-Path $PWD "..") ` + -tag "ideftdevacr.azurecr.io/experimental/sitecore-xc-engine:10.2.0-ltsc2019" +#> + +if (!(Get-Module -Name "powershell-yaml" -ListAvailable)){ + $r = Get-PSRepository + Install-Module -Name "powershell-yaml" -Repository $r.name -Force +} + +$ymlFiles = Get-ChildItem -Path "$envRootPath" -Include 'docker-compose.build.yml' -Recurse +ForEach ($ymlFile in $ymlFiles ) { + $workingDir = Split-Path $ymlFile.FullName -Parent + Push-Location -Path $workingDir + $buildYaml = Get-Content $ymlFile.FullName | Out-String | ConvertFrom-Yaml + foreach ($service in $buildYaml.services.values) { + $dockerRepository = $service.image + + Write-Host "Docker Repository: $dockerRepository" -InformationAction Continue + + $sourceTag = "$($dockerRepository):latest" + foreach ($tag in $tags) { + Write-Host "Tagging: $sourceTag with $tag" -InformationAction Continue + & docker image tag $sourceTag $tag + + if ($LASTEXITCODE -gt 0){ + Throw "Error in docker.exe tagging." + } + } + + if ($keepSourceTag) { + Write-Host "Keeping Tag: $sourceTag" -InformationAction Continue + } else { + Write-Host "Removing Tag: $sourceTag" -InformationAction Continue + & docker rmi $sourceTag + + if ($LASTEXITCODE -gt 0){ + Throw "Error removing docker tag." + } + } + } + + Pop-Location +} diff --git a/sxc/10.3/scripts/PrepEngineContainerBuild.ps1 b/sxc/10.3/scripts/PrepEngineContainerBuild.ps1 new file mode 100644 index 0000000..f86f900 --- /dev/null +++ b/sxc/10.3/scripts/PrepEngineContainerBuild.ps1 @@ -0,0 +1,114 @@ +[cmdletbinding()] +param( + + [string]$wdpPath = '.' +) +<# +.SYNOPSIS +Uses the following packages to prepare artifacts for building Commerce Engine and BizFx container images. +- Sitecore.Commerce.Engine.OnPrem.Solr +- Sitecore.BizFx.OnPrem + +.DESCRIPTION +Takes the Sitecore.Commerce.Engine.OnPrem.Solr and Sitecore.BizFx.OnPrem WDP's and expands the contents in to the +structure expected by the Sitecore XC container Docker files. + +.PARAMETER wdpPath +Path to the location of the WDP files downloaded from dev.sitecore.net. + +.EXAMPLE +PrepEngineContainerbuild.ps1 + +Expands the wdp files in to the respective container directories. Presumes the wdp files are located +in the same directory as this script. + +.EXAMPLE +PrepEngineContainerbuild.ps1 -wdpPath 'C:\src\Commerce.Containers\downloads' + +Expands the wdp files in to the respective container directories. The wdp files are located in +the C:\src\Commerce.Containers\downloads directory. +#> + +# the following information will be used to expand the wdps during this script execution. +$enginePackages = @" +[ + { + "WDPs": [ + "Sitecore.Commerce.Engine.OnPrem.Solr" + ], + "SourceFolder": "Content/Website", + "DestinationFolder": [ "xc-common/engine/wdp" ] + }, + { + "WDPs": [ + "Sitecore.BizFx.OnPrem" + ], + "SourceFolder": "Content/Website", + "DestinationFolder": [ "xc-common/bizfx/wdp" ] + } +] +"@ + +Write-Host "Expanding of Commerce Engine content started." + +#Create a tmpDir +Write-Host "Creating temp directory" +$tmpDir = (Join-Path $PSScriptRoot 'tmp') +if (!(Test-Path $tmpDir)){ + New-Item -Path $tmpDir -ItemType Directory | Out-Null +} else { + Remove-Item -Path $tmpDir -Recurse -Force + New-Item -Path $tmpDir -ItemType Directory | Out-Null +} + +#Cleanup in case this is run multiple times +$json = $enginePackages | ConvertFrom-Json +foreach ($j in $json) { + Write-Host "Processing Cleanup" $j.DestinationFolder + foreach($dest in $j.DestinationFolder) { + #Delete the folder that hold the contents of the WDP files prior to starting in case it was run before + $destinationFolder = Join-Path (Resolve-Path -Path "$PSScriptRoot\..") $dest + if ((Test-Path $destinationFolder)){ + Remove-Item -Path $destinationFolder -Recurse -Force + } + } +} + +#Process the contents of the WDP +$json = $enginePackages | ConvertFrom-Json +foreach ($j in $json) { + Write-Host "Processing" $j.DestinationFolder + + #Expand the wdp(s) and copy the contents to the destination directory + foreach($wdp in $j.WDPs) + { + #first look for *.scwdp' files with the required WDP name, then if not found a non-scwdp file. + $wFile = $wdp + '*.scwdp.zip' + $wdpFile = Get-ChildItem -Path $wdpPath -Filter $wFile -Recurse | Sort-Object | Select-Object -First 1 + if (!$wdpFile) { + $wFile = $wdp + '*.zip' + $wdpFile = Get-ChildItem -Path $wdpPath -Filter $wFile -Recurse | Sort-Object | Select-Object -First 1 + } + + #WDP file found + if (Test-Path $wdpFile.FullName) { + $expandFolder = (Join-Path (Join-Path $tmpDir "$($wdpfile.BaseName)") "wdp") + Write-Host "Expanding" $wdpfile.FullName "to" $expandFolder -ForegroundColor Yellow + Expand-Archive -Path $wdpfile.FullName -DestinationPath $expandFolder -Force + foreach($dest in $j.DestinationFolder) { + #Create a folder to hold the contents of the WDP files that will be copied in to the container image via the Dockerfile + $destinationFolder = Join-Path (Resolve-Path -Path "$PSScriptRoot\..") $dest + if (!(Test-Path $destinationFolder)){ + New-Item -Path $destinationFolder -ItemType Directory | Out-Null + } + + Write-Host -Message ("Copying folder {0}\{1} to {2}" -f $expandFolder, $j.SourceFolder, $destinationFolder) -ForegroundColor Yellow + Copy-Item -Path (Join-Path (Join-Path $expandFolder $j.SourceFolder) "*") -Destination $destinationFolder -Recurse -Force + } + } else { + throw "No Matching WDP file found: $wdp" + } + } +} + +Write-Host "Expanding of Commerce Engine content complete." \ No newline at end of file diff --git a/sxc/10.3/scripts/UpdateEnvTag.ps1 b/sxc/10.3/scripts/UpdateEnvTag.ps1 new file mode 100644 index 0000000..6e7f7bb --- /dev/null +++ b/sxc/10.3/scripts/UpdateEnvTag.ps1 @@ -0,0 +1,130 @@ +[cmdletbinding()] +param( + [string]$jsonFile = (Join-Path '.' 'configltsc2019.json'), + [string]$envRootPath = (Join-Path $PWD ".."), + [string]$altRegistry = '', + [string]$enginePort = '5000', + [switch]$useLocalImages +) +<# +.SYNOPSIS +Script to facilitate updating the .env files for use in a docker-compose up and docker-compose build. + +.PARAMETER jsonFile +The path to the configltsc2019.json file. +Default path is .\configltsc2019.json + +.PARAMETER envRootPath +The path to the parent (root) directory containg the .env files. If C:\download\XC\xc0 and C:\download\XC\xc1 +contain .env files, then the envRootPath is C:\download\XC. Changes are performed in place +Default path is .. + +.PARAMETER altRegistry +Overrides the registry value from the config json +Default is null + +.PARAMETER enginePort +Overrides the engine port in case of local dev deployment +Default is 5000 + +.PARAMETER useLocalImages +A switch to indicate whether latest local images should be used for container deployment. +If specified, XC_SITECORE_DOCKER_REGISTRY parameter will be cleared and XC_PACKAGES_TAG parameter will be set to 'latest'. + +.EXAMPLE +UpdateEnvTag.ps1 -jsonFile 'C:\download\Commerce.Containers\scripts\configltsc2019.json' ` + -envRootPath (Join-Path $PWD "..") +#> + +if (Test-Path("$jsonFile")) { + + #Read the config json that holds the values to be used to populate the environment files + $json = Get-Content $jsonFile | Out-String | ConvertFrom-Json + $containerConfigInfo = @{} + foreach( $property in $json.psobject.properties.name ) + { + $containerConfigInfo[$property] = $json.$property + } + + if ([string]::IsNullOrEmpty($altRegistry)) { + $registry = $($containerConfigInfo.scrdockerregistry) + } else { + $registry = $altRegistry + } + + Get-ChildItem -Path $envRootPath -Include '*.env' -Recurse | ` + ForEach-Object { + Write-Host "Updating [$_] file ..." + + $envContent = Get-Content -Path $_ + + if ($useLocalImages) { + $envContent = $envContent -replace "XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY=.*", "XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY=" + $envContent = $envContent -replace "XC_SITECORE_DOCKER_REGISTRY=.*", "XC_SITECORE_DOCKER_REGISTRY=" + $envContent = $envContent -replace "XC_PACKAGES_TAG=.*", "XC_PACKAGES_TAG=latest" + } else { + $XC_SITECORE_DOCKER_REGISTRY = "XC_SITECORE_DOCKER_REGISTRY=$($registry)/$($containerConfigInfo.sxcproject)/" + $envContent = $envContent -replace "XC_SITECORE_DOCKER_REGISTRY=.*", $XC_SITECORE_DOCKER_REGISTRY + + $XC_PACKAGES_TAG = "XC_PACKAGES_TAG=$($containerConfigInfo.customercommercetag)" + $envContent = $envContent -replace "XC_PACKAGES_TAG=.*", $XC_PACKAGES_TAG + + $XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY = "XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY=$($registry)/$($containerConfigInfo.sxcproject)/$($containerConfigInfo.nonproductionproject)/" + $envContent = $envContent -replace "XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY=.*", $XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY + } + + if ($enginePort -ne '5000') + { + $envContent = $envContent -replace "XC_ENGINE_PORT=5000", "XC_ENGINE_PORT=$($enginePort)" + } + + $BASE_SITECORE_DOCKER_REGISTRY = "BASE_SITECORE_DOCKER_REGISTRY=$($registry)/$($containerConfigInfo.baseproject)/" + $envContent = $envContent -replace "BASE_SITECORE_DOCKER_REGISTRY=.*", $BASE_SITECORE_DOCKER_REGISTRY + + $XP_SITECORE_DOCKER_REGISTRY = "XP_SITECORE_DOCKER_REGISTRY=$($registry)/$($containerConfigInfo.sxpproject)/" + $envContent = $envContent -replace "XP_SITECORE_DOCKER_REGISTRY=.*", $XP_SITECORE_DOCKER_REGISTRY + + $XP_SITECORE_TAG = "XP_SITECORE_TAG=$($containerConfigInfo.sxptag)" + $envContent = $envContent -replace "XP_SITECORE_TAG=.*", $XP_SITECORE_TAG + + $EXTERNAL_IMAGE_TAG_SUFFIX = "EXTERNAL_IMAGE_TAG_SUFFIX=$($containerConfigInfo.os_image_tag)" + $envContent = $envContent -replace "EXTERNAL_IMAGE_TAG_SUFFIX=.*", $EXTERNAL_IMAGE_TAG_SUFFIX + + $MODULES_SITECORE_DOCKER_REGISTRY = "MODULES_SITECORE_DOCKER_REGISTRY=$($registry)/$($containerConfigInfo.sxpproject)/$($containerConfigInfo.modulesproject)/" + $envContent = $envContent -replace "MODULES_SITECORE_DOCKER_REGISTRY=.*", $MODULES_SITECORE_DOCKER_REGISTRY + + $SPE_SITECORE_TAG = "SPE_SITECORE_TAG=$($containerConfigInfo.spetag)" + $envContent = $envContent -replace "SPE_SITECORE_TAG=.*", $SPE_SITECORE_TAG + + $SXA_SITECORE_TAG = "SXA_SITECORE_TAG=$($containerConfigInfo.sxatag)" + $envContent = $envContent -replace "SXA_SITECORE_TAG=.*", $SXA_SITECORE_TAG + + $OS_IMAGE_TAG = "OS_IMAGE_TAG=$($containerConfigInfo.os_image_tag)" + $envContent = $envContent -replace "OS_IMAGE_TAG=.*", $OS_IMAGE_TAG + + $OS_IMAGE_TAG_IIS = "OS_IMAGE_TAG_IIS=$($containerConfigInfo.OS_IMAGE_TAG)" + $envContent = $envContent -replace "OS_IMAGE_TAG_IIS=.*", $OS_IMAGE_TAG_IIS + + Set-Content -Path $_ -Value $envContent -Force + + Write-Host ".env file [$_] has been updated" + } + + if ($enginePort -ne '5000') + { + $commonPath = Join-Path $PWD "../xc-common" + Get-ChildItem -Path $commonPath -Include '*.env' -Recurse | ` + ForEach-Object { + Write-Host "Updating [$_] file ..." + + $envContent = Get-Content -Path $_ + $envContent = $envContent -replace "XC_ENGINE_PORT=5000", "XC_ENGINE_PORT=$($enginePort)" + + Set-Content -Path $_ -Value $envContent -Force + + Write-Host ".env file [$_] has been updated" + } + } +} else { + throw "No JSON file" +} \ No newline at end of file diff --git a/sxc/10.3/scripts/UpdateK8SYaml.ps1 b/sxc/10.3/scripts/UpdateK8SYaml.ps1 new file mode 100644 index 0000000..668689b --- /dev/null +++ b/sxc/10.3/scripts/UpdateK8SYaml.ps1 @@ -0,0 +1,222 @@ +[cmdletbinding()] +param( + [string]$jsonFile = (Join-Path '.' 'configltsc2019.json'), + [string]$k8sRootPath = (Join-Path '..' 'k8s-commerce-*'), + [Parameter(Mandatory)] + [string] $braintreeEnvironment, + [Parameter(Mandatory)] + [string] $braintreeMerchantId, + [Parameter(Mandatory)] + [string] $braintreePublicKey, + [Parameter(Mandatory)] + [string] $braintreePrivateKey, + [Parameter(Mandatory)] + [string] $idCert, + [Parameter(Mandatory)] + [string] $licenseFilePath, + [Parameter(Mandatory)] + [string]$telerikKey, + [Parameter(Mandatory)] + [string]$idSecret, + [Parameter(Mandatory)] + [string]$mediaSecret, + [Parameter(Mandatory)] + [string]$graphQLKey, + [Parameter(Mandatory)] + [string]$xcIdSecret, + [Parameter(Mandatory)] + [string]$idPassword, + [Parameter(Mandatory)] + [string]$reportingApiKey, + [string]$altRegistry = '' +) +<# +.SYNOPSIS +Replaces the variables in the K8S(Kubernetes) yaml files with values from the config json file. K8S is only supported under LTSC 2019. + +.DESCRIPTION +Replaces the variables in the K8S(Kubernetes) yaml files with values from the config json file. K8S is only supported under LTSC 2019. + +.PARAMETER jsonFile +Path to the configltsc2019.json file that contains the yaml file content needed to populate the K8S files for use in a cluster. +Default path for the configltsc2019 json is co-located with this script + +.PARAMETER k8sRootPath +Path to the K8S yaml file templates. Changes are performed in place. +Default path is ..\k8s-commerce-* + +.PARAMETER braintreeEnvironment +[Parameter(Mandatory)] +The Braintree environment. E.G. sandbox or production + +.PARAMETER braintreeMerchantId +[Parameter(Mandatory)] +Your merchant ID for the Braintreepayment provider. + +.PARAMETER braintreePublicKey +[Parameter(Mandatory)] +The public key associated to your Braintree account. + +.PARAMETER braintreePrivateKey +[Parameter(Mandatory)] +The private key associated to your Braintree account. + +.PARAMETER idCert +[Parameter(Mandatory)] +Identity Server certificate used to encryptdata. + +.PARAMETER licenseFilePath +[Parameter(Mandatory)] +Sitecore license file content converted to GZIP Compressed and Base64 encoded string. + +.PARAMETER telerikKey +[Parameter(Mandatory)] +Symmetric key used by the Telerik web controls. Length: 64-128 characters + +.PARAMETER idSecret +[Parameter(Mandatory)] +Shared secret between the Identity Server and client roles. Length: 64 characters + +.PARAMETER mediaSecret +[Parameter(Mandatory)] +Shared secret for media request protection. Length: 64 characters + +.PARAMETER graphQLKey +[Parameter(Mandatory)] +Encryption key for Graph QL. Length: 16 characters + +.PARAMETER xcIdSecret +[Parameter(Mandatory)] +The client ID assigned to Commerce Engine Connect for Sitecore Identity. This ID is used to identify the Commerce Engine Connectwith Commerce Engine. + +.PARAMETER idPassword +[Parameter(Mandatory)] +Password required to open the Identity Server certificate. + +.PARAMETER reportingApiKey +[Parameter(Mandatory)] +Symmetric key used to access the Sitecore XDB Reporting Web API. Length: 64-128 characters + +.PARAMETER altRegistry +Overrides the registry value from the config json +Default is null + +.EXAMPLE +UpdateK8SYaml.ps1 + +Use the defaults and replace the parameters in the yaml template files + +.EXAMPLE +UpdateK8SYaml.ps1 -jsonFile 'C:\download\Commerce.Containers\scripts\configltsc2019.json' ` + -k8sRootPath 'C:\download\Commerce.Containers' ` + -licenseFilePath "Location of your licence file" ` + -braintreeEnvironment "sandbox" ` + -braintreeMerchantId "Your merchant id" ` + -braintreePublicKey "Your public key" ` + -braintreePrivateKey "Your private key" ` + -telerikKey "Your Telerik Encryption Key" ` + -idCert "Your Sitecore Identity certificate" ` + -idSecret "Your Sitecore Identity secret" ` + -mediaSecret "Your media request protection secret" ` + -graphQLKey "Your graph QL key" ` + -idPassword "Your Sitecore Identity password" ` + -xcIdSecret "Your XC Connect Client Secret" ` + -reportingApiKey "Your Sitecore Reporting API key" +#> + +Function ConvertToCompressedBase64String { + Param ( + [Parameter(Mandatory)] + [ValidateScript( { + if (-Not ($_ | Test-Path) ) { throw "The file or folder $_ does not exist" } + if (-Not ($_ | Test-Path -PathType Leaf) ) { throw "The Path argument must be a file. Folder paths are not allowed." } + return $true + })] + [string] $Path + ) + + $fileBytes = [System.IO.File]::ReadAllBytes($Path) + + [System.IO.MemoryStream] $memoryStream = New-Object System.IO.MemoryStream + + $gzipStream = New-Object System.IO.Compression.GzipStream $memoryStream, ([IO.Compression.CompressionMode]::Compress) + $gzipStream.Write($fileBytes, 0, $fileBytes.Length) + + $gzipStream.Close() + $memoryStream.Close() + $gzipStream.Dispose() + $memoryStream.Dispose() + + return [Convert]::ToBase64String($memoryStream.ToArray()) +} + +#check for the json file +if (Test-Path("$jsonFile")) { + + $license = ConvertToCompressedBase64String -Path $licenseFilePath + + #Read the config json that holds the values to be used to populate the the K8S files + $json = Get-Content $jsonFile | Out-String | ConvertFrom-Json + $containerConfigInfo = @{} + foreach( $property in $json.psobject.properties.name ) + { + $containerConfigInfo[$property] = $json.$property + } + if ([string]::IsNullOrEmpty($altRegistry)) { + $registry = $($containerConfigInfo.scrdockerregistry) + } else { + $registry = $altRegistry + } + + Get-ChildItem -Path (Join-Path $k8sRootPath "k8s-commerce-*") -Directory | ForEach-Object { + $secretsFolder = Join-Path -Path $_.FullName -ChildPath "secrets" + + Write-Host "Writing secrets for $secretsFolder\xp\sitecore-identitycertificate.txt" + Set-Content "$secretsFolder\xp\sitecore-identitycertificate.txt" -Value "$idCert" -Force -NoNewline + Write-Host "Writing secrets for $secretsFolder\xp\sitecore-identitycertificatepassword.txt" + Set-Content "$secretsFolder\xp\sitecore-identitycertificatepassword.txt" -Value "$idPassword" -Force -NoNewline + Write-Host "Writing secrets for $secretsFolder\xp\sitecore-identitysecret.txt" + Set-Content "$secretsFolder\xp\sitecore-identitysecret.txt" -Value "$idSecret" -Force -NoNewline + Write-Host "Writing secrets for $secretsFolder\xp\sitecore-media-request-protection-shared-secret.txt" + Set-Content "$secretsFolder\xp\sitecore-media-request-protection-shared-secret.txt" -Value "$mediaSecret" -Force -NoNewline + Write-Host "Writing secrets for $secretsFolder\xp\sitecore-graphql-uploadmedia_encryptionkey.txt" + Set-Content "$secretsFolder\xp\sitecore-graphql-uploadmedia_encryptionkey.txt" -Value "$graphQLKey" -Force -NoNewline + Write-Host "Writing secrets for $secretsFolder\xp\sitecore-license.txt" + Set-Content "$secretsFolder\xp\sitecore-license.txt" -Value "$license" -Force -NoNewline + Write-Host "Writing secrets for $secretsFolder\xp\sitecore-reportingapikey.txt" + Set-Content "$secretsFolder\xp\sitecore-reportingapikey.txt" -Value "$reportingApiKey" -Force -NoNewline + Write-Host "Writing secrets for $secretsFolder\xp\sitecore-telerikencryptionkey.txt" + Set-Content "$secretsFolder\xp\sitecore-telerikencryptionkey.txt" -Value "$telerikKey" -Force -NoNewline + Write-Host "Writing secrets for $secretsFolder\xc\commerce-connect-clientsecret.txt" + Set-Content "$secretsFolder\xc\commerce-connect-clientsecret.txt" -Value "$xcIdSecret" -Force -NoNewline + Write-Host "Writing secrets for $secretsFolder\xc\commerce-engine-braintreeenvironment.txt" + Set-Content "$secretsFolder\xc\commerce-engine-braintreeenvironment.txt" -Value "$braintreeEnvironment" -Force -NoNewline + Write-Host "Writing secrets for $secretsFolder\xc\commerce-engine-braintreemerchantid.txt" + Set-Content "$secretsFolder\xc\commerce-engine-braintreemerchantid.txt" -Value "$braintreeMerchantId" -Force -NoNewline + Write-Host "Writing secrets for $secretsFolder\xc\commerce-engine-braintreepublickey.txt" + Set-Content "$secretsFolder\xc\commerce-engine-braintreepublickey.txt" -Value "$braintreePublicKey" -Force -NoNewline + Write-Host "Writing secrets for$secretsFolder\xc\commerce-engine-braintreeprivatekey.txt" + Set-Content "$secretsFolder\xc\commerce-engine-braintreeprivatekey.txt" -Value "$braintreePrivateKey" -Force -NoNewline + + #Setup the project for the sxc nonproduction containers + $sxcnonprod = "$($containerConfigInfo.sxcproject)/$($containerConfigInfo.nonproductionproject)" + + #Setup the powershell version + $powershellImage = "mcr.microsoft.com/powershell:lts-nanoserver-$($containerConfigInfo.powershell_image_tag)" + + Get-ChildItem -Path $_.FullName -Filter "kustomization.yaml" -Recurse | ForEach-Object { + + Write-Host $_.FullName + + (Get-Content $_.FullName -Raw) -replace "{registry}", $registry | Set-Content $_.FullName -NoNewline + (Get-Content $_.FullName -Raw) -replace "{project}", $($containerConfigInfo.sxpproject) | Set-Content $_.FullName -NoNewline + (Get-Content $_.FullName -Raw) -replace "{version}", $($containerConfigInfo.sxptag) | Set-Content $_.FullName -NoNewline + (Get-Content $_.FullName -Raw) -replace "{sxc-project}", $($containerConfigInfo.sxcproject) | Set-Content $_.FullName -NoNewline + (Get-Content $_.FullName -Raw) -replace "{commerce-version}", $($containerConfigInfo.customercommercetag) | Set-Content $_.FullName -NoNewline + (Get-Content $_.FullName -Raw) -replace "{sxc-nonproduction-project}", $sxcnonprod | Set-Content $_.FullName -NoNewline + (Get-Content $_.FullName -Raw) -replace "{powershell-version}", $powershellImage | Set-Content $_.FullName -NoNewline + } + } +} else { + throw "No JSON file" +} \ No newline at end of file diff --git a/sxc/10.3/scripts/configltsc2019.json b/sxc/10.3/scripts/configltsc2019.json new file mode 100644 index 0000000..3156734 --- /dev/null +++ b/sxc/10.3/scripts/configltsc2019.json @@ -0,0 +1,15 @@ +{ + "sxptag": "10.3-ltsc2019", + "customercommercetag": "10.3-ltsc2019", + "spetag": "6.4-1809", + "sxatag": "10.3-1809", + "scrdockerregistry": "scr.sitecore.com", + "sxpproject": "sxp", + "sxcproject": "sxc", + "baseproject": "base", + "modulesproject": "modules", + "nonproductionproject": "nonproduction", + "nonproductiontag": "10.3-ltsc2019", + "os_image_tag": "ltsc2019", + "powershell_image_tag": "1809" +} diff --git a/sxc/10.3/scripts/configltsc2022.json b/sxc/10.3/scripts/configltsc2022.json new file mode 100644 index 0000000..d97b72b --- /dev/null +++ b/sxc/10.3/scripts/configltsc2022.json @@ -0,0 +1,15 @@ +{ + "sxptag": "10.3-ltsc2022", + "customercommercetag": "10.3-ltsc2022", + "spetag": "6.4-ltsc2022", + "sxatag": "10.3-ltsc2022", + "scrdockerregistry": "scr.sitecore.com", + "sxpproject": "sxp", + "sxcproject": "sxc", + "baseproject": "base", + "modulesproject": "modules", + "nonproductionproject": "nonproduction", + "nonproductiontag": "10.3-ltsc2022", + "os_image_tag": "ltsc2022", + "powershell_image_tag": "ltsc2022" +} diff --git a/sxc/10.3/scripts/readme.md b/sxc/10.3/scripts/readme.md new file mode 100644 index 0000000..65408d2 --- /dev/null +++ b/sxc/10.3/scripts/readme.md @@ -0,0 +1,43 @@ +# Sitecore Experience Commerce Container Scripts + +## Introduction + +This folder contains a set of scripts and json files, provided as examples, to facilitate the creation of the Sitecore Experience Commerce container images using Docker. + +## Scripts + +**CleanContainerCache.ps1** -> cleans the Docker container images cache. The container images cache is used to speed any action that requires container images to be pulling container images from a registry. Some commands that use the container images cache are: docker pull, docker-compose up, docker-compose build. When running containers in a continuous integration pipeline, you should always start from a clean environment. + +**ComposeInit.ps1** -> performs the necessary prerequisites on setting up a docker environment including modifying the environment file, creating and installing of certificates, updating of the hosts file, and validation that the volume mapping folders exist. Only a minimum set of parameters are required to perform a default deployment. + +**ContainerBuild.ps1** -> builds container images based on the contents of the docker-compose.build.yml files. The results are container images with a tag of "latest". + +**ContainerTag.ps1** -> tags container images with provided tag. + +**PrepEngineContainerBuild.ps1** -> Takes the Sitecore.Commerce.Engine.OnPrem.Solr and Sitecore.BizFx.OnPrem WDP's from +[dev.sitecore.net](https://dev.sitecore.net) and expands them into the structure expected by the Sitecore XC container Docker files. +This content will be use when calling docker-compose build to create container images. + +**UpdateEnvTag.ps1** -> sets the registry, namespace, project and tag of container images. + +**UpdateK8SYaml.ps1** -> sets Kubernetes secrets files with values from the configltsc2019 or configltsc2022 json file. Kubernetes only supports Windows LTSC 2019 and LSTC 2022 images. + +## JSON Files + +**configltsc2019.json**, and **configltsc2022.json** -> are used by the update scripts UpdateEnvTag.ps1, UpdateEnvCompose.ps1 and UpdateK8SYaml.ps1 to override or replace tokens defined in the .env and yaml files. This allows the customized files to be used in the build and run processes. + +| Variable | Value | Description | +| --------------- | --------------------------- | -------------------------------------------------------------| +| sxptag | 10.3-ltsc2019 | Short tag of the SXP container image tag you want to consume. The short tag consists of the SXP version and the operating system version. | +| customercommercetag | 10.3-ltsc2019 | Tag for the XC container images you built with your application. | +| spetag | 6.4-1809 | Sitecore Powershell Extensions container image tag. | +| sxatag | 10.3-1809 | Sitecore Experience Accelerator container image tag. | +| scrdockerregistry | scr.sitecore.com | Sitecore Container Registry name. | +| sxpproject | platform | Sitecore Experience Platform container project name. | +| sxcproject | sxc | Sitecore Experience Commerce container project name. | +| baseproject | base | Container project name for base containers, like operating system containers from Microsoft. | +| modulesproject | modules | Container project name for Sitecore Modules, like Sitecore Experience Accelerator. | +| nonproductionproject | nonproduction | Container project name for container images that are not for production. Provided MSSQL and Solr container images are *not-production* images. It is expected that customers provide suitable MSSQL and Solr environments for production deployments. | +| nonproductiontag | 10.3-ltsc2019 | Image tag for non-production container images. | +| os_image_tag | ltsc2019 | Operating System name on which to build and run containers. Valid values are *ltsc2022*, *ltsc2019* | +| powershell_image_tag | 1809 | Powershell Image to support k8s only. Valid values are *ltsc2022* and *1809* | diff --git a/sxc/10.3/xc-common/.env b/sxc/10.3/xc-common/.env new file mode 100644 index 0000000..cbc630c --- /dev/null +++ b/sxc/10.3/xc-common/.env @@ -0,0 +1,12 @@ +BASE_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/base/ + +XP_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxp/ +XP_SITECORE_TAG=10.3-ltsc2019 +OS_IMAGE_TAG=ltsc2019 +OS_IMAGE_TAG_IIS=ltsc2019 + +XC_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxc/ +XC_PACKAGES_TAG=10.3-ltsc2019 + +ISOLATION=default +XC_ENGINE_PORT=5000 \ No newline at end of file diff --git a/sxc/10.3/xc-common/bizfx/Dockerfile b/sxc/10.3/xc-common/bizfx/Dockerfile new file mode 100644 index 0000000..362223d --- /dev/null +++ b/sxc/10.3/xc-common/bizfx/Dockerfile @@ -0,0 +1,42 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: bizfx + +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${BASE_IMAGE} + +WORKDIR c:/inetpub/wwwroot + +RUN NET USER commerce_admin /ADD /expires:never && ` + WMIC USERACCOUNT WHERE Name='commerce_admin' SET PasswordExpires=FALSE && ` + NET LOCALGROUP Administrators commerce_admin /ADD + +USER commerce_admin + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=assets module/tools/LogMonitor C:\LogMonitor + +COPY .\InstallPrerequisites.ps1 .\ +COPY LogMonitor/ c:\LogMonitor + +ADD https://download.microsoft.com/download/1/2/8/128E2E22-C1B9-44A4-BE2A-5859ED1D4592/rewrite_amd64_en-US.msi c:/rewrite_amd64_en-US.msi + +RUN .\InstallPrerequisites.ps1; + +COPY wdp/ . +COPY Init.ps1 C:\inetpub + +EXPOSE 80 + +HEALTHCHECK --start-period=300s ` + CMD powershell -command ` + try { ` + $response = Invoke-WebRequest http://localhost -UseBasicParsing; ` + if ($response.StatusCode -eq 200) { exit 0 } else { exit 1 }; ` + } catch { exit 1 } + +ENTRYPOINT ["C:\\LogMonitor\\LogMonitor.exe", "powershell.exe", "C:\\inetpub\\Init.ps1", "C:\\inetpub\\wwwroot\\assets\\config.json"] \ No newline at end of file diff --git a/sxc/10.3/xc-common/bizfx/Init.ps1 b/sxc/10.3/xc-common/bizfx/Init.ps1 new file mode 100644 index 0000000..78826dc --- /dev/null +++ b/sxc/10.3/xc-common/bizfx/Init.ps1 @@ -0,0 +1,21 @@ +param( + [Parameter(Mandatory = $true)] + [string] $ConfigPath +) +$config = Get-Content -Path $ConfigPath | ConvertFrom-Json +$settings = @{ + "EngineUri" = $env:sitecore_xc_bizfx_authoring_url + "IdentityServerUri" = $env:sitecore_xc_bizfx_identity_server_url + "BizFxUri" = $env:sitecore_xc_bizfx_bizfx_url + "Language" = $env:sitecore_xc_bizfx_default_language + "ContentLanguage" = $env:sitecore_xc_bizfx_default_language + "Currency" = $env:sitecore_xc_bizfx_default_currency + "ShopName" = $env:sitecore_xc_bizfx_default_shopname +} +foreach ($key in $settings.Keys) { + Write-Host "Updating [$configPath] config: Set [$($settings.Item($key))] as [$key]" + $config.$key = $settings.Item($key) +} +$config | ConvertTo-Json | Set-Content $ConfigPath + +& "C:\ServiceMonitor.exe" w3svc diff --git a/sxc/10.3/xc-common/bizfx/InstallPrerequisites.ps1 b/sxc/10.3/xc-common/bizfx/InstallPrerequisites.ps1 new file mode 100644 index 0000000..5993119 --- /dev/null +++ b/sxc/10.3/xc-common/bizfx/InstallPrerequisites.ps1 @@ -0,0 +1,18 @@ +# delete everything from wwwroot +Write-Host "Emptying c:\inetpub\wwwroot folder" +Remove-Item -Recurse C:\inetpub\wwwroot\* + +#Install rewrite module +try { + Write-Host "Installing rewrite module" + Start-Process -NoNewWindow -Wait msiexec.exe -ArgumentList /i, "c:\rewrite_amd64_en-US.msi", /qn +} +catch { + Write-Error "Installing rewrite module FAILED." + Write-Error Error[0] + exit(1) +} + +#remove the rewrite msi +Write-Host "Cleaning up downloaded file" +Remove-Item c:\rewrite_amd64_en-US.msi -Recurse -Force; diff --git a/sxc/10.3/xc-common/bizfx/LogMonitor/LogMonitorConfig.json b/sxc/10.3/xc-common/bizfx/LogMonitor/LogMonitorConfig.json new file mode 100644 index 0000000..e31afe7 --- /dev/null +++ b/sxc/10.3/xc-common/bizfx/LogMonitor/LogMonitorConfig.json @@ -0,0 +1,12 @@ +{ + "LogConfig": { + "sources": [ + { + "type": "File", + "directory": "c:\\inetpub\\logs", + "filter": "*.log", + "includeSubdirectories": true + } + ] + } +} \ No newline at end of file diff --git a/sxc/10.3/xc-common/docker-compose.build.yml b/sxc/10.3/xc-common/docker-compose.build.yml new file mode 100644 index 0000000..a7f1bd7 --- /dev/null +++ b/sxc/10.3/xc-common/docker-compose.build.yml @@ -0,0 +1,26 @@ +services: + id: + build: + isolation: ${ISOLATION} + context: ./id + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-id7:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc0-assets:${XC_PACKAGES_TAG} + image: sitecore-xc-id7 + bizfx: + build: + isolation: ${ISOLATION} + context: ./bizfx + args: + BASE_IMAGE: mcr.microsoft.com/windows/servercore/iis:windowsservercore-${OS_IMAGE_TAG_IIS} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc0-assets:${XC_PACKAGES_TAG} + image: sitecore-xc-bizfx + engine: + build: + isolation: ${ISOLATION} + context: ./engine + args: + BASE_IMAGE: mcr.microsoft.com/windows/servercore:${OS_IMAGE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc0-assets:${XC_PACKAGES_TAG} + XC_ENGINE_PORT: ${XC_ENGINE_PORT} + image: sitecore-xc-engine diff --git a/sxc/10.3/xc-common/engine/Dockerfile b/sxc/10.3/xc-common/engine/Dockerfile new file mode 100644 index 0000000..bc7535b --- /dev/null +++ b/sxc/10.3/xc-common/engine/Dockerfile @@ -0,0 +1,37 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: engine-authoring, engine-shops, engine-minions + +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${BASE_IMAGE} + +ARG XC_ENGINE_PORT + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=assets module/tools/LogMonitor C:\LogMonitor + +COPY LogMonitor/ C:\LogMonitor +COPY HealthChecks/ C:\HealthChecks + +USER ContainerAdministrator + +ADD https://download.visualstudio.microsoft.com/download/pr/db07eed5-297a-45b8-bea2-1e93c623a88c/6e5a8d3432e6213f071be3751ae53a08/dotnet-hosting-6.0.11-win.exe .\install\dotnet.exe + +ENV ASPNETCORE_URLS=http://+:${XC_ENGINE_PORT} ` + DOTNET_RUNNING_IN_CONTAINER=true ` + DOTNET_RUNNING_IN_CONTAINERS=true + +RUN Start-Process -FilePath '.\install\dotnet.exe' -ArgumentList '/Passive /NoRestart' -Wait; + +WORKDIR C:/engine +COPY wdp/ . + +USER ContainerUser + +EXPOSE ${XC_ENGINE_PORT} + +ENTRYPOINT ["C:\\LogMonitor\\LogMonitor.exe", "dotnet.exe", "Sitecore.Commerce.Engine.dll"] \ No newline at end of file diff --git a/sxc/10.3/xc-common/engine/HealthChecks/Healthcheck.ps1 b/sxc/10.3/xc-common/engine/HealthChecks/Healthcheck.ps1 new file mode 100644 index 0000000..3eebe93 --- /dev/null +++ b/sxc/10.3/xc-common/engine/HealthChecks/Healthcheck.ps1 @@ -0,0 +1,42 @@ +param( + [int]$RequestTimeout = 300, + [string]$Server = "http://localhost", + [string]$ReadyCheck = "/health", + [string]$LiveCheck = "/health", + [int]$Port = 5000 +) + +function InvokeWebRequest { + param ( + [string]$Endpoint, + [int]$RequestTimeout + ) + + try { + $response = Invoke-WebRequest -Uri $Endpoint -UseBasicParsing -TimeoutSec $RequestTimeout + } + catch { + $response = $_.Exception.Response + } + finally { + Write-Information -MessageData "$Endpoint - $($response.StatusCode)" -InformationAction:Continue + + if ($response.StatusCode -eq 200) { + $returnCode = 0 + } else { + $returnCode = 1 + } + } + + return $returnCode +} + +$check = "$($Server):$port$LiveCheck" + +$result = InvokeWebRequest -Endpoint $check -RequestTimeout $RequestTimeout + +if ($result -eq 1) { + exit 1 +} + +exit 0 \ No newline at end of file diff --git a/sxc/10.3/xc-common/engine/LogMonitor/LogMonitorConfig.json b/sxc/10.3/xc-common/engine/LogMonitor/LogMonitorConfig.json new file mode 100644 index 0000000..a3287a9 --- /dev/null +++ b/sxc/10.3/xc-common/engine/LogMonitor/LogMonitorConfig.json @@ -0,0 +1,12 @@ +{ + "LogConfig": { + "sources": [ + { + "type": "File", + "directory": "c:\\Engine\\wwwroot\\logs", + "filter": "*.txt", + "includeSubdirectories": true + } + ] + } +} \ No newline at end of file diff --git a/sxc/10.3/xc-common/id/Dockerfile b/sxc/10.3/xc-common/id/Dockerfile new file mode 100644 index 0000000..920ff24 --- /dev/null +++ b/sxc/10.3/xc-common/id/Dockerfile @@ -0,0 +1,12 @@ +# This Dockerfile is used to generate images for the following roles: id + +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${BASE_IMAGE} + +WORKDIR c:/Identity + +COPY --from=assets module/id/content . \ No newline at end of file diff --git a/sxc/10.3/xc-common/mssql/init/Dockerfile b/sxc/10.3/xc-common/mssql/init/Dockerfile new file mode 100644 index 0000000..46f507e --- /dev/null +++ b/sxc/10.3/xc-common/mssql/init/Dockerfile @@ -0,0 +1,45 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: mssql + +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${BASE_IMAGE} + +ARG TOPOLOGY +ENV TOPOLOGY=${TOPOLOGY} +ENV SQL_DATABASE_PREFIX=Sitecore + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=assets C:\module\db C:\resources +COPY --from=assets C:\module\tools\scripts\StartCommerceInit.ps1 C:\module\tools\scripts\DeployRoles.ps1 C:\module\tools\scripts\CreateExternalDataSources.ps1 C:\ + + +# hadolint ignore=DL3025 +ENTRYPOINT ["powershell.exe", ".\\StartCommerceInit.ps1", "-ResourcesDirectory $env:RESOURCES_PATH", "-SqlServer $env:SQL_SERVER", "-SqlAdminUser $env:SQL_ADMIN_LOGIN", ` + "-SqlAdminPassword $env:SQL_ADMIN_PASSWORD", "-SitecoreAdminPassword $env:sitecore_admin_password", "-SqlDatabasePrefix $env:Sql_Database_Prefix", ` + "-SqlElasticPoolName $env:SQL_ELASTIC_POOL_NAME", " -DatabasesToDeploy $env:DATABASES_TO_DEPLOY", ` + "-PostDeploymentWaitPeriod $env:POST_DEPLOYMENT_WAIT_PERIOD", ` + "-SqlCustomDatabasePrefixUpdateFrom $env:SQL_CUSTOM_DATABASE_PREFIX_UPDATE_FROM", ` + "-CoreDatabaseName Core", "-SharedDatabaseName $env:XC_SHARED_DB", "-ArchiveDatabaseName $env:XC_SHARED_ARCHIVE_DB", "-MasterkeyPassword $env:XC_DB_Masterkey_Password", ` + "-DatabaseUsers @( ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Master'; 'username' = $env:Master_Database_Username; 'password' = $env:Master_Database_Password}, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Core'; 'username' = $env:Core_Database_Username; 'password' = $env:Core_Database_Password}, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Web'; 'username' = $env:Web_Database_Username; 'password' = $env:Web_Database_Password}, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Experienceforms'; 'username' = $env:Forms_Database_Username; 'password' = $env:Forms_Database_Password}, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Exm.master'; 'username' = $env:Exm_Master_Database_Username; 'password' = $env:Exm_Master_Database_Password}, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Marketingautomation'; 'username' = $env:Marketing_Automation_Database_Username; 'password' = $env:Marketing_Automation_Database_Password}, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Messaging'; 'username' = $env:Messaging_Database_Username; 'password' = $env:Messaging_Database_Password }, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Reporting'; 'username' = $env:Reporting_Database_Username; 'password' = $env:Reporting_Database_Password }, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Referencedata'; 'username' = $env:Reference_Data_Database_Username; 'password' = $env:Reference_Data_Database_Password }, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Processing.Pools'; 'username' = $env:Processing_Pools_Database_Username; 'password' = $env:Processing_Pools_Database_Password }, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Processing.Tasks'; 'username' = $env:Processing_Tasks_Database_Username; 'password' = $env:Processing_Tasks_Database_Password }, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Processing.Engine.Tasks'; 'username' = $env:Processing_Engine_Tasks_Database_Username; 'password' = $env:Processing_Engine_Tasks_Database_Password }, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Processing.Engine.Storage'; 'username' = $env:Processing_Engine_Storage_Database_Username; 'password' = $env:Processing_Engine_Storage_Database_Password }, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Xdb.Collection.ShardMapManager'; 'username' = $env:Collection_ShardMapManager_Database_Username; 'password' = $env:Collection_ShardMapManager_Database_Password }, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Xdb.Collection.Shard0'; 'username' = $env:Collection_ShardMapManager_Database_Username; 'password' = $env:Collection_ShardMapManager_Database_Password }, ` + @{'databaseName' = $env:Sql_Database_Prefix + '.Xdb.Collection.Shard1'; 'username' = $env:Collection_ShardMapManager_Database_Username; 'password' = $env:Collection_ShardMapManager_Database_Password } ` + )"] \ No newline at end of file diff --git a/sxc/10.3/xc-common/prc-rep/Dockerfile b/sxc/10.3/xc-common/prc-rep/Dockerfile new file mode 100644 index 0000000..bd4709c --- /dev/null +++ b/sxc/10.3/xc-common/prc-rep/Dockerfile @@ -0,0 +1,15 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: prc, rep, xdba, xdbc + +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${BASE_IMAGE} + +ARG ROLE + +WORKDIR /inetpub/wwwroot + +COPY --from=assets module/${ROLE}/content/inetpub/wwwroot ./ \ No newline at end of file diff --git a/sxc/10.3/xc-common/solr-init/Dockerfile b/sxc/10.3/xc-common/solr-init/Dockerfile new file mode 100644 index 0000000..de0b7ff --- /dev/null +++ b/sxc/10.3/xc-common/solr-init/Dockerfile @@ -0,0 +1,39 @@ +# escape=` + +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${BASE_IMAGE} + +ARG XC_TOPOLOGY +ARG SOLR_XDB_SCHEMA_FILE + +ENV SOLR_SITECORE_CONFIGSET_SUFFIX_NAME=_config ` + SOLR_REPLICATION_FACTOR=1 ` + SOLR_NUMBER_OF_SHARDS=1 ` + SOLR_MAX_SHARDS_NUMBER_PER_NODES=1 ` + SOLR_CORE_PREFIX_NAME=sitecore ` + SOLR_XDB_SCHEMA_FILE=${SOLR_XDB_SCHEMA_FILE} ` + TOPOLOGY=${XC_TOPOLOGY} ` + SOLR_COMMERCE_PREFIX_NAME=commerce ` + SOLR_COMMERCE_POSTFIX_NAME=Scope ` + SOLR_COMMERCE_REBUILD_POSTFIX_NAME=-Rebuild + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=assets C:\module\solr C:\data +COPY --from=assets C:\module\tools\scripts\New-SolrCore-Commerce.ps1 C:\module\tools\scripts\Start-Commerce.ps1 C:\ + +ENTRYPOINT ["powershell.exe", ".\\Start-Commerce.ps1", "-SitecoreSolrConnectionString $env:SITECORE_SOLR_CONNECTION_STRING", ` + "-SolrCorePrefix $env:SOLR_CORE_PREFIX_NAME", ` + "-SolrSitecoreConfigsetSuffixName $env:SOLR_SITECORE_CONFIGSET_SUFFIX_NAME", ` + "-SolrReplicationFactor $env:SOLR_REPLICATION_FACTOR", ` + "-SolrNumberOfShards $env:SOLR_NUMBER_OF_SHARDS", ` + "-SolrMaxShardsPerNodes $env:SOLR_MAX_SHARDS_NUMBER_PER_NODES", ` + "-SolrXdbSchemaFile .\\data\\schema.json", ` + "-CommerceSolrConnectionString $env:COMMERCE_SOLR_CONNECTION_STRING", ` + "-SolrCommercePrefix $env:SOLR_COMMERCE_PREFIX_NAME", ` + "-SolrCommercePostfix $env:SOLR_COMMERCE_POSTFIX_NAME", ` + "-SolrCommerceRebuildPostfix $env:SOLR_COMMERCE_REBUILD_POSTFIX_NAME"] diff --git a/sxc/10.3/xc-common/xdbautomation/Dockerfile b/sxc/10.3/xc-common/xdbautomation/Dockerfile new file mode 100644 index 0000000..d5f21fe --- /dev/null +++ b/sxc/10.3/xc-common/xdbautomation/Dockerfile @@ -0,0 +1,19 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: prc, rep, xdba, xdbc + +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${BASE_IMAGE} + +ARG CONTENT_PATH + +WORKDIR /inetpub/wwwroot + +COPY --from=assets module/${CONTENT_PATH} C:\module +COPY --from=assets module/${CONTENT_PATH}/App_data .\App_data\ + +RUN Copy-Item -Path "C:\module\*.dll" -Destination "C:\inetpub\wwwroot\bin"; ` + Remove-Item -Path "C:\module" -Recurse -Force; \ No newline at end of file diff --git a/sxc/10.3/xc-common/xdbsearch/Dockerfile b/sxc/10.3/xc-common/xdbsearch/Dockerfile new file mode 100644 index 0000000..6c54838 --- /dev/null +++ b/sxc/10.3/xc-common/xdbsearch/Dockerfile @@ -0,0 +1,15 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: prc, rep, xdba, xdbc + +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${BASE_IMAGE} + +WORKDIR /inetpub/wwwroot + +ARG CONTENT_PATH + +COPY --from=assets module/${CONTENT_PATH}/App_data ./App_data/ \ No newline at end of file diff --git a/sxc/10.3/xc-common/xdbworkers/Dockerfile b/sxc/10.3/xc-common/xdbworkers/Dockerfile new file mode 100644 index 0000000..97dc02b --- /dev/null +++ b/sxc/10.3/xc-common/xdbworkers/Dockerfile @@ -0,0 +1,14 @@ +# This Dockerfile is used to generate images for the following roles: xdbsearchworker, xdbautomationworker + +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${BASE_IMAGE} + +WORKDIR /service + +ARG CONTENT_PATH + +COPY --from=assets module/${CONTENT_PATH} . \ No newline at end of file diff --git a/sxc/10.3/xc0/.env b/sxc/10.3/xc0/.env new file mode 100644 index 0000000..2d27f72 --- /dev/null +++ b/sxc/10.3/xc0/.env @@ -0,0 +1,62 @@ +BASE_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/base/ + +XP_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxp/ +XP_SITECORE_TAG=10.3-ltsc2019 +EXTERNAL_IMAGE_TAG_SUFFIX=ltsc2019 + +XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxc/nonproduction/ +XC_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxc/ +XC_PACKAGES_TAG=10.3-ltsc2019 + +TRAEFIK_IMAGE=traefik:v2.5.3-windowsservercore-1809 +TRAEFIK_ISOLATION=hyperv + +ISOLATION=default + +CM_HOST=xc0cm.localhost +ID_HOST=xc0id.localhost + +AUTHORING_HOST=authoring.localhost +SHOPS_HOST=shops.localhost +MINIONS_HOST=minions.localhost + +BIZFX_HOST=bizfx.localhost + +SQL_SERVER=mssql +SQL_SA_LOGIN=sa +SQL_SA_PASSWORD=Password12345 +SQL_DATABASE_PREFIX=Sitecore +SQL_CUSTOM_DATABASE_PREFIX_UPDATE_FROM= +SITECORE_ADMIN_PASSWORD=Password12345 + +SOLR_CORE_PREFIX_NAME=sitecore +SOLR_COMMERCE_PREFIX_NAME=commerce +MEDIA_REQUEST_PROTECTION_SHARED_SECRET= +LOG_LEVEL_VALUE=INFO + +XC_GLOBAL_DB=SitecoreCommerce_Global +XC_GLOBAL_DB_TRUSTED_CONNECTION=false +XC_SHARED_DB=SitecoreCommerce_SharedEnvironments +XC_SHARED_DB_TRUSTED_CONNECTION=false +XC_SHARED_ARCHIVE_DB=SitecoreCommerce_ArchiveSharedEnvironments + +XC_ENGINE_PORT=5000 +XC_ENGINE_BRAINTREEENVIRONMENT= +XC_ENGINE_BRAINTREEMERCHANTID= +XC_ENGINE_BRAINTREEPUBLICKEY= +XC_ENGINE_BRAINTREEPRIVATEKEY= +XC_BIZFX_DEFAULT_LANGUAGE=en +XC_BIZFX_DEFAULT_CURRENCY=USD +XC_BIZFX_DEFAULT_SHOPNAME=CommerceEngineDefaultStorefront +XC_ENGINE_CONNECT_CLIENTID=CommerceEngineConnect +XC_IDENTITY_COMMERCEENGINECONNECTCLIENT_CLIENTSECRET1= + +REPORTING_API_KEY= +TELERIK_ENCRYPTION_KEY= +SITECORE_GRAPHQL_ENABLED=false +SITECORE_GRAPHQL_EXPOSEPLAYGROUND=false +SITECORE_GRAPHQL_UPLOADMEDIAOPTIONS_ENCRYPTIONKEY= +SITECORE_IDSECRET= +SITECORE_ID_CERTIFICATE= +SITECORE_ID_CERTIFICATE_PASSWORD= +SITECORE_LICENSE= \ No newline at end of file diff --git a/sxc/10.3/xc0/cm/Dockerfile b/sxc/10.3/xc0/cm/Dockerfile new file mode 100644 index 0000000..63868b4 --- /dev/null +++ b/sxc/10.3/xc0/cm/Dockerfile @@ -0,0 +1,35 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: cd, cm + +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${BASE_IMAGE} + +ARG XC_ROLE_CONFIGS + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ENV DOTNET_RUNNING_IN_CONTAINER=true + +WORKDIR c:/inetpub/wwwroot + +COPY --from=assets module/${XC_ROLE_CONFIGS}/content/inetpub/wwwroot . +COPY --from=assets module/sample/content/inetpub/wwwroot . +COPY --from=assets module/${XC_ROLE_CONFIGS}/content/Permissions C:\Permissions +COPY --from=assets module/tools C:\tools + +# Copy any custom files from build location +COPY . . + +RUN New-Item -Path C:\inetpub\wwwroot\App_Config -Name Security-Shared -ItemType directory; ` + Push-Location c:/inetpub/wwwroot/App_Config/Include/Y.Commerce.Engine; ` + Rename-Item Sitecore.Commerce.Engine.DataProvider.config.disabled Sitecore.Commerce.Engine.DataProvider.config; ` + Rename-Item Sitecore.Commerce.Engine.Connectors.Index.Common.config.disabled Sitecore.Commerce.Engine.Connectors.Index.Common.config; ` + Rename-Item Sitecore.Commerce.Engine.Connectors.Index.Solr.config.disabled Sitecore.Commerce.Engine.Connectors.Index.Solr.config; ` + Pop-Location; ` + Remove-Item -Path "./XConnectFiles/" -Recurse -Force; + +ENTRYPOINT ["C:\\LogMonitor\\LogMonitor.exe", "powershell", "C:\\tools\\scripts\\CopySecurityDomain.ps1; C:\\Run-W3SVCService.ps1"] \ No newline at end of file diff --git a/sxc/10.3/xc0/cm/readme b/sxc/10.3/xc0/cm/readme new file mode 100644 index 0000000..a4a4213 --- /dev/null +++ b/sxc/10.3/xc0/cm/readme @@ -0,0 +1 @@ +Add Commerce custom XP0 CM content here \ No newline at end of file diff --git a/sxc/10.3/xc0/device-detection-data/readme.md b/sxc/10.3/xc0/device-detection-data/readme.md new file mode 100644 index 0000000..fe38d07 --- /dev/null +++ b/sxc/10.3/xc0/device-detection-data/readme.md @@ -0,0 +1 @@ +device detection database will be mounted here \ No newline at end of file diff --git a/sxc/10.3/xc0/docker-compose.build.yml b/sxc/10.3/xc0/docker-compose.build.yml new file mode 100644 index 0000000..829ca25 --- /dev/null +++ b/sxc/10.3/xc0/docker-compose.build.yml @@ -0,0 +1,47 @@ +services: + solr-init: + image: sitecore-xc0-solr-init + build: + isolation: ${ISOLATION} + context: ../xc-common/solr-init + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp0-solr-init:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc0-assets:${XC_PACKAGES_TAG} + XC_TOPOLOGY: xc0 + SOLR_XDB_SCHEMA_FILE: "/Content/Website/App_Data/solrcommands/schema.json" + cm: + build: + isolation: ${ISOLATION} + context: ./cm + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp0-cm:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc0-assets:${XC_PACKAGES_TAG} + XC_ROLE_CONFIGS: cm + image: sitecore-xc0-cm + xconnect: + build: + isolation: ${ISOLATION} + context: ../xc-common/xdbautomation + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp0-xconnect:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc0-assets:${XC_PACKAGES_TAG} + CONTENT_PATH: xconnect/content/inetpub/wwwroot + image: sitecore-xc0-xconnect + xdbsearchworker: + build: + isolation: ${ISOLATION} + context: ../xc-common/xdbworkers + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp0-xdbsearchworker:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc0-assets:${XC_PACKAGES_TAG} + CONTENT_PATH: xdbsearchworker/content/inetpub/wwwroot/App_Data/jobs/continuous/IndexWorker + image: sitecore-xc0-xdbsearchworker + xdbautomationworker: + build: + isolation: ${ISOLATION} + context: ../xc-common/xdbworkers + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp0-xdbautomationworker:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc0-assets:${XC_PACKAGES_TAG} + CONTENT_PATH: xdbautomationworker/content/inetpub/wwwroot/App_Data/jobs/continuous/AutomationEngine + image: sitecore-xc0-xdbautomationworker diff --git a/sxc/10.3/xc0/docker-compose.yml b/sxc/10.3/xc0/docker-compose.yml new file mode 100644 index 0000000..a940ea0 --- /dev/null +++ b/sxc/10.3/xc0/docker-compose.yml @@ -0,0 +1,522 @@ +services: + traefik: + isolation: ${TRAEFIK_ISOLATION} + image: ${TRAEFIK_IMAGE} + command: + - "--api.insecure=true" + - "--providers.docker.endpoint=npipe:////./pipe/docker_engine" + - "--providers.docker.exposedByDefault=false" + - "--providers.file.directory=C:/etc/traefik/config/dynamic" + - "--entryPoints.websecure.address=:443" + - "--entryPoints.websecure.forwardedHeaders.insecure" + ports: + - "443:443" + - "8079:8080" + volumes: + - source: \\.\pipe\docker_engine + target: \\.\pipe\docker_engine + type: npipe + - ./traefik:C:/etc/traefik + depends_on: + id: + condition: service_started + cm: + condition: service_started + bizfx: + condition: service_started + engine-authoring: + condition: service_started + engine-shops: + condition: service_started + engine-minions: + condition: service_started + mssql: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}nonproduction/mssql-developer:2017-${EXTERNAL_IMAGE_TAG_SUFFIX} + restart: unless-stopped + environment: + SA_PASSWORD: ${SQL_SA_PASSWORD} + ACCEPT_EULA: "Y" + ports: + - "14330:1433" + volumes: + - type: bind + source: c:\containers\mssql-data + target: c:\data + mssql-init: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-mssql-init:${XC_PACKAGES_TAG} + restart: on-failure + environment: + SQL_SERVER: ${SQL_SERVER} + SQL_ADMIN_LOGIN: ${SQL_SA_LOGIN} + SQL_ADMIN_PASSWORD: ${SQL_SA_PASSWORD} + SQL_DATABASE_PREFIX: ${SQL_DATABASE_PREFIX} + SQL_CUSTOM_DATABASE_PREFIX_UPDATE_FROM: ${SQL_CUSTOM_DATABASE_PREFIX_UPDATE_FROM} + SITECORE_ADMIN_PASSWORD: ${SITECORE_ADMIN_PASSWORD} + POST_DEPLOYMENT_WAIT_PERIOD: 300 + XC_SHARED_DB: ${XC_SHARED_DB} + XC_SHARED_ARCHIVE_DB: ${XC_SHARED_ARCHIVE_DB} + healthcheck: + test: ["CMD", "powershell", "-command", "if ([System.Environment]::GetEnvironmentVariable('CommerceDatabasesDeploymentStatus', 'Machine') -eq 'Complete') { exit 0 } else { exit 1}"] + start_period: 900s + interval: 5s + depends_on: + mssql: + condition: service_healthy + solr: + isolation: ${ISOLATION} + ports: + - "8984:8983" + image: ${XP_SITECORE_DOCKER_REGISTRY}nonproduction/solr:8.11.2-${EXTERNAL_IMAGE_TAG_SUFFIX} + volumes: + - type: bind + source: c:\containers\solr-data + target: c:\data + environment: + SOLR_MODE: solrcloud + healthcheck: + test: ["CMD", "powershell", "-command", "try { $$statusCode = (iwr http://solr:8983/solr/admin/cores?action=STATUS -UseBasicParsing).StatusCode; if ($$statusCode -eq 200) { exit 0 } else { exit 1} } catch { exit 1 }"] + solr-init: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc0-solr-init:${XC_PACKAGES_TAG} + environment: + SITECORE_SOLR_CONNECTION_STRING: http://solr:8983/solr + SOLR_CORE_PREFIX_NAME: ${SOLR_CORE_PREFIX_NAME} + COMMERCE_SOLR_CONNECTION_STRING: http://solr:8983/solr + SOLR_COMMERCE_PREFIX_NAME: ${SOLR_COMMERCE_PREFIX_NAME} + depends_on: + solr: + condition: service_healthy + redis: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}redis:3.2.100-${EXTERNAL_IMAGE_TAG_SUFFIX} + restart: unless-stopped + id: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc-id7:${XC_PACKAGES_TAG} + environment: + Sitecore_Sitecore__IdentityServer__SitecoreMemberShipOptions__ConnectionString: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Core;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_Sitecore__IdentityServer__AccountOptions__PasswordRecoveryUrl: https://${CM_HOST}/sitecore/login?rc=1 + Sitecore_Sitecore__IdentityServer__Clients__PasswordClient__ClientSecrets__ClientSecret1: ${SITECORE_IDSECRET} + Sitecore_Sitecore__IdentityServer__Clients__DefaultClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1: https://${CM_HOST} + Sitecore_Sitecore__IdentityServer__CertificateRawData: ${SITECORE_ID_CERTIFICATE} + Sitecore_Sitecore__IdentityServer__PublicOrigin: https://${ID_HOST} + Sitecore_Sitecore__IdentityServer__CertificateRawDataPassword: ${SITECORE_ID_CERTIFICATE_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + Sitecore_Sitecore__IdentityServer__Clients__CommerceClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1: https://${BIZFX_HOST}|https://${AUTHORING_HOST} + Sitecore_Sitecore__IdentityServer__Clients__CommerceEngineConnectClient__ClientId: ${XC_ENGINE_CONNECT_CLIENTID} + Sitecore_Sitecore__IdentityServer__Clients__CommerceEngineConnectClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1: https://${CM_HOST} + Sitecore_Sitecore__IdentityServer__Clients__CommerceEngineConnectClient__ClientSecrets__ClientSecret1: ${XC_IDENTITY_COMMERCEENGINECONNECTCLIENT_CLIENTSECRET1} + healthcheck: + test: ["CMD", "pwsh", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + depends_on: + mssql-init: + condition: service_healthy + labels: + - "traefik.enable=true" + - "traefik.http.routers.id-secure.entrypoints=websecure" + - "traefik.http.routers.id-secure.rule=Host(`${ID_HOST}`)" + - "traefik.http.routers.id-secure.tls=true" + cm: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc0-cm:${XC_PACKAGES_TAG} + depends_on: + id: + condition: service_started + xconnect: + condition: service_started + environment: + Sitecore_ConnectionStrings_Core: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Core;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Security: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Core;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Master: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Master;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Web: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Web;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Messaging: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Messaging;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Processing.Pools: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.pools;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Referencedata;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Processing.Tasks: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.tasks;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_ExperienceForms: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.ExperienceForms;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Exm.Master: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Exm.master;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Reporting;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Sitecore.Reporting.Client: http://xconnect + Sitecore_ConnectionStrings_Cortex.Processing.Engine: http://xconnect + Sitecore_ConnectionStrings_Solr.Search: http://solr:8983/solr;solrCloud=true + Sitecore_ConnectionStrings_SitecoreIdentity.Secret: ${SITECORE_IDSECRET} + Sitecore_ConnectionStrings_XConnect.Collection: http://xconnect + Sitecore_ConnectionStrings_Xdb.MarketingAutomation.Operations.Client: http://xconnect + Sitecore_ConnectionStrings_Xdb.MarketingAutomation.Reporting.Client: http://xconnect + Sitecore_ConnectionStrings_Xdb.ReferenceData.Client: http://xconnect + Sitecore_AppSettings_Telerik.AsyncUpload.ConfigurationEncryptionKey: ${TELERIK_ENCRYPTION_KEY} + Sitecore_AppSettings_Telerik.Upload.ConfigurationHashKey: ${TELERIK_ENCRYPTION_KEY} + Sitecore_AppSettings_Telerik.Web.UI.DialogParametersEncryptionKey: ${TELERIK_ENCRYPTION_KEY} + Sitecore_License: ${SITECORE_LICENSE} + Sitecore_GraphQL_Enabled: ${SITECORE_GRAPHQL_ENABLED} + Sitecore_GraphQL_ExposePlayground: ${SITECORE_GRAPHQL_EXPOSEPLAYGROUND} + Sitecore_GraphQL_UploadMediaOptions_EncryptionKey: ${SITECORE_GRAPHQL_UPLOADMEDIAOPTIONS_ENCRYPTIONKEY} + Sitecore_Identity_Server_Authority: https://${ID_HOST} + Sitecore_Identity_Server_InternalAuthority: http://id + Sitecore_Identity_Server_CallbackAuthority: https://${CM_HOST} + Sitecore_Identity_Server_Require_Https: "false" + Sitecore_Analytics_Forwarded_Request_Http_Header: X-Forwarded-For + SOLR_CORE_PREFIX_NAME: ${SOLR_CORE_PREFIX_NAME} + MEDIA_REQUEST_PROTECTION_SHARED_SECRET: ${MEDIA_REQUEST_PROTECTION_SHARED_SECRET} + LOG_LEVEL_VALUE: ${LOG_LEVEL_VALUE} + Sitecore_xc_Shops_Url: http://engine-authoring:${XC_ENGINE_PORT}/api/ + Sitecore_xc_Ops_Url: http://engine-authoring:${XC_ENGINE_PORT}/commerceops/ + Sitecore_xc_Minions_Url: http://engine-minions:${XC_ENGINE_PORT}/commerceops/ + Sitecore_xc_Client_Secret_Hash: ${XC_IDENTITY_COMMERCEENGINECONNECTCLIENT_CLIENTSECRET1} + Sitecore_xc_ConnectionStrings_Redis: redis:6379,defaultDatabase=1,allowAdmin=true,syncTimeout=3600000 + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.force-STS-Header.headers.forceSTSHeader=true" + - "traefik.http.middlewares.force-STS-Header.headers.stsSeconds=31536000" + - "traefik.http.routers.cm-secure.entrypoints=websecure" + - "traefik.http.routers.cm-secure.rule=Host(`${CM_HOST}`)" + - "traefik.http.routers.cm-secure.tls=true" + - "traefik.http.routers.cm-secure.middlewares=force-STS-Header" + volumes: + - C:\containers\cm\domains-shared:C:\inetpub\wwwroot\App_Config\Security-Shared:RW + - type: bind + source: .\device-detection-data + target: C:\inetpub\wwwroot\App_Data\DeviceDetection + xconnect: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc0-xconnect:${XC_PACKAGES_TAG} + ports: + - "8081:80" + depends_on: + mssql-init: + condition: service_healthy + solr-init: + condition: service_started + environment: + Sitecore_License: ${SITECORE_LICENSE} + Sitecore_ConnectionStrings_Messaging: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Messaging;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Processing.Engine.Storage: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.Engine.Storage;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Processing.Engine.Tasks: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.Engine.Tasks;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Reporting;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Marketingautomation;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Processing.Pools: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.pools;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Referencedata;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Collection: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Xdb.Collection.ShardMapManager;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_SolrCore: http://solr:8983/solr/${SOLR_CORE_PREFIX_NAME}_xdb;solrCloud=true + Sitecore_Sitecore:XConnect:CollectionSearch:Services:Solr.SolrReaderSettings:Options:RequireHttps: 'false' + Sitecore_Sitecore:XConnect:CollectionSearch:Services:XConnectSolrHealthCheckServicesConfiguration:Options:RequireHttps: 'false' + Sitecore_Sitecore:XConnect:SearchIndexer:Services:Solr.SolrReaderSettings:Options:RequireHttps: 'false' + Sitecore_Sitecore:XConnect:SearchIndexer:Services:Solr.SolrWriterSettings:Options:RequireHttps: 'false' + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + xdbsearchworker: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc0-xdbsearchworker:${XC_PACKAGES_TAG} + depends_on: + xconnect: + condition: service_healthy + restart: unless-stopped + environment: + Sitecore_ConnectionStrings_Collection: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Xdb.Collection.ShardMapManager;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_SolrCore: http://solr:8983/solr/${SOLR_CORE_PREFIX_NAME}_xdb;solrCloud=true + Sitecore_License: ${SITECORE_LICENSE} + Sitecore_Sitecore:XConnect:SearchIndexer:Services:Solr.SolrReaderSettings:Options:RequireHttps: 'false' + Sitecore_Sitecore:XConnect:SearchIndexer:Services:Solr.SolrWriterSettings:Options:RequireHttps: 'false' + Sitecore_Sitecore:XConnect:CollectionSearch:Services:XConnectSolrHealthCheckServicesConfiguration:Options:RequireHttps: 'false' + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port 8080"] + timeout: 300s + xdbautomationworker: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc0-xdbautomationworker:${XC_PACKAGES_TAG} + depends_on: + xconnect: + condition: service_healthy + restart: unless-stopped + environment: + Sitecore_ConnectionStrings_XConnect.Collection: http://xconnect + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Marketingautomation;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Referencedata;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Messaging: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Messaging;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port 8080"] + timeout: 300s + cortexprocessingworker: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp0-cortexprocessingworker:${XP_SITECORE_TAG} + depends_on: + xconnect: + condition: service_healthy + restart: unless-stopped + environment: + Sitecore_ConnectionStrings_Processing.Engine.Storage: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.Engine.Storage;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Processing.Engine.Tasks: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.Engine.Tasks;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_XConnect.Collection: http://xconnect + Sitecore_ConnectionStrings_XConnect.Configuration: http://xconnect + Sitecore_ConnectionStrings_XConnect.Search: http://xconnect + Sitecore_ConnectionStrings_Reporting: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Reporting;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port 8080"] + timeout: 300s + bizfx: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc-bizfx:${XC_PACKAGES_TAG} + depends_on: + engine-authoring: + condition: service_started + engine-minions: + condition: service_started + id: + condition: service_started + environment: + sitecore_xc_bizfx_bizfx_url: https://${BIZFX_HOST} + sitecore_xc_bizfx_authoring_url: https://${AUTHORING_HOST} + sitecore_xc_bizfx_identity_server_url: https://${ID_HOST} + sitecore_xc_bizfx_default_language: ${XC_BIZFX_DEFAULT_LANGUAGE} + sitecore_xc_bizfx_default_currency: ${XC_BIZFX_DEFAULT_CURRENCY} + sitecore_xc_bizfx_default_shopname: ${XC_BIZFX_DEFAULT_SHOPNAME} + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.force-STS-Header.headers.forceSTSHeader=true" + - "traefik.http.middlewares.force-STS-Header.headers.stsSeconds=31536000" + - "traefik.http.routers.bizfx-secure.entrypoints=websecure" + - "traefik.http.routers.bizfx-secure.rule=Host(`${BIZFX_HOST}`)" + - "traefik.http.routers.bizfx-secure.tls=true" + - "traefik.http.routers.bizfx-secure.middlewares=force-STS-Header" + engine-authoring: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql-init: + condition: service_healthy + solr: + condition: service_started + id: + condition: service_started + redis: + condition: service_started + cm: + condition: service_started + environment: + COMMERCEENGINE_AppSettings__DeploymentId: HabitatAuthoring01 + COMMERCEENGINE_AppSettings__EnvironmentName: HabitatAuthoring + COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl: "https://${ID_HOST}" + COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl: "http://id" + COMMERCEENGINE_AppSettings__AllowedOrigins: "https://${BIZFX_HOST}|https://{CM_HOST}" + COMMERCEENGINE_AppSettings__AntiForgeryEnabled: "false" + COMMERCEENGINE_AppSettings__UseHttpsInKestrel: "false" + COMMERCEENGINE_Caching__Redis__Options__Configuration: redis:6379,ssl=False,abortConnect=False + COMMERCEENGINE_Caching__Redis__Options__InstanceName: Redis + COMMERCEENGINE_CommerceConnector__ClientId: ${XC_ENGINE_CONNECT_CLIENTID} + COMMERCEENGINE_GlobalDatabaseName: ${XC_GLOBAL_DB} + COMMERCEENGINE_GlobalDatabaseServer: ${SQL_SERVER} + COMMERCEENGINE_GlobalDatabaseUserName: ${SQL_SA_LOGIN} + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedArchiveDatabaseName: ${XC_SHARED_ARCHIVE_DB} + COMMERCEENGINE_SharedDatabaseServer: ${SQL_SERVER} + COMMERCEENGINE_SharedDatabaseUserName: ${SQL_SA_LOGIN} + COMMERCEENGINE_SharedDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_SharedTrustedConnection: "${XC_SHARED_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SitecoreHost: cm + COMMERCEENGINE_SitecoreDatabase: master + COMMERCEENGINE_SitecoreUsername: admin + COMMERCEENGINE_SitecoreDomain: sitecore + COMMERCEENGINE_SitecorePassword: ${SITECORE_ADMIN_PASSWORD} + COMMERCEENGINE_SitecoreProtocol: http + COMMERCEENGINE_SitecoreAllowAnonymousUser: "true" + COMMERCEENGINE_SitecoreExternalProtocol: https + COMMERCEENGINE_SitecoreExternalHost: ${CM_HOST} + COMMERCEENGINE_SolrUrl: http://solr:8983/solr + COMMERCEENGINE_IsSolrCloud: "true" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: ${SOLR_CORE_PREFIX_NAME}_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: ${SOLR_CORE_PREFIX_NAME}_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: ${SOLR_COMMERCE_PREFIX_NAME}_OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: ${SOLR_COMMERCE_PREFIX_NAME}_CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: ${SOLR_COMMERCE_PREFIX_NAME}_CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: ${SOLR_COMMERCE_PREFIX_NAME}_PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: ${SOLR_COMMERCE_PREFIX_NAME}_PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_PriceCardsScope-Rebuild + COMMERCEENGINE_EngineAuthoringUrl: https://${AUTHORING_HOST} + COMMERCEENGINE_EngineShopsUrl: https://${SHOPS_HOST} + COMMERCEENGINE_EngineMinionsUrl: https://${MINIONS_HOST} + COMMERCEENGINE_BraintreeEnvironment: ${XC_ENGINE_BRAINTREEENVIRONMENT} + COMMERCEENGINE_BraintreeMerchantId: ${XC_ENGINE_BRAINTREEMERCHANTID} + COMMERCEENGINE_BraintreePublicKey: ${XC_ENGINE_BRAINTREEPUBLICKEY} + COMMERCEENGINE_BraintreePrivateKey: ${XC_ENGINE_BRAINTREEPRIVATEKEY} + volumes: + - C:\containers\engine\catalogs:C:\engine\catalogs:RO + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.force-STS-Header.headers.forceSTSHeader=true" + - "traefik.http.middlewares.force-STS-Header.headers.stsSeconds=31536000" + - "traefik.http.routers.authoring-secure.entrypoints=websecure" + - "traefik.http.routers.authoring-secure.rule=Host(`${AUTHORING_HOST}`)" + - "traefik.http.routers.authoring-secure.tls=true" + - "traefik.http.routers.authoring-secure.middlewares=force-STS-Header" + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port ${XC_ENGINE_PORT}"] + timeout: 300s + engine-shops: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql-init: + condition: service_healthy + solr: + condition: service_started + id: + condition: service_started + redis: + condition: service_started + cm: + condition: service_started + environment: + COMMERCEENGINE_AppSettings__DeploymentId: HabitatShops01 + COMMERCEENGINE_AppSettings__EnvironmentName: HabitatShops + COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl: "https://${ID_HOST}" + COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl: "http://id" + COMMERCEENGINE_AppSettings__AllowedOrigins: "https://${BIZFX_HOST}|https://{CM_HOST}" + COMMERCEENGINE_AppSettings__AntiForgeryEnabled: "false" + COMMERCEENGINE_AppSettings__UseHttpsInKestrel: "false" + COMMERCEENGINE_Caching__Redis__Options__Configuration: redis:6379,ssl=False,abortConnect=False + COMMERCEENGINE_Caching__Redis__Options__InstanceName: Redis + COMMERCEENGINE_CommerceConnector__ClientId: ${XC_ENGINE_CONNECT_CLIENTID} + COMMERCEENGINE_GlobalDatabaseName: ${XC_GLOBAL_DB} + COMMERCEENGINE_GlobalDatabaseServer: ${SQL_SERVER} + COMMERCEENGINE_GlobalDatabaseUserName: ${SQL_SA_LOGIN} + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedArchiveDatabaseName: ${XC_SHARED_ARCHIVE_DB} + COMMERCEENGINE_SharedDatabaseServer: ${SQL_SERVER} + COMMERCEENGINE_SharedDatabaseUserName: ${SQL_SA_LOGIN} + COMMERCEENGINE_SharedDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_SharedTrustedConnection: "${XC_SHARED_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SitecoreHost: cm + COMMERCEENGINE_SitecoreDatabase: master + COMMERCEENGINE_SitecoreUsername: admin + COMMERCEENGINE_SitecoreDomain: sitecore + COMMERCEENGINE_SitecorePassword: ${SITECORE_ADMIN_PASSWORD} + COMMERCEENGINE_SitecoreProtocol: http + COMMERCEENGINE_SitecoreAllowAnonymousUser: "true" + COMMERCEENGINE_SitecoreExternalProtocol: https + COMMERCEENGINE_SitecoreExternalHost: ${CM_HOST} + COMMERCEENGINE_SolrUrl: http://solr:8983/solr + COMMERCEENGINE_IsSolrCloud: "true" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: ${SOLR_CORE_PREFIX_NAME}_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: ${SOLR_CORE_PREFIX_NAME}_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: ${SOLR_COMMERCE_PREFIX_NAME}_OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: ${SOLR_COMMERCE_PREFIX_NAME}_CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: ${SOLR_COMMERCE_PREFIX_NAME}_CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: ${SOLR_COMMERCE_PREFIX_NAME}_PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: ${SOLR_COMMERCE_PREFIX_NAME}_PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_PriceCardsScope-Rebuild + COMMERCEENGINE_EngineAuthoringUrl: https://${AUTHORING_HOST} + COMMERCEENGINE_EngineShopsUrl: https://${SHOPS_HOST} + COMMERCEENGINE_EngineMinionsUrl: https://${MINIONS_HOST} + COMMERCEENGINE_BraintreeEnvironment: ${XC_ENGINE_BRAINTREEENVIRONMENT} + COMMERCEENGINE_BraintreeMerchantId: ${XC_ENGINE_BRAINTREEMERCHANTID} + COMMERCEENGINE_BraintreePublicKey: ${XC_ENGINE_BRAINTREEPUBLICKEY} + COMMERCEENGINE_BraintreePrivateKey: ${XC_ENGINE_BRAINTREEPRIVATEKEY} + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.force-STS-Header.headers.forceSTSHeader=true" + - "traefik.http.middlewares.force-STS-Header.headers.stsSeconds=31536000" + - "traefik.http.routers.shops-secure.entrypoints=websecure" + - "traefik.http.routers.shops-secure.rule=Host(`${SHOPS_HOST}`)" + - "traefik.http.routers.shops-secure.tls=true" + - "traefik.http.routers.shops-secure.middlewares=force-STS-Header" + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port ${XC_ENGINE_PORT}"] + timeout: 300s + engine-minions: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql-init: + condition: service_healthy + solr: + condition: service_started + id: + condition: service_started + redis: + condition: service_started + cm: + condition: service_started + environment: + COMMERCEENGINE_AppSettings__DeploymentId: HabitatMinions01 + COMMERCEENGINE_AppSettings__EnvironmentName: HabitatMinions + COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl: "https://${ID_HOST}" + COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl: "http://id" + COMMERCEENGINE_AppSettings__AllowedOrigins: "https://${BIZFX_HOST}|https://{CM_HOST}" + COMMERCEENGINE_AppSettings__AntiForgeryEnabled: "false" + COMMERCEENGINE_AppSettings__UseHttpsInKestrel: "false" + COMMERCEENGINE_Caching__Redis__Options__Configuration: redis:6379,ssl=False,abortConnect=False + COMMERCEENGINE_Caching__Redis__Options__InstanceName: Redis + COMMERCEENGINE_CommerceConnector__ClientId: ${XC_ENGINE_CONNECT_CLIENTID} + COMMERCEENGINE_GlobalDatabaseName: ${XC_GLOBAL_DB} + COMMERCEENGINE_GlobalDatabaseServer: ${SQL_SERVER} + COMMERCEENGINE_GlobalDatabaseUserName: ${SQL_SA_LOGIN} + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedArchiveDatabaseName: ${XC_SHARED_ARCHIVE_DB} + COMMERCEENGINE_SharedDatabaseServer: ${SQL_SERVER} + COMMERCEENGINE_SharedDatabaseUserName: ${SQL_SA_LOGIN} + COMMERCEENGINE_SharedDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_SharedTrustedConnection: "${XC_SHARED_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SitecoreHost: cm + COMMERCEENGINE_SitecoreDatabase: master + COMMERCEENGINE_SitecoreUsername: admin + COMMERCEENGINE_SitecoreDomain: sitecore + COMMERCEENGINE_SitecorePassword: ${SITECORE_ADMIN_PASSWORD} + COMMERCEENGINE_SitecoreProtocol: http + COMMERCEENGINE_SitecoreAllowAnonymousUser: "true" + COMMERCEENGINE_SitecoreExternalProtocol: https + COMMERCEENGINE_SitecoreExternalHost: ${CM_HOST} + COMMERCEENGINE_SolrUrl: http://solr:8983/solr + COMMERCEENGINE_IsSolrCloud: "true" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: ${SOLR_CORE_PREFIX_NAME}_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: ${SOLR_CORE_PREFIX_NAME}_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: ${SOLR_COMMERCE_PREFIX_NAME}_OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: ${SOLR_COMMERCE_PREFIX_NAME}_CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: ${SOLR_COMMERCE_PREFIX_NAME}_CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: ${SOLR_COMMERCE_PREFIX_NAME}_PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: ${SOLR_COMMERCE_PREFIX_NAME}_PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_PriceCardsScope-Rebuild + COMMERCEENGINE_EngineAuthoringUrl: https://${AUTHORING_HOST} + COMMERCEENGINE_EngineShopsUrl: https://${SHOPS_HOST} + COMMERCEENGINE_EngineMinionsUrl: https://${MINIONS_HOST} + COMMERCEENGINE_BraintreeEnvironment: ${XC_ENGINE_BRAINTREEENVIRONMENT} + COMMERCEENGINE_BraintreeMerchantId: ${XC_ENGINE_BRAINTREEMERCHANTID} + COMMERCEENGINE_BraintreePublicKey: ${XC_ENGINE_BRAINTREEPUBLICKEY} + COMMERCEENGINE_BraintreePrivateKey: ${XC_ENGINE_BRAINTREEPRIVATEKEY} + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.force-STS-Header.headers.forceSTSHeader=true" + - "traefik.http.middlewares.force-STS-Header.headers.stsSeconds=31536000" + - "traefik.http.routers.minions-secure.entrypoints=websecure" + - "traefik.http.routers.minions-secure.rule=Host(`${MINIONS_HOST}`)" + - "traefik.http.routers.minions-secure.tls=true" + - "traefik.http.routers.minions-secure.middlewares=force-STS-Header" + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port ${XC_ENGINE_PORT}"] + timeout: 300s \ No newline at end of file diff --git a/sxc/10.3/xc0/traefik/certs/readme b/sxc/10.3/xc0/traefik/certs/readme new file mode 100644 index 0000000..c0519c8 --- /dev/null +++ b/sxc/10.3/xc0/traefik/certs/readme @@ -0,0 +1,13 @@ +Add TLS certificates for xc0cd.localhost, xc0cm.localhost, xc0id.localhost, bizfx.localhost, authoring.localhos, shops.localhost, and minions.localhost hosts to this folder: + xc0cm.localhost.crt + xc0cm.localhost.key + xc0id.localhost.crt + xc0id.localhost.key + bizfx.localhost.crt + bizfx.localhost.key + authoring.localhost.crt + authoring.localhost.key + shops.localhost.crt + shops.localhost.key + minions.localhost.crt + minions.localhost.key \ No newline at end of file diff --git a/sxc/10.3/xc0/traefik/config/dynamic/certs_config.yaml b/sxc/10.3/xc0/traefik/config/dynamic/certs_config.yaml new file mode 100644 index 0000000..777db0b --- /dev/null +++ b/sxc/10.3/xc0/traefik/config/dynamic/certs_config.yaml @@ -0,0 +1,14 @@ +tls: + certificates: + - certFile: C:\etc\traefik\certs\xc0cm.localhost.crt + keyFile: C:\etc\traefik\certs\xc0cm.localhost.key + - certFile: C:\etc\traefik\certs\xc0id.localhost.crt + keyFile: C:\etc\traefik\certs\xc0id.localhost.key + - certFile: C:\etc\traefik\certs\bizfx.localhost.crt + keyFile: C:\etc\traefik\certs\bizfx.localhost.key + - certFile: C:\etc\traefik\certs\authoring.localhost.crt + keyFile: C:\etc\traefik\certs\authoring.localhost.key + - certFile: C:\etc\traefik\certs\shops.localhost.crt + keyFile: C:\etc\traefik\certs\shops.localhost.key + - certFile: C:\etc\traefik\certs\minions.localhost.crt + keyFile: C:\etc\traefik\certs\minions.localhost.key diff --git a/sxc/10.3/xc0/xconnect/keep.txt b/sxc/10.3/xc0/xconnect/keep.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/xc1-cxa/.env b/sxc/10.3/xc1-cxa/.env new file mode 100644 index 0000000..7ac0405 --- /dev/null +++ b/sxc/10.3/xc1-cxa/.env @@ -0,0 +1,67 @@ +BASE_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/base/ + +XP_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxp/ +XP_SITECORE_TAG=10.3-ltsc2019 +EXTERNAL_IMAGE_TAG_SUFFIX=ltsc2019 + +MODULES_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxp/modules/ +SPE_SITECORE_TAG=6.4-1809 +SXA_SITECORE_TAG=10.3-1809 + +XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxc/nonproduction/ +XC_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxc/ +XC_PACKAGES_TAG=10.3-ltsc2019 + +TRAEFIK_IMAGE=traefik:v2.5.3-windowsservercore-1809 +TRAEFIK_ISOLATION=hyperv + +ISOLATION=default + +CD_HOST=xc1-cxacd.localhost +CM_HOST=xc1-cxacm.localhost +ID_HOST=xc1-cxaid.localhost + +AUTHORING_HOST=authoring.localhost +SHOPS_HOST=shops.localhost +MINIONS_HOST=minions.localhost + +BIZFX_HOST=bizfx.localhost + +SQL_SERVER=mssql +SQL_SA_LOGIN=sa +SQL_SA_PASSWORD=Password12345 +SQL_DATABASE_PREFIX=Sitecore +SQL_CUSTOM_DATABASE_PREFIX_UPDATE_FROM= +SITECORE_ADMIN_PASSWORD=Password12345 + +SOLR_CORE_PREFIX_NAME=sitecore +SOLR_COMMERCE_PREFIX_NAME=commerce +MEDIA_REQUEST_PROTECTION_SHARED_SECRET= +LOG_LEVEL_VALUE=INFO + +XC_GLOBAL_DB=SitecoreCommerce_Global +XC_GLOBAL_DB_TRUSTED_CONNECTION=false +XC_SHARED_DB=SitecoreCommerce_SharedEnvironments +XC_SHARED_DB_TRUSTED_CONNECTION=false +XC_SHARED_ARCHIVE_DB=SitecoreCommerce_ArchiveSharedEnvironments + +XC_ENGINE_PORT=5000 +XC_ENGINE_BRAINTREEENVIRONMENT= +XC_ENGINE_BRAINTREEMERCHANTID= +XC_ENGINE_BRAINTREEPUBLICKEY= +XC_ENGINE_BRAINTREEPRIVATEKEY= +XC_BIZFX_DEFAULT_LANGUAGE=en +XC_BIZFX_DEFAULT_CURRENCY=USD +XC_BIZFX_DEFAULT_SHOPNAME=CommerceEngineDefaultStorefront +XC_ENGINE_CONNECT_CLIENTID=CommerceEngineConnect +XC_IDENTITY_COMMERCEENGINECONNECTCLIENT_CLIENTSECRET1= + +REPORTING_API_KEY= +TELERIK_ENCRYPTION_KEY= +SITECORE_GRAPHQL_ENABLED=false +SITECORE_GRAPHQL_EXPOSEPLAYGROUND=false +SITECORE_GRAPHQL_UPLOADMEDIAOPTIONS_ENCRYPTIONKEY= +SITECORE_IDSECRET= +SITECORE_ID_CERTIFICATE= +SITECORE_ID_CERTIFICATE_PASSWORD= +SITECORE_LICENSE= \ No newline at end of file diff --git a/sxc/10.3/xc1-cxa/cd/Dockerfile b/sxc/10.3/xc1-cxa/cd/Dockerfile new file mode 100644 index 0000000..75a2d1f --- /dev/null +++ b/sxc/10.3/xc1-cxa/cd/Dockerfile @@ -0,0 +1,23 @@ +# escape=` + +ARG BASE_IMAGE +ARG SXA_RESOURCES_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${SXA_RESOURCES_IMAGE} AS sxa_resources + +FROM ${BASE_IMAGE} + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=assets C:\module\cd\content\inetpub\wwwroot C:\inetpub\wwwroot +COPY --from=assets C:\module\cd\content\xdts C:\xdts +COPY --from=sxa_resources C:\module\cd\content C:\inetpub\wwwroot +COPY --from=sxa_resources C:\module\tools C:\module\tools + +RUN c:\tools\nuget.exe install Microsoft.Web.Xdt -Version 3.0.0 -OutputDirectory C:\tools -ExcludeVersion; ` + c:\tools\scripts\Invoke-XdtTransformations.ps1 -TargetPath c:\inetpub\wwwroot -XdtPath c:\xdts -XdtDllPath c:\tools\Microsoft.Web.Xdt\lib\netstandard2.0\Microsoft.Web.XmlTransform.dll;` + C:\module\tools\Initialize-Content.ps1 -TargetPath C:\inetpub\wwwroot; ` + Remove-Item -Path C:\module -Recurse -Force; \ No newline at end of file diff --git a/sxc/10.3/xc1-cxa/cm/Dockerfile b/sxc/10.3/xc1-cxa/cm/Dockerfile new file mode 100644 index 0000000..4b25e03 --- /dev/null +++ b/sxc/10.3/xc1-cxa/cm/Dockerfile @@ -0,0 +1,30 @@ +# escape=` + +ARG BASE_IMAGE +ARG SPE_RESOURCES_IMAGE +ARG SXA_RESOURCES_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${SPE_RESOURCES_IMAGE} AS spe_resources + +FROM ${SXA_RESOURCES_IMAGE} AS sxa_resources + +FROM ${BASE_IMAGE} AS spe + +COPY --from=spe_resources C:\module\cm\content C:\inetpub\wwwroot + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +FROM spe AS sxa + +COPY --from=assets C:\module\cm\content\inetpub\wwwroot C:\inetpub\wwwroot +COPY --from=assets C:\module\cm\content\xdts C:\xdts +COPY --from=sxa_resources C:\module\cm\content C:\inetpub\wwwroot +COPY --from=sxa_resources C:\module\tools C:\module\tools + +RUN c:\tools\nuget.exe install Microsoft.Web.Xdt -Version 3.0.0 -OutputDirectory C:\tools -ExcludeVersion; ` + c:\tools\scripts\Invoke-XdtTransformations.ps1 -TargetPath c:\inetpub\wwwroot -XdtPath c:\xdts -XdtDllPath c:\tools\Microsoft.Web.Xdt\lib\netstandard2.0\Microsoft.Web.XmlTransform.dll;` + C:\module\tools\Initialize-Content.ps1 -TargetPath C:\inetpub\wwwroot; ` + Remove-Item -Path C:\module -Recurse -Force; \ No newline at end of file diff --git a/sxc/10.3/xc1-cxa/device-detection-data/readme.md b/sxc/10.3/xc1-cxa/device-detection-data/readme.md new file mode 100644 index 0000000..fe38d07 --- /dev/null +++ b/sxc/10.3/xc1-cxa/device-detection-data/readme.md @@ -0,0 +1 @@ +device detection database will be mounted here \ No newline at end of file diff --git a/sxc/10.3/xc1-cxa/docker-compose.build.yml b/sxc/10.3/xc1-cxa/docker-compose.build.yml new file mode 100644 index 0000000..c498b97 --- /dev/null +++ b/sxc/10.3/xc1-cxa/docker-compose.build.yml @@ -0,0 +1,47 @@ +services: + mssql-init: + image: sitecore-xc1-mssql-init + build: + isolation: ${ISOLATION} + context: ./mssql/init + args: + BASE_IMAGE: xc1-mssql-init:latest + SPE_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sitecore-spe-assets:${SPE_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-storefront-assets:${XC_PACKAGES_TAG} + solr-init: + image: sitecore-xc1-solr-init + build: + isolation: ${ISOLATION} + context: ./solr-init + args: + BASE_IMAGE: xc1-solr-init:latest + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sitecore-sxa-xp1-assets:${SXA_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-storefront-assets:${XC_PACKAGES_TAG} + solr-init-searchstax: + image: sitecore-xc1-solr-init-searchstax + build: + isolation: ${ISOLATION} + context: ./solr-init + args: + BASE_IMAGE: xc1-solr-init-searchstax:latest + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sitecore-sxa-xp1-assets:${SXA_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-storefront-assets:${XC_PACKAGES_TAG} + cd: + image: sitecore-xc1-cd + build: + isolation: ${ISOLATION} + context: ./cd + args: + BASE_IMAGE: xc1-cd:latest + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sitecore-sxa-xp1-assets:${SXA_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-storefront-assets:${XC_PACKAGES_TAG} + cm: + image: sitecore-xc1-cm + build: + isolation: ${ISOLATION} + context: ./cm + args: + BASE_IMAGE: xc1-cm:latest + SPE_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sitecore-spe-assets:${SPE_SITECORE_TAG} + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sitecore-sxa-xp1-assets:${SXA_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-storefront-assets:${XC_PACKAGES_TAG} \ No newline at end of file diff --git a/sxc/10.3/xc1-cxa/docker-compose.yml b/sxc/10.3/xc1-cxa/docker-compose.yml new file mode 100644 index 0000000..bf7acf5 --- /dev/null +++ b/sxc/10.3/xc1-cxa/docker-compose.yml @@ -0,0 +1,705 @@ +services: + traefik: + isolation: ${TRAEFIK_ISOLATION} + image: ${TRAEFIK_IMAGE} + command: + - "--api.insecure=true" + - "--providers.docker.endpoint=npipe:////./pipe/docker_engine" + - "--providers.docker.exposedByDefault=false" + - "--providers.file.directory=C:/etc/traefik/config/dynamic" + - "--entryPoints.websecure.address=:443" + - "--entryPoints.websecure.forwardedHeaders.insecure" + ports: + - "443:443" + - "8079:8080" + volumes: + - source: \\.\pipe\docker_engine + target: \\.\pipe\docker_engine + type: npipe + - ./traefik:C:/etc/traefik + restart: unless-stopped + depends_on: + cd: + condition: service_started + cm: + condition: service_started + id: + condition: service_started + bizfx: + condition: service_started + engine-authoring: + condition: service_started + engine-shops: + condition: service_started + engine-minions: + condition: service_started + redis: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}redis:3.2.100-${EXTERNAL_IMAGE_TAG_SUFFIX} + restart: unless-stopped + mssql: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}nonproduction/mssql-developer:2017-${EXTERNAL_IMAGE_TAG_SUFFIX} + restart: unless-stopped + environment: + SA_PASSWORD: ${SQL_SA_PASSWORD} + ACCEPT_EULA: "Y" + ports: + - "14330:1433" + volumes: + - type: bind + source: c:\containers\mssql-data + target: c:\data + mssql-init: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-mssql-init:${XC_PACKAGES_TAG} + restart: on-failure + environment: + SQL_SERVER: ${SQL_SERVER} + SQL_ADMIN_LOGIN: ${SQL_SA_LOGIN} + SQL_ADMIN_PASSWORD: ${SQL_SA_PASSWORD} + SQL_DATABASE_PREFIX: ${SQL_DATABASE_PREFIX} + SQL_CUSTOM_DATABASE_PREFIX_UPDATE_FROM: ${SQL_CUSTOM_DATABASE_PREFIX_UPDATE_FROM} + SA_PASSWORD: ${SQL_SA_PASSWORD} + SITECORE_ADMIN_PASSWORD: ${SITECORE_ADMIN_PASSWORD} + POST_DEPLOYMENT_WAIT_PERIOD: 300 + XC_SHARED_DB: ${XC_SHARED_DB} + XC_SHARED_ARCHIVE_DB: ${XC_SHARED_ARCHIVE_DB} + healthcheck: + test: ["CMD", "powershell", "-command", "if ([System.Environment]::GetEnvironmentVariable('CommerceDatabasesDeploymentStatus', 'Machine') -eq 'Complete') { exit 0 } else { exit 1}"] + start_period: 900s + interval: 5s + depends_on: + mssql: + condition: service_healthy + solr: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}nonproduction/solr:8.11.2-${EXTERNAL_IMAGE_TAG_SUFFIX} + ports: + - "8984:8983" + restart: unless-stopped + volumes: + - type: bind + source: c:\containers\solr-data + target: c:\data + environment: + SOLR_MODE: solrcloud + healthcheck: + test: ["CMD", "powershell", "-command", "try { $$statusCode = (iwr http://solr:8983/solr/admin/cores?action=STATUS -UseBasicParsing).StatusCode; if ($$statusCode -eq 200) { exit 0 } else { exit 1} } catch { exit 1 }"] + solr-init: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-solr-init:${XC_PACKAGES_TAG} + environment: + SITECORE_SOLR_CONNECTION_STRING: http://solr:8983/solr + SOLR_CORE_PREFIX_NAME: ${SOLR_CORE_PREFIX_NAME} + COMMERCE_SOLR_CONNECTION_STRING: http://solr:8983/solr + SOLR_COMMERCE_PREFIX_NAME: ${SOLR_COMMERCE_PREFIX_NAME} + depends_on: + solr: + condition: service_healthy + id: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc-id7:${XC_PACKAGES_TAG} + restart: unless-stopped + environment: + Sitecore_Sitecore__IdentityServer__SitecoreMemberShipOptions__ConnectionString: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Core;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_Sitecore__IdentityServer__AccountOptions__PasswordRecoveryUrl: https://${CM_HOST}/sitecore/login?rc=1 + Sitecore_Sitecore__IdentityServer__Clients__PasswordClient__ClientSecrets__ClientSecret1: ${SITECORE_IDSECRET} + Sitecore_Sitecore__IdentityServer__Clients__DefaultClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1: https://${CM_HOST} + Sitecore_Sitecore__IdentityServer__CertificateRawData: ${SITECORE_ID_CERTIFICATE} + Sitecore_Sitecore__IdentityServer__PublicOrigin: https://${ID_HOST} + Sitecore_Sitecore__IdentityServer__CertificateRawDataPassword: ${SITECORE_ID_CERTIFICATE_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + Sitecore_Sitecore__IdentityServer__Clients__CommerceClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1: https://${BIZFX_HOST}|https://${AUTHORING_HOST} + Sitecore_Sitecore__IdentityServer__Clients__CommerceEngineConnectClient__ClientId: ${XC_ENGINE_CONNECT_CLIENTID} + Sitecore_Sitecore__IdentityServer__Clients__CommerceEngineConnectClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1: https://${CD_HOST}|https://${CM_HOST} + Sitecore_Sitecore__IdentityServer__Clients__CommerceEngineConnectClient__ClientSecrets__ClientSecret1: ${XC_IDENTITY_COMMERCEENGINECONNECTCLIENT_CLIENTSECRET1} + healthcheck: + test: ["CMD", "pwsh", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + depends_on: + mssql-init: + condition: service_healthy + labels: + - "traefik.enable=true" + - "traefik.http.routers.id-secure.entrypoints=websecure" + - "traefik.http.routers.id-secure.rule=Host(`${ID_HOST}`)" + - "traefik.http.routers.id-secure.tls=true" + cd: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-cd:${XC_PACKAGES_TAG} + depends_on: + mssql-init: + condition: service_healthy + redis: + condition: service_started + xdbcollection: + condition: service_started + xdbautomation: + condition: service_started + xdbautomationrpt: + condition: service_started + xdbrefdata: + condition: service_started + environment: + Sitecore_AppSettings_instanceNameMode:define: default + Sitecore_ConnectionStrings_Security: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Core;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Web: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Web;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Messaging: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Messaging;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_ExperienceForms: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.ExperienceForms;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Exm.Master: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Exm.master;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Solr.Search: http://solr:8983/solr;solrCloud=true + Sitecore_ConnectionStrings_XConnect.Collection: http://xdbcollection + Sitecore_ConnectionStrings_Xdb.MarketingAutomation.Operations.Client: http://xdbautomation + Sitecore_ConnectionStrings_Xdb.MarketingAutomation.Reporting.Client: http://xdbautomationrpt + Sitecore_ConnectionStrings_Xdb.ReferenceData.Client: http://xdbrefdata + Sitecore_ConnectionStrings_Redis.Sessions: redis:6379,ssl=False,abortConnect=False + Sitecore_License: ${SITECORE_LICENSE} + Sitecore_Analytics_Forwarded_Request_Http_Header: X-Forwarded-For + SOLR_CORE_PREFIX_NAME: ${SOLR_CORE_PREFIX_NAME} + MEDIA_REQUEST_PROTECTION_SHARED_SECRET: ${MEDIA_REQUEST_PROTECTION_SHARED_SECRET} + LOG_LEVEL_VALUE: ${LOG_LEVEL_VALUE} + Sitecore_Identity_Server_Authority: https://${ID_HOST} + Sitecore_Identity_Server_InternalAuthority: http://id + Sitecore_xc_Minions_Url: http://engine-minions:${XC_ENGINE_PORT}/commerceops/ + Sitecore_xc_Ops_Url: http://engine-authoring:${XC_ENGINE_PORT}/commerceops/ + Sitecore_xc_Shops_Url: http://engine-shops:${XC_ENGINE_PORT}/api/ + Sitecore_xc_Client_Secret_Hash: ${XC_IDENTITY_COMMERCEENGINECONNECTCLIENT_CLIENTSECRET1} + Sitecore_xc_ConnectionStrings_Redis: redis:6379,defaultDatabase=1,allowAdmin=true,syncTimeout=3600000 + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.force-STS-Header.headers.forceSTSHeader=true" + - "traefik.http.middlewares.force-STS-Header.headers.stsSeconds=31536000" + - "traefik.http.routers.cd-secure.entrypoints=websecure" + - "traefik.http.routers.cd-secure.rule=Host(`${CD_HOST}`)" + - "traefik.http.routers.cd-secure.tls=true" + - "traefik.http.routers.cd-secure.middlewares=force-STS-Header" + volumes: + - C:\containers\cd\domains-shared:C:\inetpub\wwwroot\App_Config\Security-Shared:RW + - type: bind + source: .\device-detection-data + target: C:\inetpub\wwwroot\App_Data\DeviceDetection + cm: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-cm:${XC_PACKAGES_TAG} + depends_on: + id: + condition: service_started + cortexreporting: + condition: service_started + cortexprocessing: + condition: service_started + xdbcollection: + condition: service_started + xdbsearch: + condition: service_started + xdbautomation: + condition: service_started + xdbautomationrpt: + condition: service_started + xdbrefdata: + condition: service_started + environment: + Sitecore_AppSettings_instanceNameMode:define: default + Sitecore_ConnectionStrings_Core: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Core;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Security: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Core;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Master: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Master;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Web: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Web;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting.ApiKey: ${REPORTING_API_KEY} + Sitecore_ConnectionStrings_Messaging: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Messaging;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Referencedata;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_ExperienceForms: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.ExperienceForms;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Exm.Master: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Exm.master;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Reporting;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Sitecore.Reporting.Client: http://cortexreporting + Sitecore_ConnectionStrings_Cortex.Processing.Engine: http://cortexprocessing + Sitecore_ConnectionStrings_Solr.Search: http://solr:8983/solr;solrCloud=true + Sitecore_ConnectionStrings_SitecoreIdentity.Secret: ${SITECORE_IDSECRET} + Sitecore_ConnectionStrings_XConnect.Collection: http://xdbcollection + Sitecore_ConnectionStrings_XConnect.Search: http://xdbsearch + Sitecore_ConnectionStrings_Xdb.MarketingAutomation.Operations.Client: http://xdbautomation + Sitecore_ConnectionStrings_Xdb.MarketingAutomation.Reporting.Client: http://xdbautomationrpt + Sitecore_ConnectionStrings_Xdb.ReferenceData.Client: http://xdbrefdata + Sitecore_Processing_Service_Url: http://prc + Sitecore_Processing_Service_Require_Https: 'false' + Sitecore_AppSettings_Telerik.AsyncUpload.ConfigurationEncryptionKey: ${TELERIK_ENCRYPTION_KEY} + Sitecore_AppSettings_Telerik.Upload.ConfigurationHashKey: ${TELERIK_ENCRYPTION_KEY} + Sitecore_AppSettings_Telerik.Web.UI.DialogParametersEncryptionKey: ${TELERIK_ENCRYPTION_KEY} + Sitecore_License: ${SITECORE_LICENSE} + Sitecore_GraphQL_Enabled: ${SITECORE_GRAPHQL_ENABLED} + Sitecore_GraphQL_ExposePlayground: ${SITECORE_GRAPHQL_EXPOSEPLAYGROUND} + Sitecore_GraphQL_UploadMediaOptions_EncryptionKey: ${SITECORE_GRAPHQL_UPLOADMEDIAOPTIONS_ENCRYPTIONKEY} + Sitecore_Identity_Server_Authority: https://${ID_HOST} + Sitecore_Identity_Server_InternalAuthority: http://id + Sitecore_Identity_Server_CallbackAuthority: https://${CM_HOST} + Sitecore_Identity_Server_Require_Https: "false" + SOLR_CORE_PREFIX_NAME: ${SOLR_CORE_PREFIX_NAME} + MEDIA_REQUEST_PROTECTION_SHARED_SECRET: ${MEDIA_REQUEST_PROTECTION_SHARED_SECRET} + LOG_LEVEL_VALUE: ${LOG_LEVEL_VALUE} + Sitecore_xc_Minions_Url: http://engine-minions:${XC_ENGINE_PORT}/commerceops/ + Sitecore_xc_Ops_Url: http://engine-authoring:${XC_ENGINE_PORT}/commerceops/ + Sitecore_xc_Shops_Url: http://engine-authoring:${XC_ENGINE_PORT}/api/ + Sitecore_xc_Client_Secret_Hash: ${XC_IDENTITY_COMMERCEENGINECONNECTCLIENT_CLIENTSECRET1} + Sitecore_xc_ConnectionStrings_Redis: redis:6379,defaultDatabase=1,allowAdmin=true,syncTimeout=3600000 + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.force-STS-Header.headers.forceSTSHeader=true" + - "traefik.http.middlewares.force-STS-Header.headers.stsSeconds=31536000" + - "traefik.http.routers.cm-secure.entrypoints=websecure" + - "traefik.http.routers.cm-secure.rule=Host(`${CM_HOST}`)" + - "traefik.http.routers.cm-secure.tls=true" + - "traefik.http.routers.cm-secure.middlewares=force-STS-Header" + volumes: + - C:\containers\cm\domains-shared:C:\inetpub\wwwroot\App_Config\Security-Shared:RW + prc: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-prc:${XC_PACKAGES_TAG} + depends_on: + mssql-init: + condition: service_healthy + xdbcollection: + condition: service_started + environment: + Sitecore_AppSettings_instanceNameMode:define: default + Sitecore_ConnectionStrings_Core: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Core;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Security: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Core;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Master: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Master;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting.ApiKey: ${REPORTING_API_KEY} + Sitecore_ConnectionStrings_Xdb.Processing.Pools: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.pools;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Referencedata;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Processing.Tasks: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.tasks;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Reporting;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_XConnect.Collection: http://xdbcollection + Sitecore_License: ${SITECORE_LICENSE} + MEDIA_REQUEST_PROTECTION_SHARED_SECRET: ${MEDIA_REQUEST_PROTECTION_SHARED_SECRET} + LOG_LEVEL_VALUE: ${LOG_LEVEL_VALUE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + xdbcollection: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-xdbcollection:${XC_PACKAGES_TAG} + depends_on: + mssql-init: + condition: service_healthy + environment: + Sitecore_ConnectionStrings_Messaging: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Messaging;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Marketingautomation;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Processing.Pools: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.pools;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Collection: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Xdb.Collection.ShardMapManager;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Referencedata;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + xdbsearch: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-xdbsearch:${XC_PACKAGES_TAG} + depends_on: + xdbcollection: + condition: service_started + solr: + condition: service_started + environment: + Sitecore_ConnectionStrings_Messaging: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Messaging;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Marketingautomation;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Processing.Pools: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.pools;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Collection: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Xdb.Collection.ShardMapManager;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Referencedata;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_SolrCore: http://solr:8983/solr/${SOLR_CORE_PREFIX_NAME}_xdb;solrCloud=true + Sitecore_License: ${SITECORE_LICENSE} + Sitecore_Sitecore:XConnect:CollectionSearch:Services:Solr.SolrReaderSettings:Options:RequireHttps: 'false' + Sitecore_Sitecore:XConnect:CollectionSearch:Services:XConnectSolrHealthCheckServicesConfiguration:Options:RequireHttps: 'false' + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + xdbautomation: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-xdbautomation:${XC_PACKAGES_TAG} + depends_on: + mssql-init: + condition: service_healthy + xdbcollection: + condition: service_started + xdbsearch: + condition: service_started + environment: + Sitecore_ConnectionStrings_Messaging: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Messaging;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Marketingautomation;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Referencedata;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_XConnect.Collection: http://xdbcollection + Sitecore_ConnectionStrings_XConnect.Search: http://xdbsearch + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + xdbautomationrpt: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-xdbautomationrpt:${XP_SITECORE_TAG} + depends_on: + mssql-init: + condition: service_healthy + environment: + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Marketingautomation;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Referencedata;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + cortexprocessing: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-cortexprocessing:${XP_SITECORE_TAG} + depends_on: + mssql-init: + condition: service_healthy + environment: + Sitecore_ConnectionStrings_Processing.Engine.Storage: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.Engine.Storage;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Processing.Engine.Tasks: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.Engine.Tasks;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + cortexreporting: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-cortexreporting:${XP_SITECORE_TAG} + depends_on: + mssql-init: + condition: service_healthy + environment: + Sitecore_ConnectionStrings_Reporting: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Reporting;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + xdbrefdata: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-xdbrefdata:${XP_SITECORE_TAG} + depends_on: + mssql-init: + condition: service_healthy + environment: + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Referencedata;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + xdbsearchworker: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-xdbsearchworker:${XC_PACKAGES_TAG} + depends_on: + xdbsearch: + condition: service_healthy + restart: unless-stopped + environment: + Sitecore_ConnectionStrings_Collection: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Xdb.Collection.ShardMapManager;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_SolrCore: http://solr:8983/solr/${SOLR_CORE_PREFIX_NAME}_xdb;solrCloud=true + Sitecore_License: ${SITECORE_LICENSE} + Sitecore_Sitecore:XConnect:SearchIndexer:Services:Solr.SolrReaderSettings:Options:RequireHttps: 'false' + Sitecore_Sitecore:XConnect:SearchIndexer:Services:Solr.SolrWriterSettings:Options:RequireHttps: 'false' + Sitecore_Sitecore:XConnect:CollectionSearch:Services:XConnectSolrHealthCheckServicesConfiguration:Options:RequireHttps: 'false' + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port 8080"] + timeout: 300s + xdbautomationworker: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-xdbautomationworker:${XC_PACKAGES_TAG} + depends_on: + xdbcollection: + condition: service_healthy + xdbsearch: + condition: service_healthy + restart: unless-stopped + environment: + Sitecore_ConnectionStrings_XConnect.Collection: http://xdbcollection + Sitecore_ConnectionStrings_XConnect.Search: http://xdbsearch + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Marketingautomation;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Referencedata;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Messaging: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Messaging;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port 8080"] + timeout: 300s + cortexprocessingworker: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-cortexprocessingworker:${XP_SITECORE_TAG} + depends_on: + xdbcollection: + condition: service_healthy + xdbsearch: + condition: service_healthy + restart: unless-stopped + environment: + Sitecore_ConnectionStrings_Processing.Engine.Storage: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.Engine.Storage;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Processing.Engine.Tasks: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Processing.Engine.Tasks;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_XConnect.Collection: http://xdbcollection + Sitecore_ConnectionStrings_XConnect.Configuration: http://xdbcollection + Sitecore_ConnectionStrings_XConnect.Search: http://xdbsearch + Sitecore_ConnectionStrings_Reporting: Data Source=${SQL_SERVER};Initial Catalog=${SQL_DATABASE_PREFIX}.Reporting;User ID=${SQL_SA_LOGIN};Password=${SQL_SA_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port 8080"] + timeout: 300s + bizfx: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc-bizfx:${XC_PACKAGES_TAG} + depends_on: + engine-authoring: + condition: service_started + engine-minions: + condition: service_started + id: + condition: service_started + environment: + sitecore_xc_bizfx_bizfx_url: https://${BIZFX_HOST} + sitecore_xc_bizfx_authoring_url: https://${AUTHORING_HOST} + sitecore_xc_bizfx_identity_server_url: https://${ID_HOST} + sitecore_xc_bizfx_default_language: ${XC_BIZFX_DEFAULT_LANGUAGE} + sitecore_xc_bizfx_default_currency: ${XC_BIZFX_DEFAULT_CURRENCY} + sitecore_xc_bizfx_default_shopname: ${XC_BIZFX_DEFAULT_SHOPNAME} + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.force-STS-Header.headers.forceSTSHeader=true" + - "traefik.http.middlewares.force-STS-Header.headers.stsSeconds=31536000" + - "traefik.http.routers.bizfx-secure.entrypoints=websecure" + - "traefik.http.routers.bizfx-secure.rule=Host(`${BIZFX_HOST}`)" + - "traefik.http.routers.bizfx-secure.tls=true" + - "traefik.http.routers.bizfx-secure.middlewares=force-STS-Header" + engine-authoring: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql-init: + condition: service_healthy + solr: + condition: service_started + id: + condition: service_started + redis: + condition: service_started + cm: + condition: service_started + environment: + COMMERCEENGINE_AppSettings__DeploymentId: HabitatAuthoring01 + COMMERCEENGINE_AppSettings__EnvironmentName: HabitatAuthoring + COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl: "https://${ID_HOST}" + COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl: "http://id" + COMMERCEENGINE_AppSettings__AllowedOrigins: "https://${BIZFX_HOST}|https://${CD_HOST}|https://{CM_HOST}" + COMMERCEENGINE_AppSettings__AntiForgeryEnabled: "false" + COMMERCEENGINE_AppSettings__UseHttpsInKestrel: "false" + COMMERCEENGINE_Caching__Redis__Options__Configuration: redis:6379,ssl=False,abortConnect=False + COMMERCEENGINE_Caching__Redis__Options__InstanceName: Redis + COMMERCEENGINE_CommerceConnector__ClientId: ${XC_ENGINE_CONNECT_CLIENTID} + COMMERCEENGINE_GlobalDatabaseName: ${XC_GLOBAL_DB} + COMMERCEENGINE_GlobalDatabaseServer: ${SQL_SERVER} + COMMERCEENGINE_GlobalDatabaseUserName: ${SQL_SA_LOGIN} + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedArchiveDatabaseName: ${XC_SHARED_ARCHIVE_DB} + COMMERCEENGINE_SharedDatabaseServer: ${SQL_SERVER} + COMMERCEENGINE_SharedDatabaseUserName: ${SQL_SA_LOGIN} + COMMERCEENGINE_SharedDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_SharedTrustedConnection: "${XC_SHARED_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SitecoreHost: cm + COMMERCEENGINE_SitecoreDatabase: master + COMMERCEENGINE_SitecoreUsername: admin + COMMERCEENGINE_SitecoreDomain: sitecore + COMMERCEENGINE_SitecorePassword: ${SITECORE_ADMIN_PASSWORD} + COMMERCEENGINE_SitecoreProtocol: http + COMMERCEENGINE_SitecoreAllowAnonymousUser: "true" + COMMERCEENGINE_SitecoreExternalProtocol: https + COMMERCEENGINE_SitecoreExternalHost: ${CM_HOST} + COMMERCEENGINE_SolrUrl: http://solr:8983/solr + COMMERCEENGINE_IsSolrCloud: "true" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: ${SOLR_CORE_PREFIX_NAME}_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: ${SOLR_CORE_PREFIX_NAME}_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: ${SOLR_COMMERCE_PREFIX_NAME}_OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: ${SOLR_COMMERCE_PREFIX_NAME}_CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: ${SOLR_COMMERCE_PREFIX_NAME}_CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: ${SOLR_COMMERCE_PREFIX_NAME}_PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: ${SOLR_COMMERCE_PREFIX_NAME}_PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_PriceCardsScope-Rebuild + COMMERCEENGINE_EngineAuthoringUrl: https://${AUTHORING_HOST} + COMMERCEENGINE_EngineShopsUrl: https://${SHOPS_HOST} + COMMERCEENGINE_EngineMinionsUrl: https://${MINIONS_HOST} + COMMERCEENGINE_BraintreeEnvironment: ${XC_ENGINE_BRAINTREEENVIRONMENT} + COMMERCEENGINE_BraintreeMerchantId: ${XC_ENGINE_BRAINTREEMERCHANTID} + COMMERCEENGINE_BraintreePublicKey: ${XC_ENGINE_BRAINTREEPUBLICKEY} + COMMERCEENGINE_BraintreePrivateKey: ${XC_ENGINE_BRAINTREEPRIVATEKEY} + volumes: + - C:\containers\engine\catalogs:C:\engine\catalogs:RO + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.force-STS-Header.headers.forceSTSHeader=true" + - "traefik.http.middlewares.force-STS-Header.headers.stsSeconds=31536000" + - "traefik.http.routers.authoring-secure.entrypoints=websecure" + - "traefik.http.routers.authoring-secure.rule=Host(`${AUTHORING_HOST}`)" + - "traefik.http.routers.authoring-secure.tls=true" + - "traefik.http.routers.authoring-secure.middlewares=force-STS-Header" + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port ${XC_ENGINE_PORT}"] + timeout: 300s + engine-shops: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql-init: + condition: service_healthy + solr: + condition: service_started + id: + condition: service_started + redis: + condition: service_started + cm: + condition: service_started + environment: + COMMERCEENGINE_AppSettings__DeploymentId: HabitatShops01 + COMMERCEENGINE_AppSettings__EnvironmentName: HabitatShops + COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl: "https://${ID_HOST}" + COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl: "http://id" + COMMERCEENGINE_AppSettings__AllowedOrigins: "https://${BIZFX_HOST}|https://${CD_HOST}|https://{CM_HOST}" + COMMERCEENGINE_AppSettings__AntiForgeryEnabled: "false" + COMMERCEENGINE_AppSettings__UseHttpsInKestrel: "false" + COMMERCEENGINE_Caching__Redis__Options__Configuration: redis:6379,ssl=False,abortConnect=False + COMMERCEENGINE_Caching__Redis__Options__InstanceName: Redis + COMMERCEENGINE_CommerceConnector__ClientId: ${XC_ENGINE_CONNECT_CLIENTID} + COMMERCEENGINE_GlobalDatabaseName: ${XC_GLOBAL_DB} + COMMERCEENGINE_GlobalDatabaseServer: ${SQL_SERVER} + COMMERCEENGINE_GlobalDatabaseUserName: ${SQL_SA_LOGIN} + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedArchiveDatabaseName: ${XC_SHARED_ARCHIVE_DB} + COMMERCEENGINE_SharedDatabaseServer: ${SQL_SERVER} + COMMERCEENGINE_SharedDatabaseUserName: ${SQL_SA_LOGIN} + COMMERCEENGINE_SharedDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_SharedTrustedConnection: "${XC_SHARED_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SitecoreHost: cm + COMMERCEENGINE_SitecoreDatabase: master + COMMERCEENGINE_SitecoreUsername: admin + COMMERCEENGINE_SitecoreDomain: sitecore + COMMERCEENGINE_SitecorePassword: ${SITECORE_ADMIN_PASSWORD} + COMMERCEENGINE_SitecoreProtocol: http + COMMERCEENGINE_SitecoreAllowAnonymousUser: "true" + COMMERCEENGINE_SitecoreExternalProtocol: https + COMMERCEENGINE_SitecoreExternalHost: ${CM_HOST} + COMMERCEENGINE_SolrUrl: http://solr:8983/solr + COMMERCEENGINE_IsSolrCloud: "true" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: ${SOLR_CORE_PREFIX_NAME}_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: ${SOLR_CORE_PREFIX_NAME}_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: ${SOLR_COMMERCE_PREFIX_NAME}_OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: ${SOLR_COMMERCE_PREFIX_NAME}_CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: ${SOLR_COMMERCE_PREFIX_NAME}_CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: ${SOLR_COMMERCE_PREFIX_NAME}_PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: ${SOLR_COMMERCE_PREFIX_NAME}_PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_PriceCardsScope-Rebuild + COMMERCEENGINE_EngineAuthoringUrl: https://${AUTHORING_HOST} + COMMERCEENGINE_EngineShopsUrl: https://${SHOPS_HOST} + COMMERCEENGINE_EngineMinionsUrl: https://${MINIONS_HOST} + COMMERCEENGINE_BraintreeEnvironment: ${XC_ENGINE_BRAINTREEENVIRONMENT} + COMMERCEENGINE_BraintreeMerchantId: ${XC_ENGINE_BRAINTREEMERCHANTID} + COMMERCEENGINE_BraintreePublicKey: ${XC_ENGINE_BRAINTREEPUBLICKEY} + COMMERCEENGINE_BraintreePrivateKey: ${XC_ENGINE_BRAINTREEPRIVATEKEY} + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.force-STS-Header.headers.forceSTSHeader=true" + - "traefik.http.middlewares.force-STS-Header.headers.stsSeconds=31536000" + - "traefik.http.routers.shops-secure.entrypoints=websecure" + - "traefik.http.routers.shops-secure.rule=Host(`${SHOPS_HOST}`)" + - "traefik.http.routers.shops-secure.tls=true" + - "traefik.http.routers.shops-secure.middlewares=force-STS-Header" + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port ${XC_ENGINE_PORT}"] + timeout: 300s + engine-minions: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql-init: + condition: service_healthy + solr: + condition: service_started + id: + condition: service_started + redis: + condition: service_started + cm: + condition: service_started + environment: + COMMERCEENGINE_AppSettings__DeploymentId: HabitatMinions01 + COMMERCEENGINE_AppSettings__EnvironmentName: HabitatMinions + COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl: "https://${ID_HOST}" + COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl: "http://id" + COMMERCEENGINE_AppSettings__AllowedOrigins: "https://${BIZFX_HOST}|https://${CD_HOST}|https://{CM_HOST}" + COMMERCEENGINE_AppSettings__AntiForgeryEnabled: "false" + COMMERCEENGINE_AppSettings__UseHttpsInKestrel: "false" + COMMERCEENGINE_Caching__Redis__Options__Configuration: redis:6379,ssl=False,abortConnect=False + COMMERCEENGINE_Caching__Redis__Options__InstanceName: Redis + COMMERCEENGINE_CommerceConnector__ClientId: ${XC_ENGINE_CONNECT_CLIENTID} + COMMERCEENGINE_GlobalDatabaseName: ${XC_GLOBAL_DB} + COMMERCEENGINE_GlobalDatabaseServer: ${SQL_SERVER} + COMMERCEENGINE_GlobalDatabaseUserName: ${SQL_SA_LOGIN} + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedArchiveDatabaseName: ${XC_SHARED_ARCHIVE_DB} + COMMERCEENGINE_SharedDatabaseServer: ${SQL_SERVER} + COMMERCEENGINE_SharedDatabaseUserName: ${SQL_SA_LOGIN} + COMMERCEENGINE_SharedDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_SharedTrustedConnection: "${XC_SHARED_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SitecoreHost: cm + COMMERCEENGINE_SitecoreDatabase: master + COMMERCEENGINE_SitecoreUsername: admin + COMMERCEENGINE_SitecoreDomain: sitecore + COMMERCEENGINE_SitecorePassword: ${SITECORE_ADMIN_PASSWORD} + COMMERCEENGINE_SitecoreProtocol: http + COMMERCEENGINE_SitecoreAllowAnonymousUser: "true" + COMMERCEENGINE_SitecoreExternalProtocol: https + COMMERCEENGINE_SitecoreExternalHost: ${CM_HOST} + COMMERCEENGINE_SolrUrl: http://solr:8983/solr + COMMERCEENGINE_IsSolrCloud: "true" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: ${SOLR_CORE_PREFIX_NAME}_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: ${SOLR_CORE_PREFIX_NAME}_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: ${SOLR_COMMERCE_PREFIX_NAME}_OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: ${SOLR_COMMERCE_PREFIX_NAME}_CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: ${SOLR_COMMERCE_PREFIX_NAME}_CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: ${SOLR_COMMERCE_PREFIX_NAME}_PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: ${SOLR_COMMERCE_PREFIX_NAME}_PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: ${SOLR_COMMERCE_PREFIX_NAME}_PriceCardsScope-Rebuild + COMMERCEENGINE_EngineAuthoringUrl: https://${AUTHORING_HOST} + COMMERCEENGINE_EngineShopsUrl: https://${SHOPS_HOST} + COMMERCEENGINE_EngineMinionsUrl: https://${MINIONS_HOST} + COMMERCEENGINE_BraintreeEnvironment: ${XC_ENGINE_BRAINTREEENVIRONMENT} + COMMERCEENGINE_BraintreeMerchantId: ${XC_ENGINE_BRAINTREEMERCHANTID} + COMMERCEENGINE_BraintreePublicKey: ${XC_ENGINE_BRAINTREEPUBLICKEY} + COMMERCEENGINE_BraintreePrivateKey: ${XC_ENGINE_BRAINTREEPRIVATEKEY} + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.force-STS-Header.headers.forceSTSHeader=true" + - "traefik.http.middlewares.force-STS-Header.headers.stsSeconds=31536000" + - "traefik.http.routers.minions-secure.entrypoints=websecure" + - "traefik.http.routers.minions-secure.rule=Host(`${MINIONS_HOST}`)" + - "traefik.http.routers.minions-secure.tls=true" + - "traefik.http.routers.minions-secure.middlewares=force-STS-Header" + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port ${XC_ENGINE_PORT}"] + timeout: 300s \ No newline at end of file diff --git a/sxc/10.3/xc1-cxa/mssql/init/Dockerfile b/sxc/10.3/xc1-cxa/mssql/init/Dockerfile new file mode 100644 index 0000000..951976f --- /dev/null +++ b/sxc/10.3/xc1-cxa/mssql/init/Dockerfile @@ -0,0 +1,19 @@ +# escape=` + +ARG BASE_IMAGE +ARG SPE_RESOURCES_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${SPE_RESOURCES_IMAGE} AS spe_resources + +FROM ${BASE_IMAGE} AS spe + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=assets C:\module\db C:\resources + +COPY --from=spe_resources C:\module\db C:\resources\spe + +FROM spe AS cxa \ No newline at end of file diff --git a/sxc/10.3/xc1-cxa/solr-init/Dockerfile b/sxc/10.3/xc1-cxa/solr-init/Dockerfile new file mode 100644 index 0000000..d0f46ee --- /dev/null +++ b/sxc/10.3/xc1-cxa/solr-init/Dockerfile @@ -0,0 +1,16 @@ +# escape=` + +ARG BASE_IMAGE +ARG SXA_RESOURCES_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${SXA_RESOURCES_IMAGE} AS sxa_resources + +FROM ${BASE_IMAGE} AS sxa + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=assets C:\module\solr C:\data +COPY --from=sxa_resources C:\module\solr\cores-sxa.json C:\data\cores-sxa.json \ No newline at end of file diff --git a/sxc/10.3/xc1-cxa/traefik/certs/readme b/sxc/10.3/xc1-cxa/traefik/certs/readme new file mode 100644 index 0000000..688319a --- /dev/null +++ b/sxc/10.3/xc1-cxa/traefik/certs/readme @@ -0,0 +1,15 @@ +Add TLS certificates for xc1-cxacd.localhost, xc1-cxacm.localhost, xc1-cxaid.localhost, bizfx.localhost, authoring.localhos, shops.localhost, and minions.localhost hosts to this folder: + xc1-cxacd.localhost.crt + xc1-cxacd.localhost.key + xc1-cxacm.localhost.crt + xc1-cxacm.localhost.key + xc1-cxaid.localhost.crt + xc1-cxaid.localhost.key + bizfx.localhost.crt + bizfx.localhost.key + authoring.localhost.crt + authoring.localhost.key + shops.localhost.crt + shops.localhost.key + minions.localhost.crt + minions.localhost.key \ No newline at end of file diff --git a/sxc/10.3/xc1-cxa/traefik/config/dynamic/certs_config.yaml b/sxc/10.3/xc1-cxa/traefik/config/dynamic/certs_config.yaml new file mode 100644 index 0000000..95a3abf --- /dev/null +++ b/sxc/10.3/xc1-cxa/traefik/config/dynamic/certs_config.yaml @@ -0,0 +1,16 @@ +tls: + certificates: + - certFile: C:\etc\traefik\certs\xc1-cxacd.localhost.crt + keyFile: C:\etc\traefik\certs\xc1-cxacd.localhost.key + - certFile: C:\etc\traefik\certs\xc1-cxacm.localhost.crt + keyFile: C:\etc\traefik\certs\xc1-cxacm.localhost.key + - certFile: C:\etc\traefik\certs\xc1-cxaid.localhost.crt + keyFile: C:\etc\traefik\certs\xc1-cxaid.localhost.key + - certFile: C:\etc\traefik\certs\bizfx.localhost.crt + keyFile: C:\etc\traefik\certs\bizfx.localhost.key + - certFile: C:\etc\traefik\certs\authoring.localhost.crt + keyFile: C:\etc\traefik\certs\authoring.localhost.key + - certFile: C:\etc\traefik\certs\shops.localhost.crt + keyFile: C:\etc\traefik\certs\shops.localhost.key + - certFile: C:\etc\traefik\certs\minions.localhost.crt + keyFile: C:\etc\traefik\certs\minions.localhost.key diff --git a/sxc/10.3/xc1/.env b/sxc/10.3/xc1/.env new file mode 100644 index 0000000..722e294 --- /dev/null +++ b/sxc/10.3/xc1/.env @@ -0,0 +1,14 @@ +BASE_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/base/ + +XP_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxp/ +XP_SITECORE_TAG=10.3-ltsc2019 + +XC_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxc/ +XC_PACKAGES_TAG=10.3-ltsc2019 + +ISOLATION=default + +SOLR_CORE_PREFIX_NAME=sitecore +XC_GLOBAL_DB=SitecoreCommerce_Global +XC_SHARED_DB=SitecoreCommerce_SharedEnvironments +XC_SHARED_ARCHIVE_DB=SitecoreCommerce_ArchiveSharedEnvironments diff --git a/sxc/10.3/xc1/cd/Dockerfile b/sxc/10.3/xc1/cd/Dockerfile new file mode 100644 index 0000000..63868b4 --- /dev/null +++ b/sxc/10.3/xc1/cd/Dockerfile @@ -0,0 +1,35 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: cd, cm + +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${BASE_IMAGE} + +ARG XC_ROLE_CONFIGS + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ENV DOTNET_RUNNING_IN_CONTAINER=true + +WORKDIR c:/inetpub/wwwroot + +COPY --from=assets module/${XC_ROLE_CONFIGS}/content/inetpub/wwwroot . +COPY --from=assets module/sample/content/inetpub/wwwroot . +COPY --from=assets module/${XC_ROLE_CONFIGS}/content/Permissions C:\Permissions +COPY --from=assets module/tools C:\tools + +# Copy any custom files from build location +COPY . . + +RUN New-Item -Path C:\inetpub\wwwroot\App_Config -Name Security-Shared -ItemType directory; ` + Push-Location c:/inetpub/wwwroot/App_Config/Include/Y.Commerce.Engine; ` + Rename-Item Sitecore.Commerce.Engine.DataProvider.config.disabled Sitecore.Commerce.Engine.DataProvider.config; ` + Rename-Item Sitecore.Commerce.Engine.Connectors.Index.Common.config.disabled Sitecore.Commerce.Engine.Connectors.Index.Common.config; ` + Rename-Item Sitecore.Commerce.Engine.Connectors.Index.Solr.config.disabled Sitecore.Commerce.Engine.Connectors.Index.Solr.config; ` + Pop-Location; ` + Remove-Item -Path "./XConnectFiles/" -Recurse -Force; + +ENTRYPOINT ["C:\\LogMonitor\\LogMonitor.exe", "powershell", "C:\\tools\\scripts\\CopySecurityDomain.ps1; C:\\Run-W3SVCService.ps1"] \ No newline at end of file diff --git a/sxc/10.3/xc1/cd/readme b/sxc/10.3/xc1/cd/readme new file mode 100644 index 0000000..fd639b5 --- /dev/null +++ b/sxc/10.3/xc1/cd/readme @@ -0,0 +1 @@ +Add Commerce custom XP1 CD content here \ No newline at end of file diff --git a/sxc/10.3/xc1/cm/Dockerfile b/sxc/10.3/xc1/cm/Dockerfile new file mode 100644 index 0000000..63868b4 --- /dev/null +++ b/sxc/10.3/xc1/cm/Dockerfile @@ -0,0 +1,35 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: cd, cm + +ARG BASE_IMAGE +ARG ASSETS_IMAGE + +FROM ${ASSETS_IMAGE} AS assets + +FROM ${BASE_IMAGE} + +ARG XC_ROLE_CONFIGS + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ENV DOTNET_RUNNING_IN_CONTAINER=true + +WORKDIR c:/inetpub/wwwroot + +COPY --from=assets module/${XC_ROLE_CONFIGS}/content/inetpub/wwwroot . +COPY --from=assets module/sample/content/inetpub/wwwroot . +COPY --from=assets module/${XC_ROLE_CONFIGS}/content/Permissions C:\Permissions +COPY --from=assets module/tools C:\tools + +# Copy any custom files from build location +COPY . . + +RUN New-Item -Path C:\inetpub\wwwroot\App_Config -Name Security-Shared -ItemType directory; ` + Push-Location c:/inetpub/wwwroot/App_Config/Include/Y.Commerce.Engine; ` + Rename-Item Sitecore.Commerce.Engine.DataProvider.config.disabled Sitecore.Commerce.Engine.DataProvider.config; ` + Rename-Item Sitecore.Commerce.Engine.Connectors.Index.Common.config.disabled Sitecore.Commerce.Engine.Connectors.Index.Common.config; ` + Rename-Item Sitecore.Commerce.Engine.Connectors.Index.Solr.config.disabled Sitecore.Commerce.Engine.Connectors.Index.Solr.config; ` + Pop-Location; ` + Remove-Item -Path "./XConnectFiles/" -Recurse -Force; + +ENTRYPOINT ["C:\\LogMonitor\\LogMonitor.exe", "powershell", "C:\\tools\\scripts\\CopySecurityDomain.ps1; C:\\Run-W3SVCService.ps1"] \ No newline at end of file diff --git a/sxc/10.3/xc1/cm/readme b/sxc/10.3/xc1/cm/readme new file mode 100644 index 0000000..0b40203 --- /dev/null +++ b/sxc/10.3/xc1/cm/readme @@ -0,0 +1 @@ +Add Commerce custom XP1 CM content here \ No newline at end of file diff --git a/sxc/10.3/xc1/docker-compose.build.yml b/sxc/10.3/xc1/docker-compose.build.yml new file mode 100644 index 0000000..f9e08de --- /dev/null +++ b/sxc/10.3/xc1/docker-compose.build.yml @@ -0,0 +1,102 @@ +services: + mssql-init: + build: + isolation: ${ISOLATION} + context: ../xc-common/mssql/init + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-mssql-init:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-assets:${XC_PACKAGES_TAG} + TOPOLOGY: xc1 + image: xc1-mssql-init + solr-init: + build: + isolation: ${ISOLATION} + context: ../xc-common/solr-init + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-solr-init:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-assets:${XC_PACKAGES_TAG} + XC_TOPOLOGY: xc1 + SOLR_XDB_SCHEMA_FILE: "/Content/Website/App_Data/solrcommands/schema.json" + image: xc1-solr-init + solr-init-searchstax: + build: + isolation: ${ISOLATION} + context: ../xc-common/solr-init + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-solr-init-searchstax:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-assets:${XC_PACKAGES_TAG} + XC_TOPOLOGY: xc1 + SOLR_XDB_SCHEMA_FILE: "/Content/Website/App_Data/solrcommands/schema.json" + image: xc1-solr-init-searchstax + xdbcollection: + build: + isolation: ${ISOLATION} + context: ../xc-common/prc-rep + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-xdbcollection:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-assets:${XC_PACKAGES_TAG} + ROLE: xdbcollection + image: sitecore-xc1-xdbcollection + prc: + build: + isolation: ${ISOLATION} + context: ../xc-common/prc-rep + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-prc:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-assets:${XC_PACKAGES_TAG} + ROLE: prcrep + image: sitecore-xc1-prc + cm: + build: + isolation: ${ISOLATION} + context: ./cm + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-cm:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-assets:${XC_PACKAGES_TAG} + XC_ROLE_CONFIGS: cm + image: xc1-cm + cd: + build: + isolation: ${ISOLATION} + context: ./cd + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-cd:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-assets:${XC_PACKAGES_TAG} + XC_ROLE_CONFIGS: cd + image: xc1-cd + xdbsearch: + build: + isolation: ${ISOLATION} + context: ../xc-common/xdbsearch + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-xdbsearch:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-assets:${XC_PACKAGES_TAG} + CONTENT_PATH: xdbsearch/content/inetpub/wwwroot/App_Data/jobs/continuous/IndexWorker + image: sitecore-xc1-xdbsearch + xdbsearchworker: + build: + isolation: ${ISOLATION} + context: ../xc-common/xdbworkers + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-xdbsearchworker:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-assets:${XC_PACKAGES_TAG} + CONTENT_PATH: xdbsearchworker/content/inetpub/wwwroot/App_Data/jobs/continuous/IndexWorker + image: sitecore-xc1-xdbsearchworker + xdbautomation: + build: + isolation: ${ISOLATION} + context: ../xc-common/xdbautomation + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-xdbautomation:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-assets:${XC_PACKAGES_TAG} + CONTENT_PATH: xdbautomation/content/inetpub/wwwroot/App_data/jobs/continuous/AutomationEngine + image: sitecore-xc1-xdbautomation + xdbautomationworker: + build: + isolation: ${ISOLATION} + context: ../xc-common/xdbworkers + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-xdbautomationworker:${XP_SITECORE_TAG} + ASSETS_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-assets:${XC_PACKAGES_TAG} + CONTENT_PATH: xdbautomationworker/content/inetpub/wwwroot/App_Data/jobs/continuous/AutomationEngine + image: sitecore-xc1-xdbautomationworker diff --git a/sxc/10.3/xc1/prcrep/keep.txt b/sxc/10.3/xc1/prcrep/keep.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/xc1/xdbautomation/keep.txt b/sxc/10.3/xc1/xdbautomation/keep.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/xc1/xdbcollection/keep.txt b/sxc/10.3/xc1/xdbcollection/keep.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.3/xc1/xdbsearch/keep.txt b/sxc/10.3/xc1/xdbsearch/keep.txt new file mode 100644 index 0000000..e69de29