ursa

package module
v0.0.0-...-1a29ab9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 8, 2021 License: MIT Imports: 16 Imported by: 0

README

ursa: bare-metal management daemon

logo

ursa is management daemon for bare-metal.

The name "ursa" is derived from a Latin word that means "bear".

Feature

  • manage bare-metal server
    • save to sqlite
  • headless boot server using iPXE
    • include a some servers (dhcpd, httpd, tftpd)
  • provisioning cloud-init nocloud-net in bare-metal
    • create linux users
    • insert user authorized keys
    • bonding network interface by ursa-bonder

Getting Started

prepare a some binaries and put to ./cmd/ursa/static .

  • initrd.img
  • kernel
  • filesystem.squashfs
Build

Please use Makefile.

$ make
Put binaries and files to Server

static directory is DocuemntRoot in HTTP Server.

$ tree .
.
├── static
│   ├── filesystem.squashfs
│   ├── initrd.img
│   ├── kernel
│   └── ursa-bonder
└── ursa
Execute ursa!
$ sudo ./ursa -iface eth0 -dhcp-range "192.0.2.100:192.0.2.200" -service-nw "198.51.100.0/24" -service-gw "198.51.100.1" -service-range "198.51.100.100:198.51.100.200"
# Listen 67/udp (DHCP), 69/udp (TFTP), 80/tcp (HTTP), so need root permission.

Next, you boot bare-metal server in same Layer2 Network.

It becomes...

  • boot OS from initrd.img using iPXE.
  • set IP address to bonding interface from one of -service-range.
  • set IP address to management interface from one of dhcp-range.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run(ctx context.Context) error

Run the ursa

Types

This section is empty.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL