Introducing Private Apps & Developer SDK

Introducing Private Apps & Developer SDK

Introducing Private Apps & Developer SDK

Integrate your internal software into Tempest using Private Apps

Integrate your internal software into Tempest using Private Apps

Integrate your internal software into Tempest using Private Apps

Ken Kouot

Ken Kouot

CEO and Co-Founder

CEO and Co-Founder

Oct 21, 2024

Oct 21, 2024

7 min

7 min

Tempest is the easiest way to build an internal developer platform for your entire engineering organization. Today, we’re introducing Private Apps—the best way to get any infrastructure or software development workflow into Tempest.

Our Private Apps experience lets you pull in your organization’s entire technology stack, including custom, internal tooling. Manage Private Apps in recipes, projects, and your catalog as a first-class experience, alongside our first-party integrations. They’re built with code and are designed for teams who need the full flexibility of a programming language.

Private Apps is the first of many experiences powered by our Developer SDK, which makes it even easier to get a streamlined environment for rapid development, testing, and deployment of your Private Apps.

Private Apps and the Developer SDK are rolling out to all Tempest customers starting October 21, 2024. Plus, everything will be available as open-source on GitHub.

Key Features

Private Apps was thoughtfully designed with the best developer experience in mind. They’re:

  • Open-source and interoperable with your existing infrastructure tools

  • Self-hosted and deployable in any environment

  • Able to be developed and tested on your local machine

  • Can be built to a single binary for production or multiple granular builds

  • Versioned and with an idiomatic upgrade path to keep your organization evolving

  • Secure by design:

    • Private Apps are pull-by default and do not require ingress access to your network

    • Apps are authenticated by revokable API keys (asymmetric JWS)

  • Built with code and manageable in version control

Why Use Private Apps?

Private Apps are flexible and can enable self-serve for the most complex engineering workflows. With Private Apps, you can:

  • Get E2E deployments from code to production for any stack in minutes

  • Automate 1-click provisioning and onboarding for your internal services and infrastructure

  • Modernize your existing applications

  • Define user-configurable golden path workflows to pair with your inner source templates

  • Set up local developer environments

How it Works

Our Developer SDK powers our Private Apps experience, one of many Tempest features built on the SDK to come. It’s comprised of three components that work together with your Tempest web console to streamline rapid development of Private Apps for all your internal use cases:

Apps SDK for Go

We’re building our SDK library with your favorite languages in mind, starting in Go. In addition to being our primary backend language at Tempest, Go has a proven track record in cloud native software: Kubernetes, Docker, and Terraform are all written in Go.

But that’s just the start. We’re planning on releasing SDKs for TypeScript and other languages. If you need the SDK in another language, reach out to us at support@tempestdx.com.

Tempest CLI

With the Tempest CLI, developers get complete local development and testing of Private Apps. The CLI will also enable you to build out self-contained binaries for flexible deployment.

Developer API

The Tempest Developer API offers concise methods to securely connect your Private Apps to your Tempest instance. Your app communicates with this API to receive new workloads, but interacting with this API is completely optional if you use the CLI. This API can be used to develop SDKs for Tempest in languages we don’t currently offer.

Check out our documentation for complete details on how to build your first Private App.

Going deep: Zero to 60

Building your first app is easy. To get started, download the Tempest CLI and create your first app and resource.

Developing apps is a local-first experience. We’ll connect your app to your Tempest instance in a later step.

mkdir tempest & cd

This scaffolds out a file and directory structure for Private Apps that’s immediately ready to integrate with your Tempest instance. Let’s see what capabilities this app has:

Tempest apps support the full provisioning lifecycle via standard CRUD operations, as well as health checks, and custom actions that, when registered, become available as 1-click on-demand workflows on your Tempest projects.

Next, we can test this app and it’s resources:

tempest app test pg-schema:v1 --operation create --type example --input '{"name": "hello"}'

Now that we understand how the CLI can help us develop and test our apps, let’s jump into some code to define custom functionality for our app.

Let’s say we want to create an app that provisions a new PostgreSQL schema. This could be useful if you’re building microservices and want to implement the schema flavor of the database per service pattern.

pgSchema := app.ResourceDefinition{
	Type: "schema",
	DisplayName: "Schema",
	Description: "Provisioning lifecycle management for PostgresQL schemas"
}

// You can supply a schema to the CreateFn, which will
// determine how your users may configure your app in
// Tempest
pgSchema.CreateFn(createFunc, inputSchema)	
pgSchema.ReadFn(readFunc)
pgSchema.DeleteFn(deleteFunc)

// You can also define a healthcheck to monitor service
// health in your Tempest web ui
pgSchema.HealthCheckFn(healthz)

// And register custom actions made available to your
// users in the web ui
pgSchema.AddAction(app.ActionDefinition{
	Name: "listMigrations",
	DisplayName: "List migrations table",
	Description: "Get information about the state of migrations for this schema"
	Handler: listMigrationHandler
})

App := app.New(
		app.WithResourceDefinition(pgSchema

And that’s it! Tempest developers have full control over the logic, and Tempest will securely orchestrate with your app over the internet. After connecting this with your Tempest instance, it’ll be available for your team to add to recipes and projects. Your app will show up like this in Tempest:

And like this as you configure your recipes:

The resource fields in recipes are fully configurable using our Developer SDK and can be used to build and orchestrate complex workflows using Private Apps.

Tempest Apps are powerful, flexible, and designed for rapid development. When used in recipes, you can build an extensive catalogue of developer workflows for any use case across your entire organization.

Additional resources

Speed without compromise

Engineers want developer self-serve. Platform teams want to deliver a streamlined developer experience while maintaining control. Without Tempest, platform teams are forced to stitch together dozens of tools and frameworks across a wide variety of APIs, languages, and deployments — a massive undertaking in its own right. With open-source options like Backstage, you're responsible for everything—from security to building your own plugins in TypeScript. And with other commercial solutions, your platform teams end up drowning in YAML.

With Tempest’s Developer SDK, you get deep customization that’s fast and easy to configure. Launching your own developer platform should make your teams more productive, not drain resources for quarters on end just to ship your first self-serve workflow.

Tempest gives your devs the freedom they want, your platform team the control they need, and your company business wins that are actually measurable. Ready to stop hacking things together and start building? We’ve got you covered.

Tempest is currently available for free in beta. Book a demo with us today to start building your developer platform.

LinkedIn hello@tempestdx.com