Sitelet https://github.com/NodeOps-app/createos-java-sdk/commit/6b1c4bdc0d8208de292cf1623c3add27b13ff51f
Skip to content

Commit 6b1c4bd

Browse files
committed
feat(release)!: rebrand SDK to sh.createos
Move Maven coordinates and Java packages to the CreateOS namespace. Update examples, documentation, and publisher metadata to match. Preserve the existing GitHub repository URLs. BREAKING CHANGE: Use sh.createos as the Maven groupId and replace network.nodeops.createos imports with sh.createos.
1 parent 8059c6e commit 6b1c4bd

86 files changed

Lines changed: 270 additions & 267 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎CHANGELOG.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ Versioning and the Keep a Changelog structure.
1717
- Read the default API key from `CREATEOS_API_KEY` instead of
1818
`CREATEOS_SANDBOX_API_KEY`.
1919
- Prepare signed, tag-triggered Maven Central publishing and GitHub Releases.
20+
- Rebranded Maven coordinates from `network.nodeops:createos-java-sdk` to
21+
`sh.createos:createos-java-sdk`. Java packages moved from
22+
`network.nodeops.createos` to `sh.createos` accordingly. No release used
23+
the old coordinates.
2024

2125
### Removed
2226

‎README.md‎

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Then add the locally installed SDK to your project's `pom.xml`. Replace
1919
```xml
2020
<dependencies>
2121
<dependency>
22-
<groupId>network.nodeops</groupId>
22+
<groupId>sh.createos</groupId>
2323
<artifactId>createos-java-sdk</artifactId>
2424
<version>YOUR_INSTALLED_VERSION</version>
2525
</dependency>
@@ -29,17 +29,17 @@ Then add the locally installed SDK to your project's `pom.xml`. Replace
2929
No package-download token or extra Maven repository is needed for the local
3030
installation.
3131

32-
The compile-checked [hello-world example](examples/src/main/java/network/nodeops/createos/examples/helloworld/HelloWorld.java)
32+
The compile-checked [hello-world example](examples/src/main/java/sh/createos/examples/helloworld/HelloWorld.java)
3333
creates a sandbox, runs a command, prints its output, and always destroys the
3434
resource. Set `CREATEOS_API_KEY` in your environment before running it:
3535

3636
```java
37-
package network.nodeops.createos.examples.helloworld;
37+
package sh.createos.examples.helloworld;
3838

39-
import network.nodeops.createos.CreateOsClient;
40-
import network.nodeops.createos.Sandbox;
41-
import network.nodeops.createos.model.CreateSandboxRequest;
42-
import network.nodeops.createos.model.RunCommandRequest;
39+
import sh.createos.CreateOsClient;
40+
import sh.createos.Sandbox;
41+
import sh.createos.model.CreateSandboxRequest;
42+
import sh.createos.model.RunCommandRequest;
4343

