Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial state injection from files #208

Merged
merged 5 commits into from
Jan 15, 2021

Conversation

jlowellwofford
Copy link
Contributor

This PR adds the ability to pass -state <file.json> to kraken at start-up, and have initial state defined for nodes described in that file. This can include the full-state node itself, and can be used to change initial service configurations (for instance).

@jlowellwofford jlowellwofford merged commit a770469 into kraken-hpc:master Jan 15, 2021
synackd pushed a commit to synackd/kraken that referenced this pull request Jan 21, 2021
jlowellwofford pushed a commit that referenced this pull request Jan 26, 2021
* kraken.yml: Use fw-vbox branch of this fork

* Update Ansible role to use kraken's u-root source generation

* buildlayer0.sh: check for generated kraken source for u-root

* Update ansible plays to call buildlayer0.sh properly

* buildlayer0.sh: Change building uinit to using its source in cpio

* buildlayer0.sh fixes

- Check for proper number of arguments
- Fixed KRAKEN_BUILDDIR not getting set in the right place
- Add missing 'then'

* Get rid of -uroot; update kraken build dir

* Re-add binary target for kraken host

* Log buildlayer0.sh messages

* buildlayer0.sh: List contents of initramfs.cpio

* buildlayer0.sh: Re-add optional args for kraken_{src,build}_dir

* buildlayer0.sh: u-root: 2>&1

* Use GOPATH for building kraken and u-root

* Ansible: Get u-root in kraken-build-img play

* Ansible: Use vendoring in kraken for u-root; get rid of setting GOPATH

* Ansible: Revert 'go get' comment in kraken-build task

* Ansible: kraken-build-img: Include base image (-b)

* buildlayer0.sh: Include all u-root core cmds

* uinit: /bin/kraken -> /bbin/kraken

* Revert kraken.yml: Use master branch for vbox example

* Don't log output of buildlayer0.sh when running Ansible play

* Differentiate u-root and non-u-root vbox examples

- examples/{vbox/, vbox_uroot/} dirs
- config/{vbox.yaml, vbox_uroot.yaml}
- utils/layer0/{uinit_main/, uinit_uroot/} dirs, each including a uinit/ dir
- uti;s/layer0/{buildlayer0.sh, buildlayer0_uroot.sh}

* vbox-uroot: Get rid of trailing spaces

* buildlayer0_uroot.sh passes shellcheck

* vbox-uroot: Update README.md adding u-root source generation as a step

* buildlayer0_uroot.sh: Delete trailing spaces

* buildlayer0_uroot.sh: Update with merged changes

* vbox-uroot: Update with changes to vbox

* Delete uinit_uroot

The external uinit is used in the regular vbox example, so that is
what this will use.

* layer0: Don't use a base cpio

