-
-
Notifications
You must be signed in to change notification settings - Fork 366
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
Release 2.0 old tracking issue #1242
Comments
Once NixOS/nixpkgs#104726 gets merged and back-ported, people will have to explicitly add:
for nixops to work. |
The main blockers at the moment are:
@tewfik-ghariani @grahamc (and also anyone else interested): Would you be up for a review call either this week or the next and try to push NixOps 2.0 across the finish line? There really isn't much blocking us at the moment and it's a shame that those PRs have gone unmerged for so long. |
@jonringer I don't think that would be an issue when using nixops 2.0 as that package has been upgraded in nixops-gcp : @adisbladis Thanks for summary! Is there a chance we can postpone the 'State Backends' changes a bit? Let's say move it to 2.1 release? I believe it's better to not rush it and test it properly and the nixops 2.0 contains many ground breaking changes that the community would like to take advantage of the soonest possible Regarding the "Testing" PR, I agree that scheduling a review call would be the best approach to unblock the merge and the release of 2.0 |
Given 1.7 is somewhat broken, I'd also like to see 2.0 sooner. I expect a number of people try 1.7, realize it's out of date, come to this repo to try and use 2.0, and give up. |
Yes, but all versions of nixops in nixpkgs are based on the 1.7 python2 build. I'm aware the the current dev branch of nixops uses python3, but that means that people will be required to package this outside of the repo for them not to be broken (or inconvenienced and vulnerable) EDIT: |
In light of the package being vulnerable and outdated I feel like NixOS/nixpkgs#83548 should get finished up and merged, so people wanting to try the version 2.0 can at least do so without further fuzz (the package could also be mentioned on the readme of this repo) |
There is more to do for the |
A similar thing is the case with NixOS/nixpkgs#111322. |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/tweag-nix-dev-update-7/11552/1 |
nix-community is switched to nixopsUnstable now due to this: nix-community/infra#57 |
This gets excitingly close! |
@deepfire Right? I'm really excited too! |
Some important issues around the new state handling and locking. Fixing these results in breaking changes, so must be part of this major release.
Making remote state and locking usable (non-breaking, but quite needed)
|
The generated option docs are missing. They have been for a long time. Might these be a victim of the plugin architecture and repo split? This is definitely a blocker. |
Will NixOps 2.0 support macOS? |
Project boardhttps://github.com/NixOS/nixops/projects/4 Please add (or mention here so we can add):
|
The state backends and the general workflow still needs work done and decisions need to be made on how they should work. Quoting my comment on #1264:
Dropping deployments would mean people would have to split their deployments into separate networks, but I think it would reduce complexity and confusion immensely. |
I tried nixos-generators + terranix combo, looked great, so complicated (created/commented some issues on terranix to improve). I could be interesting if nixops to abandon to write is own Python provision layer and just go with Terraform plugins (run them). So NixOps would concentrate doing nix magic of wiring things (I wire generate image as variable into terraform and deploy new VM after change of nixos config - sure I would optimize later just use Cachix Deploy or SSH to switch config only, but that is later - may be I will mount config via terraform into VM :) ). Also would be greate if NixOps abstracts away pull vs push deployment somehow. And use (like home manager, nixos-generator, nixos itself full end to end module system (if not yet). As of now I see it only partially so. Oh, we used NixOps from master for a while. So it harder to handle then combo above as i feel. UPDATE: just made end to end example fully in nix, from nixos custom amazon images, to domain name system to vm insances and then nixos-rebuild nixos updates of nixified server nodes releases ggxchain/ggxnode#45 . from pain points which are different from nixops, these so can be fixed. how to connect output of terraform to nix input. so that commands which run nixos-rebuild know what to call (actually generating nixos configuration using terraform output). part of issues can be solved running nix as hooks under terraform nix -> terraform -> nix https://developer.hashicorp.com/terraform/language/resources/provisioners/syntax another missing peace is reading terraform lock file and getting all plugins mounted (plugins can be mounted via https://github.com/nix-community/nixpkgs-terraform-providers-bin, but need reader). and sure what is lacking, evaluating nix code druing terraform build. HCL is like 2 languages, those that evaluates into JSON spec(that what nix works well), and another one which runs on resource/data attributes to produce attributes to be used for other resources. when terraform binary starts, it has no all data, so cannot evaluate on start. so some plugs of terraform for loops and maps are used as strings. so in theory can be solved by having converter of nix to hcl functions during derivation. > resources.dns_zone is created before domain name
resources.domain.nameservers = [for n in resources.dns_zone.ns : name => n )] in terranix resources.domain.nameservers = "\${[for n in resources.dns_zone.ns : name => n )]"; so this is not type checked and is injection of foreign language. does basically, can nix have https://developer.hashicorp.com/terraform/language/expressions/references#values-not-yet-known unkown values system like? |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/unknown-values-propagation-in-nix-like-in-hcl/26743/1 |
move this list to a Projecthttps://github.com/NixOS/nixops/projects/4explore terraform integration@adisbladis looked at this and thinks it can/should be a plugin (https://github.com/adisbladis/nixops-terraform).features to delete or move to plugins:
The text was updated successfully, but these errors were encountered: