Skip to content

v0.1.0

Compare
Choose a tag to compare
@poiana poiana released this 17 Sep 10:48
· 457 commits to master since this release

Changelog

535132e docs(RELEASE.md): do not use an annotated tag
67c07e6 build(.circleci): remove attach_workspace
f00264c docs: release instructions
30c6823 fix(pkg/driverbuilder/builder): correct regex to find all the ubuntu-aws-. kernel headers in nested folders
a650e78 docs: update builder implementation docs
bab54d1 docs: guide to add a new builder
95754c0 new(cmd/testdata): CLI test for wrong config option
1593b99 new(cmd): config phase can exit an early exit with the usual error flow
dc54c9e update(cmd/testdata): refactoring CLI tests for --proxy flag
36ad36f update(pkg): inject the proxy into through builder instances and ctors
fa79905 update(cmd): move --proxy flag to config options
b461272 Add proxy option to set http proxy in container
7783d69 refactor(.circleci): simplify releasing process
1f228d8 refactor(Makefile): improve images tagging
a260570 update(.circleci): release on git tag
756c013 new: goreleaser
b5d1650 update(cmd/testdata): insert version flag into test fixtures
a6791bf new: semver version
fa256a1 update(cmd/testdata): test for driverkit completion command + adjustements to test runner
ac38e4e docs: MD docs for driverkit completion command
c918367 docs: update to markdown CLI docs
8f3d777 new(cmd): driverkit completion (bash|zsh|fish|help) command
958248a update(cmd): compose root flags into docker processor sub-command
aa5b71f update(cmd): refinements to kubernetes inherited flags
d17cddb update(cmd): root flags are no more persistent (meant to be composable)
fbd84f4 update(cmd): initial tests for completions
db40094 update(cmd): kubernetes processor alias is k8s
3858bff new(cmd): static completion for processor + dynamic completion for --config and --target flags
e56c95c new(cmd): processor aliases
9544adb update(cmd/testdata): update test fixtures log messages
05c7ddb chore(cmd): log messages must be shorter than 45 chars
d1efaad deps: bump cobra to 1.0.0
9fde516 chore(docs): strip sensitive data from generated docs
6b0c278 new(docgen): strip sensitive data during docs generation too
5581665 new(cmd): strip sensitive data from usage/help output
ef1b221 new(docs): CLI docs
7da3994 build: make docs
1f6a580 new(docgen): docs generator tool
c630c6e deps: go.sum update
69f23fc new(pkg/driverbuilder/builder/ubuntu): support for nested kernel resources
e4ae2db update(pkg/driverbuilder/builder/ubuntu): support old archiving mechanisms for the kernel tarballs
bb88174 fix(pkg/driverbuilder/builder/ubuntu): fix gcc version for some 3.x kernels and aws headers fetching
275c9e8 update(pkg/driverbuilder/builder/ubuntu): add security urls to fetch headers for ubuntu and parameters
829e28a fix(builder/docker): race conditions in the docker builder
4a7b964 fix(pkg/driverbuilder): wait the pull to download
58c464f fix(pkg/driverbuilder): pull driverkit builder image when not found locally
0096204 update: add vendor to gitignore
9f8705d update(cmd): tests CLI opts from config file
c44a6a1 update(cmd): CLI test support for env vars
be30b82 update(cmd/testdata): fixtures refinements and fixes
0a91c0e update(cmd): use --dryrun automatically when testing CLI
336a5d6 fix(cmd): root persistent pre run must return errors, not fail
05b3cba update(cmd): CLI tests with errors + disable race for them
215f1ea update(cmd): fixtures need the --dryrun flag now
4bac987 update(cmd): test CLI without processor
bc826cb new(cmd): global --dryrun flag
45fc4ed fix(cmd): strip color delimiters while testing CLI
7a367ec update(cmd): setup logger at boot
4b4849e update: new CLI test (help-debug)
d370828 deps: stripansi
ce062dc new(cmd): initial CLI testing framework
de3e964 deps: go tools assert
4815574 new(cmd): advise user to specify a processor
bbedf96 new(cmd): accept only valid args
5097a54 update(cmd): log options only when non-zero values
a52b536 fix(cmd): correct options precedence and support for flags containing dashes
2c60e86 docs: add amazonlinux targets examples
37ca941 update(pkg/driverbuilder): script for amazonlinux targets
9409132 fix(pkg/kernelrelease): test about amazonlinux2 version is correct now
7d71869 fix(pkg/driverbuilder): amazonlinux2 packages base url and resolution
1ec9e17 fix(pkg/driverbuilder): repository base url for amazonlinux* packages + circuit break for search
9e34be5 fix(pkg/driverbuilder): remove the amazonlinux* database file when done
6c04b70 new(pkg/driverbuilder): amazonlinux target
b5b8b84 deps: go-split3 dep needed by amazonlinux* targets
a3239f5 build: detect OS (linux or darwin supported) and create go tags accordingly to build driverkit correctly
6c50aa5 update(build): driverkit docker image needs gcc and musl-dev for CGO_ENABLED=1 compilation
26ae315 new(pkg/driverbuilder): amazonlinux 2 target skeleton
e4749a8 update(pkg/kernelrelease): test kernel release and version for amazon linux 2 strings
47b8a87 update(pkg/driverbuilder): add new stream releases to look for
86b2fa3 update(validate): custom translator for semver validator
1987b79 update(cmd): kernel version default to 1 since it's the most common value it has usually
178df3a fix(pkg/driverbuilder): docker processor pull honor the docker pulling strategy
d4d9e91 chore: log options (debug)
21f5feb deps: update go modules
7540b3d chore: method to log options in debug mode
bf843cf new(cmd): driver version can also be a semver-ish string
8aade54 update(validate): custom translation for semver-ish strings too
3fb82bb new(validate): semver 2.0 custom validator func
549602b fix: pull image in docker builder
61877fc fix: remove unneded dependencies
57ddfbe fix: disable test packages filter
de29460 fix: image branch name
bee1d88 fix: ci image dependencies
15f6e14 fix: docker image dependencies
a9fdae5 build: use consistent image names
78d624a fix: golang alpine base image fix
f3f0000 build: docker login step
9f1ddb4 build: circleci configuration
a536272 build: makefile targets for docker images
4b8d308 chore: rename builder base to just builder
33bcee0 new(build): driverkit dockerfile
ad05248 chore: rename builder dockerfile
da3d263 Changed non-existant parameter -o to --output-module in documentation
1395e08 fix(builder/ubuntu): module builder is now driver builder
ee49fd1 fix(builder/vanilla): use tmp kernel
3cb8002 fix(builder/centos): module builder is now driver builder
147b1d5 docs: update kernels that cannot do eBPF
d28b731 docs: update README config file examples and goals
7e332b2 chore(pkg/driverbuilder): use consistent nomenclature
4cec870 update(cmd): log processor in use
8089f76 deps: go modules cleanup
4fd8cd0 update(pkg/driverbuilder): update builders for all targets
c01f5c0 update(pkg/driverbuilder): flatten builders config and improve builder types (ie., targets)
6de6f56 update(cmd): use custom target validator
9e7e5d1 new(validate): custom target validator
072a5be new(pkg/driverbuilder): eBPF probe builder for centos target
cc70d11 new(pkg/driverbuilder): eBPF probe builder for ubuntu target
dea2615 new(pkg/driverbuilder): eBPF probe builder for vanilla target
b56fb74 docs(pkg/driverbuilder): comments for methods and constants
f8a5e33 update(pkg/driverbuilder): strip kernel module (debian)
840b705 new(pkg): build and output eBPF probe
4db40c5 update(pkg): use driver directory
1cde527 update(cmd): moduleversion -> driverversion
b9463d5 update(cmd): support nested build options (output paths)
3930fa5 update(cmd): make subcommands use driverbuilder
ac162fe chore(pkg): modulebuilder become driverbuilder
f2535ca chore: clean-up dockerfile
6fe67e0 deps: update cobra to 0.0.6
0ef12d4 fix(cmd): do not validate extensio of module and probe path when there's a previous error
dc22606 new(validate): custom translations for output paths (module and probe) errors
8be20e7 new(cmd): validate output paths (module and probe) have correct extension
1decbb7 new(cmd): provide two output options (with cross-field validation)
c143c01 docs: document debian yamls
44d3e39 fix(pkg/modulebuilder/debian): always use gcc-8
0442ae1 chore(pkg/modulebuilder): remove test urls
7c457c6 update(pkg/kernelrelease): add tests for debian kernels
8e36952 new(pkg/modulebuilder): target flag supports debian too
734766a new(pkg/modulebuilder): debian module builder
71f5edf update(pkg/modulebuilder): ubuntu does not need to prepare kernel
e5000a5 update(pkg/modulebuilder): error out in case kernel has not been found
d4e1fbe docs: examples for building CentOS
5f86b18 build: use the new repositories for gcc 4.8 deps into the dockerfile
bd483fa update(cmd): kernel version is required only for ubuntu-generic and ubuntu-aws
846f8f3 new: base image with all the needed gcc versions
fcf804f new(pkg/modulebuilder): centos builder with custom compilers
0b2f829 new(pkg/modulebuilder): centos target
9307bf6 fix(pkg/kernelrelease): also parse kernel release versions containing underscores in the extra part
5bcca25 build: builder image must have tools to unpack RPMs
ee5f683 new(cmd,pkg): prepare centos support
2e63226 docs: updates SOTA in README
b28ae1f new(validate): validate that module version is a SHA1 commit hash or "dev"
bbc183d update(cmd): use the logger to output errors, not the cobra mechanism
9d39e79 fix(cmd): add required to validations for build options
2fb6c39 fix(cmd): run validation only on subcommands
4315908 docs: update documentation for supported distributions
f245580 new(pkg/modulebuilder/kubernetes): deadline for kubernetes pods
d99c786 fix(cmd): config options are valid only at runtime
3c93906 fix(cmd): config options must be a pointer
5b23f3b fix(pkd/modulebuilder): int conversion for timeout
22044bf new(pkg/modulebuilder): timeout for docker processor
295946f update(cmd): pass config options to docker subcommand
7530d1f fix(pkg/modulebuilder): avoid double clean-up attempt when canceling docker processor with signals
789662d update(cmd): timeout flag
db2e2e4 chore(pkg/modulebuilder): refactoring docker container cleanup
cbb2837 update(cmd): patch all the help messages for all commands
fd4d2a4 deps: add k8s.io/utils to modules
dda6633 new(pkg/modulebuilder/docker): container cleanup
1387a92 fix: module tar not needed on builder side
0269ae0 docs: readme update
5485a75 update(pkg/modulebuilder): silent mode for curl
b9cf89b new(pkg/modulebuilder): silent mode for tar
84469d1 new(pkg/modulebuilder): use driverkit as kubernetes label
f739674 new(pkg/modulebuilder): docker attach and forward logs
f2a842e fix(pkg): ubuntu-generic target has different kernel header path
01f924d update(validate): refine filepath validator and logrus level validator
eae454a fix: kernel version is an integer (uint16)
8d3e233 update(cmd): using the new processor interface in commands
4c5d1d2 update(pkg/modulebuilder): processors now take a pointer build and use the new logger
800db0d update(pkg/modulebuilder): remove old validator
8bcd482 new: logrus level custom validator
4265c0f update: root flags are inherited correctly to children and persistent validation
9f6f60a new: root options conversion to build
49d4af8 new: config options struct
0d7cd2b deps: logrus
3a6d10d deps: translators and locales
5186b2f new(cmd): attach root options validation at persistent prerun
1b5d3c6 new(cmd): root options validation and error translating/formatting/printing
2df32bc new(validate): translators (i18n) for validation messages (default + custom messages), plus custom "name" tag
798fafa new(cmd): struct level conditional validator for kernel config data and target
a5d57af deps: validator
fd71f34 update(cmd): bind env vars and values from config file to root options
dc26a85 new(cmd): initial validators for root options
487356a new(validate): validator setup
75f1579 new(pkg/modulebuilder): docker builder execution plan
7e6eb61 new(pkg): docker processor (bootstrap)
ead0873 chore(cmd): refactor kubernetes subcommand
ecd325a new(cmd): docker subcommand
59bf90f fix(cmd): inherit configs from configfile, envvars, flags (in this order of reverse precedence)
a3c63c7 update(.gitignore): ignore binary
c8cb881 build: go deps
9ed832c new(cmd): root options
9e6e32b new: global rename to driverkit
22fff28 new: adapt kubernetes to save on filesystem
c7685d3 new: add survey info
9cee5d7 new: rename to driverkit in readme and docs
d18ca2f new: update dependencies
0bbebeb new: nop doesn't really need to do anything
7d62766 new: root command now has kubernetes only
19c512d new: adapt buildprocessor to be a command line
cb6fb60 new: build now uses an output path instead of creating an own file
f091cc7 new: kubernetes subcommand
1d86a73 new: remove filesystem and server
af597a2 new(ubuntu): build ubuntu-generic
a6cb7f2 new: return only the reference if module is already built
614a034 new(pkg/modulebuilder); kernel build dir removed from vanilla
653f58b new(pkg/modulebuilder): ubuntu, working aws builds
4edda99 new(pkg/modulebuilder): kernel build dir not necessary
c6dd990 fix(pkg/filesystem): wrong download path
39895d0 docs(README): removing leftovers + refinements
98d9bf5 docs: better usage explaination with different module builders
f383206 new(pkg/modulebuilder): initial ubuntu modulebuilder impl
1db67c7 new(pkg/modinfo): modinfo not used anymore
a1cea3a new(pkg/filesystem): filesystem aware of version + release
8c82c07 new(pkg/server): server aware of kernel release + version
63a4d98 new(pkg/modulebuilder): build type own package
a2910f5 new(pkg/kernelrelease): kernel release is not version
8a07227 new: pull request template
df23a5b feat(pkg/kernelversion): test
7668404 update(pkg/modulebuilder/builder): adapt vanilla to kernel extra version
4dd0e4b update(pkg): regex with groups for full kernel versions
2a83aad update: OWNERS
6e65273 new(pkg/kernelversion): match the full kernel version
4efa8b3 new(pkg/server): initial module get implementation
06d3d5b new: download url handling
55f1866 new: deal with localversion in vanilla
f5a086e new: build now has its own package
a507c21 new(pkg/buildprocessor): use modulestorage in no-op buildprocessor
a8eeafe new(pkg/modulebuilder): use modulestorage in kubernetes buildprocessor
3dfe54f new(pkg/modulebuilder): expand buildprocessor to use module storage
0808628 new(pkg/filesystem): no-op filesystem
6ae8d88 new(pkg/filesystem): initial module storage
0f35dba new(filesystem/local): local filesystem and path strip
9b0e214 new(filesystem): filesystem factory
9ed0e3a new(cmd/server): filesystem options
770f9fb new(pkg/modulebuilder): working module copy
d7ba0d9 new(cmd): use factory in command
3ac6340 new(pkg/modulebuilder): validate options
9859784 new(pkg/kubernetes): client factory
f702f53 new(pkg): kubernetes use the exec to copy files out
f2e0f97 new(pkg/modulebuilder): processor validators
58c3ead new: remove old prepare kernel config
c163c4f new(pkg/modulebuilder): wait scripts
eb4d522 new(pkg/modulebuilder): wait before download
493633a new(pkg/modulebuilder): full path variable
473cf90 new(pkg/modulebuilder): shebang line for vanilla
ca9363b new(pkg/modulebuilder): build architecture validators
368daf4 new(pkg): validation errors
93106f8 new(pkg): better error handling
30da265 new(pkg/modulebuilder): test builders validator
66ec909 new(pkg/modulebuilder): build and validate different kinds of build types
c7f7b55 new(pkg/server): update handlers to manage both kind of module requests
1de9f17 new: add govalidator
1dcd444 docs: update intents
d30c489 new: update deps
a3ee2c1 new(pkg/server): temporary usage of a config from a variable
16ecf39 new(pkg/modulebuilder): build in kubernetes
2592754 new(build): base dockerfile
6d25c9f new(pkg/version): version package
31cec9d new(pkg/modulebuilder): use build processors
512a15d new: update vendored dependencies
03d906c new(cmd): root commands
2d5b8ca new(cmd/server): initial server command
9e47ebf new(pkg/kubernetes): kubernetes client utilities
c3a6749 new(pkg/modulebuilder): initial module processor with abstract implementation for k8s
9f15ecf chore(modulebuilder/builder): move the modulebuilder package to modulebuilder/builder
f1e80be new(pkg/server): handlers management
17b0d90 new(pkg/server): server scaffolding
bac5c9d new(pkg/signals): signals package
4864d7a fix: use correct module name
cd7675c new: update readme with the new packages
1bd80c6 new: local builder with kernel
6cada59 new: bootstrap docker builder - empty
999186b new: initial documentation and modinfo
109d48f new: initial kernel module builder package
3028c22 update: OWNERS
3ae2940 Initial commit