2.8 KiB
jx
Purpose
These tools work with YAML descriptions of resources (E.g. files, users, containers, etc) for (de)serializing the state of the given resource. This enables more generically describing the state of a supported resource type, pipeling state transformations and enabling the use of other tools in that process.
Dependencies
- Go >= 1.21.1
Releases
v0 releases are unstable and changes may be made to interfaces and specifications.
Testing
Testing the current version involves checking out main and building.
git clone https://gitea.rosskeen.house/doublejynx/jx.git
make test
make build
Command-line
Update Resource state
jx apply decl-runner.yaml
Create the resources specified in a resource document HTTP endpoint.
jx apply http://localhost/resources
Convert a tar archive into resource definitions and apply them (extracts the contents of a tar).
jx apply https://gitea.rosskeen.house/doublejynx/jx/archive/v0.2.1.tar.gz
Read resource state
Read the state of an existing resource (URI) and generate a YAML representation of it.
jx import -resource file://COPYRIGHT
Importing resources from different sources
JX supports importing resources data from various source types, among these are filesystem directories, tar archive contents, containers, iptables chains, installed packages, etc.
Import system packages using the debian package type, and output the resource documents in JSON format.
jx import --output json:// package://?type=deb
Import the contents of a tar archive into a resource document.
jx import ./test.tgz
Import resource documents from multiple sources.
jx import repo/packages/build.jx.yaml ./gopkgs.tar.gz
Read a resource document from an http endpoint.
jx import http://localhost/resources
Diff resource documents
Examples
Resources: