87 Commits

Author SHA1 Message Date
elliptic
5a8f8db0ef readability fix 2024-03-31 04:04:56 -04:00
elliptic
44f2abf12b fix copy_file_range usage. This function should be call in a loop 2024-03-31 04:04:33 -04:00
elliptic
e0d880fd22 allow creating network without alias/bridge interface and subnet 2024-03-23 13:33:50 -04:00
elliptic
26c2873652 run through all the unwind steps even if one unwind failed 2024-03-17 05:38:36 -04:00
elliptic
be76b594b3 add --insecure flag so people can push to their http insecure, localhost registry 2024-02-26 03:44:26 -05:00
elliptic
701ca34903 cargo fmt 2024-02-25 23:07:37 -05:00
elliptic
8080395fd2 properly propagate process exit code 2024-02-22 02:15:43 -05:00
elliptic
224b564595 bug fixes 2024-02-16 04:32:20 -05:00
elliptic
fbbe26aad1 expose network configuration as envs to containers 2024-02-13 02:43:11 -05:00
elliptic
e535d01de9 handle and log errors when importing tar image 2024-02-11 19:53:50 -05:00
elliptic
4b860f6126 tun/tap device support 2024-02-04 20:25:51 -05:00
(null)
accb425018 allow selecting main ip by network name or static ip address 2023-12-28 03:15:15 -05:00
elliptickitten
0524516bda upgrade nix -> 0.27.1, address kqueue EINTR issue 2023-10-02 20:04:11 -04:00
(null)
840bb7aabf Add a workaround when re-jailing ZFS datasets; remove accidental closefrom(); 2023-09-22 18:08:46 -04:00
(null)
fa707922c8 cargo fmt fixes 2023-09-21 14:36:00 -04:00
(null)
8261d7676b Add option to make using netgroup easier 2023-09-21 12:54:19 -04:00
(null)
192798d20d make usdt support optional 2023-09-14 21:00:36 -04:00
(null)
abe9f65dc2 Better error logging when exec failed 2023-09-14 12:01:27 -04:00
(null)
97b34b9724 write default inventory if existing inventory file does not exist 2023-09-14 10:28:28 -04:00
(null)
caa81b4260 cargo fmt fix 2023-09-13 15:02:54 -04:00
(null)
fd1cce20d6 Merge develop branch, see detail commit
This commit containers the following changes:
- Fix fd forwarding in exec
- Fix exists_exec algorithm for path to executable contains symlinks parent
- Fix mount destination when using as alias
- Add Device directive for changing devfs rules
2023-09-13 11:41:40 -04:00
(null)
853a1ed33e oops, fix devfs rule not caching 2023-09-09 20:27:05 -04:00
(null)
d3b493b961 refactor 2023-09-08 04:42:06 -04:00
(null)
543b7133cf check for kern.elf64.fallback_brand sysctl 2023-09-07 23:00:39 -04:00
(null)
cc10ca249e fix osstring serialize/deserialize bugs 2023-09-07 04:35:46 -04:00
(null)
f830ac9bfe cargo fmt fixes 2023-09-06 02:40:11 -04:00
(null)
c87093593f check evidence during mount 2023-09-06 02:38:55 -04:00
(null)
f42318575e refactor cli arg parsing logic 2023-09-05 17:41:59 -04:00
(null)
b40562d28e add jailed dataset support 2023-09-05 08:06:58 -04:00
(null)
4955b8a821 refactor address allocation 2023-09-03 21:57:22 -04:00
(null)
c8b4d27ebd add volume support 2023-09-02 01:44:59 -04:00
(null)
ba7b8dd0da guard against name with . in jail name, make image reference serialize to string 2023-07-31 02:44:08 -04:00
(null)
957b0a54ee add some DTrace USDT probes 2023-07-31 02:07:35 -04:00
(null)
e2290d9016 fixed some race such that the client can attach on time 2023-07-30 18:12:29 -04:00
(null)
87612d8ec2 Run supervisor loop in child process; allow setting user/group on exec
- Executables are now able to run as non-root user by name or uid/gid
- Refactored the supervisor loop to make it run in child process, still
    keeping parent side of the run loop to poll in updates and eventually,
    event streams.
- The ultimate plan is to allow the supervisor loop "detach" from the main
    process, and allow a replacement process to adopt the loop. Such that
    the daemon can be restart/update without bringing all the running containers
    with it.
2023-07-30 02:31:44 -04:00
(null)
812f450ce4 refactor configuration format, now accepts yaml; network inventory goes to its own file 2023-07-27 23:24:16 -04:00
(null)
4b779520c3 fix clippy bits 2023-07-27 02:09:04 -04:00
(null)
bc1d9029b4 Add AppliedInstantiateRequest to add a effectless pre-instantiate check
Previously the checks and global resource allocation all happen in one place, this commit
move out the checks that does not require resource allocation. This allows us to warn the
user ahead of time about potentially risky container creation without restore allocated
resources.
2023-07-26 20:31:24 -04:00
(null)
280c0d261d allow setting a default value for environment variable in spec 2023-07-26 02:21:53 -04:00
(null)
81ff56435a zfs import bug fix 2023-07-26 01:21:10 -04:00
(null)
cb376b93fd fixed a jail image convertion bug, and docker, I hate you to allow empty string as working dir 2023-07-26 00:48:01 -04:00
(null)
b60c9eea7d Refactor image store to become hostname aware and digest tag aware
The old image store does not account for hostname and does not keep track
of manifests that belongs to a repo but without a tag. This is essential
as otherwise we cannot reliably implement hostname <+> name based ACL to
the images
2023-07-25 23:56:42 -04:00
(null)
f88876298c Initial work to make image format compatible with OCI spec do other container runtime can consume 2023-07-25 22:14:52 -04:00
(null)
be93b1a59b add option to force override devfs ruleset generation 2023-07-25 20:54:51 -04:00
(null)
715a387da2 Update clap to v4; allow nullfs to mount on file; image patch/import command refactor
This commit contains a few changes:
- Updated clap to version 4, which introduced quite a bit of changes
- Since we are refactoring the CLI interface, take the chance to also make
    importing and patching images easier
- Turns out we support nullfs mount files now, remove the checks to ensure
    both the source and mountpoint to be directory with checking if they
    are the same file, and only directory or file
2023-07-25 20:12:30 -04:00
(null)
8af00ae1b8 hardening control stream 2023-07-24 20:34:33 -04:00
(null)
eddc906268 Try mounting before upload to oci registry
- add a column in sqlite to store the origin of each fs layer
- on push layer, we try mount the layer from the other repo with the same name as the origin of the layer
2023-07-24 20:14:14 -04:00
(null)
ca4d77ecd2 fix purge 2023-07-24 02:09:54 -04:00
(null)
5d4e949e76 Allow configure log directory 2023-07-23 23:10:11 -04:00
Yan Ka, Chiu
794e094934 refactor lifecycle logics 2023-07-21 23:40:00 -04:00