2 Star 0 Fork 5

meilier / flower

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

flower

flower: flow your image among the land, its flower.

Build

  • make flower for standard flower binary
  • make debug for debuggable flower binary
  • make install installs flower to /usr/bin

Usage

flower: flow your image among the land, its flower

Usage:
  flower
  flower [command]

Available Commands:
  flow        get compatibility result
  help        Help about any command
  image       generate image require spec
  platform    generate platform provider spec

Flags:
  -D, --debug              Open debug mode
  -h, --help               Print usage
      --log-level string   Log level to be used. Either "debug", "info", "warn" or "error" (default "error")

Use "flower [command] --help" for more information about a command.

兼容性定义及满足

兼容性定义给出当前flower版本支持的兼容性匹配规则

容器OS ProviderSpec

type ProviderSpec struct {
	// Kernel Version of the platform
	KernelVersion string
	// Syscalls provided by the platform
	Syscalls []string
}

容器镜像 RequireSpec

type RequireSpec struct {
	// Syscalls used by the image
	Syscalls []string
	// Higher version syscall flags used by the image
	SyscallFlags map[string]map[string][]string
	// The minimal kernel version that satisfies syscall flags
	FlagsVersionRequire string
}

兼容性满足

  • FlagsVersionRequire存在时:容器OS提供的内核版本 >= 容器镜像参数FlagsVersionRequire所需要的最低内核版本
  • 容器镜像使用的syscall列表为容器OS提供的syscall列表的子集

RoadMap

容器OS扫描扫描

特性 是否支持 备注
获取容器OS内核版本
通过探针获取容器OS支持的syscall列表
生成容器OS扫描报告 输出容器OS兼容性定义字段

容器应用APP扫描

特性 是否支持 备注
动态获取系统调用
动态获取系统调用参数 部分存在于结构体的参数变化未能获取
静态系统调用类型1-立即数寻址 包含对立即数的计算
静态系统调用类型2-寄存器寻址 包含对寄存器的计算
静态系统调用类型2-栈寻址
静态系统调用类型3-动态函数系统调用寄存器寻址
静态系统调用类型4-动态函数系统调用栈寻址
静态系统调用类型5-RIP寻址
生成容器OS扫描报告 输出容器镜像兼容性定义字段

Future

Futuer List 备注
调研并定义容器OS sysfs兼容性字段
调研并定义容器镜像 sysfs兼容性字段

空文件

简介

flower: flow your image among the land, its flower. 展开 收起
Go 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/meilier/flower.git
git@gitee.com:meilier/flower.git
meilier
flower
flower
master

搜索帮助