-
Notifications
You must be signed in to change notification settings - Fork 93
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
Configurability for automated installs without kargs #124
Comments
(The idea is that it encourages a workflow where this file would be checked into an SCM, changes are audited, reviewed, etc... and installs are fully reproducible.) |
I think the kargs approach is a nice MVP for an installer, but we obviously don't want a million options, which is part of the reason we now run in the real root. i.e. people can use kargs for simple installs, but if they need something complicated they can use an ignition config to set up the environment and then call the installer. |
My personal understanding (and preference) is that we slowly move away from kargs for all cases (both simpler and more complex). The rationale is the one mentioned by @jlebon. The final goal looks like this: https://github.com/coreos/tectonic-installer/blob/track-1/platforms/metal/cl/coreos-install.yaml.tmpl. For FCOS specifically, I'd jump straight to document the "real rootfs" usage. |
+1 This is why I'm leaning towards a simpler approach which doesn't require everyone writing down systemd units and scripts that call the installer. IOW:
Anyway, to re-iterate I don't think we need to solve this right now since the "call |
This definitely needs some dedicated discussion. Can we go with what we have in #119 for now (i.e. resolve this discussion) and pick this up soon after? |
Yes, let's not block on this. |
Pending the discussion in coreos#124 let's minimize the number of kargs for now. coreos.inst.stream_base_url was identified as one that wasn't absolutely necessary. This is a followup to coreos#119 to address this discussion: coreos#119 (comment)
AIUI the proposal is roughly:
coreos-installer already has a DSL -- its command line -- and I'm hesitant to introduce a redundant one. Why not provide a way to override the coreos-installer command line invoked by the default systemd service? In the past we've used systemd environment files for this, but since the default service invokes a wrapper script, other mechanisms would also work. |
I think you're right but I think @jlebon had an emphasis on "let's not add to and eventually not support kargs".
I think I agree with you here. I'd rather keep a relatively simple karg interface like what we have and allow for people to easily do shenanigans via "Fully generic Ignition config for really complex cases". I don't anticipate |
To be clear, I'm arguing for a middle ground, where an Ignition config could write e.g. |
Sounds good to me too. |
This is related to openshift/enhancements#492, which suggests a tool to make it easier to customize installs. We want that tool to make use of simple established primitives instead of having to e.g. override the coreos-installer service unit. |
I like this one, simple and easy to understand and doesn't really create any new interfaces. EDIT: Though one thing that is annoying about this is defining the file format; e.g. if any of the arguments need to have spaces or shell metacharacters we need to declare whether those should be escaped or not. |
We now have install config files, which are YAML files with keys corresponding to We also have Closing this out. |
This came up during review of #119.
There's some interest there in expanding the kargs functionality. I'd like to make sure this is the path we want to go down, rather than rework the UX to something friendlier.
I know there's some tension here, since we kinda have to keep supporting the base kargs the legacy installer did for backwards compatibility reasons.
OTOH, now that the installer is a simple binary written in a sane language, I think it'd be pretty sweet to have e.g. a YAML file or some other input file that can be dropped in via Ignition (and/or injected into the ISO) which is read directly by coreos-installer.
Then, the legacy kargs compat path would just be translating the kargs into this YAML file. We could also support a single karg, which would be just a URL to the YAML file to fetch.
The text was updated successfully, but these errors were encountered: