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

feat(config): Load and configure components without editing configs directly #47

Merged
merged 18 commits into from
Oct 16, 2023

Conversation

viega
Copy link
Contributor

@viega viega commented Oct 9, 2023

Initial (untested) integration of new Con4m component system.

Issue

Closes #31

Description

Implements the initial component system that allows people to try out examples simply via chalk load.

See documentation here: #30

Testing

Let's build out as many real configurations as practical that we'd actually like to provide by default, and then see how they run!

viega and others added 3 commits October 9, 2023 19:10
Initial (untested) integration of new Con4m component system.
…d tag (#45)

* fix(docker): fixing flaky heartbeat test

The root cause was that probe build to get current build platform,
docker tag name was random which sometimes resulted in invalid tag
names:

```
ERROR: invalid tag ".mpiljfkim.ahsfgpf3f4g": invalid reference format
```

docker tag names need to start/end with alphanumeric character so to
solve it adding "chalk_" and `_probe" prefix/suffix. This ensures the
build tag is correct and docker can build it.

* test(docker): allowing log_level arg to docker_build

* test(heartbeat): heartbeat test with trace log level

this test case is flaky so adding trace log level hopefully will help
to diagnose the issue further

in addition as in case cases trace log will include reports internally
adjusting report parsing logic to ignore any log lines which should
only find valid json reports in the output

* doc(release): adding release note for wrap entrypoint fix

also fixing spelling typos in rest of the doc

* refactor: using common chooseNewTag everywhere for docker build
Basic integration of the Con4m component system, including caching modules and parameters in the self-chalk mark.
There are a number of enhancements that should happen, but I don't think they need to happen right away (I may come back to them):

1) A nicer GUI to this (which is probably my #1 priority here)
2) A non-interactive way of setting parameters when doing a chalk load. I was thinking maybe a flag plus reading json over stdin, dunno.
3) Documentation in-command; I also need to update the design doc to reflect the changes I made.
4) I skipped a lot of the work on version checking; it didn't feel quite right, or all that urgent.
5) Definitely should exercise it all a bit more. It's a huge addition in many respects, and there are probably plenty of edge cases, etc. that aren't working.
@viega
Copy link
Contributor Author

viega commented Oct 10, 2023

This is probably ready (and big enough) for others to start tire kicking. Once I update the design doc, I'll update the ticket description and move this out of draft.

@viega viega changed the title WIP: feat(config): Integration of con4m component system Load and configure components without editing configs directly Oct 10, 2023
@viega viega marked this pull request as ready for review October 10, 2023 21:58
@viega
Copy link
Contributor Author

viega commented Oct 10, 2023

Seems like virtually all tests fail here. That's surprising; I was expecting things around chalk load behavior might fail, but I wouldn't have expected anything else to fail. I'll be looking at that tomorrow.

@viega
Copy link
Contributor Author

viega commented Oct 10, 2023

My initial guess is that, since most of the tests are loading a config, there's some unintended consequence that I wasn't thinking about.

Come to think about it, the tests definitely need to start passing --replace to avoid being treated like component, so that will be my first order of business.

src/commands/cmd_load.nim Outdated Show resolved Hide resolved
@viega viega changed the title Load and configure components without editing configs directly feat(config): Load and configure components without editing configs directly Oct 16, 2023
@viega viega merged commit 99a8729 into main Oct 16, 2023
2 checks passed
@viega viega deleted the jtv/components branch October 16, 2023 19:15
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.

Component system for config files
3 participants