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

Experimenting with giving developers the ability to choose their database with Humanitec #137

Draft
wants to merge 43 commits into
base: idp-plugins
Choose a base branch
from

Conversation

taras
Copy link
Member

@taras taras commented Oct 26, 2022

Motivation

I want to show how developers can choose a database when creating a new service.

Approach

I added a configuration to the template that shows a dropdown with different PostgreSQL options. That value will be passed to the template. I would like to pass this information to the infrastructure profile. The infrasture profile should choose how to provide the database for the workload.

Here is the humanitec-app.yaml file that is used to generate JSON payload that's sent to the Humanitec API.

        profile: humanitec/default-module
          database: ${{ values.database }}

I would expect the infrastructure profile take PostgreSQL 15, PostgreSQL 14.5 or PostgreSQL 13. When deployed in development environment, it should run the PostgreSQL database as a workload in a container. When deployed in production, the database should be provisioned on the infrastructure.

Alternate Designs

🤷

taras and others added 30 commits October 4, 2022 09:52
In order to standup the executable delivery mechanism, we just
hard-coded everything to be local development values and a fixed
version of the executable name. However, the entire point is that
everyone gets their own internal developer platform that is unique to
them. We want to be able to customize that experience and also have it
work in production environments.

This adds the `executableName`, and `appURL`  parameter to
`createRouter` where you can pass in the specific name that you want
your binary package to have. It will then compile it as that
executable, and adjust the install script using a nunjucks template.
One of the really nice things about having your own developer platform
is that we can configure the compiled binary to talk back directly to
the server it was downloaded from.

To accomplish this, we "statically" pass the executable name, the
backend url, and the platform description as arguments to the
compilation. That way we can use them not only to generate help and
binary info for diagnostic purposes, but we will obviously need the
url to connect to the backstage server.
* add scaffold cli action

* rename scaffold to create

* allow yaml argument to create from file or stdin
@changeset-bot
Copy link

changeset-bot bot commented Oct 26, 2022

⚠️ No Changeset found

Latest commit: ba9160a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@taras taras marked this pull request as draft October 26, 2022 18:59
@frontsidejack
Copy link
Member

📣 NOTIFICATION
You are receiving this message because we did not publish any packages.

Generated by @thefrontside/actions Frontside

@taras taras changed the title Give users the ability to choose their database Humanitec: Experiment with giving developers the ability to choose their database Nov 4, 2022
@taras taras changed the title Humanitec: Experiment with giving developers the ability to choose their database Experiment with giving developers the ability to choose their database with Humanitec Nov 4, 2022
@taras taras changed the title Experiment with giving developers the ability to choose their database with Humanitec Experimenting with giving developers the ability to choose their database with Humanitec Nov 4, 2022
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.

5 participants