Code Monkey home page Code Monkey logo

kandari's Introduction

Kandari OS

Kandarai OS based on Fedora Atomic.

Installation

There's two images. Kandari and Kandari NVIDIA. Use one according to your hardware.

Simple method

To rebase an existing atomic Fedora installation to the latest build:

  • First rebase to the unsigned Kandari image, to get the proper signing keys and policies installed:
    rpm-ostree rebase ostree-unverified-registry:ghcr.io/tazihad/kandari:latest
    
  • Nvidia Kandari unsigned build:
    rpm-ostree rebase ostree-unverified-registry:ghcr.io/tazihad/kandari-nvidia:latest
    
  • Reboot to complete the rebase:
    systemctl reboot
    
  • Then rebase to the signed Kandari image, like so:
    rpm-ostree rebase ostree-image-signed:docker://ghcr.io/tazihad/kandari:latest
    
  • Or rebase to Nvidia Kandari Signed image:
    rpm-ostree rebase ostree-image-signed:docker://ghcr.io/tazihad/kandari-nvidia:latest
    
  • Reboot again to complete the installation
    systemctl reboot
    

Advanced method

Install signed image without rebasing to unsigned image.

  • Install the public key:
    sudo mkdir -p /etc/pki/containers
    curl -O "https://raw.githubusercontent.com/tazihad/kandari/main/kandari.pub" -o kandari.pub
    sudo cp kandari.pub /etc/pki/containers/
    sudo restorecon -RFv /etc/pki/containers
    
  • Configure the registry to get sigstore signatures:
    Create and edit the configuration file for your registry:
    sudo mkdir -p /etc/containers/registries.d
    sudo nano /etc/containers/registries.d/ghcr.io-tazihad-kandari.yaml
    
    Add the following content:
    docker:
      ghcr.io/tazihad/kandari:
        use-sigstore-attachments: true
    
    Save the file and then run:
    sudo restorecon -RFv /etc/containers/registries.d/ghcr.io-tazihad-kandari.yaml
    
  • Set up the policy: Create a policy file and add the following content:
    sudo cp /etc/containers/policy.json /etc/containers/policy.json.bak # Backup existing policy
    sudo nano /etc/containers/policy.json
    
    Add the following content, replacing the placeholders with your actual paths:
    {
        "default": [
            {
                "type": "reject"
            }
        ],
        "transports": {
            "docker": {
                "ghcr.io/tazihad/kandari": [
                    {
                        "type": "sigstoreSigned",
                        "keyPath": "/etc/pki/containers/kandari.pub",
                        "signedIdentity": {
                            "type": "matchRepository"
                        }
                    }
                ],
                "": [
                    {
                        "type": "insecureAcceptAnything"
                    }
                ]
            }
        }
    }
    
    Save the file and then run:
    sudo restorecon -RFv /etc/containers/policy.json
    
    Now, your setup for verifying kandari container images using cosign with the renamed public key kandari.pub should be complete.

Verification

These images are signed with Sigstore's cosign. You can verify the signature by downloading the kandari.pub file from this repo and running the following command:

cosign verify --key kandari.pub ghcr.io/tazihad/kandari-nvidia:latest

kandari's People

Contributors

tazihad avatar

Watchers

 avatar

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.