kubepkg

module
v0.5.4 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2023 License: MIT

README

KubePkg


%%{init:{'theme':'base'}}%%
sequenceDiagram
    actor dev

    box centre
        participant kubepkg_dashboard as KubePkg Dashboard
    end

    box k3s/k8s cluster
        participant cluster_kubepkg_agent as KubePkg Agent
        participant cluster_k8s_api as Kubernetes API
        participant cluster_kubepkg_operator as KubePkg Operator
        participant cluster_container_registry as Container Registry
        participant cluster_pod as Workloads
    end

    par setup
        cluster_kubepkg_agent ->> kubepkg_dashboard: register
    end

    par version
        dev ->> kubepkg_dashboard: put KubePkg.yaml
    end

    par direct
        kubepkg_dashboard ->> cluster_kubepkg_agent: put KubePkg.yaml
        activate cluster_kubepkg_agent
        cluster_kubepkg_agent ->> cluster_k8s_api: apply KubePkg.yaml
        deactivate cluster_kubepkg_agent
    end

    par airgap
        kubepkg_dashboard ->> dev: get KubePkg.yaml
        activate dev
        dev ->> dev: create KubePkg.airgap.tgz

        dev ->> cluster_kubepkg_agent: update KubePkg.airgap.tgz

        deactivate dev

        activate cluster_kubepkg_agent
        cluster_kubepkg_agent ->> cluster_container_registry: upload images
        cluster_kubepkg_agent ->> cluster_k8s_api: apply KubePkg.yaml
        deactivate cluster_kubepkg_agent

    end

    par CRD to Kubernetes resources
        loop watch CRD kubepkg
            cluster_k8s_api -->> cluster_kubepkg_operator: convert to Kubernetes resources
            cluster_kubepkg_operator ->> cluster_k8s_api: apply kubepkg resources
        end

        par pod creation
            cluster_container_registry ->> cluster_pod: pull images

            loop watch kubepkg resources
                cluster_k8s_api -->> cluster_kubepkg_operator: convert to KubePkg.State
            end
        end
    end

Requires

  • Docker Image only support v2
  • k3s/k8s 1.22+

kubepkg.airgap.tar

kubepkg.json # must be first of all
blobs/ # blob contents
  <alg>/
    <hash>
index.json # oci image layout required
oci-layout # oci image layout required    

Directories

Path Synopsis
cmd
kubepkg
Package main GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package main GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
internal
agent
Package agent GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package agent GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
agent/apis/auth
+gengo:operator:register=R +gengo:operator:tag=auth
+gengo:operator:register=R +gengo:operator:tag=auth
agent/apis/auth/operator
Package operator GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package operator GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
agent/apis/cluster
+gengo:operator:register=R +gengo:operator:tag=cluster
+gengo:operator:register=R +gengo:operator:tag=cluster
agent/apis/kubepkg
+gengo:operator:register=R +gengo:operator:tag=kubepkg
+gengo:operator:register=R +gengo:operator:tag=kubepkg
agent/apis/registry
+gengo:operator:register=R +gengo:operator:tag=registry
+gengo:operator:register=R +gengo:operator:tag=registry
agent/client/agent
Package agent GENERATED BY gengo:client DON'T EDIT THIS FILE
Package agent GENERATED BY gengo:client DON'T EDIT THIS FILE
dashboard
Package dashboard GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package dashboard GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
dashboard/apis/admin
+gengo:operator:register=R +gengo:operator:tag=admin
+gengo:operator:register=R +gengo:operator:tag=admin
dashboard/apis/auth
+gengo:operator:register=R +gengo:operator:tag=auth
+gengo:operator:register=R +gengo:operator:tag=auth
dashboard/apis/auth/operator
Package operator GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package operator GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
dashboard/apis/cluster
+gengo:operator:register=R +gengo:operator:tag=cluster
+gengo:operator:register=R +gengo:operator:tag=cluster
dashboard/apis/clusteragent
+gengo:operator:register=R +gengo:operator:tag=clusteragent
+gengo:operator:register=R +gengo:operator:tag=clusteragent
dashboard/apis/group
+gengo:operator:register=R +gengo:operator:tag=group
+gengo:operator:register=R +gengo:operator:tag=group
dashboard/apis/group/operator
Package operator GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package operator GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
dashboard/apis/kubepkg
+gengo:operator:register=R +gengo:operator:tag=kubepkg
+gengo:operator:register=R +gengo:operator:tag=kubepkg
dashboard/apis/user
+gengo:operator:register=R +gengo:operator:tag=user
+gengo:operator:register=R +gengo:operator:tag=user
dashboard/domain/account
Package account GENERATED BY gengo:enum DON'T EDIT THIS FILE
Package account GENERATED BY gengo:enum DON'T EDIT THIS FILE
dashboard/domain/account/repository
Package repository GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package repository GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
dashboard/domain/account/service
Package service GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package service GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
dashboard/domain/cluster
Package cluster GENERATED BY gengo:enum DON'T EDIT THIS FILE
Package cluster GENERATED BY gengo:enum DON'T EDIT THIS FILE
dashboard/domain/cluster/repository
Package repository GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package repository GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
dashboard/domain/cluster/service
Package service GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package service GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
dashboard/domain/group
Package group GENERATED BY gengo:enum DON'T EDIT THIS FILE
Package group GENERATED BY gengo:enum DON'T EDIT THIS FILE
dashboard/domain/group/repository
Package repository GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package repository GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
dashboard/domain/group/service
Package service GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package service GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
dashboard/domain/kubepkg
Package kubepkg GENERATED BY gengo:enum DON'T EDIT THIS FILE
Package kubepkg GENERATED BY gengo:enum DON'T EDIT THIS FILE
dashboard/domain/kubepkg/repository
Package repository GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package repository GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
pkg
agent
Package agent GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package agent GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
agent/remote
Package remote GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package remote GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
apis/kubepkg/v1alpha1
+gengo:deepcopy +gengo:runtimedoc
+gengo:deepcopy +gengo:runtimedoc
auth
Package auth GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package auth GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
containerregistry
Package containerregistry GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package containerregistry GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
containerregistry/client
Package client GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package client GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
cueutil
Package cueutil GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package cueutil GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
datatypes
Package datatypes GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package datatypes GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
idgen
Package idgen GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package idgen GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
ioutil
Package ioutil GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package ioutil GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
kubepkg
Package kubepkg GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package kubepkg GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
kubepkg/controller
Package controller GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package controller GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
kubepkg/k8sapply
Package k8sapply GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package k8sapply GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
kubepkg/manifest
Package manifest GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package manifest GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
kubeutil
Package kubeutil GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package kubeutil GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
kubeutil/client
Package client GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package client GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
kubeutil/clusterinfo
Package clusterinfo GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package clusterinfo GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
logutil
Package logutil GENERATED BY gengo:enum DON'T EDIT THIS FILE
Package logutil GENERATED BY gengo:enum DON'T EDIT THIS FILE
rbac
Package rbac GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package rbac GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
serverinfo
Package serverinfo GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package serverinfo GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
signer
Package signer GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package signer GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
strfmt
Package strfmt GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package strfmt GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
vault
Package vault GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package vault GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
version/semver
Package semver GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
Package semver GENERATED BY gengo:runtimedoc DON'T EDIT THIS FILE
tool

Jump to

Keyboard shortcuts

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