Skip to content

Commit

Permalink
Merge branch 'current' into cafzal-patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
mirnawong1 authored Nov 16, 2023
2 parents 5430026 + fe6ad67 commit 38c0162
Show file tree
Hide file tree
Showing 8 changed files with 107 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@ The following fields are required when creating a Postgres, Redshift, or AlloyDB
| Port | Usually 5432 (Postgres) or 5439 (Redshift) | `5439` |
| Database | The logical database to connect to and run queries against. | `analytics` |

**Note**: When you set up a Redshift or Postgres connection in dbt Cloud, SSL-related parameters aren't available as inputs.
**Note**: When you set up a Redshift or Postgres connection in dbt Cloud, SSL-related parameters aren't available as inputs.

<Lightbox src="/img/docs/dbt-cloud/cloud-configuring-dbt-cloud/postgres-redshift-connection.png" width="70%" title="Configuring a Redshift connection"/>

For dbt Cloud users, please log in using the default Database username and password. Note this is because [`IAM` authentication](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-user-credentials.html) is not compatible with dbt Cloud.

### Connecting via an SSH Tunnel

To connect to a Postgres, Redshift, or AlloyDB instance via an SSH tunnel, select the **Use SSH Tunnel** option when creating your connection. When configuring the tunnel, you must supply the hostname, username, and port for the [bastion server](#about-the-bastion-server-in-aws).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,9 @@ pip is the easiest way to install the adapter:
The authentication methods that dbt Core supports are:

- `database` &mdash; Password-based authentication (default, will be used if `method` is not provided)
- `IAM` &mdash; IAM
- `IAM` &mdash; IAM

For dbt Cloud users, log in using the default **Database username** and **password**. This is necessary because dbt Cloud does not support `IAM` authentication.

Click on one of these authentication methods for further details on how to configure your connection profile. Each tab also includes an example `profiles.yml` configuration file for you to review.

Expand Down
5 changes: 2 additions & 3 deletions website/docs/guides/redshift-qs.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ You can check out [dbt Fundamentals](https://courses.getdbt.com/courses/fundamen

<Lightbox src="/img/redshift_tutorial/images/cluster_overview.png" title="Available Redshift Cluster" />

7. You might be asked to Configure account. For the purpose of this sandbox environment, we recommend selecting “Configure account”.
7. You might be asked to Configure account. For this sandbox environment, we recommend selecting “Configure account”.

8. Select your cluster from the list. In the **Connect to** popup, fill out the credentials from the output of the stack:
- **Authentication** &mdash; Use the default which is **Database user name and password** (NOTE: IAM authentication is not supported in dbt Cloud).
Expand All @@ -82,8 +82,7 @@ Now we are going to load our sample data into the S3 bucket that our Cloudformat

2. Now we are going to use the S3 bucket that you created with CloudFormation and upload the files. Go to the search bar at the top and type in `S3` and click on S3. There will be sample data in the bucket already, feel free to ignore it or use it for other modeling exploration. The bucket will be prefixed with `dbt-data-lake`.

<Lightbox src="/img/redshift_tutorial/images/go_to_s3.png" title="Go to S3" />

<Lightbox src="/img/redshift_tutorial/images/go_to_S3.png" title="Go to S3" />

3. Click on the `name of the bucket` S3 bucket. If you have multiple S3 buckets, this will be the bucket that was listed under “Workshopbucket” on the Outputs page.

Expand Down
3 changes: 3 additions & 0 deletions website/docusaurus.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
const path = require("path");
const math = require("remark-math");
const katex = require("rehype-katex");

const { versions, versionedPages, versionedCategories } = require("./dbt-versions");
require("dotenv").config();

Expand Down Expand Up @@ -258,6 +259,8 @@ var siteSettings = {
src: "https://cdn.jsdelivr.net/npm/[email protected]/release/featherlight.min.js",
defer: true,
},
"https://cdn.jsdelivr.net/npm/[email protected]/dist/clipboard.min.js",
"/js/headerLinkCopy.js",
"/js/gtm.js",
"/js/onetrust.js",
"https://kit.fontawesome.com/7110474d41.js",
Expand Down
39 changes: 39 additions & 0 deletions website/src/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -2034,6 +2034,45 @@ html[data-theme="dark"] .theme-doc-sidebar-container>div>button.button:hover {
color: #818589; /* You can adjust the color as needed */
}

h3.anchor a.hash-link:before,
h2.anchor a.hash-link:before {
content: "";
background-image: url('/img/copy.png');
background-size: 18px 18px;
height: 18px;
width: 18px;
display: inline-block;
}

h3.anchor.clicked a.hash-link:before,
h2.anchor.clicked a.hash-link:before {
background-image: url('/img/check.png');
background-size: 18px 13px;
height: 13px;
}

.copy-popup {
position: fixed;
top: 10px;
left: 50%;
transform: translateX(-50%);
background-color: #047377;
color: rgb(236, 236, 236);
padding: 10px;
border-radius: 5px;
z-index: 9999;
}

.close-button {
cursor: pointer;
margin: 0 10px;
font-size: 20px;
}

.close-button:hover {
color: #fff; /* Change color on hover if desired */
}

@media (max-width: 996px) {
.quickstart-container {
flex-direction: column;
Expand Down
Binary file added website/static/img/check.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added website/static/img/copy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
58 changes: 58 additions & 0 deletions website/static/js/headerLinkCopy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/* eslint-disable */

// Get all the headers with anchor links.
// The 'click' event worked over 'popstate' because click captures page triggers, as well as back/forward button triggers
// Adding the 'load' event to also capture the initial page load
window.addEventListener("click", copyHeader);
window.addEventListener("load", copyHeader);

// separating function from eventlistener to understand they are two separate things
function copyHeader () {
const headers = document.querySelectorAll("h2.anchor, h3.anchor");

headers.forEach((header) => {
header.style.cursor = "pointer";
const clipboard = new ClipboardJS(header, {
text: function(trigger) {
const anchorLink = trigger.getAttribute("id");
return window.location.href.split('#')[0] + '#' + anchorLink;
}
});

clipboard.on('success', function(e) {
// Provide user feedback (e.g., alert or tooltip) here
const popup = document.createElement('div');
popup.classList.add('copy-popup');
popup.innerText = 'Link copied!';
document.body.appendChild(popup);

// Set up timeout to remove the popup after 3 seconds
setTimeout(() => {
document.body.removeChild(popup);
}, 3000);

// Add close button ('x')
const closeButton = document.createElement('span');
closeButton.classList.add('close-button');
closeButton.innerHTML = ' &times;'; // '×' symbol for 'x'
closeButton.addEventListener('click', () => {
if (document.body.contains(popup)) {
document.body.removeChild(popup);
}
});
popup.appendChild(closeButton);

// Add and remove the 'clicked' class for styling purposes
e.trigger.classList.add("clicked");
setTimeout(() => {
if (document.body.contains(popup)) {
document.body.removeChild(popup);
}
}, 3000);
});

clipboard.on('error', function(e) {
console.error("Unable to copy to clipboard: " + e.text);
});
});
};

0 comments on commit 38c0162

Please sign in to comment.