MCPcopy Index your code
hub / github.com/cosmonic-labs/awesome-cosmonic

github.com/cosmonic-labs/awesome-cosmonic @xkcdgenerator-v0.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release xkcdgenerator-v0.2.0 ↗ · + Follow
165 symbols 239 edges 35 files 23 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Awesome Cosmonic

Awesome projects and source code for the Things To Build section on Cosmonic.

Deployment Link Topology
Hello World on Cosmonic Deploy on Cosmonic This example will deploy Hello World actor and HTTP Server Provider all on Cosmonic.
Hello World on Stargate Deploy on Cosmonic This example will deploy Hello World on a remote stargate node, and the HTTP Server Provider on Cosmonic. In order for this manifest to work you will need at least one stargate host deployed.
XKCD Generator on Cosmonic Deploy on Cosmonic This example will deploy the XKCD actor, HTTP Client Provider, and HTTP Server Provider all on Cosmonic.
XKCD Generator on Stargate Deploy on Cosmonic This example will deploy the XKCD actor & HTTP Client Provider on a remote stargate node, and the HTTP Server Provider on Cosmonic. In order for this manifest to work you will need at least one stargate host deployed.

How does it work?

One of the powerful things about Cosmonic is that your basic application architecture can be deployed to dramatically different application topologies all without changing or modifying your architecture. In the simple examples below we use Open Application Manifest WADM Manifests to automatically deploy applications to Cosmonic.

Some manifests require multiple Cosmonic hosts connected to your Constellation. Please follow the Cosmonic Getting Started Guide to deploy a host or simply:

bash -c "$(curl -fsSL https://cosmonic.sh/install.sh)"

Host Labels

Just like Kubernetes, Cosmonic can leverage labels as a mechanism for defining and configuring application topology and deployments. There are a handful of labels that are automatically defined by default for you depending on where the host is executing:

Label Hosts Definition
hostcore.arch=aarch64 ALL CPU Architecture
hostcore.os=linux ALL Host OS
hostcore.osfamily=unix ALL Host OS Family
cosmonic_managed=true Cosmonic Hosts managed by Cosmonic
stargate=true Remote Only A label automatically applied to hosts remotely attached to a Constellation

You can define your own labels and leverage them to manage your application. You can schedule an application to run on specific nodes and on specific node types. Component providers for things like databases can be scheduled to run near their provider or you can achieve higher reliability, availability, or performance simply by updating your application manifest. Constellations are self-forming, self-healing, and allow for the automatic discovery of capabilities.

Application Version Control

Using the above manifests you can deploy multiple versions of your application and easily switch between different deployment topologies. Many of the applications have the same name, such as xkcd and different versions. On Cosmonic, find the controls under Applications --> App --> Versions:

Cosmonic Applications Version Control Screen Shot

If you inspect two different versions of an application manifest you can see how the different tags change the application topology. In the above example for the xkcd Application you can see two different versions: v1-cosmonic and v1-stargate. As you can see below, the two key differences are the version: tag and then the tags under a components requirements:. You can see we direct WADM to deploy the components to the stargate hosts using the stargate: 'true' tag; it is commented out but I could further direct this component by using a tag such as hostcore.os: macos.

Cosmonic Applications Version Control Screen Shot

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 61
Function 58
Class 32
Interface 14

Languages

Rust90%
TypeScript10%

Modules by API surface

multi-channel-chat/natschannel/src/chatlog.rs18 symbols
multi-channel-chat/httpchannel/src/chatlog.rs18 symbols
multi-channel-chat/chatlog/src/chatlog.rs18 symbols
multi-channel-chat/apigateway/src/chatlog.rs18 symbols
multi-channel-chat/natschannel/src/outbound.rs12 symbols
multi-channel-chat/httpchannel/src/outbound.rs12 symbols
multi-channel-chat/apigateway/src/outbound.rs12 symbols
multi-channel-chat/httpchannel/src/lib.rs9 symbols
multi-channel-chat/natschannel/src/lib.rs7 symbols
kvcounter/rust/ui/src/services/ApiService.ts6 symbols
xkcdgenerator/src/lib.rs5 symbols
kvcounter/rust/ui/src/components/App.tsx4 symbols

For agents

$ claude mcp add awesome-cosmonic \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page