Stackapps Guide
StackApps
Critical Stack Applications- StackApps represent the premier, officially
supported mechanism for deploying a Kubernetes application into a Critical Stack
cluster. The StackApp is intended to be the main representation of
a deployment/release of an application, at a particular version, running in the
cluster. StackApps are built of kubernetes native resources and kubernetes
custom defined resources. They can be interacted with via the Critical Stack UI
or the Kubectl command line tool.
StackApps provide the user with a means of representing an entire running 
application with a single cryptographically signed artifact. This provides a
developer friendly means for an application to be moved between environments 
in a repeatable, verifiable, and auditable fashion.
Once the StackApp has been deployed all interaction with the application is 
handled via the StackApp, resource ownership insures the state of the 
application matches the state defined in the StackApp at all times. Any change
to the application is achieved by building and modifying the application in a
development environment and packaging a new revision. When this new revision 
is deployed in a QA or Production environment the underlying application is 
updated to match the state defined in the new revision. This can be accomplished
via standard Kubernetes rolling update or our stand alone Canary deployment 
StackRelease.
Packaging
StackApps are build from applications running inside a cluster. Currently the 
premier packaging mechanism is built into the Critical Stack UI; however there
is a cli on the roadmap and a StackApp can be built and signed manually
via yaml StackApp manifest and the exporting of included resource manifests
with kubectl.