* layer0: exp --> github.com/u-root/u-root/cmds/exp/*

* layer0: Instead of -base, use -files

* layer0: Put extra files in cpio root

* uinit: /bin/kraken --> /bbin/kraken

* layer0: Go back to using -base from using -files

* roles/ --> ansible/

* Incorporate changes from PR 201

* layer0: Build kraken into u-root using gobusybox

* Do not `go mod vendor` kraken

* layer0: Build all into bb before u-root to avoid overwriting

* layer0: Include GOPATH in BB_COMMANDS

* layer0: Fix symlink not using basename for bb

* layer0: Comment out inclusion of modscan

* layer0: Use GOPATH for EXTRA_COMMANDS

* layer0: Move GOPATH check before setting EXTRA_COMMANDS

* layer0: Mitigate u-root dependency conflict the gobusybox way

That being: https://github.com/u-root/gobusybox#common-dependency-conflicts

* layer0: Print commands and links

* layer0: ln: Use full path for link

* u-root: Remove '-build bb' flag

* u-root: Add "core" as argument

* DEBUG: layer0: Don't remove TMPDIR

* layer0: Fix link destination

* u-root: Add init/sh defaults and remove "core" from cmdline

* layer0: Get rid of links and commands verbosity

* layer0: Re-include modscan

* layer0: Delete vendor/ in modscan cmd

* layer0: Tidy modules after deleting vendor/ in modscan

* layer0: Modify modscan's go.mod to use local u-root

* layer0: Use GOPATH when makebb'ing EXTRA_COMMANDS

* layer0: Delete TMPDIR when done

* layer0: Pass shellcheck

* layer0: Use `go mod edit -replace` instead of sed

* makebb: Don't redirect stderr to stdout

* Incorporate changes from #204, #208

* Incorporate changes from #212

* Vagrantfile: Up kraken VM memory from 512MiB to 2.5GiB

makebb uses too much memory and gets OOM killed by the kernel
at the smaller value. This warrants further investigation.

* README.md: Fix typo

* release-the-kraken.sh: Add missing "=" in beginning prompt
jlowellwofford pushed a commit to jlowellwofford/kraken that referenced this pull request Jan 26, 2021
* kraken.yml: Use fw-vbox branch of this fork

* Update Ansible role to use kraken's u-root source generation

* buildlayer0.sh: check for generated kraken source for u-root

* Update ansible plays to call buildlayer0.sh properly

* buildlayer0.sh: Change building uinit to using its source in cpio

* buildlayer0.sh fixes

- Check for proper number of arguments
- Fixed KRAKEN_BUILDDIR not getting set in the right place
- Add missing 'then'

* Get rid of -uroot; update kraken build dir

* Re-add binary target for kraken host

* Log buildlayer0.sh messages

* buildlayer0.sh: List contents of initramfs.cpio

* buildlayer0.sh: Re-add optional args for kraken_{src,build}_dir

* buildlayer0.sh: u-root: 2>&1

* Use GOPATH for building kraken and u-root

* Ansible: Get u-root in kraken-build-img play

* Ansible: Use vendoring in kraken for u-root; get rid of setting GOPATH

* Ansible: Revert 'go get' comment in kraken-build task

* Ansible: kraken-build-img: Include base image (-b)

* buildlayer0.sh: Include all u-root core cmds

* uinit: /bin/kraken -> /bbin/kraken

* Revert kraken.yml: Use master branch for vbox example

* Don't log output of buildlayer0.sh when running Ansible play

* Differentiate u-root and non-u-root vbox examples

- examples/{vbox/, vbox_uroot/} dirs
- config/{vbox.yaml, vbox_uroot.yaml}
- utils/layer0/{uinit_main/, uinit_uroot/} dirs, each including a uinit/ dir
- uti;s/layer0/{buildlayer0.sh, buildlayer0_uroot.sh}

* vbox-uroot: Get rid of trailing spaces

* buildlayer0_uroot.sh passes shellcheck

* vbox-uroot: Update README.md adding u-root source generation as a step

* buildlayer0_uroot.sh: Delete trailing spaces

* buildlayer0_uroot.sh: Update with merged changes

* vbox-uroot: Update with changes to vbox

* Delete uinit_uroot

The external uinit is used in the regular vbox example, so that is
what this will use.

* layer0: Don't use a base cpio

* layer0: exp --> github.com/u-root/u-root/cmds/exp/*

* layer0: Instead of -base, use -files

* layer0: Put extra files in cpio root

* uinit: /bin/kraken --> /bbin/kraken

* layer0: Go back to using -base from using -files

* roles/ --> ansible/

* Incorporate changes from PR 201

* layer0: Build kraken into u-root using gobusybox

* Do not `go mod vendor` kraken

* layer0: Build all into bb before u-root to avoid overwriting

* layer0: Include GOPATH in BB_COMMANDS

* layer0: Fix symlink not using basename for bb

* layer0: Comment out inclusion of modscan

* layer0: Use GOPATH for EXTRA_COMMANDS

* layer0: Move GOPATH check before setting EXTRA_COMMANDS

* layer0: Mitigate u-root dependency conflict the gobusybox way

That being: https://github.com/u-root/gobusybox#common-dependency-conflicts

* layer0: Print commands and links

* layer0: ln: Use full path for link

* u-root: Remove '-build bb' flag

* u-root: Add "core" as argument

* DEBUG: layer0: Don't remove TMPDIR

* layer0: Fix link destination

* u-root: Add init/sh defaults and remove "core" from cmdline

* layer0: Get rid of links and commands verbosity

* layer0: Re-include modscan

* layer0: Delete vendor/ in modscan cmd

* layer0: Tidy modules after deleting vendor/ in modscan

* layer0: Modify modscan's go.mod to use local u-root

* layer0: Use GOPATH when makebb'ing EXTRA_COMMANDS

* layer0: Delete TMPDIR when done

* layer0: Pass shellcheck

* layer0: Use `go mod edit -replace` instead of sed

* makebb: Don't redirect stderr to stdout

* Incorporate changes from kraken-hpc#204, kraken-hpc#208

* Incorporate changes from kraken-hpc#212

* Vagrantfile: Up kraken VM memory from 512MiB to 2.5GiB

makebb uses too much memory and gets OOM killed by the kernel
at the smaller value. This warrants further investigation.

* README.md: Fix typo

* release-the-kraken.sh: Add missing "=" in beginning prompt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant