pkg

command module
v0.3.6 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

README

Package

License golang version

PKG 项目主要是用于存放 Nautes 中可重用的 CRD(Custom Resource Definition) 和 CRD Webhook 的源文件,这些 CRD 会被 Nautes 中多个组件依赖,除此之外,PKG 还包含一些可以被其他组件使用的公共库:

  • 全局配置

  • Logger

  • Kubeconfig 序列化

功能简介

PKG 中的 CRD Webhook 主要是提供校验资源有效性的功能,包括:

资源类型 校验逻辑
Cluster 有虚拟集群的宿主集群无法被删除
有运行时环境的运行时集群无法被删除
有运行时环境的运行时集群无法变更用途
有虚拟集群的宿主集群无法变更用途
宿主集群必须是物理集群
虚拟集群的 hostCluster 为必填项
物理集群的 hostCluster 必须为空
Deployment Runtime 已经部署过的运行时不可以切换目标环境
不允许在同一个环境中创建两个指向相同源的部署运行时
Environment 被运行时引用的环境无法被删除
Product Provider 被产品引用的产品提供者无法被删除
Code Repo 代码仓库地址是否存在且有效

快速开始

准备

安装以下工具,并配置 GOBIN 环境变量:

准备一个 kubernetes 实例,复制 kubeconfig 文件到 {$HOME}/.kube/config

构建
go mod tidy
go build -o manager main.go
运行
./manager
单元测试

安装 Ginkgo

go install github.com/onsi/ginkgo/v2/ginkgo@v2.10.0

执行单元测试

make test

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the nautes v1alpha1 API group +kubebuilder:object:generate=true +groupName=nautes.resource.nautes.io
Package v1alpha1 contains API Schema definitions for the nautes v1alpha1 API group +kubebuilder:object:generate=true +groupName=nautes.resource.nautes.io
pkg

Jump to

Keyboard shortcuts

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