4444
public final class HelloWorld {
4545
private HelloWorld() {}
@@ -137,7 +137,7 @@ try (var stream =
137137
}
138138
```
139139

140-
The compile-checked [command-streaming example](examples/src/main/java/network/nodeops/createos/examples/commandstreaming/CommandStreaming.java)
140+
The compile-checked [command-streaming example](examples/src/main/java/sh/createos/examples/commandstreaming/CommandStreaming.java)
141141
uploads a Python program and consumes normalized stdout, stderr, exit, error,
142142
and heartbeat events. Closing a command or process stream closes its HTTP
143143
response body. Downloads, screenshots, and template log streams must also be
@@ -172,7 +172,7 @@ The timeout covers the complete transfer, including reading the downloaded
172172
body. Uploads are not retried because an arbitrary `InputStream` may not be
173173
safe to replay after a partial write.
174174

175-
The compile-checked [files-and-snapshots example](examples/src/main/java/network/nodeops/createos/examples/filesandsnapshots/FilesAndSnapshots.java)
175+
The compile-checked [files-and-snapshots example](examples/src/main/java/sh/createos/examples/filesandsnapshots/FilesAndSnapshots.java)
176176
uploads files, pauses a sandbox, creates a copy-on-write fork, resumes both
177177
sandboxes, and verifies that their filesystems diverge.
178178

@@ -200,7 +200,7 @@ ManagedProcess completed =
200200
.waitFor(process.processId(), "tree", Duration.ofSeconds(30));
201201
```
202202

203-
The compile-checked [managed-process example](examples/src/main/java/network/nodeops/createos/examples/managedprocess/ManagedProcessExample.java)
203+
The compile-checked [managed-process example](examples/src/main/java/sh/createos/examples/managedprocess/ManagedProcessExample.java)
204204
also demonstrates output replay, standard input, interactive PTYs, terminal
205205
resize, signals, and process-tree deletion.
206206

@@ -232,7 +232,7 @@ URI previewUrl = sandbox.previewurl(/sitelet?url=https%3A%2F%2Fgithub.com%2FNodeOps-app%2Fcreateos-java-sdk%2Fcommit%2F8080);
232232
System.out.println(previewUrl);
233233
```
234234

235-
The compile-checked [ingress-preview example](examples/src/main/java/network/nodeops/createos/examples/ingresspreview/IngressPreview.java)
235+
The compile-checked [ingress-preview example](examples/src/main/java/sh/createos/examples/ingresspreview/IngressPreview.java)
236236
runs the complete flow and fetches the public response.
237237

238238
## Everything is already connected
@@ -261,7 +261,7 @@ sandbox.computer().windows();
261261
sandbox.computer().screens();
262262
```
263263

264-
The compile-checked [custom-template example](examples/src/main/java/network/nodeops/createos/examples/customtemplate/CustomTemplate.java)
264+
The compile-checked [custom-template example](examples/src/main/java/sh/createos/examples/customtemplate/CustomTemplate.java)
265265
builds a Docker-enabled root filesystem, follows build logs, creates a sandbox
266266
from the finished template, and runs containers.
267267

@@ -289,7 +289,7 @@ try {
289289
}
290290
```
291291

292-
The compile-checked [private-network example](examples/src/main/java/network/nodeops/createos/examples/network/NetworkExample.java)
292+
The compile-checked [private-network example](examples/src/main/java/sh/createos/examples/network/NetworkExample.java)
293293
runs this complete lifecycle.
294294

295295
## Lifecycle reads like the domain
@@ -316,14 +316,14 @@ mutations and `refresh()` update it, while `id()`, `name()`, `status()`,
316316

317317
Build a sandbox root filesystem from a Dockerfile, follow its build logs, and
318318
wait until the template is ready before creating a sandbox from its ID. See the
319-
[custom template example](examples/src/main/java/network/nodeops/createos/examples/customtemplate/CustomTemplate.java)
319+
[custom template example](examples/src/main/java/sh/createos/examples/customtemplate/CustomTemplate.java)
320320
for the complete workflow and cleanup.
321321

322322
## Automate a desktop
323323

324324
The desktop root filesystem supports screenshots, mouse and keyboard control,
325325
clipboard access, and temporary noVNC connections. The
326-
[desktop example](examples/src/main/java/network/nodeops/createos/examples/desktop/Desktop.java)
326+
[desktop example](examples/src/main/java/sh/createos/examples/desktop/Desktop.java)
327327
exercises these operations.
328328

329329
## Errors stay inspectable
@@ -349,15 +349,15 @@ Runnable examples live under [`examples/`](examples/). Every example listed
349349
here is compiled during `mvn verify`, checked with Google Java style, and
350350
validated by `ExamplesDocumentationTest`:
351351

352-
- [Hello world](examples/src/main/java/network/nodeops/createos/examples/helloworld/HelloWorld.java)
353-
- [HTTP execution server](examples/src/main/java/network/nodeops/createos/examples/executionserver/ExecutionServer.java)
354-
- [Command streaming](examples/src/main/java/network/nodeops/createos/examples/commandstreaming/CommandStreaming.java)
355-
- [Files and snapshots](examples/src/main/java/network/nodeops/createos/examples/filesandsnapshots/FilesAndSnapshots.java)
356-
- [Ingress preview](examples/src/main/java/network/nodeops/createos/examples/ingresspreview/IngressPreview.java)
357-
- [Private overlay network](examples/src/main/java/network/nodeops/createos/examples/network/NetworkExample.java)
358-
- [Custom template](examples/src/main/java/network/nodeops/createos/examples/customtemplate/CustomTemplate.java)
359-
- [Managed process lifecycle](examples/src/main/java/network/nodeops/createos/examples/managedprocess/ManagedProcessExample.java)
360-
- [Desktop and noVNC](examples/src/main/java/network/nodeops/createos/examples/desktop/Desktop.java)
352+
- [Hello world](examples/src/main/java/sh/createos/examples/helloworld/HelloWorld.java)
353+
- [HTTP execution server](examples/src/main/java/sh/createos/examples/executionserver/ExecutionServer.java)
354+
- [Command streaming](examples/src/main/java/sh/createos/examples/commandstreaming/CommandStreaming.java)
355+
- [Files and snapshots](examples/src/main/java/sh/createos/examples/filesandsnapshots/FilesAndSnapshots.java)
356+
- [Ingress preview](examples/src/main/java/sh/createos/examples/ingresspreview/IngressPreview.java)
357+
- [Private overlay network](examples/src/main/java/sh/createos/examples/network/NetworkExample.java)
358+
- [Custom template](examples/src/main/java/sh/createos/examples/customtemplate/CustomTemplate.java)
359+
- [Managed process lifecycle](examples/src/main/java/sh/createos/examples/managedprocess/ManagedProcessExample.java)
360+
- [Desktop and noVNC](examples/src/main/java/sh/createos/examples/desktop/Desktop.java)
361361

362362
Run commands are documented in the [examples index](examples/README.md).
363363
Examples are compiled into `target/example-classes` and excluded from the SDK
@@ -385,10 +385,10 @@ warnings; and builds source and Javadoc JARs.
385385
## Package layout
386386

387387
```text
388-
src/main/java/network/nodeops/createos/ client and resource services
389-
src/main/java/network/nodeops/createos/model/ immutable public contracts
390-
src/main/java/network/nodeops/createos/internal/ transport and stream decoding
391-
examples/ runnable, compile-checked programs
388+
src/main/java/sh/createos/ client and resource services
389+
src/main/java/sh/createos/model/ immutable public contracts
390+
src/main/java/sh/createos/internal/ transport and stream decoding
391+
examples/ runnable, compile-checked programs
392392
```
393393

394394
## About CreateOS

‎examples/README.md‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,22 @@ Run an example with the SDK dependencies on the classpath:
1515
```sh
1616
mvn dependency:build-classpath -Dmdep.outputFile=/tmp/createos-java-classpath
1717
java -cp "target/classes:target/example-classes:$(cat /tmp/createos-java-classpath)" \
18-
network.nodeops.createos.examples.helloworld.HelloWorld
18+
sh.createos.examples.helloworld.HelloWorld
1919
```
2020

2121
Replace the final class with one of these:
2222

2323
| Go example | Java main class |
2424
| --- | --- |
25-
| `hello-world` | `network.nodeops.createos.examples.helloworld.HelloWorld` |
26-
| `command-streaming` | `network.nodeops.createos.examples.commandstreaming.CommandStreaming` |
27-
| `custom-template` | `network.nodeops.createos.examples.customtemplate.CustomTemplate` |
28-
| `desktop` | `network.nodeops.createos.examples.desktop.Desktop` |
29-
| `execution-server` | `network.nodeops.createos.examples.executionserver.ExecutionServer` |
30-
| `files-and-snapshots` | `network.nodeops.createos.examples.filesandsnapshots.FilesAndSnapshots` |
31-
| `ingress-preview` | `network.nodeops.createos.examples.ingresspreview.IngressPreview` |
32-
| `managed-process` | `network.nodeops.createos.examples.managedprocess.ManagedProcessExample` |
33-
| `network` | `network.nodeops.createos.examples.network.NetworkExample` |
25+
| `hello-world` | `sh.createos.examples.helloworld.HelloWorld` |
26+
| `command-streaming` | `sh.createos.examples.commandstreaming.CommandStreaming` |
27+
| `custom-template` | `sh.createos.examples.customtemplate.CustomTemplate` |
28+
| `desktop` | `sh.createos.examples.desktop.Desktop` |
29+
| `execution-server` | `sh.createos.examples.executionserver.ExecutionServer` |
30+
| `files-and-snapshots` | `sh.createos.examples.filesandsnapshots.FilesAndSnapshots` |
31+
| `ingress-preview` | `sh.createos.examples.ingresspreview.IngressPreview` |
32+
| `managed-process` | `sh.createos.examples.managedprocess.ManagedProcessExample` |
33+
| `network` | `sh.createos.examples.network.NetworkExample` |
3434

3535
Examples create billable resources. Their `finally` blocks make a best effort
3636
to destroy sandboxes and delete temporary account resources.

‎examples/execution-server/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This example exposes `POST /v1/execute` on `127.0.0.1:8080`. Each request
44
creates a fresh sandbox, runs one command without shell interpolation, returns
55
its output as JSON, and destroys the sandbox.
66

7-
Run `network.nodeops.createos.examples.executionserver.ExecutionServer` as
7+
Run `sh.createos.examples.executionserver.ExecutionServer` as
88
described in the examples index, then send a request:
99

1010
```sh

examples/src/main/java/network/nodeops/createos/examples/commandstreaming/CommandStreaming.java renamed to examples/src/main/java/sh/createos/examples/commandstreaming/CommandStreaming.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
package network.nodeops.createos.examples.commandstreaming;
1+
package sh.createos.examples.commandstreaming;
22

33
import java.io.ByteArrayInputStream;
44
import java.nio.charset.StandardCharsets;
5-
import network.nodeops.createos.CreateOsClient;
6-
import network.nodeops.createos.Sandbox;
7-
import network.nodeops.createos.model.CommandStreamEvent;
8-
import network.nodeops.createos.model.CreateSandboxRequest;
9-
import network.nodeops.createos.model.RunCommandRequest;
5+
import sh.createos.CreateOsClient;
6+
import sh.createos.Sandbox;
7+
import sh.createos.model.CommandStreamEvent;
8+
import sh.createos.model.CreateSandboxRequest;
9+
import sh.createos.model.RunCommandRequest;
1010

1111
/** Uploads a Python program and prints output as the sandbox produces it. */
1212
public final class CommandStreaming {

examples/src/main/java/network/nodeops/createos/examples/customtemplate/CustomTemplate.java renamed to examples/src/main/java/sh/createos/examples/customtemplate/CustomTemplate.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
package network.nodeops.createos.examples.customtemplate;
1+
package sh.createos.examples.customtemplate;
22

33
import java.time.Duration;
44
import java.time.Instant;
55
import java.util.Map;
6-
import network.nodeops.createos.CreateOsClient;
7-
import network.nodeops.createos.RequestOptions;
8-
import network.nodeops.createos.Sandbox;
9-
import network.nodeops.createos.model.CreateSandboxRequest;
10-
import network.nodeops.createos.model.CreateTemplateRequest;
11-
import network.nodeops.createos.model.RunCommandRequest;
12-
import network.nodeops.createos.model.Template;
6+
import sh.createos.CreateOsClient;
7+
import sh.createos.RequestOptions;
8+
import sh.createos.Sandbox;
9+
import sh.createos.model.CreateSandboxRequest;
10+
import sh.createos.model.CreateTemplateRequest;
11+
import sh.createos.model.RunCommandRequest;
12+
import sh.createos.model.Template;
1313

1414
/** Builds a Docker-enabled template and runs containers in a sandbox created from it. */
1515
public final class CustomTemplate {

examples/src/main/java/network/nodeops/createos/examples/desktop/Desktop.java renamed to examples/src/main/java/sh/createos/examples/desktop/Desktop.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
package network.nodeops.createos.examples.desktop;
1+
package sh.createos.examples.desktop;
22

33
import java.awt.image.BufferedImage;
44
import java.io.InputStream;
55
import java.time.Duration;
66
import javax.imageio.ImageIO;
7-
import network.nodeops.createos.ComputerService;
8-
import network.nodeops.createos.CreateOsClient;
9-
import network.nodeops.createos.Sandbox;
10-
import network.nodeops.createos.model.ComputerPoint;
11-
import network.nodeops.createos.model.CreateSandboxRequest;
12-
import network.nodeops.createos.model.ScreenGeometry;
13-
import network.nodeops.createos.model.ScreenOptions;
14-
import network.nodeops.createos.model.ScreenshotOptions;
7+
import sh.createos.ComputerService;
8+
import sh.createos.CreateOsClient;
9+
import sh.createos.Sandbox;
10+
import sh.createos.model.ComputerPoint;
11+
import sh.createos.model.CreateSandboxRequest;
12+
import sh.createos.model.ScreenGeometry;
13+
import sh.createos.model.ScreenOptions;
14+
import sh.createos.model.ScreenshotOptions;
1515

1616
/** Demonstrates screenshots, desktop controls, and a temporary noVNC connection. */
1717
public final class Desktop {

examples/src/main/java/network/nodeops/createos/examples/executionserver/ExecutionServer.java renamed to examples/src/main/java/sh/createos/examples/executionserver/ExecutionServer.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package network.nodeops.createos.examples.executionserver;
1+
package sh.createos.examples.executionserver;
22

33
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
44
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -11,11 +11,11 @@
1111
import java.util.Map;
1212
import java.util.concurrent.Executors;
1313
import java.util.concurrent.Semaphore;
14-
import network.nodeops.createos.CreateOsClient;
15-
import network.nodeops.createos.RequestOptions;
16-
import network.nodeops.createos.Sandbox;
17-
import network.nodeops.createos.model.CreateSandboxRequest;
18-
import network.nodeops.createos.model.RunCommandRequest;
14+
import sh.createos.CreateOsClient;
15+
import sh.createos.RequestOptions;
16+
import sh.createos.Sandbox;
17+
import sh.createos.model.CreateSandboxRequest;
18+
import sh.createos.model.RunCommandRequest;
1919

2020
/** Local HTTP service that executes each request in a fresh sandbox. */
2121
public final class ExecutionServer {

examples/src/main/java/network/nodeops/createos/examples/filesandsnapshots/FilesAndSnapshots.java renamed to examples/src/main/java/sh/createos/examples/filesandsnapshots/FilesAndSnapshots.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
package network.nodeops.createos.examples.filesandsnapshots;
1+
package sh.createos.examples.filesandsnapshots;
22

33
import java.io.ByteArrayInputStream;
44
import java.nio.charset.StandardCharsets;
55
import java.time.Duration;
66
import java.time.Instant;
7-
import network.nodeops.createos.CreateOsClient;
8-
import network.nodeops.createos.Sandbox;
9-
import network.nodeops.createos.model.CreateSandboxRequest;
10-
import network.nodeops.createos.model.ForkSandboxRequest;
11-
import network.nodeops.createos.model.RunCommandRequest;
7+
import sh.createos.CreateOsClient;
8+
import sh.createos.Sandbox;
9+
import sh.createos.model.CreateSandboxRequest;
10+
import sh.createos.model.ForkSandboxRequest;
11+
import sh.createos.model.RunCommandRequest;
1212

1313
/** Demonstrates copy-on-write sandbox snapshots and diverging filesystems. */
1414
public final class FilesAndSnapshots {

examples/src/main/java/network/nodeops/createos/examples/helloworld/HelloWorld.java renamed to examples/src/main/java/sh/createos/examples/helloworld/HelloWorld.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package network.nodeops.createos.examples.helloworld;
1+
package sh.createos.examples.helloworld;
22

3-
import network.nodeops.createos.CreateOsClient;
4-
import network.nodeops.createos.Sandbox;
5-
import network.nodeops.createos.model.CreateSandboxRequest;
6-
import network.nodeops.createos.model.RunCommandRequest;
3+
import sh.createos.CreateOsClient;
4+
import sh.createos.Sandbox;
5+
import sh.createos.model.CreateSandboxRequest;
6+
import sh.createos.model.RunCommandRequest;
77

88
/** Creates a sandbox, runs a command, and destroys the sandbox. */
99
public final class HelloWorld {

0 commit comments

Comments
 (0)