Giter Site home page Giter Site logo

johnknott / proxmox-hetzner-autoconfigure Goto Github PK

View Code? Open in Web Editor NEW
28.0 28.0 9.0 379 KB

A dialog based script to help configure a Proxmox host node after first boot. It takes over where the Hetzner installimage finishes to configure things like networking, TLS certificates and storage.

Python 72.80% Shell 3.05% HTML 24.14%

proxmox-hetzner-autoconfigure's Introduction

Hi there ๐Ÿ‘‹

I'm John Knott, a software engineer with 20 years of experience.

My most recent full-time role was as Head of Engineering at www.meetupcall.com.

I really enjoyed aspects of that role but it also made me realise I prefer more hands-on technical positions.

Recently I have been working with Ruby and Elixir on the back-end and various front-end technologies - mainly VueJS, and Typescript. I have also recent mobile application development experience with Flutter.

I am currently available for contract work - check out my CV if you are interested.

proxmox-hetzner-autoconfigure's People

Contributors

johnknott avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

proxmox-hetzner-autoconfigure's Issues

bash: proxmox_hetzner_autoconfigure: command not found

I can't seem to be able to run this:

After following the installations steps:

root@Proxmox-VE /tmp # proxmox_hetzner_autoconfigure
-bash: proxmox_hetzner_autoconfigure: command not found

The development setup also fails on Debian Buster (Hetzner ax100)

root@Proxmox-VE /tmp/proxmox-hetzner-autoconfigure # poetry run pytest
======================================= test session starts ========================================
platform linux -- Python 3.7.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
rootdir: /tmp/proxmox-hetzner-autoconfigure
collected 24 items

tests/test_end_to_end.py F                                                                   [  4%]
tests/configurators/test_network.py ..                                                       [ 12%]
tests/configurators/test_snippets.py ..                                                      [ 20%]
tests/configurators/test_storage_box.py ....                                                 [ 37%]
tests/configurators/test_tls.py .....                                                        [ 58%]
tests/configurators/network/topologies/test_routed_separate_ips.py .....                     [ 79%]
tests/configurators/network/topologies/test_routed_subnet.py .....                           [100%]

============================================= FAILURES =============================================
_________________________________________ test_end_to_end __________________________________________

    def test_end_to_end():

        dialog = MagicMock()
        dialog.msgbox.side_effect = [
            ["ok"],
        ]
        dialog.checklist.side_effect = [["ok", []]]
        main.util.dialog = dialog

>       main.run()

tests/test_end_to_end.py:15:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
proxmox_hetzner_autoconfigure/main.py:46: in run
    script = util.build_script(chosen_configurators)
proxmox_hetzner_autoconfigure/util/util.py:75: in build_script
    return render_template(__file__, "install", {"sections": sections})
proxmox_hetzner_autoconfigure/util/util.py:50: in render_template
    return template.render(binds)
/root/.cache/pypoetry/virtualenvs/proxmox-hetzner-autoconfigure-7-ig0on1-py3.7/lib/python3.7/site-packages/jinja2/environment.py:1090: in render
    self.environment.handle_exception()
/root/.cache/pypoetry/virtualenvs/proxmox-hetzner-autoconfigure-7-ig0on1-py3.7/lib/python3.7/site-packages/jinja2/environment.py:832: in handle_exception
    reraise(*rewrite_traceback_stack(source=source))
/root/.cache/pypoetry/virtualenvs/proxmox-hetzner-autoconfigure-7-ig0on1-py3.7/lib/python3.7/site-packages/jinja2/_compat.py:28: in reraise
    raise value.with_traceback(tb)
proxmox_hetzner_autoconfigure/util/install.jinja2:41: in top-level template code
    * Navigate to the Proxmox web GUI at https://{{ shared_globals['fqdn'] }}:8006
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <jinja2.environment.Environment object at 0x7efe022020b8>, obj = Undefined, argument = 'fqdn'

    def getitem(self, obj, argument):
        """Get an item or attribute of an object but prefer the item."""
        try:
>           return obj[argument]
E           jinja2.exceptions.UndefinedError: 'shared_globals' is undefined

/root/.cache/pypoetry/virtualenvs/proxmox-hetzner-autoconfigure-7-ig0on1-py3.7/lib/python3.7/site-packages/jinja2/environment.py:452: UndefinedError
===================================== short test summary info ======================================
FAILED tests/test_end_to_end.py::test_end_to_end - jinja2.exceptions.UndefinedError: 'shared_glob...
=================================== 1 failed, 23 passed in 0.18s ===================================

Am I doing something wrong here?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.