github.com/Racer159/jackal@v0.32.7-0.20240401174413-0bd2339e4f2e/README.md (about)

     1  # Jackal - DevSecOps for Air Gap
     2  
     3  [![Latest Release](https://img.shields.io/github/v/release/Racer159/jackal)](https://github.com/Racer159/jackal/releases)
     4  [![Go version](https://img.shields.io/github/go-mod/go-version/Racer159/jackal?filename=go.mod)](https://go.dev/)
     5  [![Build Status](https://img.shields.io/github/actions/workflow/status/Racer159/jackal/release.yml)](https://github.com/Racer159/jackal/actions/workflows/release.yml)
     6  [![Jackal Documentation Status](https://api.netlify.com/api/v1/badges/fe846ae4-25fb-4274-9968-90782640ee9f/deploy-status)](https://app.netlify.com/sites/jackal-docs/deploys)
     7  [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/Racer159/jackal/badge)](https://api.securityscorecards.dev/projects/github.com/Racer159/jackal)
     8  
     9  <img align="right" alt="jackal logo" src=".images/jackal-logo.png"  height="256" />
    10  
    11  [![Jackal Website](https://img.shields.io/badge/web-jackal.dev-6d87c3)](https://jackal.dev/)
    12  [![Jackal Documentation](https://img.shields.io/badge/docs-docs.jackal.dev-775ba1)](https://docs.jackal.dev/)
    13  [![Jackal Slack Channel](https://img.shields.io/badge/k8s%20slack-jackal-40a3dd)](https://kubernetes.slack.com/archives/C03B6BJAUJ3)
    14  [![Community Meetups](https://img.shields.io/badge/community-meetups-22aebb)](https://github.com/Racer159/jackal/issues/2202)
    15  
    16  Jackal eliminates the [complexity of air gap software delivery](https://www.itopstimes.com/contain/air-gap-kubernetes-considerations-for-running-cloud-native-applications-without-the-cloud/) for Kubernetes clusters and cloud-native workloads using a declarative packaging strategy to support DevSecOps in offline and semi-connected environments.
    17  
    18  ## Why Use Jackal
    19  
    20  - 💸 **Free and Open-Source.** Jackal will always be free to use and maintained by the open-source community.
    21  - ⭐️ **Zero Dependencies.** As a statically compiled binary, the Jackal CLI has zero dependencies to run on any machine.
    22  - 🔓 **No Vendor Lock.** There is no proprietary software that locks you into using Jackal. If you want to remove it, you can still use your Helm charts to deploy your software manually.
    23  - 💻 **OS Agnostic.** Jackal supports numerous operating systems. A full matrix of supported OSes, architectures, and feature sets is coming soon.
    24  - 📦 **Highly Distributable.** Integrate and deploy software from multiple secure development environments, including edge, embedded systems, secure cloud, data centers, and even local environments.
    25  - 🚀 **Develop Connected, Deploy Disconnected.** Teams can build and configure individual applications or entire DevSecOps environments while connected to the internet. Once created, they can be packaged and shipped to a disconnected environment to be deployed.
    26  - 💿 **Single File Deployments.** Jackal allows you to package the parts of the internet your app needs into a single compressed file to be installed without connectivity.
    27  - ♻️ **Declarative Deployments.** Jackal packages define the precise state for your application, enabling it to be deployed the same way every time.
    28  - 🦖 **Inherit Legacy Code.** Jackal packages can wrap legacy code and projects - allowing them to be deployed to modern DevSecOps environments.
    29  
    30  ## 📦 Out of the Box Features
    31  
    32  - Automate Kubernetes deployments in disconnected environments
    33  - Automate [Software Bill of Materials (SBOM)](https://docs.jackal.dev/docs/create-a-jackal-package/package-sboms) generation
    34  - Build and [publish packages as OCI image artifacts](https://docs.jackal.dev/docs/jackal-tutorials/publish-and-deploy)
    35  - Provide a [web dashboard](https://docs.jackal.dev/docs/deploy-a-jackal-package/view-sboms) for viewing SBOM output
    36  - Create and verify package signatures with [cosign](https://github.com/sigstore/cosign)
    37  - [Publish](https://docs.jackal.dev/docs/the-jackal-cli/cli-commands/jackal_package_publish), [pull](https://docs.jackal.dev/docs/the-jackal-cli/cli-commands/jackal_package_pull), and [deploy](https://docs.jackal.dev/docs/the-jackal-cli/cli-commands/jackal_package_deploy) packages from an [OCI registry](https://opencontainers.org/)
    38  - Powerful component lifecycle [actions](https://docs.jackal.dev/docs/create-a-jackal-package/component-actions)
    39  - Deploy a new cluster while fully disconnected with [K3s](https://k3s.io/) or into any existing cluster using a [kube config](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/)
    40  - Builtin logging stack with [Loki](https://grafana.com/oss/loki/)
    41  - Built-in Git server with [Gitea](https://gitea.io/en-us/)
    42  - Built-in Docker registry
    43  - Builtin [K9s Dashboard](https://k9scli.io/) for managing a cluster from the terminal
    44  - [Mutating Webhook](adr/0005-mutating-webhook.md) to automatically update Kubernetes pod's image path and pull secrets as well as [Flux Git Repository](https://fluxcd.io/docs/components/source/gitrepositories/) URLs and secret references
    45  - Builtin [command to find images](https://docs.jackal.dev/docs/the-jackal-cli/cli-commands/jackal_dev_find-images) and resources from a Helm chart
    46  - Tunneling capability to [connect to Kubernetes resources](https://docs.jackal.dev/docs/the-jackal-cli/cli-commands/jackal_connect) without network routing, DNS, TLS or Ingress configuration required
    47  
    48  ## 🛠️ Configurable Features
    49  
    50  - Customizable [variables and package templates](https://docs.jackal.dev/examples/variables/) with defaults and user prompting
    51  - [Composable packages](https://docs.jackal.dev/docs/create-a-jackal-package/jackal-components#composing-package-components) to include multiple sub-packages/components
    52  - Component-level OS/architecture filtering
    53  
    54  ## Demo
    55  
    56  [![preview](.images/jackal-v0.21-preview.gif)](https://www.youtube.com/watch?v=WnOYlFVVKDE)
    57  
    58  _<https://www.youtube.com/watch?v=WnOYlFVVKDE>_
    59  
    60  ## ✅ Getting Started
    61  
    62  To try Jackal out for yourself, visit the ["Try It Now"](https://jackal.dev/install) section on our website.
    63  
    64  To learn more about Jackal and its use cases, visit [docs.jackal.dev](https://docs.jackal.dev/docs/jackal-overview). From the docs, you can learn more about:
    65  
    66  - [installation](https://docs.jackal.dev/docs/getting-started/#installing-jackal)
    67  - [using the CLI](https://docs.jackal.dev/docs/the-jackal-cli/),
    68  - [making packages](https://docs.jackal.dev/docs/create-a-jackal-package/jackal-packages/),
    69  - [Jackal package schema](https://docs.jackal.dev/docs/create-a-jackal-package/jackal-schema).
    70  
    71  Using Jackal in GitHub workflows? Check out the [setup-jackal](https://github.com/defenseunicorns/setup-jackal) action. Install any version of Jackal and its `init` package with zero added dependencies.
    72  
    73  ## 🫶 Our Community
    74  
    75  Join our community and developers on the [#Jackal slack](https://jackal.dev/slack) hosted on K8s slack. Our active community of developers, users, and contributors are available to answer questions, share examples, and find new ways use Jackal together!
    76  
    77  We are so grateful to our Jackal community for contributing bug fixes and collaborating on new features:
    78  
    79  <a href="https://github.com/Racer159/jackal/graphs/contributors">
    80    <img src="https://contrib.rocks/image?repo=Racer159/jackal" />
    81  </a>
    82  
    83  Made with [contrib.rocks](https://contrib.rocks).
    84  
    85  ## 💻 Contributing
    86  
    87  Want to contribute to Jackal?
    88  Check out our [Contributor Guide](https://docs.jackal.dev/docs/contribute-to-jackal/contributor-guide) to learn more about how to set up your development environment and begin contributing.
    89  We also recommend checking out our architectural diagram.
    90  
    91  To dive deeper into the tech, you can read the [Nerd Notes](https://docs.jackal.dev/docs/contribute-to-jackal/nerd-notes) in our Docs.
    92  
    93  ![Architecture Diagram](./docs/.images/architecture.drawio.svg)
    94  
    95  [Source DrawIO](docs/.images/architecture.drawio.svg)
    96  
    97  ## ⭐️ Special Thanks
    98  
    99  > Early Jackal research and prototypes were developed jointly with [United States Naval Postgraduate School](https://nps.edu/) research you can read [here](https://calhoun.nps.edu/handle/10945/68688).
   100  
   101  We would also like to thank the following awesome libraries and projects without which Jackal would not be possible!
   102  
   103  [![pterm/pterm](https://img.shields.io/badge/pterm%2Fpterm-007d9c?logo=go&logoColor=white)](https://github.com/pterm/pterm)
   104  [![mholt/archiver](https://img.shields.io/badge/mholt%2Farchiver-007d9c?logo=go&logoColor=white)](https://github.com/mholt/archiver)
   105  [![spf13/cobra](https://img.shields.io/badge/spf13%2Fcobra-007d9c?logo=go&logoColor=white)](https://github.com/spf13/cobra)
   106  [![go-git/go-git](https://img.shields.io/badge/go--git%2Fgo--git-007d9c?logo=go&logoColor=white)](https://github.com/go-git/go-git)
   107  [![sigstore/cosign](https://img.shields.io/badge/sigstore%2Fcosign-2a1e71?logo=linuxfoundation&logoColor=white)](https://github.com/sigstore/cosign)
   108  [![helm.sh/helm](https://img.shields.io/badge/helm.sh%2Fhelm-0f1689?logo=helm&logoColor=white)](https://github.com/helm/helm)
   109  [![kubernetes](https://img.shields.io/badge/kubernetes-316ce6?logo=kubernetes&logoColor=white)](https://github.com/kubernetes)