Cloud-Engineering: Sending a Website Live

When a site has finished implementation, then it is ready to be reviewed by the client. Once the client signs off on the new website, it is time to send it live. The process of sending a site provisioned by the deployment manager live is relatively straightforward.

Staging Load-balancer DNS

 Pre-requisites

 

  1. Control of the client’s existing DNS/domain name.

  2. Client approval of the site.

  3. PMS connection checks (bookings no longer in test mode for Escapia, etc.)

  4. Database backup of existing Bluetent/LMPM/Q4L website if a migration.

 

Distribution Channel Updates

Values relevant to a site’s checkout confirmation page exist within the settings of a given distribution channel.

 

  1. Select the desired company/website combination:

    image-20240111-162934.png

     

  2. Update the booking confirmation ID and site referrer’s list to include the new domain name(s):

    image-20240111-163109.png



    Save your changes.

  3. Update the permitted referrers to include your domain name(s):

    Save your changes.

  4. Navigate to the tags and publish your new channel configuration tag:

    Click “Create New Tag”

Add the Hostname(s) to the Site Configuration

 

  1. Navigate to https://ngen-manager.rezfusion.com/ and login using your Auth0 credentials

  2. Navigate to the desired website, in our use-case example it will be bttessentials:

  3. At the bottom, click “Add Hostname” and add the desired DNS value(s). Check “Redirect traffic to WWW” to also support routing to www. URLs.

  4.  

  5. Save the site configuration. If successful, you will be redirected to the list of sites. Several jobs related to site promotion should kick off within the wp-platform namespace of the Kubernetes cluster associated with production. These jobs are detailed in the specs & capabilities portion of this Confluence space.

  6. The site ID’s ingress should reflect the new hostname entry within minutes:

    kubectl get ing -n wp-platform bttessentials -o yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: cert-manager.io/cluster-issuer: letsencrypt kubernetes.io/tls-acme: "true" nginx.ingress.kubernetes.io/proxy-body-size: 250m nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/upstream-vhost: bttessentials.rezfusion.com creationTimestamp: "2023-11-30T20:48:05Z" generation: 6 labels: app: green condos-pipeline-name: UPDATE_INGRESS moniker: bttessentials queue-id: "10" queue-name: upgrade name: condos namespace: wp-platform resourceVersion: "163479485" uid: aca25f14-d124-42ca-b7ff-21a8932b4f06 spec: ingressClassName: nginx rules: - host: conallscondos.com http: paths: - backend: service: name: green port: number: 80 path: / pathType: Prefix - host: www.conallscondos.com http: paths: - backend: service: name: green port: number: 80 path: / pathType: Prefix

Add the Hostname(s) to the Site Configuration

 

  1. Add a new CNAME entry or update an existing entry to point to the new hostname of the elastic load balancer in front of our blue/green services:

    a5346b82d442149549a54fddefb6bb5c-289507650.us-west-2.elb.amazonaws.com (44.228.73.241)

     

  2. Confirm the DNS routes to the proper site by visiting the URL and confirming it is the same as the implementation URL (bttessentials.rezfusion.com and conallscondos.com should show the same site, in this case.)