Provision resources using a declarative YAML syntax.
Go to file
Matthew Rich 52c083a3d9
Some checks failed
Lint / golangci-lint (push) Failing after 9m44s
Declarative Tests / test (push) Failing after 14s
Declarative Tests / build-fedora (push) Failing after 2m50s
Declarative Tests / build-ubuntu-focal (push) Failing after 1m3s
add source for containers, packages
2024-07-01 00:16:55 -07:00
.gitea/workflows add build step in fedora job 2024-05-29 00:25:29 -07:00
artifacts generate coverage report 2024-03-23 13:03:42 -07:00
build fix package rpmbuild name 2024-05-26 15:57:23 -07:00
cmd/cli set default resource type to file when importing a resource 2024-05-29 00:51:18 -07:00
examples add container-image resource 2024-05-23 22:11:51 -07:00
internal add source for containers, packages 2024-07-01 00:16:55 -07:00
md-images add jx-import doc 2024-05-09 01:50:56 -07:00
tests/mocks fix lint errors 2024-05-26 00:15:50 -07:00
.gitignore Initial commit 2024-03-09 00:12:54 +00:00
cli_test.go update iptables 2024-04-25 00:45:05 -07:00
COPYRIGHT initial version 2024-03-20 12:23:31 -07:00
go.mod add container-image resource 2024-05-23 22:11:51 -07:00
go.sum debug volume config 2024-05-25 14:32:40 -07:00
LICENSE initial version 2024-03-20 11:56:28 -07:00
Makefile add go to PATH 2024-05-28 23:03:10 -07:00
README.md fix generating shasum for tar sourced files. move enc/decoders to separate pkg 2024-05-14 11:26:05 -07:00

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

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: