App

class App : KotlinCustomResource

Provides a DigitalOcean App resource.

Example Usage

To create an app, provide a DigitalOcean app spec specifying the app's components.

Basic Example

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.App;
import com.pulumi.digitalocean.AppArgs;
import com.pulumi.digitalocean.inputs.AppSpecArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var golang_sample = new App("golang-sample", AppArgs.builder()
.spec(AppSpecArgs.builder()
.name("golang-sample")
.region("ams")
.services(AppSpecServiceArgs.builder()
.environmentSlug("go")
.git(AppSpecServiceGitArgs.builder()
.branch("main")
.repoCloneUrl("https://github.com/digitalocean/sample-golang.git")
.build())
.instanceCount(1)
.instanceSizeSlug("professional-xs")
.name("go-service")
.build())
.build())
.build());
}
}

Static Site Example

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.App;
import com.pulumi.digitalocean.AppArgs;
import com.pulumi.digitalocean.inputs.AppSpecArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var static_site_example = new App("static-site-example", AppArgs.builder()
.spec(AppSpecArgs.builder()
.name("static-site-example")
.region("ams")
.staticSites(AppSpecStaticSiteArgs.builder()
.buildCommand("bundle exec jekyll build -d ./public")
.git(AppSpecStaticSiteGitArgs.builder()
.branch("main")
.repoCloneUrl("https://github.com/digitalocean/sample-jekyll.git")
.build())
.name("sample-jekyll")
.outputDir("/public")
.build())
.build())
.build());
}
}

Multiple Components Example

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.digitalocean.App;
import com.pulumi.digitalocean.AppArgs;
import com.pulumi.digitalocean.inputs.AppSpecArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var mono_repo_example = new App("mono-repo-example", AppArgs.builder()
.spec(AppSpecArgs.builder()
.alerts(AppSpecAlertArgs.builder()
.rule("DEPLOYMENT_FAILED")
.build())
.databases(AppSpecDatabaseArgs.builder()
.engine("PG")
.name("starter-db")
.production(false)
.build())
.domains(Map.of("name", "foo.example.com"))
.name("mono-repo-example")
.region("ams")
.services(AppSpecServiceArgs.builder()
.alert(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.environmentSlug("go")
.github(AppSpecServiceGithubArgs.builder()
.branch("main")
.deployOnPush(true)
.repo("username/repo")
.build())
.httpPort(3000)
.instanceCount(2)
.instanceSizeSlug("professional-xs")
.logDestination(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
.name("api")
.routes(AppSpecServiceRouteArgs.builder()
.path("/api")
.build())
.runCommand("bin/api")
.sourceDir("api/")
.build())
.staticSites(AppSpecStaticSiteArgs.builder()
.buildCommand("npm run build")
.github(AppSpecStaticSiteGithubArgs.builder()
.branch("main")
.deployOnPush(true)
.repo("username/repo")
.build())
.name("web")
.routes(AppSpecStaticSiteRouteArgs.builder()
.path("/")
.build())
.build())
.build())
.build());
}
}

Import

An app can be imported using its id, e.g.

$ pulumi import digitalocean:index/app:App myapp fb06ad00-351f-45c8-b5eb-13523c438661

Properties

Link copied to clipboard

The ID the app's currently active deployment.

Link copied to clipboard
val appUrn: Output<String>

The uniform resource identifier for the app.

Link copied to clipboard
val createdAt: Output<String>

The date and time of when the app was created.

Link copied to clipboard
val defaultIngress: Output<String>

The default URL to access the app.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val liveUrl: Output<String>

The live URL of the app.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val spec: Output<AppSpec>?

A DigitalOcean App spec describing the app.

Link copied to clipboard
val updatedAt: Output<String>

The date and time of when the app was last updated.

Link copied to clipboard
val urn: Output<String>