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

POC of Platform API Plugin and an IDP CLI #103

Open
wants to merge 35 commits into
base: main
Choose a base branch
from
Open

POC of Platform API Plugin and an IDP CLI #103

wants to merge 35 commits into from

Conversation

taras
Copy link
Member

@taras taras commented Oct 4, 2022

Motivation

We're getting started putting together a demo of #99 and we need to start adding plugins that'll have all of the necessary pieces in them.

Approach

Created @frontside/backstage-plugin-platform and @frontside/backstage-plugin-platform-backend

@changeset-bot
Copy link

changeset-bot bot commented Oct 4, 2022

⚠️ No Changeset found

Latest commit: 6ed3233

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 ready for review October 4, 2022 13:59
@taras taras requested a review from cowboyd October 4, 2022 14:00
@frontsidejack
Copy link
Member

frontsidejack commented Oct 4, 2022

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

Generated by @thefrontside/actions Frontside

@@ -92,6 +93,7 @@ async function main() {
const searchEnv = useHotMemoize(module, () => createEnv('search'));
const appEnv = useHotMemoize(module, () => createEnv('app'));
const humanitecEnv = useHotMemoize(module, () => createEnv('humanitec'));
const ldpEnv = useHotMemoize(module, () => createEnv('ldp'));
Copy link
Member Author

Choose a reason for hiding this comment

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

FYI: it's internal developer platform - IDP, not LDP.

Copy link
Member

Choose a reason for hiding this comment

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

oops!

@cowboyd
Copy link
Member

cowboyd commented Oct 5, 2022

The skeleton starts to walk around!

2022-10-05 16 05 51

taras and others added 21 commits October 31, 2022 15:40
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
@taras taras changed the title Internal Developer Platform plugins skeletons POC of Platform API Plugin and an IDP CLI 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.

None yet

5 participants