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

Linode support #198

Closed
pikajude opened this issue Jun 14, 2014 · 21 comments
Closed

Linode support #198

pikajude opened this issue Jun 14, 2014 · 21 comments

Comments

@pikajude
Copy link

There is a linode python library: https://github.com/tjfontaine/linode-python

@rushmorem
Copy link

I use Linode and have recently started using nixops so I will be working on this if nobody is already doing so.

@artursoler
Copy link

@rushmorem Any progress on this? I'm also interested. Thanks!

@rushmorem
Copy link

@artursoler I haven't had time to start working on it yet but it's still on my to do list. I hope to work on this sometime this month.

@rushmorem
Copy link

I have now started working on this. The scripts to bootstrap a NixOS box will be available at https://github.com/WebEnchanter/nixos-bootstrapper. These are designed to work, not only on Linode but any cloud provider who provides a Debian (or debian based distro like Ubuntu) which should be pretty much any host out there.

@calvinchengx
Copy link

+1

Looking forward to this!

@dfoxfranke
Copy link

Is anybody still actively working on this? nixos-bootstrapper looks like a good start but obviously it's not the whole solution. Somebody needs to implement the appropriate MachineDefinition subclass.

@dfoxfranke
Copy link

I think there's a better way than StackScripts to get NixOS bootstrapped onto a Linode. A StackScript needs to run on top of an official Linode image, and after the script has executed the partition is still around wasting space. A better approach is to run the bootstrap script from a rescue image. Unfortunately, Linode rescue systems are only accessible via Lish, and Lish requires a terminal, but automation can use expect (or similar) to cope with this.

@rushmorem
Copy link

@dfoxfranke I'm still actively working on this but right now my hands are full with other commitments. nixos-bootstrapper is but a building block. As it is right now, you can run it from the rescue console or you can use a StackScript. I wanted to give people options to do what they like best. Even if you use a StackScript you can install NixOS into it's own partition and delete the distro supplied by Linode afterwards thereby getting your space back.

I actually use expect myself to automate my provisioning so it's on the roadmap.

@rbvermaa
Copy link
Member

You'd only need to use terminal to set root password and enable ssh daemon right?

@rushmorem
Copy link

@rbvermaa I'm not sure I follow. Nixops still needs a NixOS base, right?

@dfoxfranke
Copy link

@rbvermaa Correct.

@rushmorem It does, but once ssh is spun up you can do the remaining bootstrapping via the usual run_command/upload_file/download_file interface rather than using expect to emulate keystrokes.

@dfoxfranke
Copy link

@rushmorem Have you started working on the NixOps codebase, and if so do you have a fork somewhere? This looks like a tempting [couple of] weekend's hack but I want to avoid duplicating effort.

@rushmorem
Copy link

@dfoxfranke I hadn't started working on the NixOps codebase yet, so knock yourself out ;)

@dfoxfranke
Copy link

I've begun work on this at https://github.com/dfoxfranke/nixops/tree/linode. The first committed change implements support for managing StackScripts. This is completely useless, but made a nice exercise for learning my way around the NixOps codebase and the Linode API.

@lihop
Copy link
Member

lihop commented Jul 6, 2015

@dfoxfranke Nice work! I'm really looking forward to linode support! 😃

@teburd
Copy link

teburd commented Sep 30, 2015

I would love to use nixops and nix on linode!

@GlennS
Copy link
Contributor

GlennS commented Jul 28, 2017

I've been taking a look at this, but have run into a couple of problems depending on which way I approach it.

If I just install a Debian image and try to use nixos-infect (slightly modified to account for the different network devices) to overwrite it, then I bump into this problem with blkid #711

If I create a Linode and boot it into rescue mode, then curl doesn't work https://forum.linode.com/viewtopic.php?f=7&t=15039

@domenkozar
Copy link
Member

domenkozar commented Aug 3, 2017

https://twitter.com/linode/status/893094141198049281

GlennS added a commit to cse-bristol/nixops that referenced this issue Aug 23, 2017
GlennS added a commit to cse-bristol/nixops that referenced this issue Aug 23, 2017
GlennS added a commit to cse-bristol/nixops that referenced this issue Aug 23, 2017
GlennS added a commit to cse-bristol/nixops that referenced this issue Aug 23, 2017
GlennS added a commit to cse-bristol/nixops that referenced this issue Aug 24, 2017
GlennS added a commit to cse-bristol/nixops that referenced this issue Jan 12, 2018
GlennS added a commit to cse-bristol/nixops that referenced this issue Jan 16, 2018
@danielstaleiny
Copy link

any progress on this ???

@GlennS
Copy link
Contributor

GlennS commented Nov 23, 2019

Hi daniel,

I'm really sorry, but I haven't done any more work on this. I no longer use NixOps or Linode at work.

Someone has commented on my pull request that they are able to use it and it works for them.

I believe it's just a matter of sorting out the testing to get it over the line.

@grahamc
Copy link
Member

grahamc commented Apr 20, 2020

NixOps supports backends as plugins, so closing this. A plugin could be made :)

@grahamc grahamc closed this as completed Apr 20, 2020
kristoff3r pushed a commit to Skybox-Technologies/nixops that referenced this issue Oct 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.