diff --git a/sxc/10.0/k8s-commerce-xc1/bizfx.yaml b/sxc/10.0/k8s-commerce-xc1/bizfx.yaml new file mode 100644 index 0000000..b0e8d6a --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/bizfx.yaml @@ -0,0 +1,78 @@ +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: {registry}/{sxc-project}/sitecore-xc-bizfx:{commerce-version} + 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.globalhost + - name: sitecore_xc_bizfx_authoring_url + value: https://authoring.globalhost + - name: sitecore_xc_bizfx_identity_server_url + value: https://id.globalhost + 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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/cd.yaml b/sxc/10.0/k8s-commerce-xc1/cd.yaml new file mode 100644 index 0000000..38bf427 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/cd.yaml @@ -0,0 +1,201 @@ +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: mcr.microsoft.com/powershell:lts-nanoserver-1809 + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbcollection/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbautomation + image: mcr.microsoft.com/powershell:lts-nanoserver-1809 + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbautomation/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbautomationrpt + image: mcr.microsoft.com/powershell:lts-nanoserver-1809 + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbautomationrpt/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbrefdata + image: mcr.microsoft.com/powershell:lts-nanoserver-1809 + 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: {registry}/{sxc-project}/sitecore-xc1-cd:{commerce-version} + ports: + - containerPort: 80 + volumeMounts: + - name: config-storage-volume + mountPath: "/inetpub/wwwroot/App_Config/Security-Shared" + 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: 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=Sitecore.Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_ConnectionStrings_Web + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Web;User ID=$(Web_Database_Username);Password=$(Web_Database_Password); + - name: Sitecore_ConnectionStrings_Messaging + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Messaging;User ID=$(Messaging_Database_Username);Password=$(Messaging_Database_Password); + - name: Sitecore_ConnectionStrings_ExperienceForms + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.ExperienceForms;User ID=$(Forms_Database_Username);Password=$(Forms_Database_Password); + - name: Sitecore_ConnectionStrings_Exm.Master + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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_Identity_Server_Authority + value: https://id.globalhost + - 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-ops: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 + volumes: + - 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.0/k8s-commerce-xc1/cm.yaml b/sxc/10.0/k8s-commerce-xc1/cm.yaml new file mode 100644 index 0000000..a70416a --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/cm.yaml @@ -0,0 +1,281 @@ +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: mcr.microsoft.com/powershell:lts-nanoserver-1809 + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbcollection/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbsearch + image: mcr.microsoft.com/powershell:lts-nanoserver-1809 + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbsearch/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-cortexreporting + image: mcr.microsoft.com/powershell:lts-nanoserver-1809 + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://cortexreporting/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbautomation + image: mcr.microsoft.com/powershell:lts-nanoserver-1809 + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbautomation/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbautomationrpt + image: mcr.microsoft.com/powershell:lts-nanoserver-1809 + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbautomationrpt/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbrefdata + image: mcr.microsoft.com/powershell:lts-nanoserver-1809 + 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: {registry}/{sxc-project}/sitecore-xc1-cm:{commerce-version} + ports: + - containerPort: 80 + volumeMounts: + - name: config-storage-volume + mountPath: "/inetpub/wwwroot/App_Config/Security-Shared" + 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: Sitecore_xc_Client_Secret_Hash + valueFrom: + secretKeyRef: + name: commerce-connect-client + key: commerce-connect-clientsecret.txt + - name: Sitecore_ConnectionStrings_Core + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_ConnectionStrings_Security + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_ConnectionStrings_Master + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Master;User ID=$(Master_Database_Username);Password=$(Master_Database_Password); + - name: Sitecore_ConnectionStrings_Web + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Web;User ID=$(Web_Database_Username);Password=$(Web_Database_Password); + - name: Sitecore_ConnectionStrings_Messaging + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Messaging;User ID=$(Messaging_Database_Username);Password=$(Messaging_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Referencedata;User ID=$(Reference_Data_Database_Username);Password=$(Reference_Data_Database_Password); + - name: Sitecore_ConnectionStrings_ExperienceForms + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.ExperienceForms;User ID=$(Forms_Database_Username);Password=$(Forms_Database_Password); + - name: Sitecore_ConnectionStrings_Exm.Master + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Exm.master;User ID=$(Exm_Master_Database_Username);Password=$(Exm_Master_Database_Password); + - name: Sitecore_ConnectionStrings_Reporting + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Reporting;User ID=$(Reporting_Database_Username);Password=$(Reporting_Database_Password); + - name: Sitecore_ConnectionStrings_Sitecore.Reporting.Client + value: http://cortexreporting + - 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_Reporting_Service_Url + value: http://rep + - name: Sitecore_Processing_Service_Url + value: http://prc + - name: Sitecore_Reporting_Service_Require_Https + value: 'false' + - name: Sitecore_Processing_Service_Require_Https + value: 'false' + - name: Sitecore_Identity_Server_Authority + value: https://id.globalhost + - name: Sitecore_Identity_Server_CallbackAuthority + value: https://cm.globalhost + - name: Sitecore_Identity_Server_InternalAuthority + value: http://id + - name: Sitecore_Identity_Server_Require_Https + value: "false" + - name: Sitecore_xc_Minions_Url + value: http://engine-minions:5000/commerceops/ + - name: Sitecore_xc_Ops_Url + value: http://engine-ops: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 + volumes: + - 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.0/k8s-commerce-xc1/cortexprocessing.yaml b/sxc/10.0/k8s-commerce-xc1/cortexprocessing.yaml new file mode 100644 index 0000000..05ae6f7 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/cortexprocessing.yaml @@ -0,0 +1,79 @@ +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: {registry}/{project}/sitecore-xp1-cortexprocessing:{version} + ports: + - containerPort: 80 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.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: Sitecore_ConnectionStrings_Processing.Engine.Storage + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Processing.Engine.Storage;User ID=$(Processing_Engine_Storage_Database_Username);Password=$(Processing_Engine_Storage_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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/cortexprocessingworker.yaml b/sxc/10.0/k8s-commerce-xc1/cortexprocessingworker.yaml new file mode 100644 index 0000000..49d6564 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/cortexprocessingworker.yaml @@ -0,0 +1,126 @@ +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: mcr.microsoft.com/powershell:lts-nanoserver-1809 + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbcollection/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbsearch + image: mcr.microsoft.com/powershell:lts-nanoserver-1809 + 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: {registry}/{project}/sitecore-xp1-cortexprocessingworker:{version} + 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: 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: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sitecore_ConnectionStrings_Processing.Engine.Storage + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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=Sitecore.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_Messaging + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Messaging;User ID=$(Messaging_Database_Username);Password=$(Messaging_Database_Password); + - name: Sitecore_ConnectionStrings_Reporting + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/cortexreporting.yaml b/sxc/10.0/k8s-commerce-xc1/cortexreporting.yaml new file mode 100644 index 0000000..317ff28 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/cortexreporting.yaml @@ -0,0 +1,79 @@ +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: {registry}/{project}/sitecore-xp1-cortexreporting:{version} + 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: Sitecore_ConnectionStrings_Reporting + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/engine-authoring.yaml b/sxc/10.0/k8s-commerce-xc1/engine-authoring.yaml new file mode 100644 index 0000000..56889a6 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/engine-authoring.yaml @@ -0,0 +1,200 @@ +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: {registry}/{sxc-project}/sitecore-xc-engine:{commerce-version} + ports: + - containerPort: 5000 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.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: COMMERCEENGINE_AppSettings__EnvironmentName + value: HabitatAuthoring + - name: COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl + value: https://id.globalhost + - name: COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl + value: http://id + - name: COMMERCEENGINE_AppSettings__AllowedOrigins + value: https://bizfx.globalhost|https://cm.globalhost|https://cd.globalhost + - 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_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.globalhost + - name: COMMERCEENGINE_IsSolrCloud + value: "true" + - name: COMMERCEENGINE_StorefrontIndexPrefix_web_index + value: sitecore_web_index + - name: COMMERCEENGINE_StorefrontIndexPrefix_master_index + value: sitecore_master_index + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope + value: commerce_OrdersScope + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild + value: commerce_OrdersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope + value: commerce_CustomersScope + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild + value: commerce_CustomersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope + value: commerce_CatalogItemsScope + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild + value: commerce_CatalogItemsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope + value: commerce_PromotionsScope + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild + value: commerce_PromotionsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope + value: commerce_PriceCardsScope + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild + value: commerce_PriceCardsScope-Rebuild + - name: COMMERCEENGINE_EngineAuthoringUrl + value: https://authoring.globalhost + - name: COMMERCEENGINE_EngineShopsUrl + value: https://shops.globalhost + - name: COMMERCEENGINE_EngineMinionsUrl + value: https://minions.globalhost + 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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/engine-minions.yaml b/sxc/10.0/k8s-commerce-xc1/engine-minions.yaml new file mode 100644 index 0000000..e3ec644 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/engine-minions.yaml @@ -0,0 +1,200 @@ +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: {registry}/{sxc-project}/sitecore-xc-engine:{commerce-version} + ports: + - containerPort: 5000 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.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: COMMERCEENGINE_AppSettings__EnvironmentName + value: HabitatMinions + - name: COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl + value: https://id.globalhost + - name: COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl + value: http://id + - name: COMMERCEENGINE_AppSettings__AllowedOrigins + value: https://bizfx.globalhost|https://cm.globalhost|https://cd.globalhost + - 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_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.globalhost + - name: COMMERCEENGINE_IsSolrCloud + value: "true" + - name: COMMERCEENGINE_StorefrontIndexPrefix_web_index + value: sitecore_web_index + - name: COMMERCEENGINE_StorefrontIndexPrefix_master_index + value: sitecore_master_index + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope + value: commerce_OrdersScope + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild + value: commerce_OrdersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope + value: commerce_CustomersScope + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild + value: commerce_CustomersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope + value: commerce_CatalogItemsScope + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild + value: commerce_CatalogItemsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope + value: commerce_PromotionsScope + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild + value: commerce_PromotionsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope + value: commerce_PriceCardsScope + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild + value: commerce_PriceCardsScope-Rebuild + - name: COMMERCEENGINE_EngineAuthoringUrl + value: https://authoring.globalhost + - name: COMMERCEENGINE_EngineShopsUrl + value: https://shops.globalhost + - name: COMMERCEENGINE_EngineMinionsUrl + value: https://minions.globalhost + 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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/engine-ops.yaml b/sxc/10.0/k8s-commerce-xc1/engine-ops.yaml new file mode 100644 index 0000000..3156ec6 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/engine-ops.yaml @@ -0,0 +1,200 @@ +apiVersion: v1 +kind: Service +metadata: + name: engine-ops +spec: + selector: + app: engine-ops + ports: + - protocol: TCP + port: 5000 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: engine-ops + labels: + app: engine-ops +spec: + replicas: 1 + selector: + matchLabels: + app: engine-ops + template: + metadata: + labels: + app: engine-ops + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xc-engine + image: {registry}/{sxc-project}/sitecore-xc-engine:{commerce-version} + ports: + - containerPort: 5000 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.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: COMMERCEENGINE_AppSettings__EnvironmentName + value: HabitatOps + - name: COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl + value: https://id.globalhost + - name: COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl + value: http://id + - name: COMMERCEENGINE_AppSettings__AllowedOrigins + value: https://bizfx.globalhost|https://cm.globalhost|https://cd.globalhost + - 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_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.globalhost + - name: COMMERCEENGINE_IsSolrCloud + value: "true" + - name: COMMERCEENGINE_StorefrontIndexPrefix_web_index + value: sitecore_web_index + - name: COMMERCEENGINE_StorefrontIndexPrefix_master_index + value: sitecore_master_index + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope + value: commerce_OrdersScope + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild + value: commerce_OrdersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope + value: commerce_CustomersScope + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild + value: commerce_CustomersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope + value: commerce_CatalogItemsScope + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild + value: commerce_CatalogItemsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope + value: commerce_PromotionsScope + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild + value: commerce_PromotionsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope + value: commerce_PriceCardsScope + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild + value: commerce_PriceCardsScope-Rebuild + - name: COMMERCEENGINE_EngineAuthoringUrl + value: https://authoring.globalhost + - name: COMMERCEENGINE_EngineShopsUrl + value: https://shops.globalhost + - name: COMMERCEENGINE_EngineMinionsUrl + value: https://minions.globalhost + 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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/engine-shops.yaml b/sxc/10.0/k8s-commerce-xc1/engine-shops.yaml new file mode 100644 index 0000000..fea04d0 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/engine-shops.yaml @@ -0,0 +1,200 @@ +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: {registry}/{sxc-project}/sitecore-xc-engine:{commerce-version} + ports: + - containerPort: 5000 + env: + - name: Database_Server + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databaseservername.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: COMMERCEENGINE_AppSettings__EnvironmentName + value: HabitatShops + - name: COMMERCEENGINE_AppSettings__SitecoreIdentityServerUrl + value: https://id.globalhost + - name: COMMERCEENGINE_AppSettings__InternalSitecoreIdentityServerUrl + value: http://id + - name: COMMERCEENGINE_AppSettings__AllowedOrigins + value: https://bizfx.globalhost|https://cm.globalhost|https://cd.globalhost + - 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_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.globalhost + - name: COMMERCEENGINE_IsSolrCloud + value: "true" + - name: COMMERCEENGINE_StorefrontIndexPrefix_web_index + value: sitecore_web_index + - name: COMMERCEENGINE_StorefrontIndexPrefix_master_index + value: sitecore_master_index + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope + value: commerce_OrdersScope + - name: COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild + value: commerce_OrdersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope + value: commerce_CustomersScope + - name: COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild + value: commerce_CustomersScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope + value: commerce_CatalogItemsScope + - name: COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild + value: commerce_CatalogItemsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope + value: commerce_PromotionsScope + - name: COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild + value: commerce_PromotionsScope-Rebuild + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope + value: commerce_PriceCardsScope + - name: COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild + value: PriceCardsScope-Rebuild + - name: COMMERCEENGINE_EngineAuthoringUrl + value: https://authoring.globalhost + - name: COMMERCEENGINE_EngineShopsUrl + value: https://shops.globalhost + - name: COMMERCEENGINE_EngineMinionsUrl + value: https://minions.globalhost + 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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/external/mssql.yaml b/sxc/10.0/k8s-commerce-xc1/external/mssql.yaml new file mode 100644 index 0000000..4bd1738 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/external/mssql.yaml @@ -0,0 +1,44 @@ +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: windows + containers: + - name: mssql + image: {registry}/{nonproduction-project}/mssql-developer:2017-{short-version-ltsc} + ports: + - containerPort: 1433 + env: + - name: SA_PASSWORD + valueFrom: + secretKeyRef: + name: sitecore-database + key: sitecore-databasepassword.txt + - name: ACCEPT_EULA + value: "Y" + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/external/redis.yaml b/sxc/10.0/k8s-commerce-xc1/external/redis.yaml new file mode 100644 index 0000000..a7e1359 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/external/redis.yaml @@ -0,0 +1,36 @@ +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: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-redis + image: {registry}/{project}/sitecore-redis:{version} + ports: + - containerPort: 6379 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/external/solr.yaml b/sxc/10.0/k8s-commerce-xc1/external/solr.yaml new file mode 100644 index 0000000..c4d1b10 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/external/solr.yaml @@ -0,0 +1,39 @@ +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: windows + containers: + - name: solr + image: {registry}/{nonproduction-project}/solr:8.4.0-{short-version-ltsc} + ports: + - containerPort: 8983 + env: + - name: SOLR_MODE + value: solrcloud + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/id.yaml b/sxc/10.0/k8s-commerce-xc1/id.yaml new file mode 100644 index 0000000..84eb9d3 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/id.yaml @@ -0,0 +1,114 @@ +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: {registry}/{sxc-project}/sitecore-xc-id:{commerce-version} + 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: 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=Sitecore.Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_Sitecore__IdentityServer__AccountOptions__PasswordRecoveryUrl + value: https://cm.globalhost/sitecore/login?rc=1 + - name: Sitecore_Sitecore__IdentityServer__Clients__DefaultClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1 + value: https://cm.globalhost + - name: Sitecore_Sitecore__IdentityServer__PublicOrigin + value: https://id.globalhost + - name: Sitecore_Sitecore__IdentityServer__Clients__CommerceClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1 + value: https://bizfx.globalhost|https://authoring.globalhost + - name: Sitecore_Sitecore__IdentityServer__Clients__CommerceEngineConnectClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1 + value: https://cm.globalhost|https://cd.globalhost + 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 + imagePullSecrets: + - name: sitecore-docker-registry diff --git a/sxc/10.0/k8s-commerce-xc1/ingress-nginx/configuration.yaml b/sxc/10.0/k8s-commerce-xc1/ingress-nginx/configuration.yaml new file mode 100644 index 0000000..af60a88 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/ingress-nginx/configuration.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: nginx-ingress-controller +data: + use-forwarded-headers: "true" + enable-underscores-in-headers: "true" \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/ingress-nginx/ingress.yaml b/sxc/10.0/k8s-commerce-xc1/ingress-nginx/ingress.yaml new file mode 100644 index 0000000..1b569ec --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/ingress-nginx/ingress.yaml @@ -0,0 +1,93 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: sitecore-ingress + annotations: + nginx.ingress.kubernetes.io/affinity: "cookie" + nginx.ingress.kubernetes.io/proxy-buffer-size: "32k" + nginx.ingress.kubernetes.io/proxy-read-timeout: "600" + nginx.ingress.kubernetes.io/proxy-send-timeout: "600" + nginx.ingress.kubernetes.io/rewrite-target: / +spec: + rules: + - host: cd.globalhost + http: + paths: + - path: / + backend: + serviceName: cd + servicePort: 80 + - host: cm.globalhost + http: + paths: + - path: / + backend: + serviceName: cm + servicePort: 80 + - host: id.globalhost + http: + paths: + - path: / + backend: + serviceName: id + servicePort: 80 + - host: bizfx.globalhost + http: + paths: + - path: / + backend: + serviceName: bizfx + servicePort: 80 + - host: authoring.globalhost + http: + paths: + - path: / + backend: + serviceName: engine-authoring + servicePort: 5000 + - host: minions.globalhost + http: + paths: + - path: / + backend: + serviceName: engine-minions + servicePort: 5000 + - host: ops.globalhost + http: + paths: + - path: / + backend: + serviceName: engine-ops + servicePort: 5000 + - host: shops.globalhost + http: + paths: + - path: / + backend: + serviceName: engine-shops + servicePort: 5000 + tls: + - secretName: global-cd-tls + hosts: + - cd.globalhost + - secretName: global-cm-tls + hosts: + - cm.globalhost + - secretName: global-id-tls + hosts: + - id.globalhost + - secretName: global-bizfx-tls + hosts: + - bizfx.globalhost + - secretName: global-authoring-tls + hosts: + - authoring.globalhost + - secretName: global-minions-tls + hosts: + - minions.globalhost + - secretName: global-ops-tls + hosts: + - ops.globalhost + - secretName: global-shops-tls + hosts: + - shops.globalhost \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/init/mssql-init.yaml b/sxc/10.0/k8s-commerce-xc1/init/mssql-init.yaml new file mode 100644 index 0000000..11d2b2e --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/init/mssql-init.yaml @@ -0,0 +1,182 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: mssql-init +spec: + template: + spec: + imagePullSecrets: + - name: sitecore-docker-registry + containers: + - name: mssql-init + image: {registry}/{sxc-project}/sitecore-xc1-mssql-init:{commerce-version} + 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: SITECORE_CORE_DB + value: Sitecore.Core + restartPolicy: Never + backoffLimit: 5 \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/init/solr-init.yaml b/sxc/10.0/k8s-commerce-xc1/init/solr-init.yaml new file mode 100644 index 0000000..becee18 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/init/solr-init.yaml @@ -0,0 +1,25 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: solr-init +spec: + template: + spec: + imagePullSecrets: + - name: sitecore-docker-registry + containers: + - name: solr-init + image: {registry}/{sxc-project}/sitecore-xc1-solr-init:{commerce-version} + env: + - name: SITECORE_SOLR_CONNECTION_STRING + valueFrom: + secretKeyRef: + name: sitecore-solr + key: sitecore-solr-connection-string.txt + - name: COMMERCE_SOLR_CONNECTION_STRING + valueFrom: + secretKeyRef: + name: commerce-solr + key: commerce-solr-connection-string.txt + restartPolicy: Never + backoffLimit: 5 diff --git a/sxc/10.0/k8s-commerce-xc1/prc.yaml b/sxc/10.0/k8s-commerce-xc1/prc.yaml new file mode 100644 index 0000000..898a729 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/prc.yaml @@ -0,0 +1,156 @@ +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: mcr.microsoft.com/powershell:lts-nanoserver-1809 + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbcollection/healthz/ready).StatusCode -eq 200} catch { $false }));"] + containers: + - name: sitecore-xp1-prc + image: {registry}/{project}/sitecore-xp1-prc:{version} + 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: Sitecore_ConnectionStrings_Core + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_ConnectionStrings_Security + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_ConnectionStrings_Master + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Master;User ID=$(Master_Database_Username);Password=$(Master_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Processing.Pools + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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=Sitecore.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=Sitecore.Processing.tasks;User ID=$(Processing_Tasks_Database_Username);Password=$(Processing_Tasks_Database_Password); + - name: Sitecore_ConnectionStrings_Reporting + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Reporting;User ID=$(Reporting_Database_Username);Password=$(Reporting_Database_Password); + - name: Sitecore_ConnectionStrings_XConnect.Collection + value: http://xdbcollection + 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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/rep.yaml b/sxc/10.0/k8s-commerce-xc1/rep.yaml new file mode 100644 index 0000000..da24b36 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/rep.yaml @@ -0,0 +1,114 @@ +apiVersion: v1 +kind: Service +metadata: + name: rep +spec: + selector: + app: rep + ports: + - protocol: TCP + port: 80 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: rep + labels: + app: rep +spec: + replicas: 1 + selector: + matchLabels: + app: rep + template: + metadata: + labels: + app: rep + spec: + nodeSelector: + kubernetes.io/os: windows + containers: + - name: sitecore-xc1-rep + image: {registry}/{sxc-project}/sitecore-xc1-rep:{commerce-version} + 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: Sitecore_ConnectionStrings_Reporting.ApiKey + valueFrom: + secretKeyRef: + name: sitecore-reporting + key: sitecore-reportingapikey.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: Sitecore_ConnectionStrings_Core + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_ConnectionStrings_Security + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Core;User ID=$(Core_Database_Username);Password=$(Core_Database_Password); + - name: Sitecore_ConnectionStrings_Master + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Master;User ID=$(Master_Database_Username);Password=$(Master_Database_Password); + - name: Sitecore_ConnectionStrings_Reporting + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/kustomization.yaml b/sxc/10.0/k8s-commerce-xc1/secrets/kustomization.yaml new file mode 100644 index 0000000..bdb2b36 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/secrets/kustomization.yaml @@ -0,0 +1,127 @@ +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 +- 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-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 +- name: sitecore-solr-xdb + files: + - xp/sitecore-solr-connection-string-xdb.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-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 +- 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-ops-tls + files: + - tls/global-ops/tls.key + - tls/global-ops/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.0/k8s-commerce-xc1/secrets/tls/global-authoring/tls.crt b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-authoring/tls.crt new file mode 100644 index 0000000..183e191 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-authoring/tls.key b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-authoring/tls.key new file mode 100644 index 0000000..4754814 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-authority/root.crt b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-authority/root.crt new file mode 100644 index 0000000..d134e6e --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-authority/root.key b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-authority/root.key new file mode 100644 index 0000000..2ab6fe5 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-bizfx/tls.crt b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-bizfx/tls.crt new file mode 100644 index 0000000..1de2e70 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-bizfx/tls.key b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-bizfx/tls.key new file mode 100644 index 0000000..9e15457 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-cd/tls.crt b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-cd/tls.crt new file mode 100644 index 0000000..2386fea --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-cd/tls.key b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-cd/tls.key new file mode 100644 index 0000000..eabe58c --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-cm/tls.crt b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-cm/tls.crt new file mode 100644 index 0000000..730006f --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-cm/tls.key b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-cm/tls.key new file mode 100644 index 0000000..33a542b --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-id/tls.crt b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-id/tls.crt new file mode 100644 index 0000000..8df3dd0 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-id/tls.key b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-id/tls.key new file mode 100644 index 0000000..22427ed --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-minions/tls.crt b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-minions/tls.crt new file mode 100644 index 0000000..054b959 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-minions/tls.key b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-minions/tls.key new file mode 100644 index 0000000..7d164f1 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-ops/tls.crt b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-ops/tls.crt new file mode 100644 index 0000000..feecd9d --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-ops/tls.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDATCCAemgAwIBAgIUV55kUKrxUoY/+zSh/785YT7KybkwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTI1MTkyNzI5WhcNMzAwNTIzMTkyNzI5WjAZMRcwFQYDVQQDDA5vcHMuZ2xvYmFs +aG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK0bKwo6uyL8msgO +8r4F4Jx28MIC5MDpE8TeVFy0l5TmnrbDherF6L2akzdmpVYfidPTrw1Ctmcnn6eP +PlHaLZjUyEXcaJb/CITpq2eji/vcCeAN2eFDlamyx76sIuKlCpdozkn+mAojkF81 +96bBu+uv52gnvz7ibwdeot62hKdveRzWr4jXKZf9g3fgArtYNmAXf/t2S5Kdi0Ei +J8D7XooXaNLhtgXRpfCbTfRXVfTqbvAPXOkLfzqCQrgNQJlBrG3mTLQ061UfhduT +NpKTh9PohsVQpzqUYbGLaalja1i5OHqRm9deRQvPXv1KMNMaOMmhZgU355A+Wjxj +ix6akjECAwEAAaM1MDMwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwGQYDVR0RBBIw +EIIOb3BzLmdsb2JhbGhvc3QwDQYJKoZIhvcNAQELBQADggEBABSjyNKCxE3ttcld +Pe5ISDvD39Vv+8Kqy9uDONHza2ZNIgIGom/8+uaREYzy6vfhdBgCk3KGmtAKENE4 +zRy0YhaXkbtXZtBCeaJbKt9+qSgeFXSeRHqp7KC2OWPKqBbsSyYkVzPvwA1WFNue +/J2WVKhEzAeM9mu/Ls+EuoKAZNWDjwyrV5bwBMydHWsJzYAzmiJSp6bwyIDVBZVO +l68R805QTEK4iz7u3nXnSGO4W+80k0n2nXE/ZfXmxDq+s6NgFEoNx+pI1Kq6ICT4 +1DY6u+1QLnb2fo+dxoQ7JBItHD8pLQDn2NbVCAgaOoc9sKNX4ckMi8VXvwD6/Mud +0FQGG0U= +-----END CERTIFICATE----- diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-ops/tls.key b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-ops/tls.key new file mode 100644 index 0000000..d509a0a --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-ops/tls.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEArRsrCjq7IvyayA7yvgXgnHbwwgLkwOkTxN5UXLSXlOaetsOF +6sXovZqTN2alVh+J09OvDUK2Zyefp48+UdotmNTIRdxolv8IhOmrZ6OL+9wJ4A3Z +4UOVqbLHvqwi4qUKl2jOSf6YCiOQXzX3psG766/naCe/PuJvB16i3raEp295HNav +iNcpl/2Dd+ACu1g2YBd/+3ZLkp2LQSInwPteihdo0uG2BdGl8JtN9FdV9Opu8A9c +6Qt/OoJCuA1AmUGsbeZMtDTrVR+F25M2kpOH0+iGxVCnOpRhsYtpqWNrWLk4epGb +115FC89e/Uow0xo4yaFmBTfnkD5aPGOLHpqSMQIDAQABAoIBAQCeoavyZtnA+Q16 +UcB/BHHN0G1WzUIFylGUck2K2u+hwykkwM6C07QxtGo+NbFD2Aj89hqPo1f19ein +q2vnpHFugWe6JX4vCS0sZ9nsUoJgXkcqbGcCuGV5Kl1DTQl2+tlW4PNR+Z4ohGiz +54e36Aemtv7vgqUOIoCulznXsBimOc2/EV8ZgNPCK0B+IFpECQdjSdzcKfkUpXDq +GXoHnBOGtvhvkLs2FlBitwuEz9upcoqGCqgxDMtwYrjkIcN+52g+1c6XmS7DoQhj +kp+c/kfw5gpM0GVj5xBRZR/jrJputBfYVoNRnkkJS5nGpMVUupNgS/klxSYsP9+F +f57uByvVAoGBAN3XxynDmpo9MNjtUAIrNZQ9Ko2fgp6fWlbnKUTqVx5R7GNYNx/9 +zYGFSIQ0NqKr2iTW52/R6qlZPWKrWWftIWDHupMhXUD4UQ3XLrfUW7okrgDCXYG+ +JXj/c/ej6GSe8y78kyZ4TVz5ZydvVeISgteiOlFIDBcRvkkciryBVE7TAoGBAMfC +Xkg+jzpiOZPWQju8Kre87tAn5Kp2ZlN5izMqxtU4VzhHXFwFqk0jz9gARAbh7tlu +OFCdfGuDnDGYF3Gq6n37Jm3MshWu6N8TfZ4/6sYjjjXpzk/x2W9iRsWjRIywnYBj +M6/vVO00tKZSY/RGsHxiUa5HjkXJcO5qpY5J5+BrAoGAOGd/jP/d1C+QtucHu7Vu +xwUSR7XxyRDtMEFP/eSzR9M+jjfEtE6crLzNpkd8SLn3GfzGFWlDB9HXyLmWXtUs +8mV166jFBBreyO0YRMcql1ZyI2FH0xAciPoyaxlyofrEDANOCq71xJjpAF7PcE6S +k+78cuQlpsvtHLu0Dp+3Zt8CgYBdOJ+3JzrADEbCbyLJra5hwJHSIkvcIRTvr7D+ +V+AicQCDCwpXB23KQgQk0Trt21ITthQhytzdb7XcjxWhvhlgYWw1oWkaJV4XfIkK +6NkvTjh3gHz/YeYOzNYqNV8wKNvXpnPgjtgbOpVzaM+sl7CU220y38HNX4yMNsi7 +9lF3sQKBgH8eo8R8yWMzzhppDyTQPBfSufNDWQa9kZSubZVIu0Z6HqtIwfR8s1ZY +porgj1x5HD0S1QpK053D0zYXopEwu/t+nEw65LatIELvOLD8xXHpi6W5vO3S/eBl +eo4tPemyE4TePBSRkUHTFiZG4RazFUOcdy/oYaVmOsRp7sNytp/W +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-shops/tls.crt b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-shops/tls.crt new file mode 100644 index 0000000..f44dd22 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/tls/global-shops/tls.key b/sxc/10.0/k8s-commerce-xc1/secrets/tls/global-shops/tls.key new file mode 100644 index 0000000..3f9606c --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xc/commerce-bizfx-currency.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-bizfx-currency.txt new file mode 100644 index 0000000..11d6bf5 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-bizfx-currency.txt @@ -0,0 +1 @@ +USD \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-bizfx-language.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-bizfx-language.txt new file mode 100644 index 0000000..2c4c454 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-bizfx-language.txt @@ -0,0 +1 @@ +en \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-bizfx-shopname.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-bizfx-shopname.txt new file mode 100644 index 0000000..fd834bf --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-bizfx-shopname.txt @@ -0,0 +1 @@ +CommerceEngineDefaultStorefront \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-connect-clientid.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-connect-clientid.txt new file mode 100644 index 0000000..2187f07 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-connect-clientid.txt @@ -0,0 +1 @@ +CommerceEngineConnect \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-connect-clientsecret.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-connect-clientsecret.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-connect-redis-connection-string.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-connect-redis-connection-string.txt new file mode 100644 index 0000000..108c777 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreeenvironment.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreeenvironment.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreemerchantid.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreemerchantid.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreeprivatekey.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreeprivatekey.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreepublickey.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-engine-braintreepublickey.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-redis-connection-string.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-redis-connection-string.txt new file mode 100644 index 0000000..15a10e5 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xc/commerce-solr-connection-string.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xc/commerce-solr-connection-string.txt new file mode 100644 index 0000000..0f57f1c --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-adminpassword.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-adminpassword.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-adminpassword.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-collection-shardmapmanager-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-collection-shardmapmanager-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-collection-shardmapmanager-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-collection-shardmapmanager-database-username.txt new file mode 100644 index 0000000..44946c8 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-core-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-core-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-core-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-core-database-username.txt new file mode 100644 index 0000000..1a01ffc --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-database-elastic-pool-name.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-database-elastic-pool-name.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-databasepassword.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-databasepassword.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-databasepassword.txt @@ -0,0 +1 @@ +Password12345 \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-databaseservername.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-databaseservername.txt new file mode 100644 index 0000000..a5faf70 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-databaseservername.txt @@ -0,0 +1 @@ +mssql \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-databaseusername.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-databaseusername.txt new file mode 100644 index 0000000..0107e44 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-databaseusername.txt @@ -0,0 +1 @@ +sa \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-exm-master-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-exm-master-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-exm-master-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-exm-master-database-username.txt new file mode 100644 index 0000000..6b4a10e --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-forms-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-forms-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-forms-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-forms-database-username.txt new file mode 100644 index 0000000..2af6196 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-identitycertificate.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-identitycertificate.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-identitycertificatepassword.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-identitycertificatepassword.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-identitysecret.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-identitysecret.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-license.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-license.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-marketing-automation-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-marketing-automation-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-marketing-automation-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-marketing-automation-database-username.txt new file mode 100644 index 0000000..0d2f9dc --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-master-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-master-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-master-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-master-database-username.txt new file mode 100644 index 0000000..92db714 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-messaging-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-messaging-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-messaging-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-messaging-database-username.txt new file mode 100644 index 0000000..627db56 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-storage-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-storage-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-storage-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-storage-database-username.txt new file mode 100644 index 0000000..0447fe0 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-tasks-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-tasks-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-tasks-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-engine-tasks-database-username.txt new file mode 100644 index 0000000..09ab54b --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-pools-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-pools-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-pools-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-pools-database-username.txt new file mode 100644 index 0000000..afa6719 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-tasks-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-tasks-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-tasks-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-processing-tasks-database-username.txt new file mode 100644 index 0000000..8731b1d --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-redis-connection-string.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-redis-connection-string.txt new file mode 100644 index 0000000..15a10e5 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-reference-data-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-reference-data-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-reference-data-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-reference-data-database-username.txt new file mode 100644 index 0000000..eec4367 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-reporting-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-reporting-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-reporting-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-reporting-database-username.txt new file mode 100644 index 0000000..68515d5 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-reportingapikey.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-reportingapikey.txt new file mode 100644 index 0000000..55c80f2 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-reportingapikey.txt @@ -0,0 +1 @@ +00112233445566778899AABBCCDDEEFF \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-solr-connection-string-xdb.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-solr-connection-string-xdb.txt new file mode 100644 index 0000000..eea97d7 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-solr-connection-string.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-solr-connection-string.txt new file mode 100644 index 0000000..223d335 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-telerikencryptionkey.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-telerikencryptionkey.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-web-database-password.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-web-database-password.txt new file mode 100644 index 0000000..1cbe6f4 --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/secrets/xp/sitecore-web-database-username.txt b/sxc/10.0/k8s-commerce-xc1/secrets/xp/sitecore-web-database-username.txt new file mode 100644 index 0000000..134ed9d --- /dev/null +++ b/sxc/10.0/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.0/k8s-commerce-xc1/storage/platform-config-storage.yaml b/sxc/10.0/k8s-commerce-xc1/storage/platform-config-storage.yaml new file mode 100644 index 0000000..9ab8d5a --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/storage/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.0/k8s-commerce-xc1/xdbautomation.yaml b/sxc/10.0/k8s-commerce-xc1/xdbautomation.yaml new file mode 100644 index 0000000..3689841 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/xdbautomation.yaml @@ -0,0 +1,114 @@ +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: mcr.microsoft.com/powershell:lts-nanoserver-1809 + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbcollection/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbsearch + image: mcr.microsoft.com/powershell:lts-nanoserver-1809 + 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: {registry}/{sxc-project}/sitecore-xc1-xdbautomation:{commerce-version} + 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: Sitecore_ConnectionStrings_Messaging + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Messaging;User ID=$(Messaging_Database_Username);Password=$(Messaging_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Marketingautomation + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Marketingautomation;User ID=$(Marketing_Automation_Database_Username);Password=$(Marketing_Automation_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/xdbautomationrpt.yaml b/sxc/10.0/k8s-commerce-xc1/xdbautomationrpt.yaml new file mode 100644 index 0000000..8f21e32 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/xdbautomationrpt.yaml @@ -0,0 +1,91 @@ +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: {registry}/{project}/sitecore-xp1-xdbautomationrpt:{version} + 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: Sitecore_ConnectionStrings_Xdb.Marketingautomation + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Marketingautomation;User ID=$(Marketing_Automation_Database_Username);Password=$(Marketing_Automation_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/xdbautomationworker.yaml b/sxc/10.0/k8s-commerce-xc1/xdbautomationworker.yaml new file mode 100644 index 0000000..7d80f22 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/xdbautomationworker.yaml @@ -0,0 +1,108 @@ +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: mcr.microsoft.com/powershell:lts-nanoserver-1809 + command: ["pwsh", "-Command", "do { Start-Sleep -Seconds 3 } until ($(try {(iwr http://xdbcollection/healthz/ready).StatusCode -eq 200} catch { $false }));"] + - name: wait-xdbsearch + image: mcr.microsoft.com/powershell:lts-nanoserver-1809 + 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: {registry}/{sxc-project}/sitecore-xc1-xdbautomationworker:{commerce-version} + 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: 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=Sitecore.Marketingautomation;User ID=$(Marketing_Automation_Database_Username);Password=$(Marketing_Automation_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Referencedata;User ID=$(Reference_Data_Database_Username);Password=$(Reference_Data_Database_Password); + - name: Sitecore_ConnectionStrings_Messaging + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/xdbcollection.yaml b/sxc/10.0/k8s-commerce-xc1/xdbcollection.yaml new file mode 100644 index 0000000..6ef4f1d --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/xdbcollection.yaml @@ -0,0 +1,115 @@ +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: {registry}/{sxc-project}/sitecore-xc1-xdbcollection:{commerce-version} + 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: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sitecore_ConnectionStrings_Messaging + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Messaging;User ID=$(Messaging_Database_Username);Password=$(Messaging_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Marketingautomation + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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=Sitecore.Processing.pools;User ID=$(Processing_Pools_Database_Username);Password=$(Processing_Pools_Database_Password); + - name: Sitecore_ConnectionStrings_Collection + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Xdb.Collection.ShardMapManager;User ID=$(Collection_ShardMapManager_Database_Username);Password=$(Collection_ShardMapManager_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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/xdbrefdata.yaml b/sxc/10.0/k8s-commerce-xc1/xdbrefdata.yaml new file mode 100644 index 0000000..c25d655 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/xdbrefdata.yaml @@ -0,0 +1,79 @@ +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: {registry}/{project}/sitecore-xp1-xdbrefdata:{version} + 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: Sitecore_ConnectionStrings_Xdb.Referencedata + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/xdbsearch.yaml b/sxc/10.0/k8s-commerce-xc1/xdbsearch.yaml new file mode 100644 index 0000000..1658370 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/xdbsearch.yaml @@ -0,0 +1,124 @@ +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: {registry}/{sxc-project}/sitecore-xc1-xdbsearch:{commerce-version} + 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: Sitecore_License + valueFrom: + secretKeyRef: + name: sitecore-license + key: sitecore-license.txt + - name: Sitecore_ConnectionStrings_Messaging + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.Messaging;User ID=$(Messaging_Database_Username);Password=$(Messaging_Database_Password); + - name: Sitecore_ConnectionStrings_Xdb.Marketingautomation + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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=Sitecore.Processing.pools;User ID=$(Processing_Pools_Database_Username);Password=$(Processing_Pools_Database_Password); + - name: Sitecore_ConnectionStrings_Collection + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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__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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/k8s-commerce-xc1/xdbsearchworker.yaml b/sxc/10.0/k8s-commerce-xc1/xdbsearchworker.yaml new file mode 100644 index 0000000..c5716a5 --- /dev/null +++ b/sxc/10.0/k8s-commerce-xc1/xdbsearchworker.yaml @@ -0,0 +1,84 @@ +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: {registry}/{sxc-project}/sitecore-xc1-xdbsearchworker:{commerce-version} + 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: Sitecore_ConnectionStrings_Collection + value: Data Source=$(Database_Server);Initial Catalog=Sitecore.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 + imagePullSecrets: + - name: sitecore-docker-registry \ No newline at end of file diff --git a/sxc/10.0/scripts/CleanContainerCache.ps1 b/sxc/10.0/scripts/CleanContainerCache.ps1 new file mode 100644 index 0000000..957c320 --- /dev/null +++ b/sxc/10.0/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).Count -1) +Write-Host "Count of cache directories:"(Get-ChildItem -path C:\ProgramData\docker\windowsfilter\ -force | measure).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).Count -1) +Write-Host "Count of cache directories:"(Get-ChildItem -path C:\ProgramData\docker\windowsfilter\ -force | measure).Count +Write-Host "Diskspace used:" +docker system df +Write-Host "=============================================================" diff --git a/sxc/10.0/scripts/ContainerBuild.ps1 b/sxc/10.0/scripts/ContainerBuild.ps1 new file mode 100644 index 0000000..ec9672e --- /dev/null +++ b/sxc/10.0/scripts/ContainerBuild.ps1 @@ -0,0 +1,50 @@ +[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 + #xc1-cxa depends on content that is built in xc-common. So it cannot be 'pulled' from a registry + #when building the sample container images. Of course if you are using your own pre-build images then + #you would not need to manipulate the docker-compose.build.yml to force a tag of 'latest' from the images + if($workingDir.Contains("cxa")) { + Write-Host "Make a copy of the CXA build yaml for build time" + Copy-Item -Path '.\docker-compose.build.yml' -Destination '.\docker-compose.build.yml.bck' -Force -Verbose + Copy-Item -Path '.\commerce.build.yml' -Destination '.\docker-compose.build.yml' -Force -Verbose + } + '[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." + } + + if($workingDir.Contains("cxa")) { + Write-Host "-------> Return CXA build yaml to release default" + Copy-Item -Path '.\docker-compose.build.yml.bck' -Destination '.\docker-compose.build.yml' -Force -Verbose + Remove-Item -Path '.\docker-compose.build.yml.bck' -Force -Verbose + } + Pop-Location + } diff --git a/sxc/10.0/scripts/ContainerTag.ps1 b/sxc/10.0/scripts/ContainerTag.ps1 new file mode 100644 index 0000000..018d1d2 --- /dev/null +++ b/sxc/10.0/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.0.0.60234.10194-pbi-422197-0035-10.0.17763.1282-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.0.0-ltsc2019 then this will only ever point to one + 'container'. If you tag another container image with 10.0.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.0.0.60234.10194-pbi-422197-0035-10.0.17763.1282-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.0/scripts/FakeLicenseFile.txt b/sxc/10.0/scripts/FakeLicenseFile.txt new file mode 100644 index 0000000..3accd2e --- /dev/null +++ b/sxc/10.0/scripts/FakeLicenseFile.txt @@ -0,0 +1 @@ +ThisIsAFakeLicense \ No newline at end of file diff --git a/sxc/10.0/scripts/PrepContainerBuild.ps1 b/sxc/10.0/scripts/PrepContainerBuild.ps1 new file mode 100644 index 0000000..2d0ec41 --- /dev/null +++ b/sxc/10.0/scripts/PrepContainerBuild.ps1 @@ -0,0 +1,134 @@ +[cmdletbinding()] +param( + + [string]$jsonFile = (Join-Path '.' 'WDPMapping.json'), + [string]$releaseZipPath = '.' +) +<# +.SYNOPSIS +Uses Commerce Release artifacts to prepare the environment for building container images based on XP and XC container images. + +.DESCRIPTION +Takes the Sitecore Commerce release zip artifacts and expands the contents in to the structure expected by the Sitecore XC container Docker files. + +.PARAMETER jsonFile +Path to the WDPMapping.json file that maps the WDP file content needed build a specific container image. + +.PARAMETER releaseZipPath +Path to the Sitecore XC release zip files downloaded from dev.sitecore.net. Both the Azure and WDP release files are required. + +.EXAMPLE +PrepContainerbuild.ps1 + +Expands the release zip files in to the respective container directories. Presumes the WDPMapping.json and release zip files are located +in the same directory as this script. + +.EXAMPLE +PrepContainerbuild.ps1 -jsonFile 'C:\src\Commerce.Containers' -releaseZipPath 'C:\src\Commerce.Containers\downloads' + +Expands the release zip files in to the respective container directories. The WDPMapping.json is located in C:\src\Commerce.Containers +and release zip files are located in the C:\src\Commerce.Containers\downloads directory. +#> + +#Check for the json file +if (Test-Path("$jsonFile")) +{ + #Create the tmpDir + $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 + } + + #Find the release zip archives and expand them into the tmpDir + $releaseFound = 0 + $releaseZips = Get-ChildItem -Path $releaseZipPath -Filter "Sitecore.Commerce.*.zip" -Recurse + foreach ($rZip in $releaseZips) { + if ($rZip.Name -match '(.*WDP\.\d\d\d\d.*|.*Azure\.\d\d\d\d.*)') { + Expand-Archive -Path $rZip.Fullname -DestinationPath $tmpDir -Force + $releaseFound += 1 + } + } + + if ($releaseFound -lt 2) { + Throw 'Missing one or more Sitecore XC release zip files.' + } + + $json = Get-Content "$jsonFile" | ConvertFrom-Json + foreach ($j in $json) { + Write-Host "Processing" $j.DestinationFolder + + if((!($j | Get-Member "ToCopyFolder")) -and (!($j | Get-Member "ToCopyFiles"))) { + Throw "There is no information on what content to copy to $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\..") $j.DestinationFolder + if (!(Test-Path $destinationFolder)){ + New-Item -Path $destinationFolder -ItemType Directory | Out-Null + } else { + Remove-Item -Path $destinationFolder -Recurse -Force + New-Item -Path $destinationFolder -ItemType Directory | Out-Null + } + + #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 $tmpDir -Filter $wFile -Recurse | Sort-Object | Select-Object -First 1 + if (!$wdpFile) { + $wFile = $wdp + '*.zip' + $wdpFile = Get-ChildItem -Path $tmpDir -Filter $wFile -Recurse | Sort-Object | Select-Object -First 1 + } + + #WDP file found + if (Test-Path $wdpFile.FullName) { + $expandFolder = (Join-Path (Join-Path (Split-Path -Path $wdpfile.FullName -Parent) "$($wdpfile.BaseName)") "wdp") + Write-Host "Expanding" $wdpfile.FullName "to" $expandFolder -ForegroundColor Yellow + Expand-Archive -Path $wdpfile.FullName -DestinationPath $expandFolder -Force + + #Determine what to copy where either a directory recursively or a specific set of files + if($j | Get-Member "ToCopyFolder") { + Write-Host -Message ("Copying folder {0}\{1} to {2}" -f $expandFolder, $j.ToCopyFolder, $destinationFolder) -ForegroundColor Yellow + Copy-Item -Path (Join-Path (Join-Path $expandFolder $j.ToCopyFolder) "*") -Destination $destinationFolder -Recurse -Force + } + + if($j | Get-Member "ToCopyFiles"){ + Write-Host -Message ("Copying files {0}\{1} to {2}" -f $expandFolder, $j.ToCopyFiles, $destinationFolder) -ForegroundColor Yellow + $files = Get-ChildItem -Path (Join-Path $expandFolder "/*") -Filter $j.ToCopyFiles -Recurse + + $nameMappings = ConvertTo-Json @() + if($j | Get-Member "NameMappings"){ + $nameMappings = $j.NameMappings + } + + foreach ($file in $files) { + $fileName = $($file.BaseName) + $nameMapping = $nameMappings | Where-Object { $_.Name -eq $($file.BaseName) } + if($nameMapping -ne $null -and $nameMapping.NewName -ne ""){ + $fileName = $($nameMapping.NewName) + } + + $fileNameExtension = $($fileName) + $($file.Extension) + $fileDFolder = (Join-Path $destinationFolder $wdp) + if(!(Test-Path $fileDFolder)){ + New-Item -Path $fileDFolder -ItemType Directory + } + + $fileDPath = Join-Path $fileDFolder $fileNameExtension + Write-Host -Message ("Copying file {0} to {1}" -f $file, $fileDPath) + Copy-Item -Path (Join-Path $expandFolder $file) -Destination $fileDPath -Force + } + } + } else { + throw "No Matching WDP file found: $wdp" + } + } + } +} else { + throw "No JSON file" +} + diff --git a/sxc/10.0/scripts/ScriptSupport.psm1 b/sxc/10.0/scripts/ScriptSupport.psm1 new file mode 100644 index 0000000..ebec106 --- /dev/null +++ b/sxc/10.0/scripts/ScriptSupport.psm1 @@ -0,0 +1,68 @@ +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()) +} + +Function GenerateRandomString { + param( + [int] $length, + [switch] $disallowSpecialCharacters + ) + + $chars = @() + $chars += ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z') + $chars += ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z') + $chars += ('1', '2', '3', '4', '5', '6', '7', '8', '9', '0') + + if (-not $disallowSpecialCharacters) { + $chars += ('~', '!', '@', '#', '$', '%', '^', '&', '*', '_', '-', '+', '=', [char]0x60, '|', '\', '(', ')', '{', '}', '[', ']', ':', ';', '<', '>', '.', '?', '/') + } + + $generatedString = "" + + for ($i = 1; $i -le $length; $i++) { + $generatedString += Get-Random $chars + } + + return $generatedString +} + +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 + } + } +} diff --git a/sxc/10.0/scripts/UpdateEnvCompose.ps1 b/sxc/10.0/scripts/UpdateEnvCompose.ps1 new file mode 100644 index 0000000..0e18a53 --- /dev/null +++ b/sxc/10.0/scripts/UpdateEnvCompose.ps1 @@ -0,0 +1,133 @@ +[cmdletbinding()] +param( + [string] $envRootPath = (Join-Path $PWD ".."), + [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]$xcIdSecret, + [Parameter(Mandatory)] + [string]$idPassword, + [Parameter(Mandatory)] + [string]$reportingApiKey, + [ValidateSet("default", "process", "hyperv")] + [string]$isolation = "default" +) +<# +.SYNOPSIS +Script to facilitate the updating of the .env files for use in a docker-compose up and docker-compose build. + +.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 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 xcIdSecret +[Parameter(Mandatory)] +The client ID assigned to Commerce Engine Connect for Sitecore Identity. This ID is used to identify the Commerce Engine Connect with Commerce Engine. + +.PARAMETER idPassword +[Parameter(Mandatory)] +Password required to open the Identity Server certificate. + +.PARAMETER reportingApiKey +[Parameter(Mandatory)] +Symetric key used to access the Sitecore XDB Reporting Web API. Length: 64-128 characters + +.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 will force hyperv isolation. To improve performance it is recommened to use "process" as isolation method for Windows 10 as default is hyperv. + +.EXAMPLE +PS> UpdateEnvCompose.ps1 -envRootPath (Join-Path $PWD "..") ` + -licenseFile "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" ` + -idPassword "Your Sitecore Identity password" ` + -xcIdSecret "Your XC Connect Client Secret" ` + -reportingApiKey "Your Sitecore Reporting API key" +#> + +Import-Module (Join-Path $PSScriptRoot "ScriptSupport") -DisableNameChecking -Global + +$license = ConvertToCompressedBase64String -Path $licenseFilePath + +#Find all the .env files and updated them +Get-ChildItem -Path $envRootPath -Include '*.env' -Recurse | ` +ForEach-Object { + Write-Host "Updating [$_] file ..." + + $envContent = Get-Content -Path $_ + $envContent = $envContent -replace "SITECORE_LICENSE=.*", "SITECORE_LICENSE=$license" + $envContent = $envContent -replace "SITECORE_IDSECRET=.*", "SITECORE_IDSECRET=$idSecret" + $envContent = $envContent -replace "SITECORE_ID_CERTIFICATE=.*", "SITECORE_ID_CERTIFICATE=$idCert" + $envContent = $envContent -replace "SITECORE_ID_CERTIFICATE_PASSWORD=.*", "SITECORE_ID_CERTIFICATE_PASSWORD=$idPassword" + $envContent = $envContent -replace "TELERIK_ENCRYPTION_KEY=.*", "TELERIK_ENCRYPTION_KEY=$telerikKey" + $envContent = $envContent -replace "REPORTING_API_KEY=.*", "REPORTING_API_KEY=$reportingApiKey" + $envContent = $envContent -replace "XC_IDENTITY_COMMERCEENGINECONNECTCLIENT_CLIENTSECRET1=.*", "XC_IDENTITY_COMMERCEENGINECONNECTCLIENT_CLIENTSECRET1=$xcIdSecret" + $envContent = $envContent -replace "XC_ENGINE_BRAINTREEENVIRONMENT=.*", "XC_ENGINE_BRAINTREEENVIRONMENT=$braintreeEnvironment" + $envContent = $envContent -replace "XC_ENGINE_BRAINTREEMERCHANTID=.*", "XC_ENGINE_BRAINTREEMERCHANTID=$braintreeMerchantId" + $envContent = $envContent -replace "XC_ENGINE_BRAINTREEPUBLICKEY=.*", "XC_ENGINE_BRAINTREEPUBLICKEY=$braintreePublicKey" + $envContent = $envContent -replace "XC_ENGINE_BRAINTREEPRIVATEKEY=.*", "XC_ENGINE_BRAINTREEPRIVATEKEY=$braintreePrivateKey" + + $envContent = $envContent -replace "ISOLATION=.*", "ISOLATION=$isolation" + $envContent = $envContent -replace "TRAEFIK_ISOLATION=.*", "TRAEFIK_ISOLATION=default" # There is no traefik that supports proces isolation in Windows 10 so important this stays as default and isn't overwritten by isolation above + + + Set-Content -Path $_ -Value $envContent -Force + + Write-Host ".env file [$_] has been updated" +} + +#Creates volumes folders in the host +Confirm-VolumeFoldersExist -Path "C:\containers" diff --git a/sxc/10.0/scripts/UpdateEnvTag.ps1 b/sxc/10.0/scripts/UpdateEnvTag.ps1 new file mode 100644 index 0000000..606eeb1 --- /dev/null +++ b/sxc/10.0/scripts/UpdateEnvTag.ps1 @@ -0,0 +1,96 @@ +[cmdletbinding()] +param( + [string]$jsonFile = (Join-Path '.' 'configltsc2019.json'), + [string]$envRootPath = (Join-Path $PWD ".."), + [string]$altRegistry = '', + [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 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_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 + } + + $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 + + $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 + + $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 + + 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.0/scripts/UpdateK8SYaml.ps1 b/sxc/10.0/scripts/UpdateK8SYaml.ps1 new file mode 100644 index 0000000..1b5f1f2 --- /dev/null +++ b/sxc/10.0/scripts/UpdateK8SYaml.ps1 @@ -0,0 +1,177 @@ +[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]$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 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" ` + -idPassword "Your Sitecore Identity password" ` + -xcIdSecret "Your XC Connect Client Secret" ` + -reportingApiKey "Your Sitecore Reporting API key" +#> + +#check for the json file +if (Test-Path("$jsonFile")) { + + Import-Module (Join-Path $PSScriptRoot "ScriptSupport") -DisableNameChecking -Global + + $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-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 nonproduction SQL/Solr containers + $nonprod = "$($containerConfigInfo.sxpproject)/$($containerConfigInfo.nonproductionproject)" + + Get-ChildItem -Path $_.FullName -Filter "*.yaml" -Exclude '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 "{nonproduction-project}", $nonprod | Set-Content $_.FullName -NoNewline + (Get-Content $_.FullName -Raw) -replace "{short-version-ltsc}", $($containerConfigInfo.shorttag) | Set-Content $_.FullName -NoNewline + } + } +} else { + throw "No JSON file" +} \ No newline at end of file diff --git a/sxc/10.0/scripts/WDPMapping.json b/sxc/10.0/scripts/WDPMapping.json new file mode 100644 index 0000000..8aa5ca4 --- /dev/null +++ b/sxc/10.0/scripts/WDPMapping.json @@ -0,0 +1,174 @@ +[ + { + "WDPs": [ + "Sitecore Commerce Experience Accelerator Storefront Themes", + "Sitecore Commerce Experience Accelerator Storefront", + "Sitecore Commerce Experience Accelerator" + ], + "DestinationFolder": "xc1-cxa/cd/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore Commerce Experience Accelerator Storefront Themes", + "Sitecore Commerce Experience Accelerator Storefront", + "Sitecore Commerce Experience Accelerator" + ], + "DestinationFolder": "xc1-cxa/cm/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore Commerce Experience Accelerator Habitat Catalog", + "Sitecore Commerce Experience Accelerator Storefront Themes", + "Sitecore Commerce Experience Accelerator Storefront", + "Sitecore Commerce Experience Accelerator" + ], + "DestinationFolder": "xc1-cxa/mssql/dacpacs", + "ToCopyFiles": "*.dacpac", + "NameMappings": [ + {"Name":"master", "NewName":"Sitecore.Master"}, + {"Name":"core", "NewName":"Sitecore.Core"}, + {"Name":"web", "NewName":"Sitecore.Web"} + ] + }, + { + "WDPs": [ + "Sitecore.Commerce.Engine.OnPrem.Solr" + ], + "DestinationFolder": "xc-common/engine/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore.BizFx.OnPrem" + ], + "DestinationFolder": "xc-common/bizfx/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore.Identity.Config.Commerce" + ], + "DestinationFolder": "xc-common/id/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore.Commerce.Engine.OnPrem.Solr", + "Sitecore Commerce Connect Core OnPrem", + "Sitecore Commerce Engine Connect OnPrem", + "Sitecore Commerce Marketing Automation Core OnPrem", + "Sitecore Commerce ExperienceProfile Core OnPrem", + "Sitecore Commerce ExperienceAnalytics Core OnPrem", + "Adventure Works Images.OnPrem", + "Sitecore.Commerce.Habitat.Images.OnPrem" + ], + "DestinationFolder": "xc-common/mssql/common/dacpacs", + "ToCopyFiles": "*.dacpac", + "NameMappings": [ + {"Name":"master", "NewName":"Sitecore.Master"}, + {"Name":"core", "NewName":"Sitecore.Core"}, + {"Name":"web", "NewName":"Sitecore.Web"}, + {"Name":"Sitecore.Commerce.Engine.Global.DB", "NewName":"SitecoreCommerce_Global"}, + {"Name":"Sitecore.Commerce.Engine.Shared.DB", "NewName":"SitecoreCommerce_SharedEnvironments"} + ] + }, + { + "WDPs": [ + "SolrSchemas.Sitecore.Commerce" + ], + "DestinationFolder": "xc-common/solr/wdp", + "ToCopyFolder": "" + }, + { + "WDPs": [ + "SolrSchemas.Sitecore.Commerce" + ], + "DestinationFolder": "xc-common/solr-init/wdp", + "ToCopyFolder": "" + }, + { + "WDPs": [ + "Sitecore Commerce Connect Core OnPrem", + "Sitecore Commerce Engine Connect OnPrem", + "Sitecore Commerce Marketing Automation Core OnPrem" + ], + "DestinationFolder": "xc1/cd/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore Commerce Connect Core OnPrem", + "Sitecore Commerce Engine Connect OnPrem", + "Sitecore Commerce ExperienceAnalytics Core OnPrem", + "Sitecore Commerce ExperienceProfile Core OnPrem", + "Sitecore Commerce Marketing Automation Core OnPrem" + ], + "DestinationFolder": "xc1/cm/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore Commerce ExperienceAnalytics Core" + ], + "DestinationFolder": "xc1/prcrep/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore Commerce Connect Schema Definitions for xConnect" + ], + "DestinationFolder": "xc1/xdbcollection/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore Commerce Connect Schema Definitions for IndexWorker" + ], + "DestinationFolder": "xc1/xdbsearch/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore Commerce Connect Schema Definitions for IndexWorker" + ], + "DestinationFolder": "xc-common/xdbworkers/xdbsearchworker/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore Commerce Marketing Automation for Azure" + ], + "DestinationFolder": "xc1/xdbautomation/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore Commerce Marketing Automation for Azure" + ], + "DestinationFolder": "xc-common/xdbworkers/xdbautomationworker/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore Commerce Connect Core OnPrem", + "Sitecore Commerce Engine Connect OnPrem", + "Sitecore Commerce ExperienceAnalytics Core OnPrem", + "Sitecore Commerce ExperienceProfile Core OnPrem", + "Sitecore Commerce Marketing Automation Core OnPrem", + "Sitecore Commerce ExperienceAnalytics Core" + ], + "DestinationFolder": "xc0/cm/wdp", + "ToCopyFolder": "Content/Website" + }, + { + "WDPs": [ + "Sitecore Commerce Connect Schema Definitions for xConnect", + "Sitecore Commerce Connect Schema Definitions for IndexWorker", + "Sitecore Commerce Marketing Automation for Azure" + ], + "DestinationFolder": "xc0/xconnect/wdp", + "ToCopyFolder": "Content/Website" + } +] \ No newline at end of file diff --git a/sxc/10.0/scripts/config2004.json b/sxc/10.0/scripts/config2004.json new file mode 100644 index 0000000..79c7a80 --- /dev/null +++ b/sxc/10.0/scripts/config2004.json @@ -0,0 +1,15 @@ +{ + "shorttag": "10.0.0-2004", + "sxptag": "10.0.0-2004", + "customercommercetag": "10.0.0-2004", + "spetag": "6.1.1.205-10.0.17763.1339-1809", + "sxatag": "10.0.0.3138.205-10.0.17763.1339-1809", + "scrdockerregistry": "scr.sitecore.com", + "sxpproject": "sxp", + "sxcproject": "sxc", + "baseproject": "base", + "modulesproject": "modules", + "nonproductionproject": "nonproduction", + "nonproductiontag": "10.0.0-ltsc2019", + "os_image_tag": "2004" +} diff --git a/sxc/10.0/scripts/config2009.json b/sxc/10.0/scripts/config2009.json new file mode 100644 index 0000000..4f37f6f --- /dev/null +++ b/sxc/10.0/scripts/config2009.json @@ -0,0 +1,15 @@ +{ + "shorttag": "10.0.0-2009", + "sxptag": "10.0.0-2009", + "customercommercetag": "10.0.0-2009", + "spetag": "6.1.1.205-10.0.17763.1339-1809", + "sxatag": "10.0.0.3138.205-10.0.17763.1339-1809", + "scrdockerregistry": "scr.sitecore.com", + "sxpproject": "sxp", + "sxcproject": "sxc", + "baseproject": "base", + "modulesproject": "modules", + "nonproductionproject": "nonproduction", + "nonproductiontag": "10.0.0-ltsc2019", + "os_image_tag": "2009" +} diff --git a/sxc/10.0/scripts/configltsc2019.json b/sxc/10.0/scripts/configltsc2019.json new file mode 100644 index 0000000..38f9859 --- /dev/null +++ b/sxc/10.0/scripts/configltsc2019.json @@ -0,0 +1,15 @@ +{ + "shorttag": "10.0.0-ltsc2019", + "sxptag": "10.0.0-ltsc2019", + "customercommercetag": "10.0.0-ltsc2019", + "spetag": "6.1.1.205-10.0.17763.1339-1809", + "sxatag": "10.0.0.3138.205-10.0.17763.1339-1809", + "scrdockerregistry": "scr.sitecore.com", + "sxpproject": "sxp", + "sxcproject": "sxc", + "baseproject": "base", + "modulesproject": "modules", + "nonproductionproject": "nonproduction", + "nonproductiontag": "10.0.0-ltsc2019", + "os_image_tag": "ltsc2019" +} \ No newline at end of file diff --git a/sxc/10.0/scripts/readme.md b/sxc/10.0/scripts/readme.md new file mode 100644 index 0000000..bdafe26 --- /dev/null +++ b/sxc/10.0/scripts/readme.md @@ -0,0 +1,59 @@ +# 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. + +**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. + +**PrepContainerBuild.ps1** -> takes the Sitecore Experience Commerce Release Package artifacts from [dev.sitecore.net](https://dev.sitecore.net) and expands them into the source code directory structure. 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. + +**UpdateEnvCompose.ps1** -> updates a /[topology]/.env file with provided values. + +**UpdateK8SYaml.ps1** -> sets Kubernetes secrets files with values from the configltsc2019 json file. Kubernetes only supports Windows LTSC 2019 images. + +**ScriptSupport.psm1** -> contains supporting functions used by the scripts. + +## JSON Files + +**WDPMapping.json** -> used by the PrepContainerBuild.ps1. This file contains mapping information that is used to place the content of the release package artifacts in the correct location for use by the docker-compose build process. +>**NOTE:** You must list packages with similar names starting with more exclusive package name, and ending with the less exclusive package name. For example: +> ```JSON +> { +> "WDPs": [ +> "Sitecore Commerce Experience Accelerator Storefront Themes", +> "Sitecore Commerce Experience Accelerator Storefront", +> "Sitecore Commerce Experience Accelerator" +> ], +> "DestinationFolder": "xc1-cxa/cd/wdp", +> "ToCopyFolder": "Content/Website" +> } +> ``` + +**configltsc2019.json** and **config1909.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 to customize the files for use in the build and run processes. + +| Variable | Value | Description | +| --------------- | --------------------------- | -------------------------------------------------------------| +| shorttag | 10.0.0-ltsc201 | 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. | +| sxptag | 10.0.0.004346.337-10.0.17763.1339-ltsc2019 | Long tag of the SXP container image you want to consume. Example of long tag: "10.0.0.004346.337-10.0.17763.1339-ltsc2019" -> *[XP Version].[XP Revision].[Container Build Number]-[Operating System Version].[Operating System Patch Level]-[Operating System Name]*. | +| customercommercetag | 10.0.0.60231.10194-pbi-422197-0024-10.0.17763.1282-ltsc2019 | Tag for the XC container images you built with your application. | +| spetag | 6.1.1.205-10.0.17763.1339-1809 | Sitecore Powershell Extensions container image tag. | +| sxatag | 10.0.0.3138.205-10.0.17763.1339-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.0.0-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 *ltsc2019* and *1909* | + +**FakeLicenseFile.txt** -> fake license file used as a place holder for the -licenseFilePath command-line parameter. diff --git a/sxc/10.0/xc-common/.env b/sxc/10.0/xc-common/.env new file mode 100644 index 0000000..7364048 --- /dev/null +++ b/sxc/10.0/xc-common/.env @@ -0,0 +1,5 @@ +BASE_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/base/ + +XP_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxp/ +XP_SITECORE_TAG=10.0.0-ltsc2019 +OS_IMAGE_TAG=ltsc2019 diff --git a/sxc/10.0/xc-common/bizfx/Dockerfile b/sxc/10.0/xc-common/bizfx/Dockerfile new file mode 100644 index 0000000..8a63bcc --- /dev/null +++ b/sxc/10.0/xc-common/bizfx/Dockerfile @@ -0,0 +1,34 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: bizfx + +ARG BASE_IMAGE + +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 .\InstallPrerequisites.ps1 .\ +RUN .\InstallPrerequisites.ps1; + +COPY wdp/ . +COPY Init.ps1 "C:\\inetpub\\" +COPY LogMonitorConfig.json "c:\\LogMonitor\\" + +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.0/xc-common/bizfx/Init.ps1 b/sxc/10.0/xc-common/bizfx/Init.ps1 new file mode 100644 index 0000000..9ec3b6a --- /dev/null +++ b/sxc/10.0/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.0/xc-common/bizfx/InstallPrerequisites.ps1 b/sxc/10.0/xc-common/bizfx/InstallPrerequisites.ps1 new file mode 100644 index 0000000..0b628c1 --- /dev/null +++ b/sxc/10.0/xc-common/bizfx/InstallPrerequisites.ps1 @@ -0,0 +1,33 @@ +# delete everything from wwwroot +Write-Host "Emptying c:\inetpub\wwwroot folder" +Remove-Item -Recurse C:\inetpub\wwwroot\* + +#Install rewrite module +try { + Write-Host "Downloading rewrite module" + Invoke-WebRequest -Uri "https://download.microsoft.com/download/1/2/8/128E2E22-C1B9-44A4-BE2A-5859ED1D4592/rewrite_amd64_en-US.msi" -OutFile rewrite_amd64_en-US.msi -ErrorAction Stop; + Write-Host "Installing rewrite module" + Start-Process -NoNewWindow -Wait msiexec.exe -ArgumentList /i, "rewrite_amd64_en-US.msi", /qn +} +catch { + Write-Error "Installing rewrite module FAILED." + Write-Error Error[0] + exit(1) +} + +#install logMonitor +try { + Write-Host "Creating directory for Log Monitor" + New-Item -Path "c:\\" -Name "LogMonitor" -ItemType "directory"; ` + Write-Host "Installing Log Monitor" + Invoke-WebRequest -Uri "https://github.com/microsoft/windows-container-tools/releases/download/v1.1/LogMonitor.exe" -OutFile c:\LogMonitor\LogMonitor.exe; +} +catch { + Write-Error "Installing Log Monitor FAILED" + Write-Error Error[0] + exit(1) +} + +#remove the rewrite msi +Write-Host "Cleaning up downloaded file" +Remove-Item rewrite_amd64_en-US.msi -Recurse -Force; diff --git a/sxc/10.0/xc-common/bizfx/LogMonitorConfig.json b/sxc/10.0/xc-common/bizfx/LogMonitorConfig.json new file mode 100644 index 0000000..53373b2 --- /dev/null +++ b/sxc/10.0/xc-common/bizfx/LogMonitorConfig.json @@ -0,0 +1,23 @@ +{ + "LogConfig": { + "sources": [ + { + "type": "EventLog", + "startAtOldestRecord": false, + "eventFormatMultiLine": false, + "channels": [ + { + "name": "system", + "level": "Error" + } + ] + }, + { + "type": "File", + "directory": "c:\\inetpub\\logs", + "filter": "*.log", + "includeSubdirectories": true + } + ] + } +} \ No newline at end of file diff --git a/sxc/10.0/xc-common/cd-cm/Dockerfile b/sxc/10.0/xc-common/cd-cm/Dockerfile new file mode 100644 index 0000000..620e3f3 --- /dev/null +++ b/sxc/10.0/xc-common/cd-cm/Dockerfile @@ -0,0 +1,38 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: cd, cm + +ARG BASE_IMAGE + +FROM ${BASE_IMAGE} + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +ENV DOTNET_RUNNING_IN_CONTAINER=true + +COPY xdts c:/xdts +COPY tools c:/tools +COPY Permissions c:/Permissions + +WORKDIR c:/inetpub/wwwroot + +COPY Content/Website/ wdp/ ./ + +ADD https://dist.nuget.org/win-x86-commandline/v5.2.0/nuget.exe c:\tools + +RUN New-Item -Path C:\inetpub\wwwroot\App_Config -Name Security-Shared -ItemType directory; ` + c:\tools\nuget.exe install Microsoft.Web.Xdt -Version 3.0.0 -OutputDirectory C:\tools -ExcludeVersion; ` + c:\tools\Invoke-XdtTransformations.ps1 -TargetPath c:\inetpub\wwwroot -XdtPath c:\xdts -XdtDllPath c:\tools\Microsoft.Web.Xdt\lib\netstandard2.0\Microsoft.Web.XmlTransform.dll;` + 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; + +SHELL ["C:\\LogMonitor\\LogMonitor.exe", "powershell.exe"] + +# hadolint ignore=DL3025 +ENTRYPOINT $env:IIS_APPPOOL_IDENTITY = 'IIS AppPool\DefaultAppPool'; ` + C:\tools\GrantWritePermission.ps1 -TargetFoldersFile 'C:\Permissions\AdditionalWriteAllowedFolders.txt' -User $env:IIS_APPPOOL_IDENTITY; ` + if (-not (Test-Path C:\inetpub\wwwroot\App_Config\Security-Shared\Domains.config)) { Copy-Item -Path C:\inetpub\wwwroot\App_Config\Security\Domains.config -Destination C:\inetpub\wwwroot\App_Config\Security-Shared\Domains.config }; ` + C:\ServiceMonitor.exe w3svc; diff --git a/sxc/10.0/xc-common/docker-compose.build.yml b/sxc/10.0/xc-common/docker-compose.build.yml new file mode 100644 index 0000000..c5115a8 --- /dev/null +++ b/sxc/10.0/xc-common/docker-compose.build.yml @@ -0,0 +1,20 @@ +version: "2.4" +services: + id: + build: + context: ./id + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-id:${XP_SITECORE_TAG} + image: sitecore-xc-id + bizfx: + build: + context: ./bizfx + args: + BASE_IMAGE: mcr.microsoft.com/windows/servercore/iis:windowsservercore-${OS_IMAGE_TAG} + image: sitecore-xc-bizfx + engine: + build: + context: ./engine + args: + BASE_IMAGE: mcr.microsoft.com/windows/servercore:${OS_IMAGE_TAG} + image: sitecore-xc-engine diff --git a/sxc/10.0/xc-common/engine/Dockerfile b/sxc/10.0/xc-common/engine/Dockerfile new file mode 100644 index 0000000..c2bf1ca --- /dev/null +++ b/sxc/10.0/xc-common/engine/Dockerfile @@ -0,0 +1,31 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: engine-authoring, engine-shops, engine-minions, engine-ops + +ARG BASE_IMAGE + +FROM ${BASE_IMAGE} + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +USER ContainerAdministrator + +ADD http://do-srvc-01-dk1.dk.sitecore.net/dtservice/api/assets/deamon/LogMonitor.exe .\LogMonitor\LogMonitor.exe +ADD https://download.visualstudio.microsoft.com/download/pr/9b9f4a6e-aef8-41e0-90db-bae1b0cf4e34/4ab93354cdff8991d91a9f40d022d450/dotnet-hosting-3.1.6-win.exe .\install\dotnet.exe + +RUN Start-Process -FilePath '.\install\dotnet.exe' -ArgumentList '/Passive /NoRestart' -Wait; + +ENV ASPNETCORE_URLS=http://+:5000 ` + DOTNET_RUNNING_IN_CONTAINER=true ` + DOTNET_RUNNING_IN_CONTAINERS=true + +COPY /Healthchecks/Healthcheck.ps1 ./Healthchecks/ +COPY /LogMonitor ./LogMonitor + +WORKDIR C:/engine +COPY wdp/ . + +USER ContainerUser + +EXPOSE 5000 + +ENTRYPOINT ["C:\\LogMonitor\\LogMonitor.exe", "dotnet.exe", "Sitecore.Commerce.Engine.dll"] \ No newline at end of file diff --git a/sxc/10.0/xc-common/engine/Healthchecks/Healthcheck.ps1 b/sxc/10.0/xc-common/engine/Healthchecks/Healthcheck.ps1 new file mode 100644 index 0000000..1e47cfe --- /dev/null +++ b/sxc/10.0/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.0/xc-common/engine/LogMonitor/LogMonitorConfig.json b/sxc/10.0/xc-common/engine/LogMonitor/LogMonitorConfig.json new file mode 100644 index 0000000..9f88798 --- /dev/null +++ b/sxc/10.0/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.0/xc-common/id/Dockerfile b/sxc/10.0/xc-common/id/Dockerfile new file mode 100644 index 0000000..c4e2442 --- /dev/null +++ b/sxc/10.0/xc-common/id/Dockerfile @@ -0,0 +1,9 @@ +# This Dockerfile is used to generate images for the following roles: id + +ARG BASE_IMAGE + +FROM ${BASE_IMAGE} + +WORKDIR c:/Identity + +COPY wdp/ . \ No newline at end of file diff --git a/sxc/10.0/xc-common/mssql/common/tools/DeployRoles.ps1 b/sxc/10.0/xc-common/mssql/common/tools/DeployRoles.ps1 new file mode 100644 index 0000000..8fc478a --- /dev/null +++ b/sxc/10.0/xc-common/mssql/common/tools/DeployRoles.ps1 @@ -0,0 +1,126 @@ +param( + [Parameter(Mandatory = $true)] + [string] $coreDatabaseName, + + [string]$SqlServer = "(local)", + + [string]$SqlAdminUser = "sa", + + [string]$SqlAdminPassword, + + [switch]$SkipStartingServer +) + +function Invoke-Sqlcmd { + param( + [string]$SqlDatabase, + [string]$SqlServer, + [string]$SqlAdminUser, + [string]$SqlAdminPassword, + [string]$Query + ) + + $arguments = " -Q ""$Query"" -S '$SqlServer' -l 600 -t 600" + + if ($SqlAdminUser -and $SqlAdminPassword) { + $arguments += " -U '$SqlAdminUser' -P '$SqlAdminPassword'" + } + + if ($SqlDatabase) { + $arguments += " -d '$SqlDatabase'" + } + + Invoke-Expression "sqlcmd $arguments" + + if ($LASTEXITCODE -ne 0) { + throw "sqlcmd exited with code $LASTEXITCODE" + } +} + +function Add-Role { + param( + [string]$coreDatabaseName, + [string]$roleName, + [string]$applicationName = "sitecore", + [string]$sqlServer, + [string]$sqlAdminUser, + [string]$sqlAdminPassword + ) + + $sqlcmd = "EXEC [dbo].[aspnet_Roles_CreateRole] '$($applicationName)', '$($roleName)'" + Invoke-Sqlcmd -SqlDatabase $coreDatabaseName -SqlServer $sqlServer -SqlAdminUser $sqlAdminUser -SqlAdminPassword $sqlAdminPassword -Query $sqlcmd + Write-Host "Created role: $($roleName)." +} + +function Add-RoleToUser { + param( + [string]$coreDatabaseName, + [string]$roleName, + [string]$userName, + [string]$applicationName = "sitecore", + [string]$sqlServer, + [string]$sqlAdminUser, + [string]$sqlAdminPassword + ) + + $sqlcmd = "USE [$($coreDatabaseName)] + GO + declare @dt DATETIME + set @dt = GETUTCDATE() + EXEC [dbo].[aspnet_UsersInRoles_AddUsersToRoles] '$($applicationName)', '$($userName)', '$($roleName)', @dt + GO" + Invoke-Sqlcmd -SqlDatabase $coreDatabaseName -SqlServer $sqlServer -SqlAdminUser $sqlAdminUser -SqlAdminPassword $sqlAdminPassword -Query $sqlcmd + Write-Host "Role added to user: $($roleName), $($userName)." +} + +function Add-RoleToRole { + param( + [string]$coreDatabaseName, + [string]$memberRoleName, + [string]$targetRoleName, + [string]$applicationName = "", + [string]$sqlServer, + [string]$sqlAdminUser, + [string]$sqlAdminPassword + ) + + $sqlcmd = "INSERT INTO [dbo].[RolesInRoles] (MemberRoleName, TargetRoleName, ApplicationName, Created) VALUES ('$($memberRoleName)', '$($targetRoleName)', '$($applicationName)', GETUTCDATE())" + Invoke-Sqlcmd -SqlDatabase $coreDatabaseName -SqlServer $sqlServer -SqlAdminUser $sqlAdminUser -SqlAdminPassword $sqlAdminPassword -Query $sqlcmd + Write-Host "$($memberRoleName) role added to $($targetRoleName) role." +} + +if (-not $SkipStartingServer) { + Start-Service MSSQLSERVER +} + +Add-Role $coreDatabaseName -roleName 'sitecore\Commerce Administrator' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-Role $coreDatabaseName -roleName 'sitecore\Commerce Business User' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-Role $coreDatabaseName -roleName 'sitecore\Customer Service Representative' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-Role $coreDatabaseName -roleName 'sitecore\Customer Service Representative Administrator' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-Role $coreDatabaseName -roleName 'sitecore\Merchandiser' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-Role $coreDatabaseName -roleName 'sitecore\Pricer' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-Role $coreDatabaseName -roleName 'sitecore\Pricer Manager' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-Role $coreDatabaseName -roleName 'sitecore\Promotioner' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-Role $coreDatabaseName -roleName 'sitecore\Promotioner Manager' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-Role $coreDatabaseName -roleName 'sitecore\Relationship Administrator' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-Role $coreDatabaseName -roleName 'sitecore\QA' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword + +Add-RoleToUser $coreDatabaseName -roleName 'sitecore\Commerce Administrator' -userName 'sitecore\admin' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-RoleToUser $coreDatabaseName -roleName 'sitecore\Commerce Business User' -userName 'sitecore\admin' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword + +Add-RoleToRole $coreDatabaseName -memberRoleName 'sitecore\Customer Service Representative' -targetRoleName 'sitecore\Commerce Business User' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-RoleToRole $coreDatabaseName -memberRoleName 'sitecore\Relationship Administrator' -targetRoleName 'sitecore\Commerce Business User' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-RoleToRole $coreDatabaseName -memberRoleName 'sitecore\Pricer' -targetRoleName 'sitecore\Commerce Business User' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-RoleToRole $coreDatabaseName -memberRoleName 'sitecore\Promotioner' -targetRoleName 'sitecore\Commerce Business User' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-RoleToRole $coreDatabaseName -memberRoleName 'sitecore\Merchandiser' -targetRoleName 'sitecore\Relationship Administrator' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-RoleToRole $coreDatabaseName -memberRoleName 'sitecore\Pricer Manager' -targetRoleName 'sitecore\Pricer' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-RoleToRole $coreDatabaseName -memberRoleName 'sitecore\Promotioner Manager' -targetRoleName 'sitecore\Promotioner' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-RoleToRole $coreDatabaseName -memberRoleName 'sitecore\Customer Service Representative Administrator' -targetRoleName 'sitecore\Customer Service Representative' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-RoleToRole $coreDatabaseName -memberRoleName 'sitecore\Commerce Administrator' -targetRoleName 'sitecore\Customer Service Representative Administrator' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-RoleToRole $coreDatabaseName -memberRoleName 'sitecore\Commerce Administrator' -targetRoleName 'sitecore\Pricer Manager' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-RoleToRole $coreDatabaseName -memberRoleName 'sitecore\Commerce Administrator' -targetRoleName 'sitecore\Promotioner Manager' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword +Add-RoleToRole $coreDatabaseName -memberRoleName 'sitecore\Commerce Administrator' -targetRoleName 'sitecore\Merchandiser' -sqlServer $SqlServer -sqlAdminUser $SqlAdminUser -sqlAdminPassword $SqlAdminPassword + +if (-not $SkipStartingServer) { + Stop-Service MSSQLSERVER +} \ No newline at end of file diff --git a/sxc/10.0/xc-common/mssql/common/tools/StartCommerceInit.ps1 b/sxc/10.0/xc-common/mssql/common/tools/StartCommerceInit.ps1 new file mode 100644 index 0000000..2cc0785 --- /dev/null +++ b/sxc/10.0/xc-common/mssql/common/tools/StartCommerceInit.ps1 @@ -0,0 +1,29 @@ +[CmdletBinding()] +param ( + [Parameter(Mandatory)] + [ValidateScript({ Test-Path $_ -PathType Container })] + [string]$ResourcesDirectory, + + [Parameter(Mandatory)] + [string]$SqlServer, + + [Parameter(Mandatory)] + [string]$SqlAdminUser, + + [Parameter(Mandatory)] + [string]$SqlAdminPassword, + + [Parameter(Mandatory)] + [string]$SitecoreAdminPassword, + + [string]$SqlElasticPoolName, + [object[]]$DatabaseUsers, + + [string]$CoreDatabaseName +) + +# Forward all arguments to the XP initialization script for initial database publishing and user creation +.\StartInit.ps1 -ResourcesDirectory $ResourcesDirectory -SqlServer $SqlServer -SqlAdminUser $SqlAdminUser -SqlAdminPassword $SqlAdminPassword -SitecoreAdminPassword $SitecoreAdminPassword -SqlElasticPoolName $SqlElasticPoolName -DatabaseUsers $DatabaseUsers + +# Create XC specific roles/users +.\DeployRoles.ps1 -coreDatabaseName $CoreDatabaseName -SqlServer $SqlServer -SqlAdminUser $SqlAdminUser -SqlAdminPassword $SqlAdminPassword -SkipStartingServer \ No newline at end of file diff --git a/sxc/10.0/xc-common/mssql/init/Dockerfile b/sxc/10.0/xc-common/mssql/init/Dockerfile new file mode 100644 index 0000000..849d6e6 --- /dev/null +++ b/sxc/10.0/xc-common/mssql/init/Dockerfile @@ -0,0 +1,35 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: mssql + +ARG BASE_IMAGE + +FROM ${BASE_IMAGE} + +ARG TOPOLOGY +ENV TOPOLOGY=${TOPOLOGY} + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY ./dacpacs ./resources +COPY ./tools/StartCommerceInit.ps1 ./tools/DeployRoles.ps1 ./ + +# hadolint ignore=DL3025 +ENTRYPOINT .\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 -SqlElasticPoolName $env:SQL_ELASTIC_POOL_NAME -CoreDatabaseName $env:SITECORE_CORE_DB ` + -DatabaseUsers @( ` + @{'databaseName' = 'Sitecore.Master'; 'username' = $env:Master_Database_Username; 'password' = $env:Master_Database_Password}, ` + @{'databaseName' = 'Sitecore.Core'; 'username' = $env:Core_Database_Username; 'password' = $env:Core_Database_Password}, ` + @{'databaseName' = 'Sitecore.Web'; 'username' = $env:Web_Database_Username; 'password' = $env:Web_Database_Password}, ` + @{'databaseName' = 'Sitecore.Experienceforms'; 'username' = $env:Forms_Database_Username; 'password' = $env:Forms_Database_Password}, ` + @{'databaseName' = 'Sitecore.Exm.master'; 'username' = $env:Exm_Master_Database_Username; 'password' = $env:Exm_Master_Database_Password}, ` + @{'databaseName' = 'Sitecore.Marketingautomation'; 'username' = $env:Marketing_Automation_Database_Username; 'password' = $env:Marketing_Automation_Database_Password}, ` + @{'databaseName' = 'Sitecore.Messaging'; 'username' = $env:Messaging_Database_Username; 'password' = $env:Messaging_Database_Password }, ` + @{'databaseName' = 'Sitecore.Reporting'; 'username' = $env:Reporting_Database_Username; 'password' = $env:Reporting_Database_Password }, ` + @{'databaseName' = 'Sitecore.Referencedata'; 'username' = $env:Reference_Data_Database_Username; 'password' = $env:Reference_Data_Database_Password }, ` + @{'databaseName' = 'Sitecore.Processing.Pools'; 'username' = $env:Processing_Pools_Database_Username; 'password' = $env:Processing_Pools_Database_Password }, ` + @{'databaseName' = 'Sitecore.Processing.Tasks'; 'username' = $env:Processing_Tasks_Database_Username; 'password' = $env:Processing_Tasks_Database_Password }, ` + @{'databaseName' = 'Sitecore.Processing.Engine.Tasks'; 'username' = $env:Processing_Engine_Tasks_Database_Username; 'password' = $env:Processing_Engine_Tasks_Database_Password }, ` + @{'databaseName' = 'Sitecore.Processing.Engine.Storage'; 'username' = $env:Processing_Engine_Storage_Database_Username; 'password' = $env:Processing_Engine_Storage_Database_Password }, ` + @{'databaseName' = 'Sitecore.Xdb.Collection.ShardMapManager'; 'username' = $env:Collection_ShardMapManager_Database_Username; 'password' = $env:Collection_ShardMapManager_Database_Password }, ` + @{'databaseName' = 'Sitecore.Xdb.Collection.Shard0'; 'username' = $env:Collection_ShardMapManager_Database_Username; 'password' = $env:Collection_ShardMapManager_Database_Password }, ` + @{'databaseName' = 'Sitecore.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.0/xc-common/mssql/standalone/Dockerfile b/sxc/10.0/xc-common/mssql/standalone/Dockerfile new file mode 100644 index 0000000..290999e --- /dev/null +++ b/sxc/10.0/xc-common/mssql/standalone/Dockerfile @@ -0,0 +1,19 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: mssql + +ARG BASE_IMAGE + +FROM ${BASE_IMAGE} + +ARG SITECORE_CORE_DB +ENV SITECORE_CORE_DB=${SITECORE_CORE_DB} + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY ./dacpacs ./dacpacs +COPY ./tools/DeployRoles.ps1 ./xc/tools/ + +RUN C:\DeployDatabases.ps1 -ResourcesDirectory C:\dacpacs -DatabaseOwner "sa" -EnableContainedDatabaseAuth; ` + .\xc\tools\DeployRoles.ps1 -coreDatabaseName $env:SITECORE_CORE_DB; ` + Remove-Item .\dacpacs -Recurse -Force; ` + Remove-Item .\xc -Recurse -Force; diff --git a/sxc/10.0/xc-common/prc-rep-xdba-xdbc/Dockerfile b/sxc/10.0/xc-common/prc-rep-xdba-xdbc/Dockerfile new file mode 100644 index 0000000..19eac43 --- /dev/null +++ b/sxc/10.0/xc-common/prc-rep-xdba-xdbc/Dockerfile @@ -0,0 +1,10 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: prc, rep, xdba, xdbc + +ARG BASE_IMAGE + +FROM ${BASE_IMAGE} + +WORKDIR /inetpub/wwwroot + +COPY wdp/ ./ \ No newline at end of file diff --git a/sxc/10.0/xc-common/solr-init/Dockerfile b/sxc/10.0/xc-common/solr-init/Dockerfile new file mode 100644 index 0000000..daf8c53 --- /dev/null +++ b/sxc/10.0/xc-common/solr-init/Dockerfile @@ -0,0 +1,36 @@ +# escape=` + +ARG BASE_IMAGE + +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 .\tools\scripts\ .\ +COPY .\${XC_TOPOLOGY}\ .\wdp\ .\data\ + +ENTRYPOINT .\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.0/xc-common/solr-init/tools/scripts/New-SolrCore-Commerce.ps1 b/sxc/10.0/xc-common/solr-init/tools/scripts/New-SolrCore-Commerce.ps1 new file mode 100644 index 0000000..115e568 --- /dev/null +++ b/sxc/10.0/xc-common/solr-init/tools/scripts/New-SolrCore-Commerce.ps1 @@ -0,0 +1,48 @@ +param( + [Parameter(Mandatory)] + [string]$SolrEndpoint, + + [Parameter(Mandatory)] + [string[]]$SolrCoreNames, + + [Parameter(Mandatory)] + [string]$SolrCorePrefix, + + [Parameter(Mandatory)] + [string]$SolrConfigsetName, + + [Parameter(Mandatory)] + [string]$SolrReplicationFactor, + + [Parameter(Mandatory)] + [string]$SolrNumberOfShards, + + [Parameter(Mandatory)] + [string]$SolrMaxShardNumberPerNode, + + $SolrCollectionAliases +) +function Invoke-SolrWebRequest { + param ( + [Parameter(Mandatory)] + [string]$Uri + ) + + return Invoke-RestMethod -Credential (Get-SolrCredential) -Uri $Uri ` + -ContentType "application/json" -Method Post +} +foreach($solrCoreName in $SolrCoreNames) { + + $solrCollectionName = ('{0}{1}' -f $SolrCorePrefix, $solrCoreName) + Write-Host "Creating $solrCollectionName SOLR collection" + + $solrUrl = [System.String]::Concat($SolrEndpoint, "/admin/collections?action=CREATE&name=", $solrCollectionName , + "&collection.configName=", $SolrConfigsetName, "&replicationFactor=", $SolrReplicationFactor, + "&numShards=", $SolrNumberOfShards, "&maxShardsPerNode=", $SolrMaxShardNumberPerNode, "&property.update.autoCreateFields=false") + $null = Invoke-SolrWebRequest -Uri $solrUrl + + if( $SolrCollectionAliases.$solrCoreName ) { + $aliasName = '{0}{1}' -f $SolrCorePrefix, $SolrCollectionAliases.$solrCoreName + .\New-SolrAlias.ps1 -SolrEndpoint $SolrEndpoint -SolrCollectionName $solrCollectionName -AliasName $aliasName + } +} \ No newline at end of file diff --git a/sxc/10.0/xc-common/solr-init/tools/scripts/Start-Commerce.ps1 b/sxc/10.0/xc-common/solr-init/tools/scripts/Start-Commerce.ps1 new file mode 100644 index 0000000..e875aac --- /dev/null +++ b/sxc/10.0/xc-common/solr-init/tools/scripts/Start-Commerce.ps1 @@ -0,0 +1,92 @@ +param( + [Parameter(Mandatory)] + [string]$SitecoreSolrConnectionString, + + [Parameter(Mandatory)] + [string]$SolrSitecoreConfigsetSuffixName, + + [Parameter(Mandatory)] + [string]$SolrCorePrefix, + + [Parameter(Mandatory)] + [string]$SolrReplicationFactor, + + [Parameter(Mandatory)] + [int]$SolrNumberOfShards, + + [Parameter(Mandatory)] + [int]$SolrMaxShardsPerNodes, + + [string]$SolrXdbSchemaFile, + + [Parameter(Mandatory)] + [string]$CommerceSolrConnectionString, + + [string]$SolrCommercePrefix, + + [string]$SolrCommercePostfix, + + [string]$SolrCommerceRebuildPostfix +) + +function GetCommerceCoreNames { + param ( + [ValidateSet("commerce")] + [string]$CoreType + ) + + $resultCoreNames = @() + Get-ChildItem C:\data -Filter cores*.json | ForEach-Object { + $coreNames = (Get-Content $_.FullName | Out-String | ConvertFrom-Json).$CoreType + if ($coreNames) { + $resultCoreNames += $coreNames + } + } + + return $resultCoreNames +} + +# XP start +.\Start.ps1 -SitecoreSolrConnectionString $SitecoreSolrConnectionString -SolrCorePrefix $SolrCorePrefix -SolrSitecoreConfigsetSuffixName $SolrSitecoreConfigsetSuffixName -SolrReplicationFactor $SolrReplicationFactor -SolrNumberOfShards $SolrNumberOfShards -SolrMaxShardsPerNodes $SolrMaxShardsPerNodes -SolrXdbSchemaFile .\data\schema.json + +# Commerce Start +. .\Get-SolrCredential.ps1 + +$solrContext = .\Parse-ConnectionString.ps1 -SitecoreSolrConnectionString $CommerceSolrConnectionString +$SolrEndpoint = $solrContext.SolrEndpoint +$env:SOLR_USERNAME = $solrContext.SolrUsername +$env:SOLR_PASSWORD = $solrContext.SolrPassword + +$solrBaseConfigDir = "C:\temp\commerce" +.\Download-SolrConfig.ps1 -SolrEndpoint $SolrEndpoint -OutPath $solrBaseConfigDir + +$solrCommerceCoreNames = GetCommerceCoreNames("commerce") + +foreach ($solrCoreName in $solrCommerceCoreNames) { + Write-Information -MessageData "Trying to create collections for '$solrCoreName'." -InformationAction:Continue + $solrCollectionName = ('_{0}{1}' -f $solrCoreName, $SolrCommercePostfix) + $solrCollectionNameWithPrefix = ('{0}{1}' -f $SolrCommercePrefix, $solrCollectionName) + + $solrRebuildCollectionName = ('{0}{1}' -f $solrCollectionName , $SolrCommerceRebuildPostfix) + + if ($solrCollections -contains $solrCollectionName -or $solrCollections -contains $solrRebuildCollectionName) { + Write-Information -MessageData "Commerce collections already exist. Use a collection name prefix different from '$SolrCommercePrefix'." -InformationAction:Continue + return + } + + $solrConfigsetName = ('{0}{1}' -f $solrCollectionNameWithPrefix, $SolrSitecoreConfigsetSuffixName) + + $solrConfigDir = Join-Path ".\temp" $solrConfigsetName + $solrCoreDir = Join-Path ".\data" $solrCoreName + + Copy-Item -Path $solrBaseConfigDir -Destination $solrConfigDir -Recurse -Force + Copy-Item -Path (Join-Path $solrCoreDir "*") -Destination $solrConfigDir -Recurse -Force + + .\New-SolrConfig.ps1 -SolrEndpoint $SolrEndpoint -SolrConfigName $solrConfigsetName -SolrConfigDir $solrConfigDir + + .\New-SolrCore-Commerce.ps1 -SolrCoreNames $solrCollectionName -SolrEndpoint $SolrEndpoint -SolrCorePrefix $SolrCommercePrefix -SolrConfigsetName $solrConfigsetName -SolrReplicationFactor $SolrReplicationFactor -SolrNumberOfShards $SolrNumberOfShards -SolrMaxShardNumberPerNode $SolrMaxShardsPerNodes + .\New-SolrCore-Commerce.ps1 -SolrCoreNames $solrRebuildCollectionName -SolrEndpoint $SolrEndpoint -SolrCorePrefix $SolrCommercePrefix -SolrConfigsetName $solrConfigsetName -SolrReplicationFactor $SolrReplicationFactor -SolrNumberOfShards $SolrNumberOfShards -SolrMaxShardNumberPerNode $SolrMaxShardsPerNodes +} + +#clean up +Remove-Item "c:\temp" -Recurse -Force \ No newline at end of file diff --git a/sxc/10.0/xc-common/solr-init/xc1/cores-commerce.json b/sxc/10.0/xc-common/solr-init/xc1/cores-commerce.json new file mode 100644 index 0000000..3e75700 --- /dev/null +++ b/sxc/10.0/xc-common/solr-init/xc1/cores-commerce.json @@ -0,0 +1,9 @@ +{ + "commerce": [ + "CatalogItems", + "Customers", + "Orders", + "PriceCards", + "Promotions" + ] +} \ No newline at end of file diff --git a/sxc/10.0/xc-common/solr/Dockerfile b/sxc/10.0/xc-common/solr/Dockerfile new file mode 100644 index 0000000..ce40707 --- /dev/null +++ b/sxc/10.0/xc-common/solr/Dockerfile @@ -0,0 +1,19 @@ +# escape=` +# This Dockerfile is used to generate images for the following roles: solr + +ARG BASE_IMAGE + +FROM ${BASE_IMAGE} + +ARG SOLR_COMMERCE_CORE_NAMES + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY ./wdp ./data-commerce +COPY ./tools/scripts ./ + +RUN .\Add-Commerce-SolrCores.ps1 -SolrPath C:\solr -SolrCoreNames $env:SOLR_COMMERCE_CORE_NAMES; ` + Remove-Item ./data-commerce -Recurse -Force + +# hadolint ignore=DL3025 +CMD .\Start-Commerce.ps1 -InstallPath "c:\\solr\\server\\solr" -DataPath $env:SOLR_HOME -Verbose \ No newline at end of file diff --git a/sxc/10.0/xc-common/solr/tools/scripts/Add-Commerce-SolrCores.ps1 b/sxc/10.0/xc-common/solr/tools/scripts/Add-Commerce-SolrCores.ps1 new file mode 100644 index 0000000..3b04f23 --- /dev/null +++ b/sxc/10.0/xc-common/solr/tools/scripts/Add-Commerce-SolrCores.ps1 @@ -0,0 +1,44 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory)] + [ValidateScript({ Test-Path $_ -PathType Container })] + [string]$SolrPath, + + [Parameter(Mandatory)] + [ValidateNotNullOrEmpty()] + [string]$SolrCoreNames, + + [string]$SolrCommercePostfix = "Scope", + + [string]$SolrCommerceRebuildPostfix = "-Rebuild" +) + +function Create-SolrCore { + param ( + [Parameter(Mandatory)] + [ValidateNotNullOrEmpty()] + [string] $SourceCoreName, + + [Parameter(Mandatory)] + [ValidateNotNullOrEmpty()] + [string] $TargetCoreName + ) + + $corePath = Join-Path $SolrPath "server\solr\$TargetCoreName" + Copy-Item -Path (Join-Path $SolrPath "server\solr\configsets\_default\conf") -Destination (Join-Path $corePath "conf") -Recurse -Force + + Copy-Item -Path (Join-Path (Join-Path "data-commerce" $SourceCoreName) '\*') -Destination (Join-Path $corePath "conf") + + $corePropertiesPath = Join-Path $corePath "core.properties" + Set-Content -Path $corePropertiesPath -Value ("name=" + $TargetCoreName + [Environment]::NewLine + ` + "config=solrconfig.xml" + [Environment]::NewLine + ` + "update.autoCreateFields=false" + [Environment]::NewLine + ` + "dataDir=data") +} + +$SolrCoreNames -Split ',' | ForEach-Object { + $name = ('{0}{1}' -f $_, $SolrCommercePostfix) + + Create-SolrCore -SourceCoreName $_ -TargetCoreName $name + Create-SolrCore -SourceCoreName $_ -TargetCoreName ('{0}{1}' -f $name, $SolrCommerceRebuildPostfix) +} \ No newline at end of file diff --git a/sxc/10.0/xc-common/solr/tools/scripts/Start-Commerce.ps1 b/sxc/10.0/xc-common/solr/tools/scripts/Start-Commerce.ps1 new file mode 100644 index 0000000..4096e0d --- /dev/null +++ b/sxc/10.0/xc-common/solr/tools/scripts/Start-Commerce.ps1 @@ -0,0 +1,26 @@ + +param( + [Parameter(Mandatory = $true)] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] + [string]$InstallPath, + + [Parameter(Mandatory = $true)] + [ValidateScript( { Test-Path $_ -PathType 'Container' })] + [string]$DataPath +) + +$dataFolderEmpty = ($null -eq (Get-ChildItem -Path $DataPath -Filter "solr.xml")) +if ($dataFolderEmpty) +{ + Write-Host "INFO: Solr configuration not found in '$DataPath', copying clean configuration..." + + Get-ChildItem -Path $InstallPath | ForEach-Object { + Copy-Item -Recurse -Path $_.FullName -Destination $DataPath + } +} +else +{ + Write-Host "INFO: Existing Solr configuration found in '$DataPath'..." +} + +c:\solr\bin\solr.cmd start -port 8983 -f diff --git a/sxc/10.0/xc-common/xdbworkers/Dockerfile b/sxc/10.0/xc-common/xdbworkers/Dockerfile new file mode 100644 index 0000000..66c64df --- /dev/null +++ b/sxc/10.0/xc-common/xdbworkers/Dockerfile @@ -0,0 +1,11 @@ +# This Dockerfile is used to generate images for the following roles: xdbsearchworker, xdbautomationworker + +ARG BASE_IMAGE + +FROM ${BASE_IMAGE} + +WORKDIR /service + +ARG CONTENT_PATH + +COPY ${CONTENT_PATH} . \ No newline at end of file diff --git a/sxc/10.0/xc0/.env b/sxc/10.0/xc0/.env new file mode 100644 index 0000000..14ed12e --- /dev/null +++ b/sxc/10.0/xc0/.env @@ -0,0 +1,50 @@ +BASE_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/base/ + +XP_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxp/ +XP_SITECORE_TAG=10.0.0-ltsc2019 + +XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxc/nonproduction/ +XC_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxc/ +XC_PACKAGES_TAG=10.0.0-ltsc2019 + +TRAEFIK_IMAGE=traefik:v2.2.0-windowsservercore-1809 +TRAEFIK_ISOLATION=default + +ISOLATION=default + +CM_HOST=xc0cm.localhost +ID_HOST=xc0id.localhost + +AUTHORING_HOST=authoring.localhost +SHOPS_HOST=shops.localhost +MINIONS_HOST=minions.localhost +OPS_HOST=ops.localhost + +BIZFX_HOST=bizfx.localhost + +SQL_SA_PASSWORD=Password12345 +SITECORE_ADMIN_PASSWORD=Password12345 + +SITECORE_MASTER_DB=Sitecore.Master +SITECORE_CORE_DB=Sitecore.Core +XC_GLOBAL_DB=SitecoreCommerce_Global +XC_GLOBAL_DB_TRUSTED_CONNECTION=false +XC_SHARED_DB=SitecoreCommerce_SharedEnvironments +XC_SHARED_DB_TRUSTED_CONNECTION=false + +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_IDSECRET= +SITECORE_ID_CERTIFICATE= +SITECORE_ID_CERTIFICATE_PASSWORD= +SITECORE_LICENSE= \ No newline at end of file diff --git a/sxc/10.0/xc0/cm/Content/Website/App_Config/Include/Domains.Shared.config b/sxc/10.0/xc0/cm/Content/Website/App_Config/Include/Domains.Shared.config new file mode 100644 index 0000000..32579a3 --- /dev/null +++ b/sxc/10.0/xc0/cm/Content/Website/App_Config/Include/Domains.Shared.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/sxc/10.0/xc0/cm/Content/Website/App_Config/Include/Y.Commerce.Engine/Y.Sitecore.Commerce.config b/sxc/10.0/xc0/cm/Content/Website/App_Config/Include/Y.Commerce.Engine/Y.Sitecore.Commerce.config new file mode 100644 index 0000000..9545f59 --- /dev/null +++ b/sxc/10.0/xc0/cm/Content/Website/App_Config/Include/Y.Commerce.Engine/Y.Sitecore.Commerce.config @@ -0,0 +1,30 @@ + + + + $(env:Sitecore_xc_Shops_Url) + $(env:Sitecore_xc_Ops_Url) + $(env:Sitecore_xc_Minions_Url) + $(env:Sitecore_Identity_Server_Authority) + $(env:Sitecore_Identity_Server_InternalAuthority) + false + $(env:Sitecore_xc_Client_Secret_Hash) + + + + + + + $(env:Sitecore_xc_ConnectionStrings_Redis) + + + + + + + + true + + + + + \ No newline at end of file diff --git a/sxc/10.0/xc0/cm/Permissions/AdditionalWriteAllowedFolders.txt b/sxc/10.0/xc0/cm/Permissions/AdditionalWriteAllowedFolders.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/xc0/cm/tools/GrantWritePermission.ps1 b/sxc/10.0/xc0/cm/tools/GrantWritePermission.ps1 new file mode 100644 index 0000000..ac9190f --- /dev/null +++ b/sxc/10.0/xc0/cm/tools/GrantWritePermission.ps1 @@ -0,0 +1,24 @@ +param( + [Parameter(Mandatory=$true, ParameterSetName="Array")] + [string[]] $TargetFolders, + + [Parameter(Mandatory=$true, ParameterSetName="File")] + [string] $TargetFoldersFile, + + [Parameter(Mandatory=$true)] + [string] $User +) + +if ($TargetFoldersFile) { + $TargetFolders = Get-Content -Path $TargetFoldersFile +} + +$TargetFolders | ForEach-Object { + If (-not [string]::IsNullOrEmpty($_)) { + If (!(Test-Path $_)) { + New-Item -Path $_ -ItemType Directory -Force + } + + cmd /C icacls $_ /grant ($User + ":(OI)(CI)M") + } +} \ No newline at end of file diff --git a/sxc/10.0/xc0/cm/tools/Invoke-XdtTransformations.ps1 b/sxc/10.0/xc0/cm/tools/Invoke-XdtTransformations.ps1 new file mode 100644 index 0000000..b9e51d5 --- /dev/null +++ b/sxc/10.0/xc0/cm/tools/Invoke-XdtTransformations.ps1 @@ -0,0 +1,43 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [ValidateScript({ Test-Path $_ -PathType Container })] + [string]$TargetPath, + [Parameter(Mandatory = $true)] + [string]$XdtPath, + [Parameter(Mandatory = $true)] + [ValidateScript({ Test-Path $_ -PathType Leaf })] + [string]$XdtDllPath +) + +if (-not (Test-Path $XdtPath -PathType Container)) { + Write-Verbose "Transformations source '$XdtPath' does not exist." + return +} + +$transformations = @(Get-ChildItem $XdtPath -File -Recurse) + +if ($transformations.Length -eq 0) { + Write-Verbose "No transformations in '$XdtPath'." + return +} + +Add-Type -Path $XdtDllPath + +$transformations | ForEach-Object { + $targetFullPath = (Resolve-Path $TargetPath).Path + $xdtFullPath = (Resolve-Path $XdtPath).Path + $targetFilePath = $_.FullName.Replace($xdtFullPath, $targetFullPath).Replace(".xdt", "") + + $targetDocument = New-Object Microsoft.Web.XmlTransform.XmlTransformableDocument; + $targetDocument.PreserveWhitespace = $true + $targetDocument.Load($targetFilePath) + + $transformation = New-Object Microsoft.Web.XmlTransform.XmlTransformation($_.FullName) + if ($transformation.Apply($targetDocument) -eq $false) { + throw "Transformation '$($_.FullName)' on '$($targetFilePath.FullName)' failed." + } + + $targetDocument.Save($targetFilePath) + Write-Verbose "Transformation '$($_.FullName)' on '$($targetFilePath.FullName)' completed." +} \ No newline at end of file diff --git a/sxc/10.0/xc0/cm/xdts/Web.config.xdt b/sxc/10.0/xc0/cm/xdts/Web.config.xdt new file mode 100644 index 0000000..72d7ecb --- /dev/null +++ b/sxc/10.0/xc0/cm/xdts/Web.config.xdt @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/sxc/10.0/xc0/docker-compose.build.yml b/sxc/10.0/xc0/docker-compose.build.yml new file mode 100644 index 0000000..44686a7 --- /dev/null +++ b/sxc/10.0/xc0/docker-compose.build.yml @@ -0,0 +1,45 @@ +version: "2.4" +services: + mssql: + build: + context: ../xc-common/mssql/common + dockerfile: ../standalone/Dockerfile + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp0-mssql:${XP_SITECORE_TAG} + SITECORE_CORE_DB: ${SITECORE_CORE_DB} + image: sitecore-xc0-mssql + solr: + build: + context: ../xc-common/solr + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp0-solr:${XP_SITECORE_TAG} + SOLR_COMMERCE_CORE_NAMES: "CatalogItems,Customers,Orders,PriceCards,Promotions" + image: sitecore-xc0-solr + cm: + build: + context: ./cm + dockerfile: ../../xc-common/cd-cm/Dockerfile + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp0-cm:${XP_SITECORE_TAG} + image: sitecore-xc0-cm + xconnect: + build: + context: ./xconnect + dockerfile: ../../xc-common/prc-rep-xdba-xdbc/Dockerfile + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp0-xconnect:${XP_SITECORE_TAG} + image: sitecore-xc0-xconnect + xdbsearchworker: + build: + context: ../xc-common/xdbworkers + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp0-xdbsearchworker:${XP_SITECORE_TAG} + CONTENT_PATH: xdbsearchworker/wdp/App_Data/jobs/continuous/IndexWorker + image: sitecore-xc0-xdbsearchworker + xdbautomationworker: + build: + context: ../xc-common/xdbworkers + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp0-xdbautomationworker:${XP_SITECORE_TAG} + CONTENT_PATH: xdbautomationworker/wdp/App_Data/jobs/continuous/AutomationEngine + image: sitecore-xc0-xdbautomationworker diff --git a/sxc/10.0/xc0/docker-compose.yml b/sxc/10.0/xc0/docker-compose.yml new file mode 100644 index 0000000..2fc48a5 --- /dev/null +++ b/sxc/10.0/xc0/docker-compose.yml @@ -0,0 +1,561 @@ +version: "2.4" +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" + 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 + engine-ops: + condition: service_started + mssql: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc0-mssql:${XC_PACKAGES_TAG} + environment: + SA_PASSWORD: ${SQL_SA_PASSWORD} + SITECORE_ADMIN_PASSWORD: ${SITECORE_ADMIN_PASSWORD} + ACCEPT_EULA: "Y" + SQL_SERVER: mssql + ports: + - "14330:1433" + volumes: + - type: bind + source: c:\containers\mssql-data + target: c:\data + solr: + isolation: ${ISOLATION} + ports: + - "8984:8983" + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc0-solr:${XC_PACKAGES_TAG} + volumes: + - type: bind + source: c:\containers\solr-data + target: c:\data + redis: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-redis:${XP_SITECORE_TAG} + restart: unless-stopped + id: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc-id:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + environment: + Sitecore_Sitecore__IdentityServer__SitecoreMemberShipOptions__ConnectionString: Data Source=mssql;Initial Catalog=Sitecore.Core;User ID=sa;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", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + 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_SITECORE_DOCKER_REGISTRY}sitecore-xc0-cm:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + solr: + condition: service_started + id: + condition: service_started + xconnect: + condition: service_started + environment: + Sitecore_ConnectionStrings_Core: Data Source=mssql;Initial Catalog=Sitecore.Core;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Security: Data Source=mssql;Initial Catalog=Sitecore.Core;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Master: Data Source=mssql;Initial Catalog=Sitecore.Master;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Web: Data Source=mssql;Initial Catalog=Sitecore.Web;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Processing.Pools: Data Source=mssql;Initial Catalog=Sitecore.Processing.pools;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=mssql;Initial Catalog=Sitecore.Referencedata;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Processing.Tasks: Data Source=mssql;Initial Catalog=Sitecore.Processing.tasks;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_ExperienceForms: Data Source=mssql;Initial Catalog=Sitecore.ExperienceForms;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Exm.Master: Data Source=mssql;Initial Catalog=Sitecore.Exm.master;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting: Data Source=mssql;Initial Catalog=Sitecore.Reporting;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Sitecore.Reporting.Client: http://xconnect + Sitecore_ConnectionStrings_Solr.Search: http://solr:8983/solr + 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_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_xc_Shops_Url: http://engine-authoring:5000/api/ + Sitecore_xc_Ops_Url: http://engine-ops:5000/commerceops/ + Sitecore_xc_Minions_Url: http://engine-minions:5000/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 + xconnect: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc0-xconnect:${XC_PACKAGES_TAG} + ports: + - "8081:80" + depends_on: + mssql: + condition: service_healthy + solr: + condition: service_started + environment: + Sitecore_License: ${SITECORE_LICENSE} + Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Processing.Engine.Storage: Data Source=mssql;Initial Catalog=Sitecore.Processing.Engine.Storage;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting: Data Source=mssql;Initial Catalog=Sitecore.Reporting;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=mssql;Initial Catalog=Sitecore.Marketingautomation;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Processing.Pools: Data Source=mssql;Initial Catalog=Sitecore.Processing.pools;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=mssql;Initial Catalog=Sitecore.Referencedata;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Collection: Data Source=mssql;Initial Catalog=Sitecore.Xdb.Collection.ShardMapManager;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_SolrCore: http://solr:8983/solr/sitecore_xdb + 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_SITECORE_DOCKER_REGISTRY}sitecore-xc0-xdbsearchworker:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + solr: + condition: service_started + restart: unless-stopped + environment: + Sitecore_ConnectionStrings_Collection: Data Source=mssql;Initial Catalog=Sitecore.Xdb.Collection.ShardMapManager;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_SolrCore: http://solr:8983/solr/sitecore_xdb + 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_SITECORE_DOCKER_REGISTRY}sitecore-xc0-xdbautomationworker:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + xconnect: + condition: service_started + restart: unless-stopped + environment: + Sitecore_ConnectionStrings_XConnect.Collection: http://xconnect + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=mssql;Initial Catalog=Sitecore.Marketingautomation;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=mssql;Initial Catalog=Sitecore.Referencedata;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;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: + mssql: + condition: service_healthy + xconnect: + condition: service_started + restart: unless-stopped + environment: + Sitecore_ConnectionStrings_Processing.Engine.Storage: Data Source=mssql;Initial Catalog=Sitecore.Processing.Engine.Storage;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Processing.Engine.Tasks: Data Source=mssql;Initial Catalog=Sitecore.Processing.Engine.Tasks;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_XConnect.Collection: http://xconnect + Sitecore_ConnectionStrings_XConnect.Configuration: http://xconnect + Sitecore_ConnectionStrings_XConnect.Search: http://xconnect + Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting: Data Source=mssql;Initial Catalog=Sitecore.Reporting;User ID=sa;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_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_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql: + 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: mssql + COMMERCEENGINE_GlobalDatabaseUserName: sa + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedDatabaseServer: mssql + COMMERCEENGINE_SharedDatabaseUserName: sa + 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: "false" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: sitecore_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: sitecore_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: 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"] + timeout: 300s + engine-shops: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql: + 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: mssql + COMMERCEENGINE_GlobalDatabaseUserName: sa + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedDatabaseServer: mssql + COMMERCEENGINE_SharedDatabaseUserName: sa + 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: "false" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: sitecore_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: sitecore_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: 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"] + timeout: 300s + engine-minions: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql: + 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: mssql + COMMERCEENGINE_GlobalDatabaseUserName: sa + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedDatabaseServer: mssql + COMMERCEENGINE_SharedDatabaseUserName: sa + 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: "false" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: sitecore_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: sitecore_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: 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"] + timeout: 300s + engine-ops: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + solr: + condition: service_started + id: + condition: service_started + redis: + condition: service_started + cm: + condition: service_started + environment: + COMMERCEENGINE_AppSettings__DeploymentId: HabitatOps01 + COMMERCEENGINE_AppSettings__EnvironmentName: HabitatOps + 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: mssql + COMMERCEENGINE_GlobalDatabaseUserName: sa + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedDatabaseServer: mssql + COMMERCEENGINE_SharedDatabaseUserName: sa + 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: "false" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: sitecore_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: sitecore_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: 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.ops-secure.entrypoints=websecure" + - "traefik.http.routers.ops-secure.rule=Host(`${OPS_HOST}`)" + - "traefik.http.routers.ops-secure.tls=true" + - "traefik.http.routers.ops-secure.middlewares=force-STS-Header" + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s \ No newline at end of file diff --git a/sxc/10.0/xc0/traefik/certs/authoring.localhost.crt b/sxc/10.0/xc0/traefik/certs/authoring.localhost.crt new file mode 100644 index 0000000..9cdebe3 --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/authoring.localhost.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCzCCAfOgAwIBAgIUawlhmAcg8CLeyvsaytNmKthOIAcwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTEzMTkxNzU1WhcNMzAwNTExMTkxNzU1WjAeMRwwGgYDVQQDDBNhdXRob3Jpbmcu +bG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoshcMsrm +T/iaE6/XYzbF6HOeOzkEE2+Huid8lyDYvb61ttnv0DYeNmmIdfRaxFwA0maEpfpi +epOzVNfhTKaMtZ4XO2npCJ3N8edsWqCZASA/J+dU0mQWfH9kKJObFim6yqH5Q6NR +0qPWB/n4NNlzFO3KAz2z8I/NeUvu/kWMLCpnmO4gGU/4hOgLDS8YYvLDXww9Xzu4 +uFX21FFn6qC5H4qb8rcKmyqCBfCxiBhqhjp1Rkmx4/F3k3KwzvN56ANkS15XHTbV +BX2YgU1mNZNSDo/kiX99kyema5DMDWu0biWn+GAMh99WCBrnrF6+TmCGOuUdcOb6 +ZldTDwpoLhtpJQIDAQABozowODAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAeBgNV +HREEFzAVghNhdXRob3JpbmcubG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQA6 +i/kLw2dpJuecOGXDB18kGiieagQJTkaNZjCIroY2iqmHZiHXo173nm6CeIUbWZ/3 +cvyryRxvSln33Hbvn6ZjrPceqJnCHq1ikTMM1lFEfZ3yIaYxppUm2ekm4a5/BjGw +m237BlIRvHsTvJ97QOftB3WCAANKrHxDZzrUH45IfHxHn+sxxs91svtD6gUoI24w +LKc/SmrDvB1SullYBVJiWSknz27jRGdkaxhDVwbgMr6ArVU2hKoENmxxTDhBKWz+ +hkkuE816UA+iHEkK0oiuCag5ECFHdewmJLWolOgBphTpi+V/u5DP8AcjnrToewDN +rZopgrVy5WIFlm0GDY9r +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc0/traefik/certs/authoring.localhost.key b/sxc/10.0/xc0/traefik/certs/authoring.localhost.key new file mode 100644 index 0000000..4c3d145 --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/authoring.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAoshcMsrmT/iaE6/XYzbF6HOeOzkEE2+Huid8lyDYvb61ttnv +0DYeNmmIdfRaxFwA0maEpfpiepOzVNfhTKaMtZ4XO2npCJ3N8edsWqCZASA/J+dU +0mQWfH9kKJObFim6yqH5Q6NR0qPWB/n4NNlzFO3KAz2z8I/NeUvu/kWMLCpnmO4g +GU/4hOgLDS8YYvLDXww9Xzu4uFX21FFn6qC5H4qb8rcKmyqCBfCxiBhqhjp1Rkmx +4/F3k3KwzvN56ANkS15XHTbVBX2YgU1mNZNSDo/kiX99kyema5DMDWu0biWn+GAM +h99WCBrnrF6+TmCGOuUdcOb6ZldTDwpoLhtpJQIDAQABAoIBAAuITFfg3g4+W5QX +ehfyUnUUc9pYQLyrwx7iG0aNsi1HLJKGwCGtI9jRAzTwGdoddoVxc+ZaZc2vVx4k +qTaH+iIH0DeKWlMc8vE3ZwrIo+5bfX3zOqQpKRqq38qsImmgjTY74W/0SyC0ML6h +6/66hRevfQdbwLrDRVhZk9X50WNzhK/TRP6irH1QRTgdPUHic4v4t3QhOZZU6Vth +hbwz1mKeaFIXF2z2ut6QP0WT2sOHXTB4P7f7dh2j78JN3TW4kb0HtKVMnVXce+jP +qfHEw/eIV2kbXiQLlHRIuHvPrx49T3EcV4PGqViIAj7gFBI2eu7R+B0rogvELeNG +HzltesECgYEA05uxdhjHJfzZvnccyjbljVIXPnSSZkPHmdd78aORaiN/7ouHoNgU +wfUuoSf+ptxfEv/hd8LAHcNFUV/8zHDcX+O82Val0LU1uleNOSzKPI+68lK5l652 +pDqI9V7Wh7tAp6a3kQDqlXDbjHTmHoqSH0p288g+6yJk3ntuYLylhlECgYEAxO6E +koThh9JkuWetG+FpmLjb4pW2oCrdqsT8qGl9G8rfAyseWPE50aNOHtS1Oy3KzaKu +kjm3/UnAPDASxN3GK/W/uWDTJV6SNG+TzeZJLmacGnBnNuvuBHWqj1xdUzBAfZ8j +IJmjQOIopvsiOkwS7defyhletz7AdySeX1slfJUCgYEAzxP/uDhLOwuT8mYSEHlk +bsW05XOiiN0viYdsTW3qMdoHqeN1mJucxKoxNZg0BgqGJ8usU0yMQRQE07uBYnfX +0SbGelHm9rU+nNps41THnDhzlAwMfzlF9TUrLiPfAPjoLqhh307sQc4tq+gCAkVM +9b4jZjHCEMyZtXdI7vXtbeECgYEAtITb+59ZSXLAKAB0e6kubfOOhG6ugLWqin6W +CB7isxZNRY9B+0/sq1GiK7raAkxgqg1lLt8/3Cu9zq5WliWhIezceabbBldheDWL +bGObU7B1ifrdckfk4CuoVE/bsIT7qOu2fIy5TKHDmAV/A6d2dpWAgPaujxUzwkNL +9acMft0CgYABLupAu9kgH6pJnNtss0SDGT3K7BJCix1xaPjJb+vqnO0R7BKl/wmk +iuI1oDRGK4iJl6dCw0nqCP0CVp2dgaKAAHcngEci/IZaetuQXqf7iTxMmZJFbleg +eCwUf+EBb6WeAtbWnkwF23G9WQV7X8sptRAK2Ni0nQ9qUejnF6qx7Q== +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc0/traefik/certs/bizfx.localhost.crt b/sxc/10.0/xc0/traefik/certs/bizfx.localhost.crt new file mode 100644 index 0000000..16c5ace --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/bizfx.localhost.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDAzCCAeugAwIBAgIUawlhmAcg8CLeyvsaytNmKthOIAswDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTEzMTkxNzU2WhcNMzAwNTExMTkxNzU2WjAaMRgwFgYDVQQDDA9iaXpmeC5sb2Nh +bGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMeps0kTXqdmSl +gbf4FVuGIE/1Z3miXKp2Hw0AukkuSi8pHscUIAH42QuUsQpvRN9jCAS2UPYls0VK +DOdGqATRIEOWTY1Ekh66/L/2Q9Irn7AFxdk0pMZwLP48RtToIYhIB4dkCB0NwXg1 +bVdlBE4I8t0S8Hqr+kD5WFdHowX0Mw1+tz1pp6XJLsbSpOpkqy6QtnU7FkSyzv7P +GAiWrmuwXMKFQqHKu84glQ+GgmpDtQDvi2KCRXOWRh4a0sfYhF/r+qDAELepZEbD +wBwwIzd9KHfg8xw1ElDbJIFqHGFsUyKm46BB0rrb3TbsotLFgGZNQ/iwPjRHyX9n +Gs67AeELAgMBAAGjNjA0MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMBoGA1UdEQQT +MBGCD2JpemZ4LmxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAFuLEY3Puw9Yk +6I6M80/sd1w/hoX1C4iVGxpioP96Edpv6Eu7NQiGHCx7IFmmVQwVX77Apa80h/+s +PHEs3F48agV807+6YWWTXVI55qioVB6pql2VjZIY4RfK8bQLE4ZdWobuJmDtDUpH +IoIV75FZgnkC0CzlbI1t6we5SOg/HRhfMc6PvIoXbxS+gzBHTgX8IfxFZCXHjqfd +EoLrNFxsSYugpiiPSvuJWpGYi/XA+P4bZG59Sxbo5zTuWQRCWEbW2wIUw0y5RH0x +agx3aa/ZZAyqpCVwH1YNbjZVAtU2P/hHMs4KDokPbrwa6UPW367pzoSAdGMElgFI +sSQ59bQSpg== +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc0/traefik/certs/bizfx.localhost.key b/sxc/10.0/xc0/traefik/certs/bizfx.localhost.key new file mode 100644 index 0000000..a7090c4 --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/bizfx.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAzHqbNJE16nZkpYG3+BVbhiBP9Wd5olyqdh8NALpJLkovKR7H +FCAB+NkLlLEKb0TfYwgEtlD2JbNFSgznRqgE0SBDlk2NRJIeuvy/9kPSK5+wBcXZ +NKTGcCz+PEbU6CGISAeHZAgdDcF4NW1XZQROCPLdEvB6q/pA+VhXR6MF9DMNfrc9 +aaelyS7G0qTqZKsukLZ1OxZEss7+zxgIlq5rsFzChUKhyrvOIJUPhoJqQ7UA74ti +gkVzlkYeGtLH2IRf6/qgwBC3qWRGw8AcMCM3fSh34PMcNRJQ2ySBahxhbFMipuOg +QdK629027KLSxYBmTUP4sD40R8l/ZxrOuwHhCwIDAQABAoIBAHC8pHe+G/DSJ7mM +pIaWF+kCRbNywoA/AQixI/UjwBdSdWABhRdWcl/mItlvJuakHVm3YQm3545voaMr +LBQrrMQ0Oq9SwLFuspy7n4bCa8z7dQwpwhChTHsqg11uXBJD8qRr6jy/sG0WHxWt +3EJotjF+3V6E0c2h41LWXwCzJCQ3R7z0dZRPz1MQ4sp785rB4c76tuZCJYVyKQaL +tfebKbnVp4Pc1ljUVFB6cwp8fdtfMCc1eCJwyOMukFPaiN+dskx9xX0ps66BDVH/ +xf6cE770bjX8Vgh25EU/gshZX2AEWyZ75enL/NYVTVsDIaPare6vJXPex1Inv/RW +G/LHFHECgYEA/8SIHobGXUaTqBOXu7tqUYreO8zp8LsGdNtXueVky9QIBJJnvCTJ +m3YwQmGzOEOEmICMDjHJIX/dBDM2twTPu18a1IDGXb5z1ku0pg/YcQZHoZ+5RczA +6RVCVx1AHsXx3mJd/6I96J+NflDhVaGrxXFcc/wTxiPr4/SLBOsfvdkCgYEAzKom +QrzWlmrBrWYb6UX5zfYTsjbsq+F0MkrVgkwFjM8tvngiZ2ICzAGYyXP3L/YUHTPy +de7c5KHx9uGEfv8lfDNDcMYqPlA4Y1q2ZIRxucg4G6YXHTc77Pujb1ushFTkEx0O +/MPe/vvJtNnmw+BGAMW06rLKJQRWUdAq2rQNs4MCgYBRGdODwn6x4wg9GoFZkPME +ikEvuylPIS7J7SdjFd8hVsl4Eah9GzkmZ5Kj6fD3XUl1RgWjFpxNWAsQIuEtpYPt +SRnr2i2MWjDG+dh9c7bRGAmssUYBYQymnAweLXNAjsnEF3Lw9VQmKDmonSLmkU4z +XF/Rk1P91zQcY1WVqKy2+QKBgCC4u3FEG9Lksp50itXa+DtzsmZ13ZUFcLxxtn0k +hmai4R9ouadpxiSzxKfAwK6MW17n5UXxsKNlOPhNyg8739RhpdCr/ikETl+kKzEa +88vONRpGjb+ACzaybMjrEUP/Bo//v1uuPULrIq6lf/2lJ8wL0AcOGr+cV+iwrYlV +7DLdAoGBAPEGHP2jFTKvdfngRfKgbFMY0SzlglLNBZXyHTjps5Z5uNZEKGZC9idA +WBSNHeD87Cwp1GkwHVMdmqDwVPn1dFZvXBizsDUyEq2DJ1USesWKR0LXY+j14P2d +A7ZDtndrxCYkHIT1E/qv039MlHNnslae0EmycNNDY+4zqkbkZgp5 +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc0/traefik/certs/minions.localhost.crt b/sxc/10.0/xc0/traefik/certs/minions.localhost.crt new file mode 100644 index 0000000..1af28e8 --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/minions.localhost.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDBzCCAe+gAwIBAgIUawlhmAcg8CLeyvsaytNmKthOIAkwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTEzMTkxNzU2WhcNMzAwNTExMTkxNzU2WjAcMRowGAYDVQQDDBFtaW5pb25zLmxv +Y2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALk2NYAFYyqF +DX1jTNy2qzFX0DqHnrP1ARY+5OY96D1yifJdC9AIGEka5M/WnPbL63Ccz9FfQtZn +sNS03kr9bWcmcwRvC/MNCDHIDIg8DMhmOQ3DKYNT8LjfOEW93wN1P+Wp8hOhr/Gt +T4sdgJxlkbwsl6t8bdMdXx756V2I+bjK5e7l0cbkJs2ZX38tf4FLlEk07qPg188I +xh+fYJzzc6OHvqJFGeKTYZzL762F3ntJ5uo/2CKZygAHlmxmegRGxODI7whseD2D +ysnYln4mClgLMxGCo+mWV4l7gVwipQqenJrQKU6JdL63u5/RwC7iLTvNExwoVGiE +GloHFau6BGUCAwEAAaM4MDYwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwHAYDVR0R +BBUwE4IRbWluaW9ucy5sb2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggEBAGTZ64jK +K3jIxV/sKSqGdexB/koQ3qHKpfHn6X1CnLwsoYWVFz/OLgqLSFRgsJb9k3eL20r/ +XTEK+Ac2POs+3xLkVe5TPWjJvz/2O98ldsPHtxmY4dyjB9S6iSH3G9vxzZUIWU6t +PMBrTwU+JDHjqp3u3aEVMGmYIqBv0Gws+DiNRvgBJMXVr0k+msydSnxgTouOG6E1 +ygSzyfoVATQ87+vfIku9oiOnlLZ0BgRcByGqlbf255lf4y0WpREXK7J+CRBlnC1a +slb+ZPJjlc2m2qxFp75ZYsK59Pr81neVegEsHIsSQX2ImHG7yvltY8ceRIcUHhk1 +Ob5uS/hG/Ykxn5U= +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc0/traefik/certs/minions.localhost.key b/sxc/10.0/xc0/traefik/certs/minions.localhost.key new file mode 100644 index 0000000..7d30311 --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/minions.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAuTY1gAVjKoUNfWNM3LarMVfQOoees/UBFj7k5j3oPXKJ8l0L +0AgYSRrkz9ac9svrcJzP0V9C1mew1LTeSv1tZyZzBG8L8w0IMcgMiDwMyGY5DcMp +g1PwuN84Rb3fA3U/5anyE6Gv8a1Pix2AnGWRvCyXq3xt0x1fHvnpXYj5uMrl7uXR +xuQmzZlffy1/gUuUSTTuo+DXzwjGH59gnPNzo4e+okUZ4pNhnMvvrYXee0nm6j/Y +IpnKAAeWbGZ6BEbE4MjvCGx4PYPKydiWfiYKWAszEYKj6ZZXiXuBXCKlCp6cmtAp +Tol0vre7n9HALuItO80THChUaIQaWgcVq7oEZQIDAQABAoIBAQClr70Enc0syIJc +3WxxNmjHZ4s8EP8EdfVW9UTIRDFyZvjI/DwJCnTPUWPIGnGoxpwEzgOLhfDA5Vnn +rzX9V+F7GYZjPQQvlkTyY8fyR+YXkHsRuLl2Zq0+dVJd8ZGEAmv7BKEutsIzLZuv +E+FuB97ru+ii3FlTNz9U8rS1nEfp6vNVvRSfRhFttoyFvreWzl/Rtslt9z1oGDSJ +8DTuEBujaGX85I4Hofqxh7/FV5v2vWrShRqcAr/feAuA+EaiCqnknBnhEOwkajxU +Mc3+SOt3coeHjPcDsbkvJnAjMzHJCHaA3Pucxv1ZArxh79ykF9IvltLBgHHA1IjE +QlEx1BMxAoGBANsy0PVy0mRh6tkWJ0cvX5DEFsFdtTXgc0bJ40FwFKRYPYAuDfA+ +l1DTSawQa1OdFzfoh/F8Oxg5K4Q7dn9n2n3Ng3sum4BLIG4s0yn9p+HGNJpasCkQ +pHrtYfC41uLpBnoZAxQzyFbvzRhZAF5jKIE+5XOQ43hLr6OIuuLEYKU/AoGBANhO +oynttN80pXNNFPkWExvZjgz54DMK+gv2VP1Z4DeRjkkevjKMJLdl46Yv9gPlwTeg +YV6DupEAM3nHJX8mm9aG9S9lcfcjNnz8HVNH0fhufudoOQeEJNLpi8dVnB2HtV// +zbERlz2zh4eAro+XjVm5sOROdKZzifbkiCLRG/lbAoGACR4V/v+lrLM994WqYJWh +3f2qDKT/MpyBbwJax5AH68YX2MsRnVqdJKmFOPj93d585sBvVyYZtyo5myh2B1qk +hfMUcv0/TpjRYoPOzMJWR1fdPEZlaW/dx5c0KbUmiw2yTUXZEPAOdz9GQqsBDuwE +9UtOc/4k2A4d4il/zIrqkjUCgYEAtsAppmEI8ZP/PR0g3RnDZ0I1e80ZmMZrX/Ps +9mgawZgeiLSKqRYyZyiUX3Ih/kT9K8w6t6m/1IZA92BD09uAyo0XVcX1tYFwpcQz +2orRYX2phkVN+YWxvuhGilFQJrrjiIoM9M8R4rVtihQ0Z2j5qZbzVtDaSU9QfuGy +Cwh1BAUCgYEAyxxCzetjJ53tA7UFa39V7+RJHsz8Xgf3GZnAjJjQTmc1NdevZoz6 +T8plmRJ8cMpwpyOPx2h6MRxlXm5WTd6qd9eTYKaRHdlHzfvzKLcSVE3H0qMQqcNJ +X1/NQwVdrl0FH2hy6GdsLB75NvobuJjHQitVYDhOr7OqwqZIGGUgQpM= +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc0/traefik/certs/ops.localhost.crt b/sxc/10.0/xc0/traefik/certs/ops.localhost.crt new file mode 100644 index 0000000..794cf9b --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/ops.localhost.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIC/zCCAeegAwIBAgIUawlhmAcg8CLeyvsaytNmKthOIAowDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTEzMTkxNzU2WhcNMzAwNTExMTkxNzU2WjAYMRYwFAYDVQQDDA1vcHMubG9jYWxo +b3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5yZIWhjhvBNEuem3 +OxBgMyAPfPqX6eDVWsf7+Mlyiw5uyf4yUm/48Nkp2cP5bXZd+zPxIgRyRiHnvDTz +GIDfELgzQImsek5CCbxIgACtsKefVxpHEMC4EXk3eCsihzZxLRwIa/yoQM13dKs/ +oNbJjtF+zzbO7MQiza/3Ug0ixUhWJR1Z4S+J7J/xrJYlWTe8DYt06/8w5WRedvVI +/o/ufZRZxYXGty9bck3yeF8HzgS9KaBwCtxCIhiDJ7+swZXW7Yp7inpyypoWsSBx +yfWR4BZsuLtI1Esh0qqiI3QojzFWsIEgQvJsAjFc4621cFuA2G6dsTGgJQnJd93C +jNiUpQIDAQABozQwMjAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAYBgNVHREEETAP +gg1vcHMubG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQCJYWGaqLsk8NEBa8xg +MexvBomSbBaSRAS5fKr40bGgEvulG+1W1WJIQ/uuHV7zgDkpnqcu5P+aF4b32ujI +DJqYoC9MTZu+Sb2s7Z/SIcQNeTobvd6MfH1KVvOs375KM5zt4hajLdD/lt3VyiFQ +1a/HdiWLIwNmuXzvHvsjMZoffKoxNI8SA/3TBjCo8EpC8AUFv5BnG1ca2leEJM3t +NU+MfSEfdpQOURPgKazXm48u0TXCz7YFGnDIkLswTBonOYfusjNO3AbUb7YQv4Gn +LPijiybI2GoBjSkgO6l1VDrh3GvMb583yJXG1jZNbBSiy7xGA5ffJjBqfjKmK/Ue +2i7d +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc0/traefik/certs/ops.localhost.key b/sxc/10.0/xc0/traefik/certs/ops.localhost.key new file mode 100644 index 0000000..bd6c748 --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/ops.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA5yZIWhjhvBNEuem3OxBgMyAPfPqX6eDVWsf7+Mlyiw5uyf4y +Um/48Nkp2cP5bXZd+zPxIgRyRiHnvDTzGIDfELgzQImsek5CCbxIgACtsKefVxpH +EMC4EXk3eCsihzZxLRwIa/yoQM13dKs/oNbJjtF+zzbO7MQiza/3Ug0ixUhWJR1Z +4S+J7J/xrJYlWTe8DYt06/8w5WRedvVI/o/ufZRZxYXGty9bck3yeF8HzgS9KaBw +CtxCIhiDJ7+swZXW7Yp7inpyypoWsSBxyfWR4BZsuLtI1Esh0qqiI3QojzFWsIEg +QvJsAjFc4621cFuA2G6dsTGgJQnJd93CjNiUpQIDAQABAoIBAQC1Ca3HKw+5nxnH +xn4k+2ltAWJAD4Dlw5s208TMkPJuaOpqt/WvzVUbReraTPxROFDZS1BDxVm/BhUa +uhnfiierT6mMlYeJ7zsXpujdoCppXo+Ux9b7DwXbYaYJLzeG0SQJIZiTAzrALmyt +6uYV0cPhYMFCB/o/RErB8FzzXahq/ASfAXZ3heCtD5YA64pViH9Wh6d4jd7FyKwR +ps12sEq5Mh8BOTFTSCyTtaYKpzmqCb66YmiQuiTVItVoOr7HETvpIR7ebevcmo+5 +2MApjl4mxF1jkgec+UDnL8Td+VssPWVc0qyfHYd+HTx6eiwUaHD06LUrILHRWrER +qHPPmOpNAoGBAPjYnjna95PIIIJH0Gcz/kpCzeNb4DCSjJz0zv2yifPFM0KdRyE2 +n9WjZzbpfA2FHRpTA+E9ifXIhmFCJi28BlCD+OAZbLh3esYAUkVEVZgoyU4j3wiU +GfDeEE21UoYU1ieRApVvOanNWeu5IMH+94DzuXPQgtrFQ+5iKp/TP1ObAoGBAO3L +bSXlArMfKjgx97xLcaYGdICwf3EPsJSQpMozJGutnf2zGpbvv3zPu6rajf1+0SOR +frkmUE95waPW03hW6R6SewTkp0ZGQzpigp/MzEUzPcwax+V256wNmfxDfNqnR7hY +oAuwPEEX742n5sltB20OfTRFtXbi+YnZApK6QNy/AoGBAOO4L0tYcvlcyUsPdsoK +jWjdq1Wk7QrmASFc8dK9wHpAesE59i6Rs0CosLpSfgBNUS2WzFUhoI83+qkkBJYT +m1+w9V32RkSkqchp4N+cQgvlPxpvvxk1lmuSey7xgFxM0xEQJWIkj4sw7VnGZxDA +RzRNVOeD50tV++05DjKF+UyDAoGBAMIFhnQx7Eb8ebVKR+lx4TPm9m3+FK3KcHh3 +oI1+twvIqC1VUq+uxJ3w3R3ln48jRz9vOmeVdFe0b6Pf58G7oBAa0pdGfZmgQMBF +mnEKZ+1ahuSfQVTf9N10Z5zl79x0OteWMFf5HuC5x/Lb+TmGZVW9Sbk523s6bQLl +du0DXWL/AoGAZeXq7+ye68H9ti/oMhD/Nj7gYl03Ogj+ImtHJK12oOS9JoOWflsk +a5yJd7pOn5wdgcUkXzFjWBUSoyg7yu/PKGk/xNSptnEEyurfpJE5gCfuOKioy6sz +ztEdg5nYAFgQk7kZr/Wi9wv+jd6yfTsVj86SqML7m2uA/081AjXAh4M= +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc0/traefik/certs/root-ca.crt b/sxc/10.0/xc0/traefik/certs/root-ca.crt new file mode 100644 index 0000000..87961ef --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/root-ca.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDKzCCAhOgAwIBAgIUcJCX7Sgg1YULNCu0XBsaGSDKfz0wDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTEzMTkxNzU0WhcNNDcwOTI5MTkxNzU0WjAlMSMwIQYDVQQDDBpDb21tZXJjZSBD +b250YWluZXIgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AKPbYZ88P5LfBRIJkYKrObc6fJw/rpTV3wcnYRlNTVeIppbpNocoyTWr37+5N7fC +Hx23nusA8TlGFkW1gkvHpCBUhab/XsS8dZ60o0MaZLUfQOzY5SxZ4fDNPTA54RC2 +8N14cop5jzzT+p3btiJyOs4alaq7UxNx9u27Ltha1U9umqCcUO3xK1jkP+L9JAEH +ghekAUmDVvEYDvVki0tiKRHISuzj16AAQ7zyoE7wSosR350oyxw84+OKi/SE5Up0 +RqB7PkdppRJyc+YD+Cyceh9vKU/pJi+9jM6/Ux2g94C3udj9V8vGM+A660X6sdUI +6tUV5MO/3Wa4AIsUiP9UhnMCAwEAAaNTMFEwHQYDVR0OBBYEFOh994nrx+ICay6y +Nxe8kyh31EIrMB8GA1UdIwQYMBaAFOh994nrx+ICay6yNxe8kyh31EIrMA8GA1Ud +EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFayI72b8OhPm3jGlfpxQoFp +0TmGTRXMD1VYWcIn1q6wNYkC3ZXB/NNLBf0Xkc5Cb/+bsurmCSdxcBbLFi20MojE +ObDj+TJa1UormQljkOfBFX98UIiuXFIWDlP0KtoGhQB66p2sZzLS9wQCjBvbSpmB +Zrtqls4D/Fm66borUUMa6mrO0kuPM4dGNZIFFGcaZzlJZ4RuFMUv6rdOFgLla6LQ +4LyGGBvnZCVv2NMJ8gh1+saJdeLO9GbnMJK5X/QoSx1yw+zxsIdsyc9FxZtcXBB5 +SqHLGsRt9rLP4kzpjV5IqcztRCjBxOUedaacBMdV+JCBrOeREvTZfz6jGVjNf7I= +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc0/traefik/certs/root-ca.key b/sxc/10.0/xc0/traefik/certs/root-ca.key new file mode 100644 index 0000000..e98ea2d --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/root-ca.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAo9thnzw/kt8FEgmRgqs5tzp8nD+ulNXfBydhGU1NV4imluk2 +hyjJNavfv7k3t8IfHbee6wDxOUYWRbWCS8ekIFSFpv9exLx1nrSjQxpktR9A7Njl +LFnh8M09MDnhELbw3XhyinmPPNP6ndu2InI6zhqVqrtTE3H27bsu2FrVT26aoJxQ +7fErWOQ/4v0kAQeCF6QBSYNW8RgO9WSLS2IpEchK7OPXoABDvPKgTvBKixHfnSjL +HDzj44qL9ITlSnRGoHs+R2mlEnJz5gP4LJx6H28pT+kmL72Mzr9THaD3gLe52P1X +y8Yz4DrrRfqx1Qjq1RXkw7/dZrgAixSI/1SGcwIDAQABAoIBADkD2RAjUqu0VntU +QQGKuuZ6v2lO71xynsxKc4ruTv8qWW0hcQvOsVSvnYeE11JlhZY9klqLVWRscsuG +wPPFX+KwBmF5cmxad0Ll7/klce1kFp9TSUsJa4jyoVvqh9ndDirCAnkUmza7O/U5 +wkJyJOwabAGgdOPLP/SwsTgvQxIEB5UuRkh/WT1EAivSgKmy42/7hncbRFxY3pFO +gUxbB9Jwm9lciwm0B7IFeDBPOjErHzN12LI7Ib7u+EDwjj89tROreIauEB0iznHi +SJnCg/C0TsAUlMLdYg+n0Q58McxQCEBCqwW+qHr+me9RZRkzJzjmFlK6KZD5QwBM +LJk6cuECgYEA2b4sWoKmX5DrpONXVE82FWEQXqjIFEZNzLhq2ccOgEhv+t424CfW +l8hLAYn+3o4+61pgtEK0sml96gMUKY0B/OoRcBzjus7WqKAk95YG4J0j+5f4Vir/ +j3+ZbbhltwTVbFtuvzg7ZO88wZfaupIkBuPPMuiaQD5xRiP4MuJt2pcCgYEAwKV7 +MddnVfHxVld5IEA3B9NfP88CK6Kxh1JWe0kBH39K806/9O31HithUer7z8K/diPr +ptt2/sGp8RxQosaEg/umVZLaFFk4PuTekfz58SBPOeIdCLGwmPsn3SbvXDqpiYY8 +VtTnd1B4StfNvcEpluLNXy2KgsNjpZgzUT9aeoUCgYEAvLYcPKlkxgiUoghCZJhu +GCNSi6eeGCxCOz5NpMbnI3kkS/kQ+D6utkdp8kCF+p6vm0xt6WyyrLnO3eSjMcu6 +wFagnFj9aabf1a9NuqJ0/XBTgjbYjN2hNd3xvG0HApKW4d1wYxu6JiVNs78HW5FS +1gHUTpvXK/yyMYb1Eiy55qsCgYEAhevD648ZuAZ8RhCDFKdvWhJXuaz3jkwIa9ES +a5wBmtrLyL5q9SLi7nkrq13WdcSlgsRP0mvomgsZT5Lmf3HPt0yeggiXb+PiFN7X +1tbtDfHvAYcttdiIsqCOQtAJP61MJF1b3uUcj7YyGZ1R2mLIvaqnKE4pZuPbhsd6 +jTWkeV0CgYEAtj6XiBVzG91ebHy3h1LR4/TlVtx6Vi9spSrBdVE/XcSe+5/wTMZ0 +L0o75C8wIVLEWsKyX/t4iB30pERiEizMTc015QY98r1/s31iazILJhXP9MKaJIXX +q00PwmG8wx/ayX7az+o3hZ8dSuQKrAQv3IT+hvD9Wtq9BLiFnyDbdrY= +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc0/traefik/certs/shops.localhost.crt b/sxc/10.0/xc0/traefik/certs/shops.localhost.crt new file mode 100644 index 0000000..26954d2 --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/shops.localhost.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDAzCCAeugAwIBAgIUawlhmAcg8CLeyvsaytNmKthOIAgwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTEzMTkxNzU2WhcNMzAwNTExMTkxNzU2WjAaMRgwFgYDVQQDDA9zaG9wcy5sb2Nh +bGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyZTCLejP58kcD +T5H7mk0rKZIhuHSHCqsaBcKrOzFlY7lCTbiRcWmgLjjtMreU3rQ3p3XMkhJVel0S +UpsO9hDakAz3B9DB2SsmYH1o2qXsrS3iPooHUKaYZuZgcy/hoZ5aDPthGSCOq7dH +KX/V+J2NZHAz74IUP2p1dRFMp6aUM24LU6ZRDxUo3K/qpT6ncAfCMFQxCcvOeBld +pWIRHBN6W9RWa29uJIjLf+ikjc8zZUl83GY+nG5e0EtO71C2q9sOtAVdgRjSRPpq +wHjLykAvotd+IWsZKqYFX6vS/T7OaQa+/IrXmbD0iPRtvzN2mK7dTU1wXcVHgkMI +CBkzxNcnAgMBAAGjNjA0MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMBoGA1UdEQQT +MBGCD3Nob3BzLmxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAZXzALYzr5a0P +Af5bgY4OwmoNzBtmwwAw8CJu3HjcqssZmz+DRSbsq7fcpKtin2X85HnU1x1sPjt5 +Ej+PIlFeiRexk1NXnn2wJhPfZODTR/Zd3c9rvmlmoH1/r0Uj0v3F60FkM2G8Ico9 +j3TPWZ1YIEpt+IlDLsIjZGJ3MQ+RFvzBaWtIJEiHRSB5NqqQn9C5+QKFt2Ieoqrs +Hu6MW0Oct882ooUTzoQcibCOE5muA8y+vK5KXm8SE7n0Eej6wG750YfgUB/m9Ing +9HAQGrW/WIWUktlcmpLK0ywvv8lQT3lhEQy9RPj4bt+ZkMdp/FGI2bbaG6rZ/gtC +oSPqhKdGxA== +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc0/traefik/certs/shops.localhost.key b/sxc/10.0/xc0/traefik/certs/shops.localhost.key new file mode 100644 index 0000000..3c9852c --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/shops.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAsmUwi3oz+fJHA0+R+5pNKymSIbh0hwqrGgXCqzsxZWO5Qk24 +kXFpoC447TK3lN60N6d1zJISVXpdElKbDvYQ2pAM9wfQwdkrJmB9aNql7K0t4j6K +B1CmmGbmYHMv4aGeWgz7YRkgjqu3Ryl/1fidjWRwM++CFD9qdXURTKemlDNuC1Om +UQ8VKNyv6qU+p3AHwjBUMQnLzngZXaViERwTelvUVmtvbiSIy3/opI3PM2VJfNxm +PpxuXtBLTu9QtqvbDrQFXYEY0kT6asB4y8pAL6LXfiFrGSqmBV+r0v0+zmkGvvyK +15mw9Ij0bb8zdpiu3U1NcF3FR4JDCAgZM8TXJwIDAQABAoIBAH6GyoGCcO7r6XXt +r6p17Bma6GxGOU+2P1i7kTCFUSmKK1FdcnSlrbbQUcvaVt6dfdCjUyd+ysYZfX2L +XTKlT5rU5H0o6+UxNCuJ8Ci4O0q8IXj/xkId76rUAL2TtPgg+wD/iCN8AN1v6RPt +2R9Xr9ciz3nme6oEuGsKVvS5S6p8ByiIRHqQ9fgG2pqO9DZW+V76rAdvfUeZ83Fd +vDqfmXO9XZVicnhlaNbxT9l4Spbep3GKOmqppU7RZaPr5Ja7SqMaZ5Q618XkIlPF +l15wLSti+zygjvNUqYn+RCGVX1gfzQ9Uo5Zv+Rxr+iNg4XajdCggzwuy1Rq2wbb+ +EoVIqCECgYEA6toRCKLUZeDYAmzb2AyWWxaw/k9yIHVVkYA4HXObtYOr+JM4ZErY +9j3DZcJiWcTX81PexxxPM3Mq6Xy1PFj7lXLR2Lfi9mKCXrV0uTJV+1lwK3qBw9N0 +MPdJrhRtzlSfC8QDlkCRYgXHn9ZEKZ7mGywY/P0IECKhhuDY9t1zUN8CgYEAwnWn +1p+mAETwx/azdGN4pRHe6D+H+uGxOXmO5iumsupB69nvKKR4DimILK/JSuV/FNcK +cX5uUcYrRzOfzOh6emEzZTdxdSTviYuBX9AMDtfv/p4v/xtOmlZVn88kAToSYveG +xMo17ItZhZcOcqGNv9To41JsL1Bo9I/1yuofWrkCgYBd35R3cz6bCmjNb13g2gcv +mb5dqLvhpYTyh+HmQ9O1llAjKBWeYRygMMft4OkXIMuBA8FErVgrJJm+go6e9KJ7 +dk3S5o3eFjouSTHC5Q/hTDq95lYARIFpIS9eWeQaWVDJjywv3tc96zmD9k2ApXcs +3U+PsESMzorqMu4GnzX82QKBgQCcSLDmZhKk/sNBAn3Bmbw5dj5fC8g+kqq7lX2K +cSSdgHYQlmuGj4BJaYme2Hx/rChRWG51PnZtVEYuCEhzB5h/yKTkwQV3b4LwWWVV +2sAGIfgo+3t5nLm0gpR4RqMaNVDXpzXx7M4f2PLO0dNzv3FL7lJpeDGoaQihHR4e +wcEHSQKBgCx/xOEQBP7OKyFWO+ZcpVsOgvYRLEuHBXp1o7BEfNmqIRn1v7hd5k4F +y7jig1rux/JnkVhv8ztyUEFysbCwr0HQQS7rmTMbBMPJuDbuwVFxcgbQFNLvWbJP +Wmo+KxOVrFIHSjp4YSHKIB6bwaVKgnKtEG1S2lgR8+N9T5iePlJe +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc0/traefik/certs/xc0cm.localhost.crt b/sxc/10.0/xc0/traefik/certs/xc0cm.localhost.crt new file mode 100644 index 0000000..f00b094 --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/xc0cm.localhost.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDAzCCAeugAwIBAgIUawlhmAcg8CLeyvsaytNmKthOIAQwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTEzMTkxNzU1WhcNMzAwNTExMTkxNzU1WjAaMRgwFgYDVQQDDA94YzBjbS5sb2Nh +bGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtQ/hPKABLc8VU +IziM9S3OLHc4Keho3laSTWMxXlI9ljknkoEiahwh+vHiDEEwnDzhBydPpRYtmfd8 +IkAZBukT/g3uCO0bXyCylERqxudcze0xQod+xlZotvizKrQs4RRFsTcnOvdpLKYz +iWSy4wIchR0k0BuZ5LPr9cYTRcnswBMg2GIvST+luv48O4WRgCNwZ2Z9IsueuYIp +vN3ZHuETo/rzF2x7XHjlnDwIaD+e6mEsRhysjWE2GosLUYL6YLCr9JWYSR2Bk2L9 +ylEfPYnkHRuveNWjDtPoke3HGp5s5CGBYBHzySwI8uUGoteCfxz+PqmKZHCqhy9B +kR8QV+gVAgMBAAGjNjA0MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMBoGA1UdEQQT +MBGCD3hjMGNtLmxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAI7hGUnBg+9uA +BAVHuvB+LqmS2q4OTdRu98quBrUEiIqP3tGmgoeLiZW4xZQhlfUrAbYliS/TzgzO +xWa+KB37GcPd/ElqvzYe7uBk9xjYSrPw3BmDBh2G4+QoazN1D5xKV9DnxnkymBST +8lOrqTcf+0GDSgGh6Ffgs75mQPZL5D60HYw7t2XUm32vcHvA4jcftQNZdBl2OQNd +DVoWyKa8LKu2k9p2JFl15XpKRVRh41yDH3JdCbvYdEqRY9nT8/J6JGeWHTcPyeQl +KjoyUx4f09wvuEQHWFcZexGpbKp9zigWDxy1qRNPQKTIjDhrWx8P0Zxbc3KOX2si +Uy1euylnOg== +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc0/traefik/certs/xc0cm.localhost.key b/sxc/10.0/xc0/traefik/certs/xc0cm.localhost.key new file mode 100644 index 0000000..e734712 --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/xc0cm.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEArUP4TygAS3PFVCM4jPUtzix3OCnoaN5Wkk1jMV5SPZY5J5KB +ImocIfrx4gxBMJw84QcnT6UWLZn3fCJAGQbpE/4N7gjtG18gspREasbnXM3tMUKH +fsZWaLb4syq0LOEURbE3Jzr3aSymM4lksuMCHIUdJNAbmeSz6/XGE0XJ7MATINhi +L0k/pbr+PDuFkYAjcGdmfSLLnrmCKbzd2R7hE6P68xdse1x45Zw8CGg/nuphLEYc +rI1hNhqLC1GC+mCwq/SVmEkdgZNi/cpRHz2J5B0br3jVow7T6JHtxxqebOQhgWAR +88ksCPLlBqLXgn8c/j6pimRwqocvQZEfEFfoFQIDAQABAoIBAQCivD5Sim2McJYc +KmCI9BcrmFP5alMhfAKvswPBcKeptJjF9DJZknQN7laVS5FHCNedO0zO321vMzdh +XgH5/6WW431N3xBkLvrU/7Eq4NqZLcjkBWqhxcOO4pvAHBHSPSz/MC1vKVELdaY8 +rYTpB5IKG3R+CQCDkGz06Ig7vcakF06mXTMTAVIXfUcjMwHOhkW5Y4mjxsW1Y962 +KZuqAp3ifimnUypXfe5ETipaM/C08G2K0OR6nDbeyp3oUYImkAhPBrzD57SlWADu +hD29fr9By1bj9F/Zta5poAIv3tzjswvBks4o4B6qDB9LFdFv17jy+sRCLMlV78GG +wabVdU4ZAoGBAOLrwhxtZfb/PDiVhSTwunJgDFKdufu4ECNReSStGF1L2CjTBHTw +DyGuwhxSJgtPl9ey0+ileLs76rjZfEETsqfmyNNYU62jz7qt2NhTzTAMmNL4fUH0 +Ljn3jarEepLNaBlEHd+fqHP8xb8g4fOml17lnqjlYn2kPJ8A28MLH29bAoGBAMN4 +BZKOQcmGSFhvahb92WVOTV+vVIslA6tPpEc6BfdaYeAG0UpL07vmxhmWpBxM/RoT +bv7WNcn9V2cuVWjLmJIJPYKS2lwj4aizeGl9p/pZoZOrmTw0EuYvrHNSNNuX1RG6 +OXBfh835DNxWVwaneQLqYxGZ0NFIvyqBjuYxVpFPAoGAfkQ3T8Aj86uUY9v3KVX2 +OTxuvu3bFlEWUcC9CwZyPz+7uQOqQDNwCAsJId8oIjUYxcJRHewtYOn3MwJ5nHCM +gdbuOoO0lDNJnJOtzLncu/bWdtYkRLXNnx27q6EGn3dCjISVpuBdSKUHl9GBSSWS +pxBYF50ED+t6e/NrVX1z8W8CgYAtHIUEtsoeDVyi9EuitME4bSLUQ22ak1dOcRnz +ykNYO8a84jXpFKjwA6mSfD6xvV7oZrXGIH/Xdx111a6med5jTbihauz0ON+6hHj0 +t6hN0ePFZeP+jfISp8v/7Wf/igIFjln1QkbgVWsPaum4wmveLWPhywLzWfusfqwR +Gi/lZwKBgCr1glq06W0ZDNf6e0fRYREWuZPz/ETUaWV51nMZ+Iy5LPmDnbeO1kYY +d6RgABZFJhMLM22u98q5u5wbmzBx5LJcjqxrXJw57Uw2Zgs5oO/T45lirJRaGk1y +jaRUbF+x1+MyjYNZSMVz2v30xHUeu/Y724UOB0tvV/WAGbCNG1z9 +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc0/traefik/certs/xc0id.localhost.crt b/sxc/10.0/xc0/traefik/certs/xc0id.localhost.crt new file mode 100644 index 0000000..afbbb70 --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/xc0id.localhost.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDAzCCAeugAwIBAgIUawlhmAcg8CLeyvsaytNmKthOIAYwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NTEzMTkxNzU1WhcNMzAwNTExMTkxNzU1WjAaMRgwFgYDVQQDDA94YzBpZC5sb2Nh +bGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMJDwhZHBVkhx0 +kBPbZNC/l84VtpipBGKyJEN7nV0f8LP/r5J3rzkHT7aqH6iTbrikq97NhDj3//88 +Y+0sh/g1IC0J3epJw2ZNsnpsQl1yOAPe9ktwAlhdqcVwGccvJCz3pNLjjfyVVwxA +xqs3Wn8juSTQuwivgtc5Goo3+jxh85xzeLRA1zWnptiGulzqC3LuUTBbL7qtIM0T +ark8Mc7Dvx9www+Sgh6zHi4RnqfSE9pfqoo/aHxyxu+Vzj8+G5DkNBjXKbb8l7Qv +nuanrSsXGN4IFyy/ap5vmxp2yrePK5KWvDMwBhuFUeam8QqOfGR8Jb/AYyWscHQQ +Mq/JdTF5AgMBAAGjNjA0MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMBoGA1UdEQQT +MBGCD3hjMGlkLmxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAh8j+sfIGzORx +IBSbidk4i5fQhopJl0G6ZSrZNVYI5ogG++ArcbaVhvvxJpQssZLeny/c2OpAVMyS +OTcTQh7w91I2QwAH+2K1om0/E4goFpY9axm2Kz6bA9Z4Ia5cP39wq46clCkpE1I9 +i3K7h9HTDs6VdJ21bFOw9+fSTwPhqbpqV6DLm7yFjtGDIA4om/iGLSwkjx547oKK +aQWo2DBrlp9D1Q2t025ciys3Gc5Gff7LzfzXmTqWFgPLF3BIOAl7iS6DRKEUQA+q +qRz5+y44kg2xwANcSBBLGX6F+XIzi1QKgYlI3A6AtWIquiKsp8L/O5x+JZFFfDkb +yHNw7Af75w== +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc0/traefik/certs/xc0id.localhost.key b/sxc/10.0/xc0/traefik/certs/xc0id.localhost.key new file mode 100644 index 0000000..b0b31b8 --- /dev/null +++ b/sxc/10.0/xc0/traefik/certs/xc0id.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAzCQ8IWRwVZIcdJAT22TQv5fOFbaYqQRisiRDe51dH/Cz/6+S +d685B0+2qh+ok264pKvezYQ49///PGPtLIf4NSAtCd3qScNmTbJ6bEJdcjgD3vZL +cAJYXanFcBnHLyQs96TS4438lVcMQMarN1p/I7kk0LsIr4LXORqKN/o8YfOcc3i0 +QNc1p6bYhrpc6gty7lEwWy+6rSDNE2q5PDHOw78fcMMPkoIesx4uEZ6n0hPaX6qK +P2h8csbvlc4/PhuQ5DQY1ym2/Je0L57mp60rFxjeCBcsv2qeb5sadsq3jyuSlrwz +MAYbhVHmpvEKjnxkfCW/wGMlrHB0EDKvyXUxeQIDAQABAoIBAQClFXBi+Jw3Nu83 +/ANy2jZNme+Yc49Erz05HkZMQte6KqcFT/A8RUDy/q2TKgLjJxi+YhbNT+3Z7/Vx +2sVDy7kXDSwe3IzIlfG3R2vk/E4hPdcziS08KUlYhSAbJV2Ea9bJdUrtpjbqdfh8 +saxoGRDTzLdO7NF7TW3KygGYfw4xjqPZPvraRrAF3SDD8/6zWXA7Za9n9MSpDPcN +V9SCqAPQVqHqkHaI2eZUNMbtuh8HAL2/BNgnkkmYEa1tMccPIl3xSUr5vD0mfl+1 +Z9xUZStTD3dp6OZA0Xxj8ynm6hWYhXfwoKC5OS7ZCADBwD4ZUsEvW2xighO33LKP +b9LtKKBZAoGBAOkajwTNDX9nOofqSdb6NYMX4aoVCN0mCRUMqMD9T2HT5VT2JZNa +xL88FCRsZ/cHsOwfdGDYNDg39jkVGhODx1CJemwEUFsiDWClgzl3USGgxXdjqccR +7p/O4drI3SYkGWr2SmgvLnZgcQV67BICltYoENUUopItVriC1ANK4HabAoGBAOAx +amyGuaeBtul/LGlr6G322Qt/VTlpchW+Z3V8MtvNSE7/zlWT/PHOLvSfBBpx1lMZ +uGb1mfMqLGBffncsgKWeti04Np6MQvsTvy0bBXfpkKDhWLGED3NLLg636FlJUiBB +T/vH9dqYjVMpBQ79j5Ujg6PC6p5deC8ESqyf/W97AoGAScwKsy5ns4nu0dCuh8y2 +3EXXP41hPQIppexYEKEhXItE81zqEHiQCSrwBYf8cgyRSm+63F4WSiYNYYz4sGzr +0Od1RnUnK3LgYVSE8tB/cvH/EgkPWuKmdRl+D1HAEa8kDOTkMY+eWgO2RFHiIuGG +902/5nWd8kFATzG8BT7TSTkCgYALd3uSAXINdzz7xF1pJvPEbBO92s1pGlOTeSGh +iLCxPVatc7gB+Ie/dmRAbsGu+JOVvIMKARXWshmC9F9riQMrdWqr9WwVv+bNIL1u +eStWbsPO9reqnK6NnxLD/fQMXQuuSqjkn92bSKIx1q9DjQSDBEX/YkDNyMoU3YtU +OPqlcQKBgBQd6z1LWR3Edj5MgQU+q07n8IosTl9R/sWRJGoPM83OHBXlrXZ4v5Mv +AKW84RNLn0sI/UpssI+qOgmLAXalKeldg5uRCVjxzOxh7enn6X2NQKQhXrBsqvax +aDhw4Dmi9FFawLx5dAHfEqShaCkjzKtNN1u0rebpMDgBpaRk7my3 +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc0/traefik/config/dynamic/certs_config.yaml b/sxc/10.0/xc0/traefik/config/dynamic/certs_config.yaml new file mode 100644 index 0000000..ba49a85 --- /dev/null +++ b/sxc/10.0/xc0/traefik/config/dynamic/certs_config.yaml @@ -0,0 +1,16 @@ +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 + - certFile: C:\etc\traefik\certs\ops.localhost.crt + keyFile: C:\etc\traefik\certs\ops.localhost.key \ No newline at end of file diff --git a/sxc/10.0/xc0/xconnect/keep.txt b/sxc/10.0/xc0/xconnect/keep.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/xc1-cxa/.env b/sxc/10.0/xc1-cxa/.env new file mode 100644 index 0000000..78e0439 --- /dev/null +++ b/sxc/10.0/xc1-cxa/.env @@ -0,0 +1,55 @@ +BASE_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/base/ + +XP_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxp/ +XP_SITECORE_TAG=10.0.0-ltsc2019 + +MODULES_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxp/modules/ +SPE_SITECORE_TAG=6.1.1-1809 +SXA_SITECORE_TAG=10.0.0-1809 + +XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxc/nonproduction/ +XC_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxc/ +XC_PACKAGES_TAG=10.0.0-ltsc2019 + +TRAEFIK_IMAGE=traefik:v2.2.0-windowsservercore-1809 +TRAEFIK_ISOLATION=default + +ISOLATION=default + +CD_HOST=xc1cd.localhost +CM_HOST=xc1cm.localhost +ID_HOST=xc1id.localhost + +AUTHORING_HOST=authoring.localhost +SHOPS_HOST=shops.localhost +MINIONS_HOST=minions.localhost +OPS_HOST=ops.localhost + +BIZFX_HOST=bizfx.localhost + +SQL_SA_PASSWORD=Password12345 +SITECORE_ADMIN_PASSWORD=Password12345 + +SITECORE_MASTER_DB=Sitecore.Master +SITECORE_CORE_DB=Sitecore.Core +XC_GLOBAL_DB=SitecoreCommerce_Global +XC_GLOBAL_DB_TRUSTED_CONNECTION=false +XC_SHARED_DB=SitecoreCommerce_SharedEnvironments +XC_SHARED_DB_TRUSTED_CONNECTION=false + +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_IDSECRET= +SITECORE_ID_CERTIFICATE= +SITECORE_ID_CERTIFICATE_PASSWORD= +SITECORE_LICENSE= \ No newline at end of file diff --git a/sxc/10.0/xc1-cxa/cd/Dockerfile b/sxc/10.0/xc1-cxa/cd/Dockerfile new file mode 100644 index 0000000..62a9061 --- /dev/null +++ b/sxc/10.0/xc1-cxa/cd/Dockerfile @@ -0,0 +1,20 @@ +# escape=` + +ARG BASE_IMAGE +ARG SXA_RESOURCES_IMAGE + +FROM ${SXA_RESOURCES_IMAGE} AS sxa_resources + +FROM ${BASE_IMAGE} + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=sxa_resources C:\module\cd\content C:\inetpub\wwwroot +COPY --from=sxa_resources C:\module\tools C:\module\tools + +COPY wdp/ C:/inetpub/wwwroot +COPY xdts/ C:/inetpub/wwwroot/App_Data/SxaXdt + +RUN 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.0/xc1-cxa/cd/xdts/Web.config.xdt b/sxc/10.0/xc1-cxa/cd/xdts/Web.config.xdt new file mode 100644 index 0000000..aa39a98 --- /dev/null +++ b/sxc/10.0/xc1-cxa/cd/xdts/Web.config.xdt @@ -0,0 +1,44 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sxc/10.0/xc1-cxa/cm/Dockerfile b/sxc/10.0/xc1-cxa/cm/Dockerfile new file mode 100644 index 0000000..a4217b5 --- /dev/null +++ b/sxc/10.0/xc1-cxa/cm/Dockerfile @@ -0,0 +1,26 @@ +# escape=` + +ARG BASE_IMAGE +ARG SPE_RESOURCES_IMAGE +ARG SXA_RESOURCES_IMAGE + +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 + +FROM spe AS sxa + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=sxa_resources C:\module\cm\content C:\inetpub\wwwroot +COPY --from=sxa_resources C:\module\tools C:\module\tools + +COPY wdp/ C:/inetpub/wwwroot +COPY xdts/ C:/inetpub/wwwroot/App_Data/SxaXdt + +RUN C:\module\tools\Initialize-Content.ps1 -TargetPath C:\inetpub\wwwroot; ` + Remove-Item -Path C:\module -Recurse -Force; diff --git a/sxc/10.0/xc1-cxa/cm/xdts/Web.config.xdt b/sxc/10.0/xc1-cxa/cm/xdts/Web.config.xdt new file mode 100644 index 0000000..aa39a98 --- /dev/null +++ b/sxc/10.0/xc1-cxa/cm/xdts/Web.config.xdt @@ -0,0 +1,44 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sxc/10.0/xc1-cxa/commerce.build.yml b/sxc/10.0/xc1-cxa/commerce.build.yml new file mode 100644 index 0000000..bad705b --- /dev/null +++ b/sxc/10.0/xc1-cxa/commerce.build.yml @@ -0,0 +1,51 @@ +version: "3.7" +services: + mssql: + image: sitecore-xc1-mssql + build: + context: ./mssql + dockerfile: ./standalone/Dockerfile + args: + BASE_IMAGE: xc1-mssql:latest + SPE_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}spe-assets:${SPE_SITECORE_TAG} + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sxa-xp1-assets:${SXA_SITECORE_TAG} + mssql-init: + image: sitecore-xc1-mssql-init + build: + context: ./mssql + dockerfile: ./init/Dockerfile + args: + BASE_IMAGE: xc1-mssql-init:latest + SPE_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}spe-assets:${SPE_SITECORE_TAG} + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sxa-xp1-assets:${SXA_SITECORE_TAG} + solr: + image: sitecore-xc1-solr + build: + context: ./solr + dockerfile: ./standalone/Dockerfile + args: + BASE_IMAGE: xc1-solr:latest + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sxa-xp1-assets:${SXA_SITECORE_TAG} + solr-init: + image: sitecore-xc1-solr-init + build: + context: ./solr + dockerfile: ./init/Dockerfile + args: + BASE_IMAGE: xc1-solr-init:latest + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sxa-xp1-assets:${SXA_SITECORE_TAG} + cd: + image: sitecore-xc1-cd + build: + context: ./cd + args: + BASE_IMAGE: xc1-cd:latest + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sxa-xp1-assets:${SXA_SITECORE_TAG} + cm: + image: sitecore-xc1-cm + build: + context: ./cm + args: + BASE_IMAGE: xc1-cm:latest + SPE_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}spe-assets:${SPE_SITECORE_TAG} + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sxa-xp1-assets:${SXA_SITECORE_TAG} \ No newline at end of file diff --git a/sxc/10.0/xc1-cxa/docker-compose.build.yml b/sxc/10.0/xc1-cxa/docker-compose.build.yml new file mode 100644 index 0000000..f622d3a --- /dev/null +++ b/sxc/10.0/xc1-cxa/docker-compose.build.yml @@ -0,0 +1,51 @@ +version: "3.7" +services: + mssql: + image: sitecore-xc1-mssql + build: + context: ./mssql + dockerfile: ./standalone/Dockerfile + args: + BASE_IMAGE: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}xc1-mssql:${XC_PACKAGES_TAG} + SPE_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}spe-assets:${SPE_SITECORE_TAG} + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sxa-xp1-assets:${SXA_SITECORE_TAG} + mssql-init: + image: sitecore-xc1-mssql-init + build: + context: ./mssql + dockerfile: ./init/Dockerfile + args: + BASE_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}xc1-mssql-init:${XC_PACKAGES_TAG} + SPE_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}spe-assets:${SPE_SITECORE_TAG} + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sxa-xp1-assets:${SXA_SITECORE_TAG} + solr: + image: sitecore-xc1-solr + build: + context: ./solr + dockerfile: ./standalone/Dockerfile + args: + BASE_IMAGE: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}xc1-solr:${XC_PACKAGES_TAG} + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sxa-xp1-assets:${SXA_SITECORE_TAG} + solr-init: + image: sitecore-xc1-solr-init + build: + context: ./solr + dockerfile: ./init/Dockerfile + args: + BASE_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}xc1-solr-init:${XC_PACKAGES_TAG} + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sxa-xp1-assets:${SXA_SITECORE_TAG} + cd: + image: sitecore-xc1-cd + build: + context: ./cd + args: + BASE_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}xc1-cd:${XC_PACKAGES_TAG} + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sxa-xp1-assets:${SXA_SITECORE_TAG} + cm: + image: sitecore-xc1-cm + build: + context: ./cm + args: + BASE_IMAGE: ${XC_SITECORE_DOCKER_REGISTRY}xc1-cm:${XC_PACKAGES_TAG} + SPE_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}spe-assets:${SPE_SITECORE_TAG} + SXA_RESOURCES_IMAGE: ${MODULES_SITECORE_DOCKER_REGISTRY}sxa-xp1-assets:${SXA_SITECORE_TAG} \ No newline at end of file diff --git a/sxc/10.0/xc1-cxa/docker-compose.yml b/sxc/10.0/xc1-cxa/docker-compose.yml new file mode 100644 index 0000000..67bea08 --- /dev/null +++ b/sxc/10.0/xc1-cxa/docker-compose.yml @@ -0,0 +1,762 @@ +version: "2.4" +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.web.address=:80" + - "--entryPoints.websecure.address=:443" + ports: + - "8080:80" + - "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 + engine-ops: + condition: service_started + redis: + isolation: ${ISOLATION} + image: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-redis:${XP_SITECORE_TAG} + restart: unless-stopped + mssql: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-mssql:${XC_PACKAGES_TAG} + restart: unless-stopped + environment: + SA_PASSWORD: ${SQL_SA_PASSWORD} + SITECORE_ADMIN_PASSWORD: ${SITECORE_ADMIN_PASSWORD} + ACCEPT_EULA: "Y" + SQL_SERVER: mssql + ports: + - "14330:1433" + volumes: + - type: bind + source: c:\containers\mssql-data + target: c:\data + solr: + isolation: ${ISOLATION} + image: ${XC_NONPRODUCTION_SITECORE_DOCKER_REGISTRY}sitecore-xc1-solr:${XC_PACKAGES_TAG} + ports: + - "8984:8983" + restart: unless-stopped + volumes: + - type: bind + source: c:\containers\solr-data + target: c:\data + id: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc-id:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + restart: unless-stopped + environment: + Sitecore_Sitecore__IdentityServer__SitecoreMemberShipOptions__ConnectionString: Data Source=mssql;Initial Catalog=Sitecore.Core;User ID=sa;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", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + 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_SITECORE_DOCKER_REGISTRY}sitecore-xc1-cd:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + solr: + condition: service_started + id: + condition: service_started + 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=mssql;Initial Catalog=Sitecore.Core;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Web: Data Source=mssql;Initial Catalog=Sitecore.Web;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_ExperienceForms: Data Source=mssql;Initial Catalog=Sitecore.ExperienceForms;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Exm.Master: Data Source=mssql;Initial Catalog=Sitecore.Exm.master;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Solr.Search: http://solr:8983/solr + 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_Identity_Server_Authority: https://${ID_HOST} + Sitecore_Identity_Server_InternalAuthority: http://id + Sitecore_xc_Minions_Url: http://engine-minions:5000/commerceops/ + Sitecore_xc_Ops_Url: http://engine-ops:5000/commerceops/ + Sitecore_xc_Shops_Url: http://engine-shops:5000/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 + cm: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-cm:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + solr: + condition: service_started + id: + condition: service_started + rep: + 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=mssql;Initial Catalog=${SITECORE_CORE_DB};User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Security: Data Source=mssql;Initial Catalog=${SITECORE_CORE_DB};User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Master: Data Source=mssql;Initial Catalog=${SITECORE_MASTER_DB};User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Web: Data Source=mssql;Initial Catalog=Sitecore.Web;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting.ApiKey: ${REPORTING_API_KEY} + Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=mssql;Initial Catalog=Sitecore.Referencedata;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_ExperienceForms: Data Source=mssql;Initial Catalog=Sitecore.ExperienceForms;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Exm.Master: Data Source=mssql;Initial Catalog=Sitecore.Exm.master;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting: Data Source=mssql;Initial Catalog=Sitecore.Reporting;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Sitecore.Reporting.Client: http://rep + Sitecore_ConnectionStrings_Solr.Search: http://solr:8983/solr + 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_Reporting_Service_Url: http://rep + Sitecore_Processing_Service_Url: http://prc + Sitecore_Reporting_Service_Require_Https: 'false' + 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_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" + SitecoreMssqlServiceIp: mssql + SqlSaPassword: ${SQL_SA_PASSWORD} + SitecoreCoreDbName: ${SITECORE_CORE_DB} + Sitecore_xc_Minions_Url: http://engine-minions:5000/commerceops/ + Sitecore_xc_Ops_Url: http://engine-ops:5000/commerceops/ + Sitecore_xc_Shops_Url: http://engine-authoring:5000/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_SITECORE_DOCKER_REGISTRY}sitecore-xc1-prc:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + xdbcollection: + condition: service_started + environment: + Sitecore_AppSettings_instanceNameMode:define: default + Sitecore_ConnectionStrings_Core: Data Source=mssql;Initial Catalog=Sitecore.Core;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Security: Data Source=mssql;Initial Catalog=Sitecore.Core;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Master: Data Source=mssql;Initial Catalog=Sitecore.Master;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting.ApiKey: ${REPORTING_API_KEY} + Sitecore_ConnectionStrings_Xdb.Processing.Pools: Data Source=mssql;Initial Catalog=Sitecore.Processing.pools;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=mssql;Initial Catalog=Sitecore.Referencedata;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Processing.Tasks: Data Source=mssql;Initial Catalog=Sitecore.Processing.tasks;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting: Data Source=mssql;Initial Catalog=Sitecore.Reporting;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_XConnect.Collection: http://xdbcollection + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + rep: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-rep:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + environment: + Sitecore_AppSettings_instanceNameMode:define: default + Sitecore_ConnectionStrings_Core: Data Source=mssql;Initial Catalog=Sitecore.Core;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Security: Data Source=mssql;Initial Catalog=Sitecore.Core;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Master: Data Source=mssql;Initial Catalog=Sitecore.Master;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting.ApiKey: ${REPORTING_API_KEY} + Sitecore_ConnectionStrings_Reporting: Data Source=mssql;Initial Catalog=Sitecore.Reporting;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + xdbcollection: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-xdbcollection:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + environment: + Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=mssql;Initial Catalog=Sitecore.Marketingautomation;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Processing.Pools: Data Source=mssql;Initial Catalog=Sitecore.Processing.pools;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Collection: Data Source=mssql;Initial Catalog=Sitecore.Xdb.Collection.ShardMapManager;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + xdbsearch: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-xdbsearch:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + solr: + condition: service_started + environment: + Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=mssql;Initial Catalog=Sitecore.Marketingautomation;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Processing.Pools: Data Source=mssql;Initial Catalog=Sitecore.Processing.pools;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Collection: Data Source=mssql;Initial Catalog=Sitecore.Xdb.Collection.ShardMapManager;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_SolrCore: http://solr:8983/solr/sitecore_xdb + 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_SITECORE_DOCKER_REGISTRY}sitecore-xc1-xdbautomation:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + xdbcollection: + condition: service_started + xdbsearch: + condition: service_started + environment: + Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=mssql;Initial Catalog=Sitecore.Marketingautomation;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=mssql;Initial Catalog=Sitecore.Referencedata;User ID=sa;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: + condition: service_healthy + environment: + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=mssql;Initial Catalog=Sitecore.Marketingautomation;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=mssql;Initial Catalog=Sitecore.Referencedata;User ID=sa;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: + condition: service_healthy + environment: + Sitecore_ConnectionStrings_Processing.Engine.Storage: Data Source=mssql;Initial Catalog=Sitecore.Processing.Engine.Storage;User ID=sa;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: + condition: service_healthy + environment: + Sitecore_ConnectionStrings_Reporting: Data Source=mssql;Initial Catalog=Sitecore.Reporting;User ID=sa;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: + condition: service_healthy + environment: + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=mssql;Initial Catalog=Sitecore.Referencedata;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_License: ${SITECORE_LICENSE} + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s + xdbsearchworker: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc1-xdbsearchworker:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + solr: + condition: service_started + restart: unless-stopped + environment: + Sitecore_ConnectionStrings_Collection: Data Source=mssql;Initial Catalog=Sitecore.Xdb.Collection.ShardMapManager;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_SolrCore: http://solr:8983/solr/sitecore_xdb + 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_SITECORE_DOCKER_REGISTRY}sitecore-xc1-xdbautomationworker:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + xdbcollection: + condition: service_started + xdbsearch: + condition: service_started + restart: unless-stopped + environment: + Sitecore_ConnectionStrings_XConnect.Collection: http://xdbcollection + Sitecore_ConnectionStrings_XConnect.Search: http://xdbsearch + Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=mssql;Initial Catalog=Sitecore.Marketingautomation;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=mssql;Initial Catalog=Sitecore.Referencedata;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;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: + mssql: + condition: service_healthy + xdbcollection: + condition: service_started + xdbsearch: + condition: service_started + restart: unless-stopped + environment: + Sitecore_ConnectionStrings_Processing.Engine.Storage: Data Source=mssql;Initial Catalog=Sitecore.Processing.Engine.Storage;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Processing.Engine.Tasks: Data Source=mssql;Initial Catalog=Sitecore.Processing.Engine.Tasks;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_XConnect.Collection: http://xdbcollection + Sitecore_ConnectionStrings_XConnect.Configuration: http://xdbcollection + Sitecore_ConnectionStrings_XConnect.Search: http://xdbsearch + Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} + Sitecore_ConnectionStrings_Reporting: Data Source=mssql;Initial Catalog=Sitecore.Reporting;User ID=sa;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_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_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql: + 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: mssql + COMMERCEENGINE_GlobalDatabaseUserName: sa + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedDatabaseServer: mssql + COMMERCEENGINE_SharedDatabaseUserName: sa + 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: "false" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: sitecore_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: sitecore_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: 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"] + timeout: 300s + engine-shops: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql: + 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: mssql + COMMERCEENGINE_GlobalDatabaseUserName: sa + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedDatabaseServer: mssql + COMMERCEENGINE_SharedDatabaseUserName: sa + 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: "false" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: sitecore_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: sitecore_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: 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"] + timeout: 300s + engine-minions: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql: + 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: mssql + COMMERCEENGINE_GlobalDatabaseUserName: sa + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedDatabaseServer: mssql + COMMERCEENGINE_SharedDatabaseUserName: sa + 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: "false" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: sitecore_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: sitecore_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: 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"] + timeout: 300s + engine-ops: + isolation: ${ISOLATION} + image: ${XC_SITECORE_DOCKER_REGISTRY}sitecore-xc-engine:${XC_PACKAGES_TAG} + depends_on: + mssql: + condition: service_healthy + solr: + condition: service_started + id: + condition: service_started + redis: + condition: service_started + cm: + condition: service_started + environment: + COMMERCEENGINE_AppSettings__DeploymentId: HabitatOps01 + COMMERCEENGINE_AppSettings__EnvironmentName: HabitatOps + 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: mssql + COMMERCEENGINE_GlobalDatabaseUserName: sa + COMMERCEENGINE_GlobalDatabasePassword: ${SQL_SA_PASSWORD} + COMMERCEENGINE_GlobalTrustedConnection: "${XC_GLOBAL_DB_TRUSTED_CONNECTION}" + COMMERCEENGINE_SharedDatabaseName: ${XC_SHARED_DB} + COMMERCEENGINE_SharedDatabaseServer: mssql + COMMERCEENGINE_SharedDatabaseUserName: sa + 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: "false" + COMMERCEENGINE_StorefrontIndexPrefix_web_index: sitecore_web_index + COMMERCEENGINE_StorefrontIndexPrefix_master_index: sitecore_master_index + COMMERCEENGINE_SearchIndexPrefixOrdersScope: OrdersScope + COMMERCEENGINE_SearchIndexPrefixOrdersScope-Rebuild: OrdersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCustomersScope: CustomersScope + COMMERCEENGINE_SearchIndexPrefixCustomersScope-Rebuild: CustomersScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope: CatalogItemsScope + COMMERCEENGINE_SearchIndexPrefixCatalogItemsScope-Rebuild: CatalogItemsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPromotionsScope: PromotionsScope + COMMERCEENGINE_SearchIndexPrefixPromotionsScope-Rebuild: PromotionsScope-Rebuild + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope: PriceCardsScope + COMMERCEENGINE_SearchIndexPrefixPriceCardsScope-Rebuild: 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.ops-secure.entrypoints=websecure" + - "traefik.http.routers.ops-secure.rule=Host(`${OPS_HOST}`)" + - "traefik.http.routers.ops-secure.tls=true" + - "traefik.http.routers.ops-secure.middlewares=force-STS-Header" + healthcheck: + test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] + timeout: 300s diff --git a/sxc/10.0/xc1-cxa/mssql/init/Dockerfile b/sxc/10.0/xc1-cxa/mssql/init/Dockerfile new file mode 100644 index 0000000..9487218 --- /dev/null +++ b/sxc/10.0/xc1-cxa/mssql/init/Dockerfile @@ -0,0 +1,23 @@ +# escape=` + +ARG BASE_IMAGE +ARG SPE_RESOURCES_IMAGE +ARG SXA_RESOURCES_IMAGE + +FROM ${SPE_RESOURCES_IMAGE} AS spe_resources + +FROM ${SXA_RESOURCES_IMAGE} AS sxa_resources + +FROM ${BASE_IMAGE} AS spe + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=spe_resources C:\module\db C:\resources\spe + +FROM spe AS sxa + +COPY --from=sxa_resources C:\module\db C:\resources\sxa + +FROM sxa AS cxa + +COPY ./dacpacs ./resources \ No newline at end of file diff --git a/sxc/10.0/xc1-cxa/mssql/standalone/Dockerfile b/sxc/10.0/xc1-cxa/mssql/standalone/Dockerfile new file mode 100644 index 0000000..7d2dfa1 --- /dev/null +++ b/sxc/10.0/xc1-cxa/mssql/standalone/Dockerfile @@ -0,0 +1,30 @@ +# escape=` + +ARG BASE_IMAGE +ARG SPE_RESOURCES_IMAGE +ARG SXA_RESOURCES_IMAGE + +FROM ${SPE_RESOURCES_IMAGE} AS spe_resources + +FROM ${SXA_RESOURCES_IMAGE} AS sxa_resources + +FROM ${BASE_IMAGE} AS spe + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=spe_resources C:\module\db C:\spe_data + +RUN C:\DeployDatabases.ps1 -ResourcesDirectory C:\spe_data; ` + Remove-Item -Path C:\spe_data -Recurse -Force; + +FROM spe AS sxa + +COPY --from=sxa_resources C:\module\db C:\sxa_data + +RUN C:\DeployDatabases.ps1 -ResourcesDirectory C:\sxa_data; ` + Remove-Item -Path C:\sxa_data -Recurse -Force; + +COPY dacpacs/ C:/commerce_data + +RUN C:\DeployDatabases.ps1 -ResourcesDirectory C:\commerce_data; ` + Remove-Item -Path C:\commerce_data -Recurse -Force; \ No newline at end of file diff --git a/sxc/10.0/xc1-cxa/solr/init/Dockerfile b/sxc/10.0/xc1-cxa/solr/init/Dockerfile new file mode 100644 index 0000000..2f538a4 --- /dev/null +++ b/sxc/10.0/xc1-cxa/solr/init/Dockerfile @@ -0,0 +1,12 @@ +# escape=` + +ARG BASE_IMAGE +ARG SXA_RESOURCES_IMAGE + +FROM ${SXA_RESOURCES_IMAGE} AS sxa_resources + +FROM ${BASE_IMAGE} AS sxa + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +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.0/xc1-cxa/solr/standalone/Dockerfile b/sxc/10.0/xc1-cxa/solr/standalone/Dockerfile new file mode 100644 index 0000000..9ff5805 --- /dev/null +++ b/sxc/10.0/xc1-cxa/solr/standalone/Dockerfile @@ -0,0 +1,15 @@ +# escape=` + +ARG BASE_IMAGE +ARG SXA_RESOURCES_IMAGE + +FROM ${SXA_RESOURCES_IMAGE} AS sxa_resources + +FROM ${BASE_IMAGE} AS sxa + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] + +COPY --from=sxa_resources C:\module\solr C:\sxa_data + +RUN C:\Add-SolrCores.ps1 -SolrPath C:\solr -SolrSchemaPath C:\sxa_data\managed-schema -SolrCoreNames 'sitecore_sxa_master_index,sitecore_sxa_web_index'; ` + Remove-Item -Path C:\sxa_data -Recurse -Force; \ No newline at end of file diff --git a/sxc/10.0/xc1-cxa/traefik/certs/authoring.localhost.crt b/sxc/10.0/xc1-cxa/traefik/certs/authoring.localhost.crt new file mode 100644 index 0000000..97c08c0 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/authoring.localhost.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDADCCAeigAwIBAgIJANWbFRqU1ORCMA0GCSqGSIb3DQEBCwUAMCUxIzAhBgNV +BAMMGkNvbW1lcmNlIENvbnRhaW5lciBSb290IENBMB4XDTIwMDQxNjE4Mjg1MFoX +DTMwMDQxNDE4Mjg1MFowHjEcMBoGA1UEAwwTYXV0aG9yaW5nLmxvY2FsaG9zdDCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANvcRPvBKjYyEFq0PnQCTddk +WQX67yebWIZGXO7jYmNivVs2HghPmLaNWICXDpVKZmysWixu8QI25TuNMNEvZrv3 +qtcRRFHpDkKO6JPh8cjjZ/4wAy5KwPzGz99ijTIzqRnuhjeZzbfN0wH5GyZ7R4H3 +CDIWeaLoGpj9ZidMVEuI8PrD0ygM7RXM3x2VDUOnUWHtRmVX9hhjQaZRgENSdGj4 +QxEdgP8CpXjbMMWc+nsSDqiVvXYSnS3r3iPhCbo0hUP8s5c265iX+MWzajLVrMst +/sHpdGH8vVZxFidNzZCCCxIHTCSYa/6EWzwzLLkVlEYNhtbmobX9WfAz+jSMeUsC +AwEAAaM6MDgwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwHgYDVR0RBBcwFYITYXV0 +aG9yaW5nLmxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAIt+6GORR8nxKJ5nv +vsUzoWdGp1HLIV5fZT4Aq+6VQ/NMX4Ms89w1/npUH3D4+tmlFEdxLsFF2Jhmbynr +fs8ROmCyT5IIIGX34Vp5SLJBqjSxEFKWpxeOTRrC2CRdZAG7rS3sILCwGBxuJnhn +z9UU8pInDGeBjPZIchJbdI9lREDiSqbxGUP9AfWPZlYAtUSyAbCYMLg7RFNEPJl7 +IfZ1l0OIa1R4wxMfqc96YkSiXCi8ZMgbqsxWLkrA3+L8vhzxrwah7lYH8I8GlY1a +AlXUZz26/GkPevIGINu72nPn16pV7lqXpTdBTOOZhDbOFCyfNnw1zUM4InZtpNZd +ZYZ5mg== +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/authoring.localhost.key b/sxc/10.0/xc1-cxa/traefik/certs/authoring.localhost.key new file mode 100644 index 0000000..41f1e55 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/authoring.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA29xE+8EqNjIQWrQ+dAJN12RZBfrvJ5tYhkZc7uNiY2K9WzYe +CE+Yto1YgJcOlUpmbKxaLG7xAjblO40w0S9mu/eq1xFEUekOQo7ok+HxyONn/jAD +LkrA/MbP32KNMjOpGe6GN5nNt83TAfkbJntHgfcIMhZ5ougamP1mJ0xUS4jw+sPT +KAztFczfHZUNQ6dRYe1GZVf2GGNBplGAQ1J0aPhDER2A/wKleNswxZz6exIOqJW9 +dhKdLeveI+EJujSFQ/yzlzbrmJf4xbNqMtWsyy3+wel0Yfy9VnEWJ03NkIILEgdM +JJhr/oRbPDMsuRWURg2G1uahtf1Z8DP6NIx5SwIDAQABAoIBAQCRaWjSnVpex9Pb +OdUIgzGaoMrkUqf0KSFuhYEXmppLI1YbynoogwR80JVVTxMdGD0P6RomwyVxkn8g +WOyNne0zqsV6QvhNuHdu+/fFPy3b8NOp4XVpG5XyWUfI9fRu3I4eEY0Bnx7ZTy8c +4fXcCLMtuQXZotXGMf7NauMyYKBr56eJWoI4yswg8xukwXoz2+DHAjvWTY8TJGOH +y1MgbvgD/levrCH7UBCsBcCA17Q9EgUoF4DHM+Rm307w7S/XDvsvazW4RK2Gf545 +AmQUxYtVH0oBD6YKHAZ4pV0qqY6ce2/aBUfHWUg5LSgHuLrKuCRJ5MO2FXAOFJl6 +/A8lsbHRAoGBAPSzyLPy90HjfL0Gm71rnhMxcnFPjP+OhOFAP9Y1ZiL49NMXiAUW +T8R8d9Oy89HC8Sicmu9Tsvygqo49E4zxcoxBxGlfRME8CQqQA5BT9o+HVfVH7UhR +dC7rVhXelElQ5943vhL9jbxWENJDsq2qzMZVVK0dceaOdGrGrjOoFIIpAoGBAOYC +3xsZ0OkNearSna3QW5H627YImKQMvsHZKwB92uFyPmrpz06KpM+D3yJ4Er90xJQ5 +FizDeerkrdBwysclgJW0/smLnYhBd1fat66YepqJEM5ECOw9H8XRzsKl2QqwVm+n +ZfUm3r9OdTGFEAwIJHbTOgf1U0Qqwvzm+a6bWNZTAoGABuKYHxgTBPOVquvoree9 +RuT5R17ppLcp3fykzy4pdYpzuQzMcvgxvmGSLY63dYt6pZ3ibiF4w8rxgZcOWcTh +aDjhgeWAVb+OsZFjyEfUhC1WqdQgRQylrDxK68qbeYShQYtn+bjQqB/z0Ta+bEyF +/n6gJ07QyZ/wfqCgfiuYiCECgYEAq61xATVfrNOWAF57uoROFMN8wn3gEHJC30VM +x20otiUjWYFyblklco4nOf8NX0G0iD2jw32TvjM5WN8XO1VOiG8zzRMcXdsfTL+/ +Yd4FhNrRZGN7lXh6Apj7DmXjfgroOSZk/3onv/q7ll6O/6wEK3y1T8NYhwSzzThJ +HH5u7GkCgYBJqhTK/QVfp2owND46lhfDLjgxalaKDI4MB5VMssOt2G5Hual04ZUT +EdoQ8QkkSlLfBh2f9px0Xw8MmBXgXy9ejSQT3nAHUjOJoe8426aGtq/tyZSkAPQI +06LzSr7cOVLnTVh/Xupi7c3zkxMcrt4a7WKCqtTRq0TrInd8WjeNlg== +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/bizfx.localhost.crt b/sxc/10.0/xc1-cxa/traefik/certs/bizfx.localhost.crt new file mode 100644 index 0000000..7e30753 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/bizfx.localhost.crt @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC+DCCAeCgAwIBAgIJANWbFRqU1ORGMA0GCSqGSIb3DQEBCwUAMCUxIzAhBgNV +BAMMGkNvbW1lcmNlIENvbnRhaW5lciBSb290IENBMB4XDTIwMDQxNjE4Mjg1MVoX +DTMwMDQxNDE4Mjg1MVowGjEYMBYGA1UEAwwPYml6ZngubG9jYWxob3N0MIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsGnNUXINnqVekw+LqNwCIaA7lgRO +tMZpxjUp852MozbuDDGHq3bFUVLyZLAReeUDyWiK8w/TJnkGwV6tNC3wOhF7tXCu +Ay+5+aNhBcSO42qMrtpuVzYNpvF/61gP5ThTVw9pKDHrJsbxNjuiNaXxRAT1M7f8 +0+tKYAFsiW/XukPvZQ3qvX1MNY2sLXOys7Pmncl8yBL8N6Ae1jUSmeeV6jx4Dl3x +chPw3N8o7YCxi/yJc9+8xpxa9s4bvB62BjRpHwKsPEsUg70q8n0HFe7nZYvYiCd0 +B6kV6Ib2oBY2DVPjyeGHy4sbO4Q0xpcofA0FP77GhS/IXqaSGKs9lQmadwIDAQAB +ozYwNDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAaBgNVHREEEzARgg9iaXpmeC5s +b2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggEBAFwn7bIUAJvMvWplFvm3E+qT3xrP +aGGQPJS9a0/7a6rvneVpa3D+JhC3LveWEgFOHVOTdwMXbw6DL79/XpkHZ4x1LUPg +nJxiLnLpAwf+AYpSQahWgn+R11VJKIhIQgHFruAoCXpCsxjd9TVSCT+/dA/wicQp +zkHwuXAUDDfsOhXA3ImXnB2Pf4udOy0BAp5K9LBZT6nWfunjQhsbFBDg9Nb5Xqgx +JHS8Ygjvxx0klNtmPijMmYjRYg96nv55bB9jhrVUsBXFPXYhZ4dVYLuGFgEVkXC5 +TIHV/7B1aCrkQ6WWT69DY1nLYCpmUy/3KLaH/ZTFokK0abRRBfwK1qhCrdM= +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/bizfx.localhost.key b/sxc/10.0/xc1-cxa/traefik/certs/bizfx.localhost.key new file mode 100644 index 0000000..cf31a7e --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/bizfx.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAsGnNUXINnqVekw+LqNwCIaA7lgROtMZpxjUp852MozbuDDGH +q3bFUVLyZLAReeUDyWiK8w/TJnkGwV6tNC3wOhF7tXCuAy+5+aNhBcSO42qMrtpu +VzYNpvF/61gP5ThTVw9pKDHrJsbxNjuiNaXxRAT1M7f80+tKYAFsiW/XukPvZQ3q +vX1MNY2sLXOys7Pmncl8yBL8N6Ae1jUSmeeV6jx4Dl3xchPw3N8o7YCxi/yJc9+8 +xpxa9s4bvB62BjRpHwKsPEsUg70q8n0HFe7nZYvYiCd0B6kV6Ib2oBY2DVPjyeGH +y4sbO4Q0xpcofA0FP77GhS/IXqaSGKs9lQmadwIDAQABAoIBAANTCxZ00sLhlOWq +jlQxSSz/CwBptl37uzSL/e1kU6kjuNqr+EWH6HH+4Sh6lOm6IhcijDPGYZFBCJqO +QS9Rikxd1fn2VKEkvhlxNbvZF2Q7tsj4vsmP8DPsKx/xOeN060UhujaSsj650wPV +ndnq9Z/1g/VkizQnI/CpNjVk0SjmZM0pDSmOvZJV2yABYnArSngUsRH48uD1zSHw +zx312uM3wJUUggOE5Lm8IzazK7uR08v3eOjjyuhHr+R1Zjs0C8QgcIvx71Epoizv +d/fLBKcoa5GjYoyANqugHO4VvHYt52VZjgTR04livXOFjs+J+Vlhe5FfkLS0fiqN +LFfheYECgYEA5UlNIW9bmVGh91FbkOlv3jgLKKOdgLM4SqaLZpqfT+MOMf7mAPoW +OVTb0LMHn06CdDl8zmAvecPEJ1NcGAQT+qSrmgppULWUJ2ulkcnokbIiC4/Qkd6j +ZOl28CDF/z7t0r3bPUX8yGuTPKA6I+3+64o8dkBr6DvhZmnXKG6v7MECgYEAxPeC +Hl/FbdkNmy9RdWtiXyx/slIO5/KKokiMo8DlA65UP6tUeUXYxN/ua1UiIM3XFDv9 +LcFHZxeNwPjDt8tYZ88T+kbs53BE7W+y/uGwbOFqeqozmxWWIp+MSF+q5IfYXroo +AKZW52S3YJGHcVxZyJYJRLC7+3EVauV7YqoD/TcCgYBYSWBUtn9Lyv4VsBMU+n3j +0CqjzFRyYRAU1oooyPL9HM2zfJXt3F5AVyeI9dbChcV/oT8obCr7tODLz7JPYQqc +YVneJ5IjzLcucqm/OELADxpC326NLHA4BBmTHtt+jCmhEw/fSRqrxZhdKMkaWqLk +6UactfOW6a/B8pExdWVyQQKBgQCHnfOVflOtorlflGD9/AYribQSz7U7tyAFRPaw ++Wu18R5JCGqNZa4vQBAlDuUEuTXR1Mwp6N6E+Q69Q4tezT/9mfMjbBpJ8F9FLJeO +L08OaNarxuzpZx+Mj1ZDrrs3xuEPuBU6/Uzw3cP1Vb5wKyoWllejWBzWr7ITfBZM +hMtiWQKBgGYP8lePwiw4tRsFhJZGmffERNtW9A3ugUwxisaSmVUm9Pn+vyJzzoi8 +4I+AbBCKKDtmOPnabAgWDHQyWIT7k9ZcVaP2//gYHlOauyG/va97nO9nL4GR9NpX +HWpoof0Cs/VBVym5/Wmzq5R2oMsR07SA7Cx80Dd9lYizG2VQXp0r +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/minions.localhost.crt b/sxc/10.0/xc1-cxa/traefik/certs/minions.localhost.crt new file mode 100644 index 0000000..ba75af9 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/minions.localhost.crt @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC/DCCAeSgAwIBAgIJANWbFRqU1OREMA0GCSqGSIb3DQEBCwUAMCUxIzAhBgNV +BAMMGkNvbW1lcmNlIENvbnRhaW5lciBSb290IENBMB4XDTIwMDQxNjE4Mjg1MFoX +DTMwMDQxNDE4Mjg1MFowHDEaMBgGA1UEAwwRbWluaW9ucy5sb2NhbGhvc3QwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDOqAmAxVDcen62idtzpB6x7jNk +//6tMKAIOl/V353P3mb/qMOIqZBuF/Jvo+dTH4zGkWX4J8DZofXAaSMGglR1RSqj +hYLobpQlrSKdIRSm15vOhy5nVTTQz7mLReIYvHqGHGajVJuxtLUXqPgNMTZFrB1K +9nUQsKgt7vSspUH6eQ9WbjBGBNwpulXpjDGsQItvMN+lm63jAbiQBBLTP+lK/CUM +DHBBhbm1ycjIfFST5BKbcRh7F+d/+jYTbZrivtaYSUdqjPbZGDp11YHlEBHF2YoG +qRsOhejkoo1os4bEQvQaIwExssP7/j/6PBaUIuQGbS66VuBl+jS6RESq8CV/AgMB +AAGjODA2MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMBwGA1UdEQQVMBOCEW1pbmlv +bnMubG9jYWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQAyQcBuQJSdKLmIalYUWjsk +p90LgbZVdypCmsv9Bi3EZnbfFDVX/zPXtH5+mqxuQhZ4LMvk38kYQHCyd+8sGWgQ +nMOoP2tzNwxV8sPO4TQ5oMVymoMcKu/hZE3Pn3LOxEma8xum+EtJEzl5p+rivYLI +hGtQtZejYRdxJU32mrvJVCDDZIwhaS5XA90oGY4SYNRD2GCSW6pPuSDV7BzJzvon +mM9dB+dEdbQoRUrWzDmdRNbyg9/I93swjTlD6nj0emoNvk6s7BszQ4rp2fAnFWuM +Mq9fQhvgpUg3e6TM30xSHwmSZmZcWtPCUbWfICrNZvE+L6FnjINOG0epc+UQJpMP +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/minions.localhost.key b/sxc/10.0/xc1-cxa/traefik/certs/minions.localhost.key new file mode 100644 index 0000000..742b475 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/minions.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAzqgJgMVQ3Hp+tonbc6Qese4zZP/+rTCgCDpf1d+dz95m/6jD +iKmQbhfyb6PnUx+MxpFl+CfA2aH1wGkjBoJUdUUqo4WC6G6UJa0inSEUptebzocu +Z1U00M+5i0XiGLx6hhxmo1SbsbS1F6j4DTE2RawdSvZ1ELCoLe70rKVB+nkPVm4w +RgTcKbpV6YwxrECLbzDfpZut4wG4kAQS0z/pSvwlDAxwQYW5tcnIyHxUk+QSm3EY +exfnf/o2E22a4r7WmElHaoz22Rg6ddWB5RARxdmKBqkbDoXo5KKNaLOGxEL0GiMB +MbLD+/4/+jwWlCLkBm0uulbgZfo0ukREqvAlfwIDAQABAoIBABYZ8JI+CAzcaOra +yYaPmdzLreFyY2lgVu0qWQ+Fj9ooXfmfsfHOuKydkQcRj27bY/HkoPQuRDjCUocW +d3F9xMyZ7hp47+wtz1hMMPR/EjdZvccTvAm/Ghvu61gSzEB6/9uR9AQpy1DxE6EJ +KCY5CiXfZ26Z9yEm04W+FZrVPb4svPGP6for+2nYXYoLnOfXEhaGONjGQhmcSoSk +my6XdSIa/84o+uK+h/DqkWamN0teIF1H75hRPOfZrGuQ0jsWGtGOXWqLXeda334M +mSaQJPS5gaiuVRfzQQS4tnCNlYxE4D0dy+skwooyz9u1tK0mddf/upvLmbUmRnVO +2nFdgjkCgYEA+gT5+VYbPHX8t8VpTL5RPG3MYYaQOMMxj19ZeF5G0iEYKsAFKiSA +BEbd48whsm7jNvGSirmtA3Rb8/EVQyDSN77TJWYcPRSDtLi313vP0pcHXD4Swd7O +aYsNSJWH63ZUREZ0L+dGTVmjK0hZDfEYQwqHgkiX+FsDAU3COFDgOM0CgYEA05mF +nfg0g58AvFT2xkTTzu3N2im+GnBV1fQIALfcy0ggwfhuhuGeSG2NLMjxCw7aqcrz +FcNut7zsX9HfdElYQvdeSI3RGOyef8nAAnc6o71SlbmvhaBYdkGYqORotVoLAuJB +PiwewDuGzG4vuJSb/xc7qqKuTlIK+ZWWLq1ER3sCgYBnOIC/mPYbqxaQBHep0HUX +frk/ll+an7OpXpNAp6OTg0hH9gjr0i/sFBntv0w2L6Os/mUi0u+EGpkQCHtfwIAp +taXUreiAqySJCy4TT7GIXwQR6Cq0UblkR51PVzTLWIoHuhKj6FbU/mnoJ7FkmSIM +I5+4gSIEzgZalnDV8UXxDQKBgExz2Lo11suDpKFnVW5XqevHMixUDrLAydKvBEE2 +LVlpaySKXWzwkd77bhmzVJw5NrpIcMH5RcSvRvxr+P+sDG7Nr8wpKVaHD9F+FJkP +eSl2GyOr3oY6ZBv+IWlMdaSorvfQxd/v0wCDwXWVjjpzv1VQkKdbdf0oWXzKFmQx +CE2HAoGBAJkvHmzQFJWTQnEdMSEK3yD+zvhY9atWH9JmxYLWz4gl83n54oBoYE0m +lN1O5x4AVTV6KMhLXcL4np552F1DW/oxJGcCeZyDW6KPphO2kEzaUAStaz3DhC6N +vkCO/plZIqfao+3/r5NCMIxd+T+/a2EC9nxO7pZiM4IRXJ+aDoPX +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/ops.localhost.crt b/sxc/10.0/xc1-cxa/traefik/certs/ops.localhost.crt new file mode 100644 index 0000000..4415727 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/ops.localhost.crt @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC9DCCAdygAwIBAgIJANWbFRqU1ORFMA0GCSqGSIb3DQEBCwUAMCUxIzAhBgNV +BAMMGkNvbW1lcmNlIENvbnRhaW5lciBSb290IENBMB4XDTIwMDQxNjE4Mjg1MVoX +DTMwMDQxNDE4Mjg1MVowGDEWMBQGA1UEAwwNb3BzLmxvY2FsaG9zdDCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBANl/5x2I4h8RnPlUJ9Ayb1adGt9/HBp1 +y0LMn/uRYA1EqT0SpJsxMm3+Ga/2FKv7zhtnHM7zmHNHTazxgkhY0ESD50XF+eeS +6An51bccTFL8bQMn5/tb5t5nLp67kgzgmsQIl6UZ9Kslwh2JcbPzDPthx0Z1oaUX +KIknspnLnnbF4M7Zn5Aahq/tBijurP+phEZCj5POltoW0+iDc5pt03ZGIaEfHF19 +JYbr5HyHD0EnIXO6/RyyO25jPpAvtjKS//97m7LOWTSCzgdqRiifw/Db47LRoZJv +hIT6zJxZsiN7KkYkCaantt5fBvJaX3e1Ych6nSgSJyMH/DGQh1llsvcCAwEAAaM0 +MDIwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwGAYDVR0RBBEwD4INb3BzLmxvY2Fs +aG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAYQr2g3zScfWikRsKlpkxVLZsT+8WHS1f +l5STP+dKgHeDCS2cD15CEmQhDEmzd6xF1qcQaqIyyrkVzwN1jzgMyNc5rgtjDRbK +xgjL5FWGzekrPI98my16he+kKYDULUA5yVjMMuEUqJKjdLEF0dtn4a69QRa5/a6n +T4rTZ5v8eQ7Re/ZP0TrMLixpMtiD0VcwgpsJzVQHq6muNYDEfeuucKNKUjAhRXXz +XHV7oP6dPXfvmmfZh+Hun9IUPHsVJSU9kJce2oztEU7YSkA1BUrGygdXwCPKhjol +vYYCbRHHkL110/J33gTUn/c20z0Wa6iScn4SFFHGYMTGlfHGzYM+AA== +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/ops.localhost.key b/sxc/10.0/xc1-cxa/traefik/certs/ops.localhost.key new file mode 100644 index 0000000..382ce97 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/ops.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA2X/nHYjiHxGc+VQn0DJvVp0a338cGnXLQsyf+5FgDUSpPRKk +mzEybf4Zr/YUq/vOG2cczvOYc0dNrPGCSFjQRIPnRcX555LoCfnVtxxMUvxtAyfn ++1vm3mcunruSDOCaxAiXpRn0qyXCHYlxs/MM+2HHRnWhpRcoiSeymcuedsXgztmf +kBqGr+0GKO6s/6mERkKPk86W2hbT6INzmm3TdkYhoR8cXX0lhuvkfIcPQSchc7r9 +HLI7bmM+kC+2MpL//3ubss5ZNILOB2pGKJ/D8NvjstGhkm+EhPrMnFmyI3sqRiQJ +pqe23l8G8lpfd7VhyHqdKBInIwf8MZCHWWWy9wIDAQABAoIBAAmeIEgsD2O0Ua6s +y/3m3QmFdPTBGCsLXmubxM9JBGhRyvIKawD50fMPM2+WgB+CyQBpNNrp5qniU0r8 +evhcBQmik42ATaax1lTqmUq5k55vzxo+n4F79N+MzID0ZmbvX6ifgKUqWqleyBCq +TT7Z1o8fKcKx3O4B8ibufHVUjbNOw90aSLv6ny9z5jJPMZrOY7U7r6HfcCnF3CVB +/0BVoBQWdJYkbFPDVHfyXwfnSRz1CIWOFiRz1GjFjCK0JBxr/hiVnrLnt8OfvZzM +oSaU1KRryDr9bOg5U6YyvEqydwVxBC7uF9+/Kcgu2U4BUyDaQJlycLMgAz4hdQ93 +zE+TWEECgYEA75H0UOEu9sT2x7Cb3IamfRJFafn/yOH6vVBrobS/xuc8ZZ872h5z +RjnAW9JXlqzMQ0Dm2hxCMJxCbIBPj6cOPnGmaGk9twRXGSC5cnpb59qoVAut3IcG +idSz3/ae2TQgA6xL7BFOqNz7Y1DbnWrBiHEQuGBnXsRya6+1nqHuKDECgYEA6Gp2 +5plsQR1lDKEwXt8hMaNYw5YAzM1aSNjrbgweBgwTZFMRgXqbm4XO3ttzDBSbZlyl +hYm3KmRq8Xzb1qOJewKjnk4fJmXsWSjsBFXuEJ/4JCrKvD3rBa8u2oAIFCD/fYdy +GpgVQPH2gAtEWwjEX0ldVj4m86RO920bxI3Na6cCgYAt7mjOHO5ZJ5g83vJzDGnd +LuSaFfFhfVoKc+G+5h2ir/DXdvkNr6rgOvBTaneajtS2zDm2dZaHJV5i2RLn8tp7 +RGToPc00SqO8UJbdiPIX+McvHfIehtDNGjfGZ806zZCZw63mu8a9/2g/OWBxxOcI +Fs1i3DDVbYqWdOC4Ykl78QKBgQC1h5JfAq5fHYpzluKk9zqB/sex3FO7oxlFlMgu +KCC7MGtlDMy7iPxJOPYfcuAlK2NFTE+sQahi4BP3kkJTH2CeR61sVDBYWXuFGEVg +DY3oRkoWVaYL6YDL68x4tU+aCTwE2+nvg6H2HAcgc6xsPijDFBZm6hyaaFeVQg9S +Mj+kOQKBgQDLx4zptaIsjSGRc22k6/1FrRYv7FTijADXyZFTkegLttrLSErIfrYB +15iD26CopyowrTdNDDk7U67i2jNmCu+FCU6HlNn4v+DikWqBBJ/LjWylHPHdiW4g +tVMqsHOP0U0BWDZLv6Uze5Hb8nq4duOz4JmbDtTvr25gcDKg+tW+LA== +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/root-ca.crt b/sxc/10.0/xc1-cxa/traefik/certs/root-ca.crt new file mode 100644 index 0000000..de05509 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/root-ca.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIJAKoO7Lo+DytDMA0GCSqGSIb3DQEBCwUAMCUxIzAhBgNV +BAMMGkNvbW1lcmNlIENvbnRhaW5lciBSb290IENBMB4XDTIwMDQxNjE4Mjg0OVoX +DTQ3MDkwMjE4Mjg0OVowJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJv +b3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChFn12HOzhwLmW +sT1hSLRkyvemTn7qm+xEFkgzwCM5VPh9prFLsbwR4hJ9dfsRIkHwYmQvPbI4CIas +ZA+inR2ybDn2wNGwbIhbj4UgJd36aCY56XlrcNo5CtRhvDhBoIbMjyQy5a9tA/mh +YMmnOPBrgqT7IPtMWnwFd+KotSRcac5mEFFTXtMk9gf/5QsE2ObbPunNJnZF2HgX +0bB6CTbkTPi14G41/RwJBPGQtEBLb8vn+CDYy4I+HHP8vZUoDIboNAys5p1+fixC +mkDlMV/jpZv15fDmN8oF1Xa2kBJ8ZuUbi3nvjQt5+kky6HHDtC2+nrhIGVo5VoSx +LDwP4/vXAgMBAAGjUzBRMB0GA1UdDgQWBBSJNj+U8zKa03rbO6QngVOZztO74zAf +BgNVHSMEGDAWgBSJNj+U8zKa03rbO6QngVOZztO74zAPBgNVHRMBAf8EBTADAQH/ +MA0GCSqGSIb3DQEBCwUAA4IBAQAYCtMnfgdAFVRIxxhr5sxTh48fE+rTtQoW8bqg +rJJKamrS37wj3i4ZAjMGL6RaURqfInCJiBERYQP6JfydHzJKb1lVtrJuY00zBook +rI39C66nfCnxUJgWuK06upgqkpEs0ubTRR8FWnIHuidJhG1kO//LfwZtCvXloxaY +LIxIsyNt2FKMQjm6fIcQvLzoJALDVemrfSOCDoCYZdD2kct7TXo1YzdiDOXiCJRp +EGAlfJP4CfKxobfErvmB4rrql+PDX+uMJVXbbEYVnn3PK+TFGXHo6Emd6BJB2PMi +Lq74sw5j4nbyXWL2cWxWy9XYcdOEqen2aWvAs6rJfxpwPj3D +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/root-ca.key b/sxc/10.0/xc1-cxa/traefik/certs/root-ca.key new file mode 100644 index 0000000..a6259b8 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/root-ca.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAoRZ9dhzs4cC5lrE9YUi0ZMr3pk5+6pvsRBZIM8AjOVT4faax +S7G8EeISfXX7ESJB8GJkLz2yOAiGrGQPop0dsmw59sDRsGyIW4+FICXd+mgmOel5 +a3DaOQrUYbw4QaCGzI8kMuWvbQP5oWDJpzjwa4Kk+yD7TFp8BXfiqLUkXGnOZhBR +U17TJPYH/+ULBNjm2z7pzSZ2Rdh4F9Gwegk25Ez4teBuNf0cCQTxkLRAS2/L5/gg +2MuCPhxz/L2VKAyG6DQMrOadfn4sQppA5TFf46Wb9eXw5jfKBdV2tpASfGblG4t5 +740LefpJMuhxw7Qtvp64SBlaOVaEsSw8D+P71wIDAQABAoIBACdT1k1/wlVbN/QS +UWnu1hvFcbCoeVPNvWDiD76SqgbVN9V1XNOeEMxM5Ta8Fw+XzYFihBMEfP4xFq// +vdF1ikqFIaGccZUg6ilwYI/4rrjztGFvHrWcV6qVekRiL1nWVxKZ37yNVsbGsas0 +dgbdX9TfkGe/JZr+fEjZe/y0PKxSxU2XUajHth6XkchcJOwgwV/ZS3Vt/HALy+Ny +K+ruEl5hoD6ID+YSNdGoaqXfWHnwuiqC3aapzMtrhbsM/d4AguUSnaRIMDCllUK+ +z600xzUlaMiwrppsvpG3vGs+XDH9iz3tX0LfJWpPOF/WWwKAPxoQQwmxtXotTMMz +h4mR1AECgYEA1L5vSTqv+pBrrFO33HalzHUMdFRNgMfPfWAvc5jGXrXdS6Tdm4wg +ziwfFRZGi9wENewB95vLZL6pceyh5IkDFuVni14lHJoxfoyEgXkbtp5Q48ZlP2Fk +kXuXQnL2YgIWxHvI0ysNEZRetEQASK8s8OgkBe+OCKnvS0Y59LOc1vUCgYEAwddM +kElt1vGBZGCwjae1cnQbPOqdywcejGS4hR5JCBwyQg5RcKU4BJXCFJHSFU+HbJai +D/9w9LXYHBHbSo6txnMYPNhj/e83FH1xnO0JjwACUhJsWk0XbdAHtLp3x0GUx5vI +VBNflmro2c/zgcU+ggyBZieSf/ZFUj3ivzcCEBsCgYEAkEDIiOkIZmgC+oiRxSWW +arp7RW3cV5Qktyi/RCy1ZYb/lMknks9Dd0knkk7WawM2v7FV7CVxltBJaPxBEgtt +UtseiLu/glNzeBGjz37lMcDLrIbcJEvPu24INIBrXC16bqRYmgc5B1CJnsX1Q1O0 +r21Y78Vtk6ZWob3ukmQv1vkCgYAboNFD24NxWHjF0tY3SokdKBldxF77OieLgSuf +paJpKoOrUJkhAhuK48GG5wXXjb9SpeGxgAochvKnhZAI/28bUvpIadtOrVLfc8XG +xS5QmIK8Ke4RrN1DBJykkNNTrjBDhxu1iBFewhwwN2iQvYlcReYHpmpGHNbikvmH +oZKEswKBgAgKiXRRaVUhqljRpMCMM6sUqjcXi8vKbREVzpDRohpZwqUfideejOKZ +S/se4GS1TJtxDwQkojUVngAjJwj3gPmpUJ0S7YimrZLvdWdxEMVdqN4Ddv8sKexm +2gM6x9DYC22HKtI/GVJYwTzjH2sBpvirOssyMoAJGVROWDSXRQo7 +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/root.crt b/sxc/10.0/xc1-cxa/traefik/certs/root.crt new file mode 100644 index 0000000..90b70c4 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/root.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDKzCCAhOgAwIBAgIUHJkMNTfH+IReN+4kDmXyKuBNfs8wDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NjMwMTUzOTQyWhcNNDcxMTE2MTUzOTQyWjAlMSMwIQYDVQQDDBpDb21tZXJjZSBD +b250YWluZXIgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ALRe7Z+eb51+bhBkmTgGsYyuZ8wjxOmLX+GqDY3Hbeliiath6UhNy8lFxEKLoLjE +uLIMuD4AEorp/wTgakWHR4OgTeiqCVtkJ8/PLoMRz39+kAmAjL4cVy7ec/WdRW+C +R5TsYM6oTr9uWc6rNm0CkkttBA6uZpjiZRe/aKyVslHzhBcE8WFacUto+98S1eRL +LmCdMH9QXBJ60eSuykG466sUNpKFNQERAu1LxH29g9KVAiYUnafWe1n0QvNn8/7K +Nrm6TX9HvCmCPu4Sb36Zf/SPul66RBGEZxHG15Uxy4cD6AUqcP4njSD/0Wsnp/Xk +EAOOZOjGsEQdA+gvkYEPuVMCAwEAAaNTMFEwHQYDVR0OBBYEFLa8TXEwfLPkq9TE +iPCG+zXF1TeBMB8GA1UdIwQYMBaAFLa8TXEwfLPkq9TEiPCG+zXF1TeBMA8GA1Ud +EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAHISregUD4ajS1o+nmyFcm2R +r5C9wWR/Mq32qEba4xVuFxmi20zryY5L5x/3Bzs7EENJG9hSBY2vtqcU9W9EytzI +afwHSeccVjLzjqvuYIUcw5AhpRZ3+JhKYII3y7Jo3CjSDU/7wCkRodPJ1m/AZQse +7mmD0Yn11YX1Lq6f43SUc3fMTkVqg66JJIOGO0Jdb/drm8v68WgadZHZ6PsfpEZs +XhT4/b7GpKzpbUpvLaMTKPZJIOmavDiOTrzrN78b7KnIUNyGapDgZWwS5yaVl6NH +b0OyNK1oQsEBCK+yeJNuu0pde4LCEV0znU406flc8V83eb3k8+uN5Y04jjORNes= +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/root.key b/sxc/10.0/xc1-cxa/traefik/certs/root.key new file mode 100644 index 0000000..a459609 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/root.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAtF7tn55vnX5uEGSZOAaxjK5nzCPE6Ytf4aoNjcdt6WKJq2Hp +SE3LyUXEQouguMS4sgy4PgASiun/BOBqRYdHg6BN6KoJW2Qnz88ugxHPf36QCYCM +vhxXLt5z9Z1Fb4JHlOxgzqhOv25Zzqs2bQKSS20EDq5mmOJlF79orJWyUfOEFwTx +YVpxS2j73xLV5EsuYJ0wf1BcEnrR5K7KQbjrqxQ2koU1AREC7UvEfb2D0pUCJhSd +p9Z7WfRC82fz/so2ubpNf0e8KYI+7hJvfpl/9I+6XrpEEYRnEcbXlTHLhwPoBSpw +/ieNIP/Rayen9eQQA45k6MawRB0D6C+RgQ+5UwIDAQABAoIBAGzDnWiWIloHJhmO +f/IP3zqk5IRtwUzPNZcfcyLeckG8oKWO2hw2hT8uacVy6wzf2zvKfcMtSgEoTxZC +uPKKO658mN5GwnOwtm0SUsrIj6YizHpeYQA2mL/zdltSZc9y8PU1gL69MRcwVMlR +5vTfCxaee0bbFZT1V951FoqTjj7ppLopKNyoDnMHtZbeV4jk7g8L31Pmcj9VZC9s +V7yrXwhUNBpfrohyrJB8fjLqD8SY2ldX9N+FxDWw+LIbkHI/6vt5MLLB/Gqkf43C +VLnaBvK+TB77IgKQzWb26RlFv0OO1gCcbcZyE83zWpiS2SJOLCFgXSaA2TPqQ6gm +Mt5rq1ECgYEA2ldSISPlw369znlcB+21hIDQ6sRHO0wD/qdKfMZKFmN0fSs/Qul1 +x+dMYOPSC6OtZxE5vIAmFKKUISmb9ei6i41IohIjdSjMVmM3DnWDBqjklVlGtdux +Pb0OtQw2ZejNgce8jvvhiwlFZkdJfFKWfNWP7mwEXAi5p5gl9cxMrKsCgYEA03sP +NslOwAjBsMPsLgdl8puyPeTRzksqjRDinuB5dxzPWnj6jM84lB6PuaGtuw6H1+us +Tvpq2YwJhsc14hOzbanXjzIs6vD58B6wlToK+Gmvff5PpGErb5rLjiNj4ccjosDq +L0jWkTplmZFSbmDxBBKpGaWgzs1Cx5CDUkF1VfkCgYEAklbWWBnsRGQtKTcT5MiA +0adY3xDgwTCIuOQ9O3XXcDwGdmJHCzzYUTyIZ6QqQtzYOu1DqkClxUzWRYfS3TW3 +2hK+rMnFdB/9HKVw4EMIp60JT8Q/bWIq4DtXoSbnStSG8MYDbj4KBBsZpZx/91CP +RmoJBv7kyR6b+GU0hBMDDPMCgYBc+fR1ZMnvman2WhzjG7ORlywlFA29wcRCYtMP +gKdGW+852ohlEdHRJSKRPWjRHZFRt7Z4vpXtcSjbDYg+DeVL6Gjx9uBSpoFsNUHz +SaJ7FpPmM8G2BlZ/abHmmt6V6+RZ8LDE+yQCk4cJnh98kbhEzyNzOCNb6FhcvsdN +iaPZmQKBgFgXX8jRhIGos2VBf3HF8dwU5uB+R50CSUubx7d9ZcPoB+Y0REunG/66 +ycUmOMwuKJ9rVq/TGOc61ndpFwj8YkHr4rmCwwrBddAgB87dMbYuMq+uNEcw3fSc +sWMM9PzPO36wCP2wKXLV4gD3Jp9ioRi67c1Lc6TnpLZEI4vRrSkL +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/shops.localhost.crt b/sxc/10.0/xc1-cxa/traefik/certs/shops.localhost.crt new file mode 100644 index 0000000..ca5d0e5 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/shops.localhost.crt @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC+DCCAeCgAwIBAgIJANWbFRqU1ORDMA0GCSqGSIb3DQEBCwUAMCUxIzAhBgNV +BAMMGkNvbW1lcmNlIENvbnRhaW5lciBSb290IENBMB4XDTIwMDQxNjE4Mjg1MFoX +DTMwMDQxNDE4Mjg1MFowGjEYMBYGA1UEAwwPc2hvcHMubG9jYWxob3N0MIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsG2i7OkRJHGWBTkJy4t+VagHpRmB +OOSAejRNuH+hAIO8tVR/e1/9NYBJFdpuQx1IaxgavvI3fZh3bTnbGUTuPIxjKBO6 +gtEocWbG2VXgV6HHAdISjx3W29xZw5KvjtXHjjbx0Cfvl21EU+KezH1T1C8bVI6A +bckVfhsFDlU9THJJLx/Ig/kHPTktznp5pv3cUYhQifFUUlC06MMMPQoKpwObjwid +VrMHA93XpqiqeutlBxlsc1XFxYvOojmPmNoFD4mPTPgnxLLfgZlZ7txohpeP65g3 +9c8YquSCBsBK/Y1AVsAv8FiPv6Ycf4r9fcqg6y3WqnbguJDCQ5MbYFCQowIDAQAB +ozYwNDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAaBgNVHREEEzARgg9zaG9wcy5s +b2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggEBAGpSnzimCkXJBt2tzTOpMbBrNt5S +tELR86o7fk+zfFQmyixU3b3G2CAwmTUP0P3IGpDuiWnY/Gmuk+zoramdXWQXcNkP +7BfIzY5JSzdxbZBYfeCmn/Krj/VvdoAtDGMpdtzQcm0PElYPzm4YN5hEyGNovRjo +E5HzkgcjNEGcsgfXKNqfnrUW2564q6W9D928kPZWVgtFTrKbu8/w4NtBSyuN8zum +cORVNGp97eKyCYxInkKePtouU5HUrfYXSwqyli3E9CQI8LWURxMozMWK4AiZ9nsL +pUu+gpgO196kCfadGjK/uZQK/y6PxZ1vMWY0yLNaQPEToELxKXKxJBU/a1A= +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/shops.localhost.key b/sxc/10.0/xc1-cxa/traefik/certs/shops.localhost.key new file mode 100644 index 0000000..2acd318 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/shops.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAsG2i7OkRJHGWBTkJy4t+VagHpRmBOOSAejRNuH+hAIO8tVR/ +e1/9NYBJFdpuQx1IaxgavvI3fZh3bTnbGUTuPIxjKBO6gtEocWbG2VXgV6HHAdIS +jx3W29xZw5KvjtXHjjbx0Cfvl21EU+KezH1T1C8bVI6AbckVfhsFDlU9THJJLx/I +g/kHPTktznp5pv3cUYhQifFUUlC06MMMPQoKpwObjwidVrMHA93XpqiqeutlBxls +c1XFxYvOojmPmNoFD4mPTPgnxLLfgZlZ7txohpeP65g39c8YquSCBsBK/Y1AVsAv +8FiPv6Ycf4r9fcqg6y3WqnbguJDCQ5MbYFCQowIDAQABAoIBAA6ddnKzt/TR6ACU +wgf3jUahPcjifP7uhuoYrRuMjxTQ1PAciNb6k6o771H9H0c2BMrCW2zX+drQp4wH +z+ue9zFS29/1Cm1N0FDcl7pnT8dSon63HUx3x1W9Qj5eR2bItNhGGvAIbuOXbKKa +UldURn58TIJLr73oe3xP1rJiQ0qyxZkEr6hkYTg8SvRU2OumhsnuU4Oa49qxxXEI +l1tV+Kzs4Zn2FTYA2zVGs7i82Dz4RHfvDpqArQ+ywEaMNSFZSdHW3UtvMYdCe1kS +Wegccql0fCCG3LG5iRTHnmPCrNCzkEZpbj0YSs2polXrndl0g5CVMNZlzkrMMtLU +M+8pqukCgYEA6ZdopoyQKgVwQkbEa9Zgqym7bqzWDJIrq7dVoeg/1HowtBMrq6J0 +HOZjP4Gj97fI25wXWooi0IBwqvkcaSDGscOuz5hQSepR+eYkigKcPvgfRzWtN31G +eWxekSD+IPvGOy8QATgoK+BNUKu4lXuRNehntGjMSEi9GBODetWrSX8CgYEAwVpm +zBhSS6vOneKKGCpTzKX6vgee3axbiis/qEuUUFm8SuRrMz6Lt/voyzEcOrdqtYt4 +96q0422SuTg0OU3yc3MN87Pg1KL4zIrTN0NT4itwbdIFulMtPxT+mb0bxusUEjfI +GyxB76/LeaihhKzPmmVumIngUZUyalb2RPNw4t0CgYAgUwhzS65Dcl83fK1/srnL +1cmPJjG0qaGLcKJT9lym3YXR1XlMlf11ZlhDmIAFLpSH91CwAb+RlMSClFhfH97/ +CHIvXgd2Qwu3Bib2Rigy+ojxhLcEn7xZ3yoy8RrZm52x4PBZCtlcQPzR9gFkBiZx +DEkViQ8DzbUFGOYv4FOEpwKBgBriDtjhqM+Mm7WoAbtKZ0xU53/0X0pC5JdZXAhy +ObTSRTPEfoMpdxOlmsBlm58uUU/cjH0i5vOYEIZgIiK1i7gxjwcLQ39NCXqm8qcE +XW1czMz4HoPBfNEAgkWt3WbS2H+P8eqVRLWmo4vOvmZMALFe2Pmscdvl+pR+cs8z +acahAoGANEAnbNiRKDVkVnj7RtAKBvzuXuF0OTlRM09icgmBhh4nveJ9RFqVRNVJ +AVSpHw8FIjv2VwK5mbOI3o4TMn8omQSMRmvD5DAPn5E/lDG3jAvwhzdDmI+XuGMJ +DVcvKo3qSo+n2fcMHexE+eZLmood0v08LVDLHv6XSQHe2HFsZgo= +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/xc1cd.localhost.crt b/sxc/10.0/xc1-cxa/traefik/certs/xc1cd.localhost.crt new file mode 100644 index 0000000..003ef99 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/xc1cd.localhost.crt @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC+DCCAeCgAwIBAgIJANWbFRqU1ORAMA0GCSqGSIb3DQEBCwUAMCUxIzAhBgNV +BAMMGkNvbW1lcmNlIENvbnRhaW5lciBSb290IENBMB4XDTIwMDQxNjE4Mjg0OVoX +DTMwMDQxNDE4Mjg0OVowGjEYMBYGA1UEAwwPeGMxY2QubG9jYWxob3N0MIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5FVNx5bkmdDFPR+l1lAYqw1NdAGk +HNIPNgYu699LC2Yd8utZCrJQjZo2bveVc6z6KG3yp4Rs7PIMtKKctIcbvRDbWlUn +u3h6KJCzxPt0f5kQcap1r7QtL6IcwApycB0U6mCBYvxC0iaB+9zGhQDzZ32pUiqr +1lSJaTsLO+RU4Q9OJHYuX5dRFoLP+AJpZVArbDuXONYySw9wqigcQCNrahsKq704 +PpTACgDf7Ocz+JmwhqldrKhxF4rKvbnVHkGz57Geh4u4hgikM56hZjieQDEzX8Jb +hv8FxuXUNy2yFTU9kDRK/fXGyDk8X71qyDE9EGwDVS27WU3gzWIiczifXwIDAQAB +ozYwNDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAaBgNVHREEEzARgg94YzFjZC5s +b2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggEBAGnorD0JFUTdP4eUX5+NcoA8dYgp +U3GVtudacp5Ihvel1tZ5dU698tPlxZLVKHXVqrcYQuQuEW2EOgPxelwMnIg3NGC+ +XNuXxVj42S6YXwpoSwcqc5HqcBaOKIP05KsUXQcWd+sfJvunIHFcagUY/qDLMgH4 +cV+S0QYUdTyfoCJhPNrLUMDJl64+22tSHuxCW16B8OjZcjkzpNkKtwO7CSrwWcZ4 +G+LNJpRjMITqpHM9Fy4NBtaae+f44nzbNAxNg0CA2qAD83fziLilAzkm07ov+Uhc +9i1ue0nyP4a1hvjAvS5n/wknPS+5VvW5hhXFBBXJPm1UfXLkcTNbvvQ93Zw= +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/xc1cd.localhost.key b/sxc/10.0/xc1-cxa/traefik/certs/xc1cd.localhost.key new file mode 100644 index 0000000..57eea61 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/xc1cd.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA5FVNx5bkmdDFPR+l1lAYqw1NdAGkHNIPNgYu699LC2Yd8utZ +CrJQjZo2bveVc6z6KG3yp4Rs7PIMtKKctIcbvRDbWlUnu3h6KJCzxPt0f5kQcap1 +r7QtL6IcwApycB0U6mCBYvxC0iaB+9zGhQDzZ32pUiqr1lSJaTsLO+RU4Q9OJHYu +X5dRFoLP+AJpZVArbDuXONYySw9wqigcQCNrahsKq704PpTACgDf7Ocz+Jmwhqld +rKhxF4rKvbnVHkGz57Geh4u4hgikM56hZjieQDEzX8Jbhv8FxuXUNy2yFTU9kDRK +/fXGyDk8X71qyDE9EGwDVS27WU3gzWIiczifXwIDAQABAoIBAApdcPVxfRkaaAm5 +SQ7sfeIt7Wkpteh1BKnAKBse/MocrZlcY6NfqtZyvKvW41rn7EcvjodaNJOg/UCp +7REo3PJ9NGfqW65f7rOutepoO8abDSsLwOHj/PUfl8yD7OP3/f4RuW3j46ikhNwJ +Dp31CBeXlbscIsbM+ZvkSUNDvzKkKEEppxPqmTnRHkm1kwtCNSuKsBX5rhQdUohq +Ermbpk/QELeAiOY3+BSVrQDfKS4wfkLu/6GX5bd9y+fZUrlS3c2Ncw4oVggUJZ2j +BUqI5nDQZNVGcTHMae65ITzI1Z54Z2LmrKD1HWo5ANjkPZeGJcnzlwbMXvFR4qcr +u8Bm56ECgYEA+6FyGvWAEIJP61DQmuPPJ7hdKS1KSUiQ61eSsEHTFKducJEF2Aqr +7rjc+ah4i5FBROzAfOw30TDohPKtH3wPAyBupjJek1DliSpXMNjT1ePjUQ+jbEX7 +zKmaVwXx0tyW4WYuLtUXrF2kwhsN+ObEBkUKS/mae4LmaS1ay4Ko4VECgYEA6ExL +vDJFnwbJ0Qxm1b+cV3OD79aPQvM6kkC4FpKh6+6dETxBG6RNeI0jaysIgvEN3KJ+ +Cm9rx3NeQjWlfFq5sVg8Hqiyl+CIwegYSkxSttSz+F7P0FdVVp4xa00bp4UzlXKP +JInITOYcxoSc/QtbB81qEKUHLntgq/Bd07N+ya8CgYEAi62LpHFgfEmJyWrb0Q7h +3/+UHxZX5SQV5b1/3L09SXrDcFLgNpN96w7NAvzEpVylKXhuRSnutf17JMl81jxM +LQUkxraxDv9Z2vEY4zGJLXLJrSaMJb8XTf1bgjD3koAGdOn+etqowHJe0ayo7eBT +MdPDKndMjIEWG44kl1FZI3ECgYAT2IjT4DugdXUCfhu/ASq7MexArkT5BEypuAvC +Ke7ZeD5E/a/WS7gup2gyPK/yd+OmSN+ZxqEfnhScdXbY4+tfYlloiSMQ5KbqYgjJ +ODIM2qkxe/AnLX7l8ofoUeMd8bxRdUMTbQ4Gu9YTg7rhx3mUdhEssNynNPUyW0u4 +zWn0kwKBgDer7UU1MWK/yvpKR/2HwzkYD56W70nKdX3kbWabPXbzHreu0hA/vF3X +otmfvVYS56LraVk2wuaz2mzHtV3CEgWlZJTh7muG4Kv5ffjDRYnD8KxicfgKW6Uw +inozlMyJSBouD0hXmEVrAUZKoJ7/BHYmS1sbnJBJ2wJDKc/6FBCu +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/xc1cm.localhost.crt b/sxc/10.0/xc1-cxa/traefik/certs/xc1cm.localhost.crt new file mode 100644 index 0000000..cea6050 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/xc1cm.localhost.crt @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC+DCCAeCgAwIBAgIJANWbFRqU1OQ/MA0GCSqGSIb3DQEBCwUAMCUxIzAhBgNV +BAMMGkNvbW1lcmNlIENvbnRhaW5lciBSb290IENBMB4XDTIwMDQxNjE4Mjg0OVoX +DTMwMDQxNDE4Mjg0OVowGjEYMBYGA1UEAwwPeGMxY20ubG9jYWxob3N0MIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzb255KiwPIfIwpvWeUKdReF9Z+BS +HfYG1lIDpks9KC00ud9j+oXobsYDJoFNWbjJZ0VPt4CWHNu8M68w3D1HyUwnyt2E +iEH/ggxjvMNI/3xGwqsHZQDheJW4QbBc89oMCtaGkGSjscVmXHWgDDayKw6P6giV +uUcmTva0ADFXk/IHgC47w5oEz8Ze0php85V66m3W8s7OI3KatXw5kyrf8T2xMnGS ++BA1NBpptU3BC3gIEQ+52f0saUYJs8Dq9btDUB/8hhKCnDmXBoauiWvQcLmdoF1k +YjAMphed0TyGTJb8+QfZmXhXyQ/JTXCm8PUFP39E1OGkVqmGqpg0JsE/oQIDAQAB +ozYwNDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAaBgNVHREEEzARgg94YzFjbS5s +b2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggEBAFgV0b3qjRk1Hl9bYO18dJhfWppK +u8qf9Z5piz3yw39i6IodMSM0gPRPCzrHEYdZS+O96XoYBVSl+9h+X8p9V2bh/gL3 +4KR/0YjiZ7i3lCz4RNwTHwQIauUZtcBebIHw0ZRZBrMAKP9jpVXP+GlxLo9K0/pk +LvA6eqpimL2AhD6jB67MrAf+plj2SlBlKEk/eWlLJ3GjUh3LQG81R31CCi8g3dgR +afnCxB/1DhAQUOMCN1A8wokzjSfoNXUYNLRZ1mJEpYH24PC14iJjTecSDhUgtdn2 +nZwCFobBWJ5DHs/ZpzBebgZQInP7M4SHUcsxa2FJQKnQQDGQVkSZJWGxGdw= +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/xc1cm.localhost.key b/sxc/10.0/xc1-cxa/traefik/certs/xc1cm.localhost.key new file mode 100644 index 0000000..2eed42c --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/xc1cm.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAzb255KiwPIfIwpvWeUKdReF9Z+BSHfYG1lIDpks9KC00ud9j ++oXobsYDJoFNWbjJZ0VPt4CWHNu8M68w3D1HyUwnyt2EiEH/ggxjvMNI/3xGwqsH +ZQDheJW4QbBc89oMCtaGkGSjscVmXHWgDDayKw6P6giVuUcmTva0ADFXk/IHgC47 +w5oEz8Ze0php85V66m3W8s7OI3KatXw5kyrf8T2xMnGS+BA1NBpptU3BC3gIEQ+5 +2f0saUYJs8Dq9btDUB/8hhKCnDmXBoauiWvQcLmdoF1kYjAMphed0TyGTJb8+QfZ +mXhXyQ/JTXCm8PUFP39E1OGkVqmGqpg0JsE/oQIDAQABAoIBADI/chU8db5y0z9k +XB9Fe6/DgKNMEAItQkI5yZZlrcwQLl5vBrX62mejiMVwsvmEvfuw2+VPTFpD+FUP +JnnDpbKuHNHZBDNbGxIiAIHrl/p92bJVnvq2GlsfBd9VOX589I/5EOhXC/uw4G0Y +dTxGZ4FIjzFzY03a6KpEanXZlzAUbdKjUcL5a4cxhpPz1+WIorEOZpmaqVzLyHEM +ASPY+LMjaPhm1D2YViealoRR2rQsO+pGWqYmLyLGMhvK7rmkm4inqUmegO4qpcmb +kiiZApBjrOQrl44N1AFMNT7xKeYkVkTiL5WMSrpYwD3HK1LSv/Fd9DwSRkH7+NQg +nugQHXkCgYEA/DPgBOo2Vywvzw4dJkA9p78wGVxRXjx49s+8JDkQYJh0k90pT6Rs +cnmqTh9Yhyh1jg1qKZIrwkP24zfdw7J1XdzzxXIY9nZlZUSWTtDzsJUvGrFSbkxU +Z2+ig420fAM0szaqJFA9vsG/BCBx8LBmAAO+gFSwlzQbocbl3PgXbRsCgYEA0NbD +aXMSpQZBF+KC8alKUoShUyG2riCpx0NO3/djAWiFnj9wC7mLU2k1YDeu7p5ZMddW +y1q1qRUyqrj3vtAQGwqmFyIuSXEq2cEmRwXs7RH7FriHDBEaBWH1LIKzf5kHwWgn +EK4WzHywFcbuQKHlobeEKBxpsmGAxBmjITUj/fMCgYBtmCFOIXURtorkAC8ckyf3 +wDYnnx1gxQiPwD/ywbVjNHzcUGwGRt41dLdUEX0H5sYGv7+VZwaK+bvMi1dcFi24 +Zy6ra2R7nYF8Wyyx/U0YPAvnHo1CjvrSpAlL/4Uhqsb45dVTyGa8gTb/lRXOUOlS +Mk5TN/oxCpzDVUpIFqsfZwKBgBDuKD9nPc61GBfYnCb9Q3I3IGD97bJmIX1u/nj3 +tEYL9DElEW9R5nKnp9UaDot3uOFqhLXNr8Z6WnYusp78fSHEFjzv33LCwueOWg0N +9OwvNfzcjs4yoLpo+5hVLDoe7NsIF4qpol2Hijrpuqzwsw4OM5+Q1hzI/MhpD6mE +hltzAoGBAPL5zqdtDKxct2DVubTe2qAc0EZQSoyXM5mjzkb643jOVLuomjBRbSl5 +kMYs/NhYuNjtYXH2S442znZhUACFL9KSj6a3Y7GvwZVstg62wAiEU7n9L+LuKGxS +2Lq4gS345ptSpHScrx4ETh7gOG5/zl6uBlOQ+po5Q2fPn5YV+a15 +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/xc1id.localhost.crt b/sxc/10.0/xc1-cxa/traefik/certs/xc1id.localhost.crt new file mode 100644 index 0000000..2afd529 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/xc1id.localhost.crt @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIIC+DCCAeCgAwIBAgIJANWbFRqU1ORBMA0GCSqGSIb3DQEBCwUAMCUxIzAhBgNV +BAMMGkNvbW1lcmNlIENvbnRhaW5lciBSb290IENBMB4XDTIwMDQxNjE4Mjg0OVoX +DTMwMDQxNDE4Mjg0OVowGjEYMBYGA1UEAwwPeGMxaWQubG9jYWxob3N0MIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAo3Hb47BHkqP+JeM/MxEWJILBNFmu +pimCBFkdvOkzICs6DB8ikcotZlXOozfQ/z21VcY8/OnH34Vj69PRANqihTAx7010 +QcL5ArONEN7T8D01D/yUw8O8zr1Th3ZmR8bbIm5eaiCVFF3HLL32QaWsF2MGjyMf +QPSqSilyo70jYbAi5T/yRUOBQ8OMT3nWiOYwJReDT1PqTRYPFgf87AqMQWOuksfT +UEAPin7nz3UmdMJrBph6QzlHgIB1u9UkuIhZEnapALyDS5oTcQtbrnolUjJEaZww +LYhTPgU5U2UqdLJuNZ4XprDZziFM5en7/pka+un3V/dsiEYlMF9ImdfZOwIDAQAB +ozYwNDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIF4DAaBgNVHREEEzARgg94YzFpZC5s +b2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggEBAAq2MwX8erGUSJ0eSgybIZpDSVPK +/T6vyKR+Nxy8Py8wiQjF3C/qRZ5OagZ5FtTRsO+jLN9dDq5c58/SlVP8NQiycwJd +t+VD1AMrMNd5agy2Vde+MEc3bOv5erPqveGwGbqrsShclDB8OwsBbhUhe7kf0DGF +evY/cQnkOVCyh/e7ybqJhQHR+o7pqws7tVXBQlVSAf40kVrzssvpXybXgm+O03dJ +83ts5SGUYqI1vS6E/WJX2NBDGYGmBzZwB7eyILxRkvuzKl1vEz+RgxhNGl26Aac4 +ZxOKTefB4ggGvTTI3vtZqj5CBcAZMjtnRc9MT1XSSqLWfdwmvp35TJ1uUn0= +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/xc1id.localhost.key b/sxc/10.0/xc1-cxa/traefik/certs/xc1id.localhost.key new file mode 100644 index 0000000..2b775bb --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/xc1id.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAo3Hb47BHkqP+JeM/MxEWJILBNFmupimCBFkdvOkzICs6DB8i +kcotZlXOozfQ/z21VcY8/OnH34Vj69PRANqihTAx7010QcL5ArONEN7T8D01D/yU +w8O8zr1Th3ZmR8bbIm5eaiCVFF3HLL32QaWsF2MGjyMfQPSqSilyo70jYbAi5T/y +RUOBQ8OMT3nWiOYwJReDT1PqTRYPFgf87AqMQWOuksfTUEAPin7nz3UmdMJrBph6 +QzlHgIB1u9UkuIhZEnapALyDS5oTcQtbrnolUjJEaZwwLYhTPgU5U2UqdLJuNZ4X +prDZziFM5en7/pka+un3V/dsiEYlMF9ImdfZOwIDAQABAoIBAAE98j/OrRyOJnY/ +PdGzhYmNfM5bCBq3IgfKbZFr7DmIWo6RBgA5mxK2ADX5TJtD6sbWFMyPMjeemd3G +5EWvY6DDdv2shv+g7ad5mc7RAqdGr8qJTtAWAq9HfQUAf1J4Tl36nLkNulRHSiYq +414oViBvXjNkPu6NbWXW3soju8sYOm/QCqfjwzrHRZVgTHFg0ktQJZsu/Mz190Pc +00Rf1F5ckU8VaaZ3yXTy3nQsNlypTEl7k20jn2LirPlmrKEveKYvftXuX/W5/Bso +p55ZxkPRsT9AIIKAM9l2jIS9WnzJ+LxFkVZnWe2mIiks50shHGhS9+tfmAM/Xyhx +ZUI2mNECgYEAzSao1ZWmGezhbUZAhlxak7FvJqiALCiOfrbnuxHG7yh9DG+uMCPW +Iwz2cXJyUZN9iixJ6bZ3LoOc7AHA+whqzn5o+e28gO2/QC9WWTwl2LSpMZmeefA3 +E8wDb4N5gN1iW7oOwN/tZ5kkjXapjrQYFzxN/REdey+vlTXDRMlgx/0CgYEAy/TV +lgnfp9UVVz/GQfJSNIsT11dbdjOOpQWiPy4Bbrvjt+ggdPhE808Zu71Pqkc6HBT6 +0ftBUD6n+sef+Gkfrr0ahj6WK3BjpnW/60+vfB4SSt+8CTGkWEq74tpEejmEwBvK +JGnhFzgKNgXWSlF+KxpunZInXeS6Vn/6wTAnX5cCgYA2nhxFANp//HjnxtRW8S+M +MqkM+b9mAkYtpjR7sXftJDJmpTUSy/euzTyvZ3DYFxRNPQ1Qk6uXTqLwkmb2bn9B +CpaYM5sEGEfapr+ucj0BPNfuxJ9Uh4eiVaZ0geRPUqFlGlvjLbre4f7BSt5Jh9kC +FqQMxAm9SizM5Mtf/N0vYQKBgFL4ni80gxT+vXjKC/hmAQU5EvBGrIGQhdYiTZfQ +Omr26rO1LgcHvN0Sb9CNOix2X3BvJH5p7W8cni+KKEzhTy9B5Nl5+pNfXFqqilHL +EAO5JA3rqM5AsK/ubzLhQnxKi/OvGnPn0tckSBskEsIXFvGoBhn6DCPJWfi4haUz +1sCvAoGBAK5Ud04lCzVg9fsgIEU5twwreA+yyVdKOt15vJAdylSsd+L62Bai3tEb +yx3VoDNoGHS8DNSV8ACOVZUOQAY/GNrALHwuYWrIcy/5tpulYZ2TyYhByyvhAmdu +N6mB5IKZ/5jDMp/J+iPYGm1JlWBSHFK/BPhCn3Oxzt7GZghlccA2 +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/xc1sxacd.localhost.crt b/sxc/10.0/xc1-cxa/traefik/certs/xc1sxacd.localhost.crt new file mode 100644 index 0000000..94d8a4e --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/xc1sxacd.localhost.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCTCCAfGgAwIBAgIUSvZs9CHMQo778jISK4j6r8GYrRcwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NjMwMTUzOTQzWhcNMzAwNjI4MTUzOTQzWjAdMRswGQYDVQQDDBJ4YzFzeGFjZC5s +b2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAMAZYu1ra +1yFufiD5WmuG+d9fTq569dzyLlvajpFhOPSI0mxjoil48yIctEk7Lp0bcYNNQPmj +eLiTwQhlLhgXonV6bOSJOhlJBREaJnxz7Z8+XSeMIR+ZgXGAA0VYrT53wHh11g8W +J7HZDe5pwiFgaeVJgMSEbFSu56HsNfb6b4rriKXxoXXQDKBrAnQeI326Wu72/oOU +ZhERZnpY8hcpZwgZCwtgcR5T8xzApZyemkM4ciSfmhJXXtb4ssxZaGk7oAXQwRI2 +/QaA9w6b6cBvHinGOK0AjkOd2hjesxvKEd5Fg7YVnfrVI4p95QPp6BUH6RFa+Rfi +vGp7DTUvB77pAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMB0GA1Ud +EQQWMBSCEnhjMXN4YWNkLmxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAZ6Ih +Cm9pyv/WcM3qKBShrYRVhie5VG0FYokW2D7sTjTFJhwAAWm38UWPZg8hfYXqPhFm +llcmhJmd8xKZ2XgFBNGzpzNd6rc1KXFocMupo0Ie9ykjV+N56Eiwpn80HjGoiUic +bKKi+k911uH7aOvFIKg5/Gk7KKZ1mGcicKTYt2FqfrCy62aeunWvExLCKQo5Ip/g +UNwk8DN5/up/kZbrQIF8+L2U7r53QzWI73bRi3nIbKvXpX8cfAywQFmebt4WLeRj +TbG4pYeaA0GU2joalr+2kL9HuqEZ/F1nl4JQhrPXaymnQpgiRmdfQYvqtGEUuLJF +O4QRVoxz+4an4YrDaw== +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/xc1sxacd.localhost.key b/sxc/10.0/xc1-cxa/traefik/certs/xc1sxacd.localhost.key new file mode 100644 index 0000000..e52f8bf --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/xc1sxacd.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAwDAGWLta2tchbn4g+VprhvnfX06uevXc8i5b2o6RYTj0iNJs +Y6IpePMiHLRJOy6dG3GDTUD5o3i4k8EIZS4YF6J1emzkiToZSQURGiZ8c+2fPl0n +jCEfmYFxgANFWK0+d8B4ddYPFiex2Q3uacIhYGnlSYDEhGxUrueh7DX2+m+K64il +8aF10AygawJ0HiN9ulru9v6DlGYREWZ6WPIXKWcIGQsLYHEeU/McwKWcnppDOHIk +n5oSV17W+LLMWWhpO6AF0MESNv0GgPcOm+nAbx4pxjitAI5DndoY3rMbyhHeRYO2 +FZ361SOKfeUD6egVB+kRWvkX4rxqew01Lwe+6QIDAQABAoIBAD/vOg1GtqDatIp3 +dyy8wcyzT3X7TNwm8ou2lGQOzZpUQjVKGzjB953+9DgsWbhQd39rscx/cwzI2k59 +Bvfx753dM8u4cgacx1CdWOUkLH68bB9pCgD5+/MrNsDpVaZ8a62W3/wDbB1osyeM +FOYl6MiUMezT44xSJZHSCPH1ueXxpZR4q1Ys3uIwM/yrQ8JtpYcKnhOtcndkglDx +zUbVtrSQf1GGw8LLZiKGtqufLAC3vDLnHSuaA6wAkQRItlYHh/XNu024vUK6VOdS +QvdHm10AF0Dnfn9ff7RIqFLYBj0a0JI+277EE+Ns6wKNOkOKTdLhPWwWl8pCSoS4 +CI/wiQECgYEA7PBrhzFUOoq82izxG7FKsk3KRJUrB6WLQl0FY/e/XXktY1XBzBm5 +7soQIbIrV4fnUJQ4VE3HM5k/+pYu4wM8h+B84xEgvpDyHsNWeS9S/HmHuuyETy1n +yJPRPABJFI3ychtFjbasPhN5jASO83Tz0qItNaaOqvsINdy4F1Nf8zkCgYEAz6X7 +JBJ4VfuzIiwie9fA3WehubC2+QXbj/YoIsuXyGLavux/7S5ZVRcuL6guy+N7udl4 +6iTKcqUtesBiZHR3qd70//+esd99TPAOsnq4OQU2AR7/T61dTaWiyzbx8QFyd064 +ZHiXSt1RnkoVWyaUwc7iEDMWtMGioVyGCtwWuTECgYEAjjESNsXRyHguMbi60WWq +cCri8hmbAzHDywXMEFxDybLJHE4AyZ2+yaEV4ULtY9A5b1AkJeOvYjXcAWRTqwTs +NJbyG8rRncuaof+US5Gs+bttSy5ZkLKtD+A1tw5szRsKnpPjP9Kat340eWTa7RwI +nyWYgBP+lnmkSb6187mjYXECgYEAvCTDUiLeH+JIo/zjXdzWpoXAlpSUpTv2fhFm +umhIZcuUMgvtuYUWci/nrEyx4hGDSJjQoy6ktI4PkDqCrEyPJD6dNNty+e3rBWw5 +lOP2yct77DYe1R3a/YDH6WMmgt1xzsJn9rkBNFcmHcs4YHerr5N5Z34y46LTbWt9 +FJfoivECgYBQlGZjaXEyN2xwv789NNp/RFKqdAM7Ec8ENN1WAAJ0Zr0mGTM6Fqp9 +idmMCMt/MtAFeNvwZXBk1rQ1jdD6uzxc7GPMgz+ImwVM/+5i3Fr0d9JNJ7H+/7U0 +wILN3LYJxqHocOzRCMI2o/HX8c5xkZG1/Yh1keN49CsYYaxZKeG+Qg== +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/xc1sxacm.localhost.crt b/sxc/10.0/xc1-cxa/traefik/certs/xc1sxacm.localhost.crt new file mode 100644 index 0000000..0f545d4 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/xc1sxacm.localhost.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDCTCCAfGgAwIBAgIUSvZs9CHMQo778jISK4j6r8GYrRYwDQYJKoZIhvcNAQEL +BQAwJTEjMCEGA1UEAwwaQ29tbWVyY2UgQ29udGFpbmVyIFJvb3QgQ0EwHhcNMjAw +NjMwMTUzOTQyWhcNMzAwNjI4MTUzOTQyWjAdMRswGQYDVQQDDBJ4YzFzeGFjbS5s +b2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC24GRLKvhF +6q+L9YHyoMQvswjs+JZwZI0ZzYdwtzWwRyZUO+Sg2rzJtfj5biu7zaXn9WTJVLvm +d/bkZbjgjJVk7F9s1EvMhsYmOPxKXo7tK5LqF67naVpU6cGXAPrK6w0S1T4mcFjy +ng8dJsWvXRGx62+bpEvdX0EWyNIEaN9IwoGuaOM7c7jwrDPooHPNadBjsvDNnM9p +tMdz+JcejRfws2YxXfke4cRhO7fgbiFW6N/wAiQNpMI1pih8yz4Xe4QAYldD6hi2 +igNo57c8a55mCH5thwzHM0U+bKR3aophDajGAWYKzgAZkWuTvWiTkIsRlDhl3ywI ++9bCIk0ItB4pAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgXgMB0GA1Ud +EQQWMBSCEnhjMXN4YWNtLmxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEATJDL +WTzYsjkHsYrYWC2lQHjsrDQ6jV3dFzoBVdLpUcrJoJ9t8qSMZqju9zF5RVpBeH8z +Yf4HpEgmf7nDbUP/qju3drRwhDTJMdZ50newukBZzxkemJoogCTJn/J+ckPulOVx +e2V/K9f05yCuLszVuPMek0/PBkwSSAmKfZzHKjC1Z/OwoznK4EgzbaR8icu908fw +Qf/ZT0Ka69ccGt8ygaTzT2cI1WCEg2iCx78CGq+UzU+GggvOlT9UZrxiwfOpjyJx +UdrN/+GlTYlBqXLactbGxflfhlSmAw0hPan2kciM3aawtf1P5dKURo08m9KF/ujd +EivR1AhBncSYf6MgAQ== +-----END CERTIFICATE----- diff --git a/sxc/10.0/xc1-cxa/traefik/certs/xc1sxacm.localhost.key b/sxc/10.0/xc1-cxa/traefik/certs/xc1sxacm.localhost.key new file mode 100644 index 0000000..f33895a --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/certs/xc1sxacm.localhost.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEAtuBkSyr4Reqvi/WB8qDEL7MI7PiWcGSNGc2HcLc1sEcmVDvk +oNq8ybX4+W4ru82l5/VkyVS75nf25GW44IyVZOxfbNRLzIbGJjj8Sl6O7SuS6heu +52laVOnBlwD6yusNEtU+JnBY8p4PHSbFr10Rsetvm6RL3V9BFsjSBGjfSMKBrmjj +O3O48Kwz6KBzzWnQY7LwzZzPabTHc/iXHo0X8LNmMV35HuHEYTu34G4hVujf8AIk +DaTCNaYofMs+F3uEAGJXQ+oYtooDaOe3PGueZgh+bYcMxzNFPmykd2qKYQ2oxgFm +Cs4AGZFrk71ok5CLEZQ4Zd8sCPvWwiJNCLQeKQIDAQABAoIBAQCehvgJ/Q7JNP7F ++aWTGO/YVX+4RGnMti1mn7b366mbzKGaRW0UT2l2Bcv1FR7OJx/ZauzaZhyYVYft +R4yzAssCeLDj20h13KLqQV3abgvB5pLtYGha7AXFM/mAF/ZPbuCfYcEFe0Bv2LpL +T+/v62LKc8gFCLBHDyqSQLVl4y8jlxm6KnEkKKutqSNZuJOslou7CwBMnRHAZHVh +pUKNCP7nG3P2fglLtV99JXjPdcK4pK5SAJYDi7b5gFVI2mpPKN7jv3WghFHMcgL1 +uDb0/A+/4P6OFwxFwKctIKwJvkFLQR4n9NUxNnbnz/SBD6uIKtEprv84A67JZEwC +hhu7GFLtAoGBANwdf/j10L6q5o5ScB7toPCn9OCVU1kPJ3mB90HpimoriqGtdS1c +xDuH5xrtdEBaCIjyWdkMxokbwTK2W+ww7QUylc7jlDYcwAxtL5irHgcIYIQUVlYW +FvIjHWKlhs2hEA6bJc8dx+pKjnYYEfDP398KJiX6NUiLna7c/FPAN0IzAoGBANSw +vHOMvYYyVnh2aDhDhMsWhBOQr/U/+BjifNGrr96DTxnvOUpkTGSxkFHtHGnPshax +mSJX+BKWAH09H8tYAxw6iSef2/SvX9RCi+EZGK9/JIWhFDlYOOcwfUFeDXye0Hm/ +7AJl1xlMt176GT6U9H9TWD1w34o8VZnwJJI55FozAoGAUuQpFTA89BCX0nDpGDyU +pwwZA5o4UQmL7A4tdvzjyyeqhUg1IGgW3fRH67QQW0uMe0YI39wXx/pTvy09YKzs +FVD/aXH6loYtLIDRs8R9Alj9P8AI41JeQcFHh6aeJUHKMjXq/xxP9MMu8voNh4pA +3FWOGC8pcbBiKT+/Jir0pFECgYEAnIUXmh1Xl/tRYUMZ/VXK0r3WIqPWqbASvxVl +79LeEO0m+BnxWkqnYW6+m1vYDhI3p7W40OpV+C+FWqTx0e4KE+sL5iohb1bkOctj +LxsN7JCvatuYi37eGVy4wLMbT7t8Bizz3OvfOJIZW/7HNyPdLhpClKyNBSjTgf6U +mzuZTbsCgYEAyAFpPrTzU204kV4D1VVNDi1ifK2vaJrkoYklySGykmukeUbXhbeV +/2sMygIrMNw/rO5qEdn8pYNr71Ahh8KbvIx5cw02qwMqH4pDdk4nlucdg2dUAXvm +u9oMJehJkgcB3+fF8+kwZUZfSN6ox40ONj12w/PgbOPTN5JNPlCYk6E= +-----END RSA PRIVATE KEY----- diff --git a/sxc/10.0/xc1-cxa/traefik/config/dynamic/certs_config.yaml b/sxc/10.0/xc1-cxa/traefik/config/dynamic/certs_config.yaml new file mode 100644 index 0000000..0205a71 --- /dev/null +++ b/sxc/10.0/xc1-cxa/traefik/config/dynamic/certs_config.yaml @@ -0,0 +1,18 @@ +tls: + certificates: + - certFile: C:\etc\traefik\certs\xc1cm.localhost.crt + keyFile: C:\etc\traefik\certs\xc1cm.localhost.key + - certFile: C:\etc\traefik\certs\xc1cd.localhost.crt + keyFile: C:\etc\traefik\certs\xc1cd.localhost.key + - certFile: C:\etc\traefik\certs\xc1id.localhost.crt + keyFile: C:\etc\traefik\certs\xc1id.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 + - certFile: C:\etc\traefik\certs\ops.localhost.crt + keyFile: C:\etc\traefik\certs\ops.localhost.key \ No newline at end of file diff --git a/sxc/10.0/xc1/.env b/sxc/10.0/xc1/.env new file mode 100644 index 0000000..bea3c89 --- /dev/null +++ b/sxc/10.0/xc1/.env @@ -0,0 +1,15 @@ +BASE_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/base/ + +XP_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxp/ +XP_SITECORE_TAG=10.0.0-ltsc2019 + +XC_SITECORE_DOCKER_REGISTRY=scr.sitecore.com/sxc/ +XC_PACKAGES_TAG=10.0.0-ltsc2019 + +TRAEFIK_IMAGE=traefik:v2.2.0-windowsservercore-1809 +TRAEFIK_ISOLATION=default + +SITECORE_MASTER_DB=Sitecore.Master +SITECORE_CORE_DB=Sitecore.Core +XC_GLOBAL_DB=SitecoreCommerce_Global +XC_SHARED_DB=SitecoreCommerce_SharedEnvironments diff --git a/sxc/10.0/xc1/cd/Content/Website/App_Config/Include/Domains.Shared.config b/sxc/10.0/xc1/cd/Content/Website/App_Config/Include/Domains.Shared.config new file mode 100644 index 0000000..32579a3 --- /dev/null +++ b/sxc/10.0/xc1/cd/Content/Website/App_Config/Include/Domains.Shared.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/sxc/10.0/xc1/cd/Content/Website/App_Config/Include/Y.Commerce.Engine/Y.Sitecore.Commerce.config b/sxc/10.0/xc1/cd/Content/Website/App_Config/Include/Y.Commerce.Engine/Y.Sitecore.Commerce.config new file mode 100644 index 0000000..9e9836c --- /dev/null +++ b/sxc/10.0/xc1/cd/Content/Website/App_Config/Include/Y.Commerce.Engine/Y.Sitecore.Commerce.config @@ -0,0 +1,24 @@ + + + + $(env:Sitecore_xc_Shops_Url) + $(env:Sitecore_xc_Ops_Url) + $(env:Sitecore_xc_Minions_Url) + $(env:Sitecore_Identity_Server_Authority) + $(env:Sitecore_Identity_Server_InternalAuthority) + false + $(env:Sitecore_xc_Client_Secret_Hash) + + + + + + + $(env:Sitecore_xc_ConnectionStrings_Redis) + + + + + + + \ No newline at end of file diff --git a/sxc/10.0/xc1/cd/Permissions/AdditionalWriteAllowedFolders.txt b/sxc/10.0/xc1/cd/Permissions/AdditionalWriteAllowedFolders.txt new file mode 100644 index 0000000..de6cedf --- /dev/null +++ b/sxc/10.0/xc1/cd/Permissions/AdditionalWriteAllowedFolders.txt @@ -0,0 +1 @@ +C:\inetpub\wwwroot\App_Config\Security-Shared \ No newline at end of file diff --git a/sxc/10.0/xc1/cd/tools/GrantWritePermission.ps1 b/sxc/10.0/xc1/cd/tools/GrantWritePermission.ps1 new file mode 100644 index 0000000..ac9190f --- /dev/null +++ b/sxc/10.0/xc1/cd/tools/GrantWritePermission.ps1 @@ -0,0 +1,24 @@ +param( + [Parameter(Mandatory=$true, ParameterSetName="Array")] + [string[]] $TargetFolders, + + [Parameter(Mandatory=$true, ParameterSetName="File")] + [string] $TargetFoldersFile, + + [Parameter(Mandatory=$true)] + [string] $User +) + +if ($TargetFoldersFile) { + $TargetFolders = Get-Content -Path $TargetFoldersFile +} + +$TargetFolders | ForEach-Object { + If (-not [string]::IsNullOrEmpty($_)) { + If (!(Test-Path $_)) { + New-Item -Path $_ -ItemType Directory -Force + } + + cmd /C icacls $_ /grant ($User + ":(OI)(CI)M") + } +} \ No newline at end of file diff --git a/sxc/10.0/xc1/cd/tools/Invoke-XdtTransformations.ps1 b/sxc/10.0/xc1/cd/tools/Invoke-XdtTransformations.ps1 new file mode 100644 index 0000000..b9e51d5 --- /dev/null +++ b/sxc/10.0/xc1/cd/tools/Invoke-XdtTransformations.ps1 @@ -0,0 +1,43 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [ValidateScript({ Test-Path $_ -PathType Container })] + [string]$TargetPath, + [Parameter(Mandatory = $true)] + [string]$XdtPath, + [Parameter(Mandatory = $true)] + [ValidateScript({ Test-Path $_ -PathType Leaf })] + [string]$XdtDllPath +) + +if (-not (Test-Path $XdtPath -PathType Container)) { + Write-Verbose "Transformations source '$XdtPath' does not exist." + return +} + +$transformations = @(Get-ChildItem $XdtPath -File -Recurse) + +if ($transformations.Length -eq 0) { + Write-Verbose "No transformations in '$XdtPath'." + return +} + +Add-Type -Path $XdtDllPath + +$transformations | ForEach-Object { + $targetFullPath = (Resolve-Path $TargetPath).Path + $xdtFullPath = (Resolve-Path $XdtPath).Path + $targetFilePath = $_.FullName.Replace($xdtFullPath, $targetFullPath).Replace(".xdt", "") + + $targetDocument = New-Object Microsoft.Web.XmlTransform.XmlTransformableDocument; + $targetDocument.PreserveWhitespace = $true + $targetDocument.Load($targetFilePath) + + $transformation = New-Object Microsoft.Web.XmlTransform.XmlTransformation($_.FullName) + if ($transformation.Apply($targetDocument) -eq $false) { + throw "Transformation '$($_.FullName)' on '$($targetFilePath.FullName)' failed." + } + + $targetDocument.Save($targetFilePath) + Write-Verbose "Transformation '$($_.FullName)' on '$($targetFilePath.FullName)' completed." +} \ No newline at end of file diff --git a/sxc/10.0/xc1/cd/xdts/Web.config.xdt b/sxc/10.0/xc1/cd/xdts/Web.config.xdt new file mode 100644 index 0000000..72d7ecb --- /dev/null +++ b/sxc/10.0/xc1/cd/xdts/Web.config.xdt @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/sxc/10.0/xc1/cm/Content/Website/App_Config/Include/Domains.Shared.config b/sxc/10.0/xc1/cm/Content/Website/App_Config/Include/Domains.Shared.config new file mode 100644 index 0000000..32579a3 --- /dev/null +++ b/sxc/10.0/xc1/cm/Content/Website/App_Config/Include/Domains.Shared.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/sxc/10.0/xc1/cm/Content/Website/App_Config/Include/Y.Commerce.Engine/Y.Sitecore.Commerce.config b/sxc/10.0/xc1/cm/Content/Website/App_Config/Include/Y.Commerce.Engine/Y.Sitecore.Commerce.config new file mode 100644 index 0000000..9545f59 --- /dev/null +++ b/sxc/10.0/xc1/cm/Content/Website/App_Config/Include/Y.Commerce.Engine/Y.Sitecore.Commerce.config @@ -0,0 +1,30 @@ + + + + $(env:Sitecore_xc_Shops_Url) + $(env:Sitecore_xc_Ops_Url) + $(env:Sitecore_xc_Minions_Url) + $(env:Sitecore_Identity_Server_Authority) + $(env:Sitecore_Identity_Server_InternalAuthority) + false + $(env:Sitecore_xc_Client_Secret_Hash) + + + + + + + $(env:Sitecore_xc_ConnectionStrings_Redis) + + + + + + + + true + + + + + \ No newline at end of file diff --git a/sxc/10.0/xc1/cm/Permissions/AdditionalWriteAllowedFolders.txt b/sxc/10.0/xc1/cm/Permissions/AdditionalWriteAllowedFolders.txt new file mode 100644 index 0000000..de6cedf --- /dev/null +++ b/sxc/10.0/xc1/cm/Permissions/AdditionalWriteAllowedFolders.txt @@ -0,0 +1 @@ +C:\inetpub\wwwroot\App_Config\Security-Shared \ No newline at end of file diff --git a/sxc/10.0/xc1/cm/tools/GrantWritePermission.ps1 b/sxc/10.0/xc1/cm/tools/GrantWritePermission.ps1 new file mode 100644 index 0000000..ac9190f --- /dev/null +++ b/sxc/10.0/xc1/cm/tools/GrantWritePermission.ps1 @@ -0,0 +1,24 @@ +param( + [Parameter(Mandatory=$true, ParameterSetName="Array")] + [string[]] $TargetFolders, + + [Parameter(Mandatory=$true, ParameterSetName="File")] + [string] $TargetFoldersFile, + + [Parameter(Mandatory=$true)] + [string] $User +) + +if ($TargetFoldersFile) { + $TargetFolders = Get-Content -Path $TargetFoldersFile +} + +$TargetFolders | ForEach-Object { + If (-not [string]::IsNullOrEmpty($_)) { + If (!(Test-Path $_)) { + New-Item -Path $_ -ItemType Directory -Force + } + + cmd /C icacls $_ /grant ($User + ":(OI)(CI)M") + } +} \ No newline at end of file diff --git a/sxc/10.0/xc1/cm/tools/Invoke-XdtTransformations.ps1 b/sxc/10.0/xc1/cm/tools/Invoke-XdtTransformations.ps1 new file mode 100644 index 0000000..b9e51d5 --- /dev/null +++ b/sxc/10.0/xc1/cm/tools/Invoke-XdtTransformations.ps1 @@ -0,0 +1,43 @@ +[CmdletBinding()] +param( + [Parameter(Mandatory = $true)] + [ValidateScript({ Test-Path $_ -PathType Container })] + [string]$TargetPath, + [Parameter(Mandatory = $true)] + [string]$XdtPath, + [Parameter(Mandatory = $true)] + [ValidateScript({ Test-Path $_ -PathType Leaf })] + [string]$XdtDllPath +) + +if (-not (Test-Path $XdtPath -PathType Container)) { + Write-Verbose "Transformations source '$XdtPath' does not exist." + return +} + +$transformations = @(Get-ChildItem $XdtPath -File -Recurse) + +if ($transformations.Length -eq 0) { + Write-Verbose "No transformations in '$XdtPath'." + return +} + +Add-Type -Path $XdtDllPath + +$transformations | ForEach-Object { + $targetFullPath = (Resolve-Path $TargetPath).Path + $xdtFullPath = (Resolve-Path $XdtPath).Path + $targetFilePath = $_.FullName.Replace($xdtFullPath, $targetFullPath).Replace(".xdt", "") + + $targetDocument = New-Object Microsoft.Web.XmlTransform.XmlTransformableDocument; + $targetDocument.PreserveWhitespace = $true + $targetDocument.Load($targetFilePath) + + $transformation = New-Object Microsoft.Web.XmlTransform.XmlTransformation($_.FullName) + if ($transformation.Apply($targetDocument) -eq $false) { + throw "Transformation '$($_.FullName)' on '$($targetFilePath.FullName)' failed." + } + + $targetDocument.Save($targetFilePath) + Write-Verbose "Transformation '$($_.FullName)' on '$($targetFilePath.FullName)' completed." +} \ No newline at end of file diff --git a/sxc/10.0/xc1/cm/xdts/Web.config.xdt b/sxc/10.0/xc1/cm/xdts/Web.config.xdt new file mode 100644 index 0000000..72d7ecb --- /dev/null +++ b/sxc/10.0/xc1/cm/xdts/Web.config.xdt @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/sxc/10.0/xc1/docker-compose.build.yml b/sxc/10.0/xc1/docker-compose.build.yml new file mode 100644 index 0000000..b7eb930 --- /dev/null +++ b/sxc/10.0/xc1/docker-compose.build.yml @@ -0,0 +1,96 @@ +version: "2.4" +services: + mssql: + build: + context: ../xc-common/mssql/common + dockerfile: ../standalone/Dockerfile + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-mssql:${XP_SITECORE_TAG} + SITECORE_CORE_DB: ${SITECORE_CORE_DB} + image: xc1-mssql + mssql-init: + build: + context: ../xc-common/mssql/common + dockerfile: ../init/Dockerfile + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-mssql-init:${XP_SITECORE_TAG} + TOPOLOGY: xc1 + image: xc1-mssql-init + solr: + build: + context: ../xc-common/solr + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-solr:${XP_SITECORE_TAG} + SOLR_COMMERCE_CORE_NAMES: "CatalogItems,Customers,Orders,PriceCards,Promotions" + image: xc1-solr + solr-init: + build: + context: ../xc-common/solr-init + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-solr-init:${XP_SITECORE_TAG} + XC_TOPOLOGY: xc1 + SOLR_XDB_SCHEMA_FILE: "/Content/Website/App_Data/solrcommands/schema.json" + image: xc1-solr-init + rep: + build: + context: ./prcrep + dockerfile: ../../xc-common/prc-rep-xdba-xdbc/Dockerfile + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-rep:${XP_SITECORE_TAG} + image: sitecore-xc1-rep + xdbcollection: + build: + context: ./xdbcollection + dockerfile: ../../xc-common/prc-rep-xdba-xdbc/Dockerfile + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-xdbcollection:${XP_SITECORE_TAG} + image: sitecore-xc1-xdbcollection + prc: + build: + context: ./prcrep + dockerfile: ../../xc-common/prc-rep-xdba-xdbc/Dockerfile + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-prc:${XP_SITECORE_TAG} + image: sitecore-xc1-prc + cm: + build: + context: ./cm + dockerfile: ../../xc-common/cd-cm/Dockerfile + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-cm:${XP_SITECORE_TAG} + image: xc1-cm + cd: + build: + context: ./cd + dockerfile: ../../xc-common/cd-cm/Dockerfile + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-cd:${XP_SITECORE_TAG} + image: xc1-cd + xdbsearch: + build: + context: ./xdbsearch + dockerfile: ../../xc-common/prc-rep-xdba-xdbc/Dockerfile + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-xdbsearch:${XP_SITECORE_TAG} + image: sitecore-xc1-xdbsearch + xdbsearchworker: + build: + context: ../xc-common/xdbworkers + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-xdbsearchworker:${XP_SITECORE_TAG} + CONTENT_PATH: xdbsearchworker/wdp/App_Data/jobs/continuous/IndexWorker + image: sitecore-xc1-xdbsearchworker + xdbautomation: + build: + context: ./xdbautomation + dockerfile: ../../xc-common/prc-rep-xdba-xdbc/Dockerfile + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-xdbautomation:${XP_SITECORE_TAG} + image: sitecore-xc1-xdbautomation + xdbautomationworker: + build: + context: ../xc-common/xdbworkers + args: + BASE_IMAGE: ${XP_SITECORE_DOCKER_REGISTRY}sitecore-xp1-xdbautomationworker:${XP_SITECORE_TAG} + CONTENT_PATH: xdbautomationworker/wdp/App_Data/jobs/continuous/AutomationEngine + image: sitecore-xc1-xdbautomationworker diff --git a/sxc/10.0/xc1/prcrep/keep.txt b/sxc/10.0/xc1/prcrep/keep.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/xc1/xdbautomation/keep.txt b/sxc/10.0/xc1/xdbautomation/keep.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/xc1/xdbcollection/keep.txt b/sxc/10.0/xc1/xdbcollection/keep.txt new file mode 100644 index 0000000..e69de29 diff --git a/sxc/10.0/xc1/xdbsearch/keep.txt b/sxc/10.0/xc1/xdbsearch/keep.txt new file mode 100644 index 0000000..e69de29