github.com/Racer159/jackal@v0.32.7-0.20240401174413-0bd2339e4f2e/docs/3-create-a-jackal-package/index.md (about)

     1  # Create a Jackal Package
     2  
     3  Jackal enables you to consolidate portions of the internet into a single package that can be conveniently installed at a later time. A Jackal Package is a single tarball file that includes all of the resources and instructions required for efficiently managing a system or capability, even when entirely disconnected from the internet. In this context, a disconnected system refers to a system that either consistently operates in an offline mode or occasionally disconnects from the network.
     4  
     5  Once defined, a Jackal Package contains comprehensive instructions on assembling various software components that are to be [deployed onto the targeted system](../4-deploy-a-jackal-package/index.md). The instructions are fully "declarative", meaning that all components are represented by code and automated, eliminating the need for manual intervention.
     6  
     7  ## Additional Resources
     8  
     9  To learn more about creating a Jackal package, you can check out the following resources:
    10  
    11  - [Getting Started with Jackal](../1-getting-started/index.md): A step-by-step guide to installing Jackal and a description of the problems it seeks to solve.
    12  - [Jackal CLI Documentation](../2-the-jackal-cli/index.md): A comprehensive guide to using the Jackal command-line interface.
    13  - [Understanding Jackal Packages](./1-jackal-packages.md): A breakdown of the kinds of Jackal packages, their uses and how they work.
    14  - [Understanding Jackal Components](./2-jackal-components.md): A breakdown of the primary structure that makes up a Jackal Package.
    15  - [Jackal Schema Documentation](./4-jackal-schema.md): Documentation that covers the configuration available in a Jackal Package definition.
    16  - [The Package Create Lifecycle](./5-package-create-lifecycle.md): An overview of the lifecycle of `jackal package create`.
    17  - [Creating a Jackal Package Tutorial](../5-jackal-tutorials/0-creating-a-jackal-package.md): A tutorial covering how to take an application and create a package for it.
    18  
    19  ## Typical Creation Workflow
    20  
    21  The general flow of a Jackal package deployment on an existing initialized cluster is as follows:
    22  
    23  ```shell
    24  # Before creating your package you can lint your jackal.yaml
    25  $ jackal dev lint <directory>
    26  
    27  # To create a package run the following:
    28  $ jackal package create <directory>
    29  # - Enter any package templates that have not yet been defined
    30  # - Type "y" to confirm package creation or "N" to cancel
    31  
    32  # Once the creation finishes you can interact with the built package
    33  $ jackal inspect <package-name>.tar.zst
    34  # - You should see the specified package's jackal.yaml
    35  # - You can also see the sbom information with `jackal inspect <package-name>.tar.zst --sbom`
    36  ```