kubepkg

module
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2023 License: MIT

README

KubePkg

%%{init:{'theme':'base'}}%%
flowchart BT
    subgraph internet ["Internet"]
        kubepkg_manifest("KubePkg.yaml")
        kubepkg_airgap("KubePkg.airgap.tgz")
    end
    
    subgraph intranet ["Intranet"]
        kubepkg_airgap_intranet("KubePkg.airgap.tgz")
        
        subgraph cluster ["k8s/k3s cluster"]
            kubepkg_agent(("KubePkg\nAgent"))
            kubepkg_registry[("KubePkg\nRegistry")]
            kubepkg_crd[["KubePkg CRD"]]
            kubepkg_operator(("KubePkg\nOperator"))
            k8s_manifests[["Kuberneters\nManifests"]]
        end
    end
    
    kubepkg_manifest
        ==> |`kubepkg save`| kubepkg_airgap 
        -.-> kubepkg_airgap_intranet
        ==> |`kubepkg import`| kubepkg_agent    
    
    kubepkg_agent
        -->|apply when images ready| kubepkg_crd
        -.->|notice changes| kubepkg_operator
        -->|apply| k8s_manifests
    
    kubepkg_agent
        --> |import image manifests / blobs| kubepkg_registry
        -.-> |pull image| k8s_manifests
        
    k8s_manifests
        -.->|notice changes| kubepkg_operator
        -->|update status| kubepkg_crd    

Requires

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

kubepkg.airgap.tgz

kubepkg.json & OCI Image Layout

kubepkg.json # must be first of all
blobs/ # blob contents
  <alg>/
    <hash>
index.json # oci image layout required
oci-layout # oci image layout required    
kubepkg.yaml or kubepkg.json
interface KubePkg {
  apiVersion: "octohelm.tech/v1alpha1"
  kind: "KubePkg"
  metadata: {
    name: string
  }
  spec: {
    // semver for upgrade checking
    version: string
    // manifests of k8s
    manifests: {
      // "<metadata.name>.<kind>.<apiGroup>"
      [key: string]: {
        apiVersion: string,
        kind: string,
        [x: string]: any
      }
    }
  }
}

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/blob
+gengo:operator:register=R +gengo:operator:tag=blob
+gengo:operator:register=R +gengo:operator:tag=blob
agent/apis/kubepkg
+gengo:operator:register=R +gengo:operator:tag=kubepkg
+gengo:operator:register=R +gengo:operator:tag=kubepkg
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/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
apis/kubepkg/v1alpha1
Package v1alpha1 GENERATED BY gengo:deepcopy DON'T EDIT THIS FILE
Package v1alpha1 GENERATED BY gengo:deepcopy DON'T EDIT THIS FILE
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
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
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
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