Giter VIP home page Giter VIP logo

metal-basecamp's Introduction

Metal Basecamp

Continuous Integration

This repo provides the metadata datasource for cloud-init during bootstrap and recovery.

The sister-service, CRAY-BSS, provides this same capability to scale through Kubernetes. Baecamp can be used in Docker or Podman quickly for bootstrapping a kubernetes cluster. The data served by Basecamp is compatible with Cray-BSS, and is handed-off as part of the deployment process.

Usage - Server

Basecamp can be ran multiple ways. For the full experience, we suggest using the Docker image. Developers should use whichever environment they like, whether that’s the Docker container or their local Go-lang env.

Podman (or Docker)

  1. Create configuration directories

    mkdir -p configs
    touch configs/server.yaml # fill this in
    touch configs/data.json # fill this in
  2. Run the container:

    image='arti.dev.cray.com/csm-docker-master-local/metal-basecamp'
    podman create --net host --volume $(pwd)/configs:/app/configs --name basecamp "$image"
  3. You should now be able to run queries against the container:

    curl http://localhost:8888/meta-data
    curl http://localhost:8888/user-data

Daemon

There is a systemd-daemon in this repo for running the Basecamp container in the background. The daemon can be obtained through linux package managers.

The daemon will setup configs/data.json and configs/server.yaml if they do not already exist.

systemctl enable basecamp
systemctl start basecamp

Logs

Basecamp outputs logs in two places; container logs and daemon logs.

Container logs
podman logs -f basecamp

Daemon logs

journalctl -xeu basecamp -f

Usage - Client

Two steps for usage.

  1. Install cloud-init

    zypper install cloud-init
    systemctl enable cloud-configs cloud-init-local cloud-init cloud-final
  2. Configure cloud-init

    1. Option 1: Add the following to /etc/cloud/cloud.cfg

      datasource:
        NoCloud:
          seedfrom: http://{IP OF METADATA SERVER}:{PORT}/
    2. Option 2: Boot the server with the ds kernel parameter set to nocloud-net

      ds=nocloud-net;s=http://{IP OF METADATA SERVER}:{PORT}/
      For scripts such as iPXE scripts or GRUB config files, the ; must be escaped with a \.
      ds=nocloud-net\;s=http://{IP OF METADATA SERVER}:{PORT}/

metal-basecamp's People

Contributors

dependabot[bot] avatar heemstra avatar jacobsalmela avatar jpdavis-prof avatar manderson-hpe avatar rustydb avatar zcrisler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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

Forkers

secabhk001

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.