-
Notifications
You must be signed in to change notification settings - Fork 12
Update Redis app directory #20
Update Redis app directory #20
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just a few comments.
- Do we only provide basic config files? (i.e. not the
pie-paging
etc. ones) - Would it make sense to keep the config naming convention kraft uses (
config.appname-arch...
)?
README.md
Outdated
Note that, if you want to build for a different architecture then the previous build, currently you are required to remove the generated files. | ||
For that, run the command: | ||
|
||
```console | ||
rm -fr .config* .unikraft/ | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is that required when using kraft
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I get errors if I don't do that.
I will add all of them from the
My thought was to simplify the names as much as possible. But if more people think we should use |
80de1dc
to
8a03a45
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will add all of them from the maintainer-tools repository.
Perfect
My thought was to simplify the names as much as possible. But if more people think we should use config.appname-..., then I will update accordingly.
Makes sense, I don't have a strong opinion here, just if maybe the configs can be used by kraft somehow, but that should not be the case since kraft should only care about the kraft.yaml
file.
It looks all good on my side besides the one small comment.
`.unikraft/` was previously used as the directory to clone library repositories (including the `unikraft` core repository). Being a hidden, it is not immediately available to the developer. Use `workdir/` instead. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
For consistency on placing external and generated files, place the build directory in `workdir/build/` instead of `build/`. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
The build system may bump into issues when using `make` right out the configuration. Use `make prepare` before `make` for a "safe" build. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Move configuration files to `defconfigs/` directory to have them all in one place. Simplify their names and remove the preceding dot, to make them visible to the developer / user. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Move run scripts to `run/` directory. This cleans up the application root directory. Remove the `run-` prefix from their name; this combines nicely with the `run/` directory that will prefix the run comman Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Remove instructions to create and enter directories. `git clone` commands create the necessary parent directories. This simplifies the instructions in `README.md`. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
`fs1` is used by KraftKit as the root device. Update `kraft.yaml` accordingly, to use `fs1` instead of `fs0`. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Update `redis.conf` configuration file to bind the Redis server to all addresses (`0.0.0.0`), instead of just `172.44.0.2`. This is useful when using networking setups where the address is not beforehand and cannot be filled in the configuration file. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Add scripts in the `run/` directory that use `kraft run` to start Unikraft Redis instances. Add scripts for targets in `kraft.yaml`. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
`fs0` is a leftover term. Use `rootfs` as the name of the directory storing the root filesystem. It corresponds better to its purpose. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Use `fs1` instead of `fs0` for basic builds for consistency with KraftKit, that defaults to `fs1` as the first mount tag. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Update all configurations in `kraft.yaml` to feature proper configuration options. Use `arm64` instead of `aarch64` in target names. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Reduce default configuration files (in the `deconfigs/` directory) to their minimal configurations. Also add default configuration file for Firecracker on AArch64. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Add `scripts/` directory that provides support for generating build and run scripts. Generator script is stored externally, in the `app-testing` repository. The `run.yaml` file defines the possible running configurations. This deprecates the `run/` directory, so remove it. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Update `.gitignore` to ignore generated `rootfs.cpio` file. Previously, the `fs0.cpio` file was generated. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Update instructions for building. Add instruction on using build and run scripts. Add detailed commands on building and running. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
8a03a45
to
d748d7d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Either add the setup.sh
script (and mention it in the TLDR section) or add the cloning steps back into the TLDR
section.
Introduce `scripts/setup.sh` script to clone repositories in the `workdir/` directory. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
ca20c73
to
99da53c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All good.
Reviewed-by: Stefan Jumarea stefanjumarea02@gmail.com
Approved-by: Stefan Jumarea stefanjumarea02@gmail.com
`.unikraft/` was previously used as the directory to clone library repositories (including the `unikraft` core repository). Being a hidden, it is not immediately available to the developer. Use `workdir/` instead. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
For consistency on placing external and generated files, place the build directory in `workdir/build/` instead of `build/`. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
The build system may bump into issues when using `make` right out the configuration. Use `make prepare` before `make` for a "safe" build. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Move configuration files to `defconfigs/` directory to have them all in one place. Simplify their names and remove the preceding dot, to make them visible to the developer / user. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Move run scripts to `run/` directory. This cleans up the application root directory. Remove the `run-` prefix from their name; this combines nicely with the `run/` directory that will prefix the run comman Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> eviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Remove instructions to create and enter directories. `git clone` commands create the necessary parent directories. This simplifies the instructions in `README.md`. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
`fs1` is used by KraftKit as the root device. Update `kraft.yaml` accordingly, to use `fs1` instead of `fs0`. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Update `redis.conf` configuration file to bind the Redis server to all addresses (`0.0.0.0`), instead of just `172.44.0.2`. This is useful when using networking setups where the address is not beforehand and cannot be filled in the configuration file. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Add scripts in the `run/` directory that use `kraft run` to start Unikraft Redis instances. Add scripts for targets in `kraft.yaml`. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
`fs0` is a leftover term. Use `rootfs` as the name of the directory storing the root filesystem. It corresponds better to its purpose. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Use `fs1` instead of `fs0` for basic builds for consistency with KraftKit, that defaults to `fs1` as the first mount tag. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Update all configurations in `kraft.yaml` to feature proper configuration options. Use `arm64` instead of `aarch64` in target names. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Reduce default configuration files (in the `deconfigs/` directory) to their minimal configurations. Also add default configuration file for Firecracker on AArch64. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Add `scripts/` directory that provides support for generating build and run scripts. Generator script is stored externally, in the `app-testing` repository. The `run.yaml` file defines the possible running configurations. This deprecates the `run/` directory, so remove it. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Update `.gitignore` to ignore generated `rootfs.cpio` file. Previously, the `fs0.cpio` file was generated. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Update instructions for building. Add instruction on using build and run scripts. Add detailed commands on building and running. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Introduce `scripts/setup.sh` script to clone repositories in the `workdir/` directory. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io> Reviewed-by: Stefan Jumarea <stefanjumarea02@gmail.com> Approved-by: Stefan Jumarea <stefanjumarea02@gmail.com> GitHub-Closes: #20
Rework the contents of the Redis app directory to make it more suitable for users (prime tool is KraftKit) and for developers (prime tools are Make, Kconfig, QEMU / Firecracker).
Move and output files in dedicated directories to keep the root directory clean:
kraft.yaml
,README.md
,Makefile
,Makefile.uk
are the only files in the dedicated directories.Update
README.md
according to the new structure.Improve support for KraftKit: documentation, run scriipts, testing.