jx/README.md
Matthew Rich 71b54c1660
Some checks failed
Lint / golangci-lint (push) Successful in 9m58s
Declarative Tests / test (push) Failing after 5s
Declarative Tests / build-fedora (push) Successful in 2m40s
Declarative Tests / build-ubuntu-focal (push) Successful in 1m14s
add deb packagetype source
2024-07-02 09:30:21 -07:00

2.4 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

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

Import Resource

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

Import Doc

Read a resource document from an http endpoint.

jx import http://localhost/resources

Diff resource documents

Diff Resources

Examples

Resources: