All Projects → NixOS → Nixops

NixOS / Nixops

Licence: lgpl-3.0
NixOps is a tool for deploying to NixOS machines in a network or cloud.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Nixops

Nixbox
NixOS Vagrant boxes [[email protected]]
Stars: ✭ 189 (-77.45%)
Mutual labels:  nixos, nix, virtualbox, libvirt
Docker Swarm
🐳🐳🐳 This repository is part of a blog series on Docker Swarm example using VirtualBox, OVH Openstack, Azure and Amazon Web Services AWS
Stars: ✭ 43 (-94.87%)
Mutual labels:  aws, cloud, devops, virtualbox
Awstaghelper
AWS bulk tagging tool
Stars: ✭ 98 (-88.31%)
Mutual labels:  aws, cloud, devops
Mist Ce
Mist is an open source, multi-cloud management platform
Stars: ✭ 1,391 (+65.99%)
Mutual labels:  aws, cloud, devops
Morph
NixOS deployment tool
Stars: ✭ 303 (-63.84%)
Mutual labels:  nixos, devops, nix
Terraform Modules
Reusable Terraform modules
Stars: ✭ 63 (-92.48%)
Mutual labels:  aws, cloud, devops
Sceptre
Build better AWS infrastructure
Stars: ✭ 1,160 (+38.42%)
Mutual labels:  aws, cloud, devops
Multipass
Multipass orchestrates virtual Ubuntu instances
Stars: ✭ 3,978 (+374.7%)
Mutual labels:  cloud, virtualbox, libvirt
Adapt
ReactJS for your infrastructure. Create and deploy full-stack apps to any infrastructure using the power of React.
Stars: ✭ 317 (-62.17%)
Mutual labels:  aws, cloud, devops
Cipi
An Open Source Control Panel for your Cloud! Deploy and manage LEMP apps in one click!
Stars: ✭ 376 (-55.13%)
Mutual labels:  aws, cloud, devops
Terratag
Terratag is a CLI tool that enables users of Terraform to automatically create and maintain tags across their entire set of AWS, Azure, and GCP resources
Stars: ✭ 385 (-54.06%)
Mutual labels:  aws, cloud, devops
Awless Templates
Repository of examples for awless templates (see https://github.com/wallix/awless)
Stars: ✭ 59 (-92.96%)
Mutual labels:  aws, cloud, devops
Terracognita
Reads from existing Cloud Providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration
Stars: ✭ 452 (-46.06%)
Mutual labels:  aws, cloud, devops
Trusted Overlord
Aggregate AWS Trusted Advisor alarms, AWS Health notifications and AWS Support cases from several AWS accounts
Stars: ✭ 73 (-91.29%)
Mutual labels:  aws, cloud, devops
Touchdown
Cloud service orchestration framework for python
Stars: ✭ 10 (-98.81%)
Mutual labels:  aws, cloud, devops
Linchpin
ansible based multicloud orchestrator
Stars: ✭ 107 (-87.23%)
Mutual labels:  aws, cloud, libvirt
Appvm
Nix-based app VMs
Stars: ✭ 146 (-82.58%)
Mutual labels:  nixos, nix, libvirt
My Links
Knowledge seeks no man
Stars: ✭ 311 (-62.89%)
Mutual labels:  aws, cloud, devops
Howtheyaws
A curated collection of publicly available resources on how technology and tech-savvy organizations around the world use Amazon Web Services (AWS)
Stars: ✭ 389 (-53.58%)
Mutual labels:  aws, cloud, devops
Awless
A Mighty CLI for AWS
Stars: ✭ 4,821 (+475.3%)
Mutual labels:  aws, cloud, devops

NixOps

Test

NixOps is a tool for deploying to NixOS machines in a network or the cloud. Key features include:

  • Declarative: NixOps determines and carries out actions necessary to realise a deployment configuration.
  • Testable: Try your deployments on VirtualBox or libvirtd.
  • Multi Cloud Support: Currently supports deployments to AWS, Hetzner, and GCE
  • Separation of Concerns: Deployment descriptions are divided into logical and physical aspects. This makes it easy to separate parts that say what a machine should do from where they should do it.
  • Extensible: NixOps is extensible through a plugin infrastructure which can be used to provide additional backends.

For more information, please refer to the NixOps manual.

Running

NixOps is included in nixpkgs and can be executed in a shell as follows:

$ nix-shell -p nixops

Note: Currently channels only provide NixOps <= 1.7. In order to run the NixOps version from master you can clone this repository and execute nix-shell:

$ git clone https://github.com/NixOS/nixops
$ nix-shell
$ nixops --version
NixOps @[email protected]

Building And Developing

Building The Nix Package

You can build the Nix package by simply invoking nix-build on the project root:

$ nix-build

Development Shell

shell.nix provides an environment with all dependencies required for working on NixOps. You can use nix-shell to enter a shell suitable for working on NixOps which will contain all Python dependencies specified in pyproject.toml

$ nix-shell

Executing Tests

Inside the development shell the tests can be executed as follows:

$ ./coverage-tests.py -a '!libvirtd,!gce,!ec2,!azure' -v

Documentation

NixOps' documentation uses reStructuredText. When editing the docs, get a live-reloading, rendered version of the docs:

nixops$ ./live-docs.py
Serving on http://127.0.0.1:5500

and verify its lints before committing:

nixops$ lint-docs

Contributing

Contributions to the project are welcome in the form of GitHub PRs. Please consider the following guidelines before creating PRs:

  • Please make sure to format your code using black.
  • Please add type signatures using mypy.
  • If you are planning to make any considerable changes, you should first present your plans in a GitHub issue so it can be discussed.
  • If you are adding features, please also add reasonable tests.

License

Licensed under LGPL-3.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].