32 Commits

Author SHA1 Message Date
4d1aa7117c
Implement locking on cdata 2022-08-15 02:32:27 -05:00
ee6abfd1bb
Make wasRunning a bool 2022-08-15 01:06:05 -05:00
50cb8543f7
WIP - broken compile 2022-08-13 16:53:57 -05:00
54b9bae673
Fix container.Reorder 2022-08-13 02:32:31 -05:00
74bbc9dad8
Implement rudimentary dependency model with start_order
Any container definitions in ccl.toml can be given a `start_order` tag
(integer). It is recommended to not put a start_order unless a container
depends on another one (e.g. synapse needs postgres), in which case all
dependents and dependees should be given a `start_order`, with dependees
having a lower number than their dependents. It is guaranteed that the
dependees will be started first, although the container startup
procedure is outside of our control. Containers without a `start_order`
will have their operations applied asynchronously, but those with
a start order are started, well, in order from lowest to highest. "Stop"
operations are applied in the reverse order.
2022-08-12 21:16:55 -05:00
38099a8f2d
Supress making netns symlinks when using host networking 2022-08-01 00:06:06 -05:00
be88a1700b
Add port mapping and netns container fields 2022-07-31 18:59:22 -05:00
07492e04b1
Add Expose{Tcp,Udp} to container def 2022-07-31 13:37:05 -05:00
0fbb9fdec1
Improve logging and output formatting with CommandSet 2022-07-30 14:26:23 -05:00
515929fd8f Fix container.Update 2022-07-29 23:06:31 -05:00
d58402ab6f Allow for connection failures for some commands 2022-07-29 22:10:12 -05:00
dd7adc00e1 Logging: show abbreviated id 2022-07-29 22:09:51 -05:00
04e108100a
Refactor command execution 2022-07-29 19:42:46 -05:00
fc40b5c4a3
Remove "STRFUNC" command type 2022-07-29 18:58:52 -05:00
ac59a50f06 Logging 2022-07-28 01:33:03 -05:00
fcbfc50be0 Juice up show command 2022-07-28 01:32:53 -05:00
f1bc92cd46 Remove unsed type 2022-07-27 22:02:16 -05:00
a501fb0308
Clean up show toml format 2022-07-27 21:49:30 -05:00
ddd391c8b0
Mask disabled category from action by default 2022-07-27 21:48:47 -05:00
84c431c8d4
Pull images if necessary before creating. Add pull command. 2022-07-27 01:01:24 -05:00
c5dc8ba3ed Clean up error handling, logging, and completion 2022-07-26 15:22:38 -05:00
b758f04a50 Migrate to podman API rather than cli
Large change greatly expanding the linked footprint of this little
utility, but it is much faster and adds a couple of very nice features:

- set container sysctl settings to disable router advertisements as part
  of container definition. this means we no longer need to do this via
  `ip netns exec <container> sysctl -w ...` (followed by
  `ip netns exec ip -6 a flush...`). Major win.
- able to very quickly ascertain creation and run state of defined
  containers.
2022-07-25 10:13:36 -05:00
959ffec79b Add RUNNING column to ls output 2022-07-21 17:17:26 -05:00
a09c2a7225 Add some warings on create if things don't look right 2022-07-20 21:42:57 -05:00
0be48b6477 Tweak command output 2022-07-19 19:47:35 -05:00
c5917ff102 output formatting 2022-07-19 19:05:42 -05:00
94c29f9d6e Don't bomb out when config file not found, just warn 2022-07-19 19:05:23 -05:00
78a75616c7 Improve ipv6 flushing operations 2022-07-19 13:42:45 -05:00
df54f05250 Various fixes after testing 2022-07-19 01:38:25 -05:00
e9e4b94e6d Change default config file path 2022-07-19 01:37:47 -05:00
f74dc50392
Rest of commands; tooling including conditional command types 2022-07-18 19:47:05 -05:00
61b7fe55a0 Convert project structure to cobra; many other changes. WIP.
- Factor out various components to different packages
- Add abstract command package to allow for calling go funcs etc. at
  runtime.
2022-07-18 10:10:24 -05:00