Open Ask AI (⌘/Ctrl+I)

Swift publication on DX Cloud

The Swift publication module reads its configuration through MicroProfile Config, which resolves values from sources including magnolia.properties, JVM system properties, and environment variables. On DX Cloud, you supply those same properties as entries in the env: section of your values.yml, for both the author and public instances. The property keys are identical; only the delivery mechanism differs.

On DX Cloud, you do not provision your own S3 bucket. The bucket is provisioned for you by Magnolia DX Cloud support.

Instructions

Before configuring Swift versioning:

  1. Open a HELPDESK ticket requesting S3 bucket provisioning for Swift publication.
  2. Magnolia DX Cloud support provisions the bucket and returns the values you need for your Helm configuration (see the example below).
  3. Add those values to the env: section of your values.yml, then start the instance.

values.yml example

magnoliaAuthor:
  env:
    # Customer-chosen — which workspaces to version and retention depth
    - name: swift.versioning.workspaces[0].name
      value: website
    - name: swift.versioning.workspaces[0].maxVersions
      value: "10"
    # Credentials — defined by DX Cloud support as GitLab CI/CD variables; referenced here, not defined by you
    - name: swift.versioning.s3.access-key-id <1>
      value: {{ .Env.AWS_ACCESS_KEY_ID | quote }}
    - name: swift.versioning.s3.secret-access-key <1>
      value: {{ .Env.AWS_SECRET_ACCESS_KEY | quote }}
    # Bucket details — confirmed by DX Cloud support
    - name: swift.versioning.s3.bucket
      value: <bucket name from DX Cloud support>
    - name: swift.versioning.s3.region
      value: <region from DX Cloud support>
    - name: swift.versioning.s3.rootFolder
      value: your-folder-{{ .Env.DEPLOYMENT | quote }}

magnoliaPublic:
  env:
    # Customer-chosen — which workspaces to version and retention depth
    - name: swift.versioning.workspaces[0].name
      value: website
    - name: swift.versioning.workspaces[0].maxVersions
      value: "10"
    # Credentials — defined by DX Cloud support as GitLab CI/CD variables; referenced here, not defined by you
    - name: swift.versioning.s3.access-key-id <1>
      value: {{ .Env.AWS_ACCESS_KEY_ID | quote }}
    - name: swift.versioning.s3.secret-access-key <1>
      value: {{ .Env.AWS_SECRET_ACCESS_KEY | quote }}
    # Bucket details — confirmed by DX Cloud support
    - name: swift.versioning.s3.bucket
      value: <bucket name from DX Cloud support>
    - name: swift.versioning.s3.region
      value: <region from DX Cloud support>
    - name: swift.versioning.s3.rootFolder
      value: your-folder-{{ .Env.DEPLOYMENT | quote }}

The swift.versioning.s3.access-key-id and swift.versioning.s3.secret-access-key values reference the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY GitLab CI/CD variables, which Magnolia DX Cloud support defines for your project during bucket provisioning. You reference these variables in your values.yml. You do not define them, and your own AWS credentials are not used.