github kubernetes-sigs/security-profiles-operator v0.5.0

latest releases: v0.8.4, v0.8.3, v0.8.2...
23 months ago

Release notes

Welcome to our glorious v0.5.0 release of the security-profiles-operator! We hope you enjoy this release as much as we do! The general usage and setup can be found in our documentation. 🥳 👯

To install the operator, run:

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/security-profiles-operator/v0.5.0/deploy/operator.yaml

You can also verify the container image signature by using cosign:

$ COSIGN_EXPERIMENTAL=1 cosign verify k8s.gcr.io/security-profiles-operator/security-profiles-operator:v0.5.0

Feel free to provide us any kind of feedback in the official Kubernetes Slack #security-profiles-operator channel.

Changes by Kind

Deprecation

  • In order to increase stability and scalability of the profile recording webhooks, the internal state of the webhooks has been removed. The user-visible effect is that container recordings no longer include a trailing number in their name (they used to be named e.g. myrecording-nginx-1, myrecording-nginx-2) but instead the hash that comes from the pod's generated name.
    In addition, the support hook based recording has been deprecated. The only supported modes of profile recording going forward are logs and bpf. (#1112, @jhrozek)

API Change

  • Add support for Seccomp Profiles that make use of the Seccomp Notify feature with the wait_killable semantic (SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV). (#1201, @alban)
  • The profileRecording CR contains a new optional field mergeStrategy, defaulting to none. When this field is set to containers, the recorded profiles will be set as partial, both using a label and the profile status. These profiles are not reconciled until the profileRecording exists, at which point the partial profiles are merged and a union of the partial profiles is created and finally reconciled.
    This allows for easier recording of policies e.g. during longer e2e runs which are recording the policies. (#1179, @jhrozek)
  • The spod CR now has a new attribute objectSelector that allows to configure which objects would SPO's webhooks match on. By default, the selector matches all, but setting the selector to include e.g. only certain labels might be a way to further ensure that possible bugs in the webhooks don't affect the rest of the cluster. (#1232, @jhrozek)

Feature

  • Add an option to deploy statically all webhook resources in order to improve the operator security. (#1053, @ccojocar)
  • Add imagePullSecrets to SPOD configuration. (#1227, @ccojocar)
  • Add v1 to admission review versions and AARCH64 architecture to default profile. (#1238, @ccojocar)
  • Added Affinity to SPOD configuration. (#1217, @ccojocar)
  • Added a basic helm chart. The chart is generated by running "make deployments" (#1013, @stephen-fox)
  • It is now possible to enable the log enricher at install time by setting the ENABLE_LOG_ENRICHER environment value to true. (#1235, @jhrozek)
  • Pod denials labeling feature was removed. (#1088, @JAORMX)
  • SPO changed the way the webhooks are enabled from listening on all namespaces by default to explicitly listening for activity on namespaces labeled with spo.x-k8s.io/enable-binding and spo.x-k8s.io/enable-recording respectively. (#1207, @jhrozek)
  • Updated BPF event processing to run in parallel. (#1110, @saschagrunert)
  • Use security context to set up the default seccomp profile for spod pod and security-profiles-operator container. (#1239, @ccojocar)

Documentation

  • Added documentation about how to install the operator on OpenShift via OperatorHub. (#1145, @saschagrunert)
  • If the log-based recorder is in use and the user attempts to either record a container which already had its SecurityContext set or attempts to record a privileged container (which ignores both seccomp profiles and selinux contexts), the profile recording webhook issues a warning event. (#1156, @jhrozek)
  • Updated the bpf recorder to fail if running on Linux kernels < 5.8. We now also updated the documentation and shipped BTF about that behavior. (#1039, @saschagrunert)

Bug or Regression

  • Automatically add openshift.io/cluster-monitoring=true to the operator namespace to allow the service monitor to work as intended. (#1148, @saschagrunert)
  • Filtering host processes by host mount namespace to prevent ebpf map from filling up during recording. (#1166, @neblen)
  • Fix the finalizer string too long, shorten the length of the node name if the finalizer string combined length is over the size of 63 (#1178, @Vincent056)

Other (Cleanup or Flake)

Dependencies

Added

  • 4d63.com/gochecknoglobals: v0.1.0
  • bitbucket.org/creachadair/shell: v0.0.7
  • cloud.google.com/go/compute: v1.7.0
  • cloud.google.com/go/spanner: v1.7.0
  • contrib.go.opencensus.io/exporter/stackdriver: v0.13.4
  • cuelang.org/go: v0.4.3
  • github.com/Antonboom/errname: v0.1.5
  • github.com/Antonboom/nilnil: v0.1.0
  • github.com/Azure/go-autorest/autorest/azure/auth: v0.5.11
  • github.com/Azure/go-autorest/autorest/azure/cli: v0.4.5
  • github.com/Azure/go-ntlmssp: 6637195
  • github.com/DATA-DOG/go-sqlmock: v1.5.0
  • github.com/Djarvur/go-err113: aea10b5
  • github.com/Masterminds/semver: v1.5.0
  • github.com/Masterminds/sprig: v2.22.0+incompatible
  • github.com/Masterminds/vcs: v1.13.3
  • github.com/OpenPeeDeeP/depguard: v1.0.1
  • github.com/StackExchange/wmi: v1.2.1
  • github.com/ThalesIgnite/crypto11: v1.2.5
  • github.com/agnivade/levenshtein: v1.0.1
  • github.com/alexkohler/prealloc: v1.0.0
  • github.com/aokoli/goutils: v1.0.1
  • github.com/ashanbrown/forbidigo: v1.2.0
  • github.com/ashanbrown/makezero: b626158
  • github.com/aws/aws-sdk-go-v2/config: v1.17.1
  • github.com/aws/aws-sdk-go-v2/credentials: v1.12.14
  • github.com/aws/aws-sdk-go-v2/feature/ec2/imds: v1.12.12
  • github.com/aws/aws-sdk-go-v2/internal/configsources: v1.1.18
  • github.com/aws/aws-sdk-go-v2/internal/endpoints/v2: v2.4.12
  • github.com/aws/aws-sdk-go-v2/internal/ini: v1.3.19
  • github.com/aws/aws-sdk-go-v2/service/ecr: v1.15.0
  • github.com/aws/aws-sdk-go-v2/service/ecrpublic: v1.12.0
  • github.com/aws/aws-sdk-go-v2/service/internal/presigned-url: v1.9.12
  • github.com/aws/aws-sdk-go-v2/service/sso: v1.11.17
  • github.com/aws/aws-sdk-go-v2/service/sts: v1.16.13
  • github.com/aws/aws-sdk-go-v2: v1.16.11
  • github.com/aws/smithy-go: v1.12.1
  • github.com/awslabs/amazon-ecr-credential-helper/ecr-login: 396b203
  • github.com/bkielbasa/cyclop: v1.2.0
  • github.com/blizzy78/varnamelen: v0.3.0
  • github.com/bombsimon/wsl/v3: v3.3.0
  • github.com/breml/bidichk: v0.1.1
  • github.com/butuzov/ireturn: v0.1.1
  • github.com/charithe/durationcheck: v0.0.9
  • github.com/chavacava/garif: e8a0a40
  • github.com/chrismellard/docker-credential-acr-env: fe33c00
  • github.com/cockroachdb/apd/v2: v2.0.1
  • github.com/coreos/go-etcd: v2.0.0+incompatible
  • github.com/coreos/go-oidc/v3: v3.2.0
  • github.com/cpuguy83/go-md2man: v1.0.10
  • github.com/cyberphone/json-canonicalization: dc406ce
  • github.com/daixiang0/gci: v0.2.9
  • github.com/denis-tingajkin/go-header: v0.4.2
  • github.com/dimchansky/utfbom: v1.1.1
  • github.com/distribution/distribution/v3: ffbd94c
  • github.com/emicklei/go-restful/v3: v3.8.0
  • github.com/emicklei/proto: v1.6.15
  • github.com/esimonov/ifshort: v1.0.3
  • github.com/ettle/strcase: v0.1.1
  • github.com/fatih/structtag: v1.2.0
  • github.com/flowstack/go-jsonschema: v0.1.1
  • github.com/fullstorydev/grpcurl: v1.8.6
  • github.com/fzipp/gocyclo: v0.3.1
  • github.com/go-asn1-ber/asn1-ber: v1.5.1
  • github.com/go-chi/chi: v4.1.2+incompatible
  • github.com/go-critic/go-critic: v0.6.1
  • github.com/go-gorp/gorp/v3: v3.0.2
  • github.com/go-ldap/ldap/v3: v3.4.2
  • github.com/go-ole/go-ole: v1.2.6
  • github.com/go-openapi/analysis: v0.21.4
  • github.com/go-openapi/errors: v0.20.3
  • github.com/go-openapi/loads: v0.21.2
  • github.com/go-openapi/runtime: v0.24.1
  • github.com/go-openapi/strfmt: v0.21.3
  • github.com/go-openapi/validate: v0.22.0
  • github.com/go-piv/piv-go: v1.10.0
  • github.com/go-playground/locales: v0.14.0
  • github.com/go-playground/universal-translator: v0.18.0
  • github.com/go-playground/validator/v10: v10.11.0
  • github.com/go-redis/redis: v6.15.8+incompatible
  • github.com/go-sql-driver/mysql: v1.5.0
  • github.com/go-toolsmith/astcast: v1.0.0
  • github.com/go-toolsmith/astcopy: v1.0.0
  • github.com/go-toolsmith/astequal: v1.0.1
  • github.com/go-toolsmith/astfmt: v1.0.0
  • github.com/go-toolsmith/astinfo: 9809ff7
  • github.com/go-toolsmith/astp: v1.0.0
  • github.com/go-toolsmith/pkgload: v1.0.0
  • github.com/go-toolsmith/strparse: v1.0.0
  • github.com/go-toolsmith/typep: v1.0.2
  • github.com/go-xmlfmt/xmlfmt: d5b6f63
  • github.com/gofrs/flock: v0.8.1
  • github.com/golang-jwt/jwt: v3.2.2+incompatible
  • github.com/golangci/check: cfe4005
  • github.com/golangci/dupl: 3e9179a
  • github.com/golangci/go-misc: 927a3d8
  • github.com/golangci/gofmt: 244bba7
  • github.com/golangci/golangci-lint: v1.43.0
  • github.com/golangci/lint-1: 297bf36
  • github.com/golangci/maligned: b1d8939
  • github.com/golangci/misspell: v0.3.5
  • github.com/golangci/revgrep: c22e500
  • github.com/golangci/unconvert: 28b1c44
  • github.com/gomodule/redigo: v1.8.2
  • github.com/google/certificate-transparency-go: v1.1.3
  • github.com/google/go-github/v45: v45.2.0
  • github.com/google/trillian: v1.4.1
  • github.com/googleapis/enterprise-certificate-proxy: v0.1.0
  • github.com/gookit/color: v1.4.2
  • github.com/gordonklaus/ineffassign: 2e10b26
  • github.com/gorhill/cronexpr: 88b0669
  • github.com/gostaticanalysis/analysisutil: v0.7.1
  • github.com/gostaticanalysis/comment: v1.4.2
  • github.com/gostaticanalysis/forcetypeassert: 01d4955
  • github.com/gostaticanalysis/nilerr: v0.1.1
  • github.com/gostaticanalysis/testutil: v0.4.0
  • github.com/grpc-ecosystem/grpc-gateway/v2: v2.11.2
  • github.com/in-toto/in-toto-golang: fa494aa
  • github.com/jedisct1/go-minisign: 1c139d1
  • github.com/jellydator/ttlcache/v3: v3.0.0
  • github.com/jgautheron/goconst: v1.5.1
  • github.com/jhump/protoreflect: v1.12.0
  • github.com/jingyugao/rowserrcheck: v1.1.1
  • github.com/jirfag/go-printf-func-name: 7558a9e
  • github.com/josharian/txtarfs: 0702f00
  • github.com/juju/ratelimit: v1.0.1
  • github.com/julz/importas: 841f0c0
  • github.com/k0kubun/colorstring: 9440f19
  • github.com/kulti/thelper: v0.4.0
  • github.com/kunwardeep/paralleltest: v1.0.3
  • github.com/kylelemons/godebug: v1.1.0
  • github.com/kyoh86/exportloopref: v0.1.8
  • github.com/ldez/gomoddirectives: v0.2.2
  • github.com/ldez/tagliatelle: v0.2.0
  • github.com/leodido/go-urn: v1.2.1
  • github.com/letsencrypt/boulder: 27de4be
  • github.com/letsencrypt/pkcs11key/v4: v4.0.0
  • github.com/logrusorgru/aurora: a7b3b31
  • github.com/lufia/plan9stats: 39d0f17
  • github.com/maratori/testpackage: v1.0.1
  • github.com/matoous/godox: 6504466
  • github.com/mattn/go-sqlite3: v1.9.0
  • github.com/mattn/goveralls: v0.0.2
  • github.com/mbilski/exhaustivestruct: v1.2.0
  • github.com/mgechev/dots: e955255
  • github.com/mgechev/revive: v1.1.2
  • github.com/mitchellh/go-ps: v1.0.0
  • github.com/mohae/deepcopy: c48cc78
  • github.com/moricho/tparallel: v0.2.1
  • github.com/mozilla/scribe: fb71baf
  • github.com/mozilla/tls-observatory: 7bc4285
  • github.com/mpvl/unique: cbe035f
  • github.com/mwitkow/go-proto-validators: v0.2.0
  • github.com/nakabonne/nestif: v0.3.1
  • github.com/nbutton23/zxcvbn-go: fa2cb28
  • github.com/nishanths/exhaustive: v0.2.3
  • github.com/nishanths/predeclared: v0.2.1
  • github.com/open-policy-agent/opa: v0.43.0
  • github.com/otiai10/copy: v1.2.0
  • github.com/otiai10/curr: v1.0.0
  • github.com/otiai10/mint: v1.3.1
  • github.com/pborman/uuid: v1.2.0
  • github.com/pelletier/go-toml/v2: v2.0.1
  • github.com/phayes/checkstyle: bfd46e6
  • github.com/phayes/freeport: 74d24b5
  • github.com/polyfloyd/go-errorlint: 910bb79
  • github.com/protocolbuffers/txtpbfmt: f6a6b3f
  • github.com/pseudomuto/protoc-gen-doc: v1.3.2
  • github.com/pseudomuto/protokit: v0.2.0
  • github.com/quasilyte/go-consistent: c6f3937
  • github.com/quasilyte/go-ruleguard/dsl: v0.3.10
  • github.com/quasilyte/go-ruleguard/rules: 545e0d2
  • github.com/quasilyte/go-ruleguard: v0.3.13
  • github.com/quasilyte/regex/syntax: 30656e2
  • github.com/rcrowley/go-metrics: cf1acfc
  • github.com/rs/cors: v1.7.0
  • github.com/ryancurrah/gomodguard: v1.2.3
  • github.com/ryanrolds/sqlclosecheck: v0.3.0
  • github.com/sagikazarmark/crypt: v0.1.0
  • github.com/sanposhiho/wastedassign/v2: v2.0.6
  • github.com/sassoftware/relic: dfb082b
  • github.com/secure-systems-lab/go-securesystemslib: v0.4.0
  • github.com/securego/gosec/v2: v2.9.1
  • github.com/segmentio/ksuid: v1.0.4
  • github.com/shazow/go-diff: b6b7b67
  • github.com/shibumi/go-pathspec: v1.3.0
  • github.com/shirou/gopsutil/v3: v3.21.10
  • github.com/shurcooL/go-goon: 37c2f52
  • github.com/shurcooL/go: 9e1955d
  • github.com/sigstore/cosign: v1.11.1
  • github.com/sigstore/fulcio: v0.5.3
  • github.com/sigstore/rekor: v0.11.0
  • github.com/sigstore/sigstore: v1.4.0
  • github.com/sivchari/tenv: v1.4.7
  • github.com/skratchdot/open-golang: eef8423
  • github.com/sonatard/noctx: v0.0.1
  • github.com/sourcegraph/go-diff: v0.6.1
  • github.com/spiffe/go-spiffe/v2: v2.1.1
  • github.com/ssgreg/nlreturn/v2: v2.2.1
  • github.com/sylvia7788/contextcheck: v1.0.4
  • github.com/syndtr/goleveldb: 2ae1ddf
  • github.com/tdakkota/asciicheck: e657995
  • github.com/tenntenn/modver: v1.0.1
  • github.com/tenntenn/text/transform: 7eef512
  • github.com/tent/canonical-json-go: 96e4ba3
  • github.com/tetafro/godot: v1.4.11
  • github.com/thales-e-security/pool: v0.0.2
  • github.com/theupdateframework/go-tuf: v0.3.1
  • github.com/timakin/bodyclose: cb62158
  • github.com/titanous/rocacheck: afe7314
  • github.com/tklauser/go-sysconf: v0.3.9
  • github.com/tklauser/numcpus: v0.3.0
  • github.com/tomarrell/wrapcheck/v2: v2.4.0
  • github.com/tomasen/realip: f0c99a9
  • github.com/tommy-muehle/go-mnd/v2: v2.4.0
  • github.com/transparency-dev/merkle: v0.0.1
  • github.com/ugorji/go/codec: d75b2dc
  • github.com/ultraware/funlen: v0.0.3
  • github.com/ultraware/whitespace: v0.0.4
  • github.com/uudashr/gocognit: v1.0.5
  • github.com/valyala/bytebufferpool: v1.0.0
  • github.com/valyala/fasthttp: v1.30.0
  • github.com/valyala/quicktemplate: v1.7.0
  • github.com/valyala/tcplisten: v1.0.0
  • github.com/vektah/gqlparser/v2: v2.4.6
  • github.com/viki-org/dnscache: c70c1f2
  • github.com/xo/terminfo: ca9a967
  • github.com/yashtewari/glob-intersection: v0.1.0
  • github.com/yeya24/promlinter: v0.1.0
  • github.com/yudai/gojsondiff: v1.0.0
  • github.com/yudai/golcs: ecda9a5
  • github.com/yudai/pp: v2.0.1+incompatible
  • github.com/zeebo/errs: v1.2.2
  • go.etcd.io/etcd/etcdctl/v3: v3.6.0-alpha.0
  • go.etcd.io/etcd/etcdutl/v3: v3.6.0-alpha.0
  • go.etcd.io/etcd/tests/v3: v3.6.0-alpha.0
  • go.etcd.io/etcd/v3: v3.6.0-alpha.0
  • go.mongodb.org/mongo-driver: v1.10.0
  • go.mozilla.org/mozlog: 4bb1313
  • go.uber.org/tools: 2cfd321
  • gopkg.in/gcfg.v1: v1.2.3
  • mvdan.cc/gofumpt: v0.1.1
  • mvdan.cc/interfacer: c200402
  • mvdan.cc/lint: adc824a
  • mvdan.cc/unparam: aac4ce9
  • sigs.k8s.io/release-sdk: v0.9.3

Changed

Removed

  • github.com/ReneKroon/ttlcache/v2: v2.11.0
  • github.com/alcortesm/tgz: 9c5fe88
  • github.com/google/cel-spec: v0.6.0
  • github.com/google/go-github/v33: v33.0.0
  • gopkg.in/gorp.v1: v1.7.2

Don't miss a new security-profiles-operator release

NewReleases is sending notifications on new releases.