Provision resources using a declarative YAML syntax.
Go to file
Matthew Rich c21571c913
Some checks failed
Lint / golangci-lint (push) Successful in 9m44s
Declarative Tests / test (push) Successful in 22s
Declarative Tests / build (push) Successful in 1m32s
Declarative Tests / build-focal (push) Failing after 29s
test dist builds
2024-05-28 18:15:49 -07:00
.gitea/workflows test dist builds 2024-05-28 18:15:49 -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 fix import 2024-05-26 02:38:35 -07:00
examples add container-image resource 2024-05-23 22:11:51 -07:00
internal fix some error handling 2024-05-26 02:30:31 -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 fix typo in spec filename 2024-05-26 19:49:36 -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: