Skip to content

AppArmor support #24

@timstclair

Description

@timstclair

Description

Add AppArmor support to Kubernetes. Initial support should include the ability to specify an AppArmor profile for a container or pod in the API, and have that profile applied by the container runtime.

Progress Tracker

FEATURE_STATUS is used for feature tracking and to be updated by @kubernetes/feature-reviewers.
FEATURE_STATUS: BETA

More advice:

Design

  • Once you get LGTM from a @kubernetes/feature-reviewers member, you can check this checkbox, and the reviewer will apply the "design-complete" label.

Coding

  • Use as many PRs as you need. Write tests in the same or different PRs, as is convenient for you.
  • As each PR is merged, add a comment to this issue referencing the PRs. Code goes in the http://github.com/kubernetes/kubernetes repository,
    and sometimes http://github.com/kubernetes/contrib, or other repos.
  • When you are done with the code, apply the "code-complete" label.
  • When the feature has user docs, please add a comment mentioning @kubernetes/feature-reviewers and they will
    check that the code matches the proposed feature and design, and that everything is done, and that there is adequate
    testing. They won't do detailed code review: that already happened when your PRs were reviewed.
    When that is done, you can check this box and the reviewer will apply the "code-complete" label.

Docs


Remaining work, copied from the KEP (https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/24-apparmor/README.md#removing-annotation-support)

  • Phase 1 (v1.30): AppArmor field support merged (AppArmor fields API kubernetes#123435)
    • Sync annotations & fields on Pod create (version skew strategy described above)
    • Warn on annotation use, if field isn't set
    • Kubelet copies static pod annotations to fields
  • Phase 2 (v1.34):
    • API server stops copying fields to annotations
    • Warn on ALL annotation use
    • Risk: policy controllers that don't consider field values
  • Phase 3 (v1.36): End state
    • API server stops copying annotations to fields
    • Kubelet stops copying annotations to fields for static pods
    • Validation that annotations & fields match persists indefinitely
    • Risk: workloads that haven't migrated

Metadata

Metadata

Labels

kind/featureCategorizes issue or PR as related to a new feature.lead-opted-inDenotes that an issue has been opted in to a releaselifecycle/frozenIndicates that an issue or PR should not be auto-closed due to staleness.priority/backlogHigher priority than priority/awaiting-more-evidence.sig/nodeCategorizes an issue or PR as relevant to SIG Node.stage/stableDenotes an issue tracking an enhancement targeted for Stable/GA statustracked/yesDenotes an enhancement issue is actively being tracked by the Release Team

Type

No type

Projects

Status

Tracked for code freeze

Status

Implemented

Relationships

None yet

Development

No branches or pull requests

Issue actions