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

Ability to provide custom cicd and cloud components #649

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

j-4
Copy link

@j-4 j-4 commented Dec 22, 2022

Proposed changes

As a devops developer I need to provide custom CI/CD configs with certain adaptions for our infrastructure. As far as I understood, this is currently not possible as only the dbx provided components folder is used.

Thus, this PR

  • documents custom git template structure
  • adds ability to provide custom CI/CD and cloud configs in a components folder of the cookiecutter git repository

For discussion

To be compatible with the upstream cookiecutter philosophy I would furthermore suggest to

Either

Change the folder structure of the templates. I see the components folder a subfolder of the specific template( e.g. dbx/templates/projects/python_basic/render/components) as all the required variables and code dependencies for these "components" are defined in cookiecutter.json and post_gen_project.py. There is no clear separation, thus a change in components does not make any sense if you do not adapt the python_basic template.

Or

Provide all "components" directly in the cookiecutter render template and only remove unused CI/CD files as suggested by the cookiecutter docs. In this case, the various values for node_type_id in conf/deployment.yaml could be rendered with choice variables.

This is however not yet implemented here - I can provide the code if desired.

Types of changes

What types of changes does your code introduce to dbx?
Put an x in the boxes that apply

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update (if none of the other choices apply)

Further comments

If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

@j-4 j-4 force-pushed the feat-external-components branch 2 times, most recently from 1fa6d96 to 12a1a80 Compare December 22, 2022 15:58
@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.
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants