Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🎉 Redshift Source/Destination SSL Support #6965

Merged
merged 10 commits into from
Oct 14, 2021

Conversation

VitaliiMaltsev
Copy link
Contributor

@VitaliiMaltsev VitaliiMaltsev commented Oct 12, 2021

What

We want to support TLS encryption when connecting to the Redshift source/destination.

Note that we do NOT need to support certificate verification as part of this issue -- just encryption of data over the wire. In other words, the focus is protecting against eavesdropping, not man-in-the-middle attacks.

How

Added option to connect using SSL.
red-src
red-dest

Recommended reading order

  1. x.java
  2. y.python

Pre-merge Checklist

Expand the relevant checklist and delete the others.

New Connector

Community member or Airbyter

  • Community member? Grant edit access to maintainers (instructions)
  • Secrets in the connector's spec are annotated with airbyte_secret
  • Unit & integration tests added and passing. Community members, please provide proof of success locally e.g: screenshot or copy-paste unit, integration, and acceptance test output. To run acceptance tests for a Python connector, follow instructions in the README. For java connectors run ./gradlew :airbyte-integrations:connectors:<name>:integrationTest.
  • Code reviews completed
  • Documentation updated
    • Connector's README.md
    • Connector's bootstrap.md. See description and examples
    • docs/SUMMARY.md
    • docs/integrations/<source or destination>/<name>.md including changelog. See changelog example
    • docs/integrations/README.md
    • airbyte-integrations/builds.md
  • PR name follows PR naming conventions
  • Connector added to connector index like described here

Airbyter

If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.

  • Create a non-forked branch based on this PR and test the below items on it
  • Build is successful
  • Credentials added to Github CI. Instructions.
  • /test connector=connectors/<name> command is passing.
  • New Connector version released on Dockerhub by running the /publish command described here

Updating a connector

Community member or Airbyter

  • Grant edit access to maintainers (instructions)
  • Secrets in the connector's spec are annotated with airbyte_secret
  • Unit & integration tests added and passing. Community members, please provide proof of success locally e.g: screenshot or copy-paste unit, integration, and acceptance test output. To run acceptance tests for a Python connector, follow instructions in the README. For java connectors run ./gradlew :airbyte-integrations:connectors:<name>:integrationTest.
  • Code reviews completed
  • Documentation updated
    • Connector's README.md
    • Connector's bootstrap.md. See description and examples
    • Changelog updated in docs/integrations/<source or destination>/<name>.md including changelog. See changelog example
  • PR name follows PR naming conventions
  • Connector version bumped like described here

Airbyter

If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.

  • Create a non-forked branch based on this PR and test the below items on it
  • Build is successful
  • Credentials added to Github CI. Instructions.
  • /test connector=connectors/<name> command is passing.
  • New Connector version released on Dockerhub by running the /publish command described here

Connector Generator

  • Issue acceptance criteria met
  • PR name follows PR naming conventions
  • If adding a new generator, add it to the list of scaffold modules being tested
  • The generator test modules (all connectors with -scaffold in their name) have been updated with the latest scaffold by running ./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplates then checking in your changes
  • Documentation which references the generator is updated as needed.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


vmaltsev seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@github-actions github-actions bot added the area/connectors Connector related issues label Oct 12, 2021
@VitaliiMaltsev VitaliiMaltsev changed the title tada: Redshift Source/Destination SSL Support 🎉 Redshift Source/Destination SSL Support Oct 12, 2021
@github-actions github-actions bot added the area/documentation Improvements or additions to documentation label Oct 12, 2021
@VitaliiMaltsev VitaliiMaltsev temporarily deployed to more-secrets October 12, 2021 09:33 Inactive
@VitaliiMaltsev VitaliiMaltsev linked an issue Oct 12, 2021 that may be closed by this pull request
5 tasks
@VitaliiMaltsev VitaliiMaltsev marked this pull request as ready for review October 12, 2021 14:05
@VitaliiMaltsev VitaliiMaltsev temporarily deployed to more-secrets October 12, 2021 14:05 Inactive
# Conflicts:
#	docs/integrations/destinations/redshift.md
#	docs/integrations/sources/redshift.md
@VitaliiMaltsev
Copy link
Contributor Author

VitaliiMaltsev commented Oct 13, 2021

/test connector=connectors/source-redshift

🕑 connectors/source-redshift https://github.com/airbytehq/airbyte/actions/runs/1337176765
❌ connectors/source-redshift https://github.com/airbytehq/airbyte/actions/runs/1337176765
🐛 https://gradle.com/s/uvfwyc7q3auqs
🕑 connectors/source-redshift https://github.com/airbytehq/airbyte/actions/runs/1337176765
✅ connectors/source-redshift https://github.com/airbytehq/airbyte/actions/runs/1337176765
No Python unittests run

@jrhizor jrhizor temporarily deployed to more-secrets October 13, 2021 11:12 Inactive
@jrhizor jrhizor temporarily deployed to more-secrets October 13, 2021 11:49 Inactive
@VitaliiMaltsev
Copy link
Contributor Author

VitaliiMaltsev commented Oct 13, 2021

/test connector=connectors/destination-redshift

🕑 connectors/destination-redshift https://github.com/airbytehq/airbyte/actions/runs/1337324630
✅ connectors/destination-redshift https://github.com/airbytehq/airbyte/actions/runs/1337324630
Python tests coverage:

	 ---------- coverage: platform linux, python 3.8.10-final-0 -----------
	 Name                                                              Stmts   Miss  Cover
	 -------------------------------------------------------------------------------------
	 main_dev_transform_catalog.py                                         3      3     0%
	 main_dev_transform_config.py                                          3      3     0%
	 normalization/__init__.py                                             4      0   100%
	 normalization/destination_type.py                                    12      0   100%
	 normalization/transform_catalog/__init__.py                           2      0   100%
	 normalization/transform_catalog/catalog_processor.py                143     77    46%
	 normalization/transform_catalog/destination_name_transformer.py     120      6    95%
	 normalization/transform_catalog/reserved_keywords.py                 11      0   100%
	 normalization/transform_catalog/stream_processor.py                 360    210    42%
	 normalization/transform_catalog/table_name_registry.py              174     34    80%
	 normalization/transform_catalog/transform.py                         45     26    42%
	 normalization/transform_catalog/utils.py                             33      7    79%
	 normalization/transform_config/__init__.py                            2      0   100%
	 normalization/transform_config/transform.py                         151     39    74%
	 -------------------------------------------------------------------------------------
	 TOTAL                                                              1063    405    62%

@jrhizor jrhizor temporarily deployed to more-secrets October 13, 2021 11:59 Inactive
Copy link
Contributor

@tuliren tuliren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

The following PR summary is actually very useful. Can you add it to the README or the connector doc?

Note that we do NOT need to support certificate verification as part of this issue -- just encryption of data over the wire. In other words, the focus is protecting against eavesdropping, not man-in-the-middle attacks.

I blocked this PR because the connector version have not been bumped yet. Please also don't forget to publish the new connectors after bumping the versions.

@VitaliiMaltsev VitaliiMaltsev temporarily deployed to more-secrets October 13, 2021 17:19 Inactive
@VitaliiMaltsev
Copy link
Contributor Author

Looks good!

The following PR summary is actually very useful. Can you add it to the README or the connector doc?

Note that we do NOT need to support certificate verification as part of this issue -- just encryption of data over the wire. In other words, the focus is protecting against eavesdropping, not man-in-the-middle attacks.

I blocked this PR because the connector version have not been bumped yet. Please also don't forget to publish the new connectors after bumping the versions.

Redshift Source and Destination versions bumped

Copy link
Contributor

@tuliren tuliren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.

Please also publish the new connectors.

# Conflicts:
#	airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/f7a7d195-377f-cf5b-70a5-be6b819019dc.json
#	airbyte-config/init/src/main/resources/seed/destination_definitions.yaml
#	airbyte-integrations/connectors/destination-redshift/Dockerfile
#	airbyte-integrations/connectors/destination-redshift/src/main/java/io/airbyte/integrations/destination/redshift/RedshiftCopyS3Destination.java
#	docs/integrations/destinations/redshift.md
@VitaliiMaltsev VitaliiMaltsev temporarily deployed to more-secrets October 14, 2021 08:09 Inactive
@VitaliiMaltsev
Copy link
Contributor Author

VitaliiMaltsev commented Oct 14, 2021

/publish connector=connectors/source-redshift

🕑 connectors/source-redshift https://github.com/airbytehq/airbyte/actions/runs/1340912398
✅ connectors/source-redshift https://github.com/airbytehq/airbyte/actions/runs/1340912398

@jrhizor jrhizor temporarily deployed to more-secrets October 14, 2021 08:12 Inactive
@VitaliiMaltsev
Copy link
Contributor Author

VitaliiMaltsev commented Oct 14, 2021

/publish connector=connectors/destination-redshift

🕑 connectors/destination-redshift https://github.com/airbytehq/airbyte/actions/runs/1340957570
✅ connectors/destination-redshift https://github.com/airbytehq/airbyte/actions/runs/1340957570

@jrhizor jrhizor temporarily deployed to more-secrets October 14, 2021 08:26 Inactive
@VitaliiMaltsev VitaliiMaltsev merged commit ae9048c into master Oct 14, 2021
@VitaliiMaltsev VitaliiMaltsev deleted the vmaltsev/6429-redshift-ssl branch October 14, 2021 09:29
schlattk pushed a commit to schlattk/airbyte that referenced this pull request Jan 4, 2022
* add tls option to spec

* Redshift Source add acceptance test

* Redshift Destination add ssl field to spec

* add RedshiftDestinationAcceptanceTestSSL

* fix checkstyle

* added changelog

* update docs

* bump versions of Redshift Source and Destination \ changed default tls to true

Co-authored-by: vmaltsev <vitalii.maltsev@globallogic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/connectors Connector related issues area/documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Redshift Src/Destination
6 participants