mirror of
https://github.com/FairwindsOps/polaris.git
synced 2026-08-23 22:26:34 +00:00
1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{367:function(e,r,t){"use strict";t.r(r);var a=t(42),s=Object(a.a)({},(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[t("h2",{attrs:{id:"_3-0-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_3-0-0"}},[e._v("#")]),e._v(" 3.0.0")]),e._v(" "),t("ul",[t("li",[t("strong",[e._v("Breaking")]),e._v(" - fixed inconsistency in how controller-level checks are handled\nCustom checks with "),t("code",[e._v("target: Controller")]),e._v(" should remove "),t("code",[e._v("Object")]),e._v(" from the top-level of the\nJSON schema (see changes to "),t("code",[e._v("./checks/multipleReplicasForDeployment.yaml")]),e._v(")")])]),e._v(" "),t("h2",{attrs:{id:"_2-0-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-0-1"}},[e._v("#")]),e._v(" 2.0.1")]),e._v(" "),t("ul",[t("li",[e._v("Fixed Polaris deployment process")])]),e._v(" "),t("h2",{attrs:{id:"_2-0-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-0-0"}},[e._v("#")]),e._v(" 2.0.0")]),e._v(" "),t("ul",[t("li",[e._v("Standardize categories of checks into Security, Reliability, and Efficiency")]),e._v(" "),t("li",[e._v("Changes to the dashboard UI")]),e._v(" "),t("li",[e._v("Update controller-runtime")])]),e._v(" "),t("h2",{attrs:{id:"_1-2-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-2-1"}},[e._v("#")]),e._v(" 1.2.1")]),e._v(" "),t("ul",[t("li",[e._v("Update date on dashboard footer")])]),e._v(" "),t("h2",{attrs:{id:"_1-2-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-2-0"}},[e._v("#")]),e._v(" 1.2.0")]),e._v(" "),t("ul",[t("li",[e._v("Add ability to audit a single workload")]),e._v(" "),t("li",[e._v("Enable "),t("code",[e._v("pullPolicyAlways")]),e._v(" by default")]),e._v(" "),t("li",[e._v("Fix for finding parent resources")])]),e._v(" "),t("h2",{attrs:{id:"_1-1-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-1-1"}},[e._v("#")]),e._v(" 1.1.1")]),e._v(" "),t("ul",[t("li",[e._v("Show controller checks on dashboard")]),e._v(" "),t("li",[e._v("Fix for orphaned pods w/ controller checks")])]),e._v(" "),t("h2",{attrs:{id:"_1-1-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-1-0"}},[e._v("#")]),e._v(" 1.1.0")]),e._v(" "),t("ul",[t("li",[e._v("Add namespace filter in UI")]),e._v(" "),t("li",[e._v("Add priorityClass check")]),e._v(" "),t("li",[e._v("Support reading from STDIN")]),e._v(" "),t("li",[e._v("Ensure severity is set for all custom checks")]),e._v(" "),t("li",[e._v("Support audit files which use \\r or \\r\\n as newline character")]),e._v(" "),t("li",[e._v("Add option to exempt an entire controller from checks via config file")]),e._v(" "),t("li",[e._v("Fixed case where parent resources trigger error")]),e._v(" "),t("li",[e._v("Fixed UI zero-state")])]),e._v(" "),t("h2",{attrs:{id:"_1-0-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-0-3"}},[e._v("#")]),e._v(" 1.0.3")]),e._v(" "),t("ul",[t("li",[e._v("Fixed case where parent resources trigger error")]),e._v(" "),t("li",[e._v("Fixed dashboard link when "),t("code",[e._v("--base-path")]),e._v(" is set")])]),e._v(" "),t("h2",{attrs:{id:"_1-0-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-0-2"}},[e._v("#")]),e._v(" 1.0.2")]),e._v(" "),t("ul",[t("li",[e._v("Fixed case where custom CRDs are not covered by RBAC")])]),e._v(" "),t("h2",{attrs:{id:"_1-0-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-0-1"}},[e._v("#")]),e._v(" 1.0.1")]),e._v(" "),t("ul",[t("li",[e._v("Added ARM binaries to releases")])]),e._v(" "),t("h2",{attrs:{id:"_1-0-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-0-0"}},[e._v("#")]),e._v(" 1.0.0")]),e._v(" "),t("h3",{attrs:{id:"new-features"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#new-features"}},[e._v("#")]),e._v(" New Features")]),e._v(" "),t("ul",[t("li",[e._v("Added support for custom checks using JSON Schema")]),e._v(" "),t("li",[e._v("Added support for arbitrary controllers, rather than a pre-configured set\n"),t("ul",[t("li",[e._v("removed support for "),t("code",[e._v("controllers_to_scan")]),e._v(" in config")])])]),e._v(" "),t("li",[e._v("Added the ability to exempt a particular controller from a particular check.")]),e._v(" "),t("li",[e._v("Docker image now includes the default config")])]),e._v(" "),t("h3",{attrs:{id:"breaking-changes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#breaking-changes"}},[e._v("#")]),e._v(" Breaking Changes")]),e._v(" "),t("ul",[t("li",[e._v("Breaking changes in both input and output formats. See "),t("a",{attrs:{href:"https://github.com/FairwindsOps/polaris/tree/master/examples",target:"_blank",rel:"noopener noreferrer"}},[e._v("Examples"),t("OutboundLink")],1),e._v(" for examples of the new formats.\n"),t("ul",[t("li",[e._v("removed config-level configuration for checks like max/min memory settings")]),e._v(" "),t("li",[e._v("changed severity "),t("code",[e._v("error")]),e._v(" to "),t("code",[e._v("danger")])])])]),e._v(" "),t("li",[e._v("Breaking changes to the CLI\n"),t("ul",[t("li",[e._v("CLI flag "),t("code",[e._v("--set-exit-code-on-error")]),e._v(" is now "),t("code",[e._v("--set-exit-code-on-danger")])]),e._v(" "),t("li",[e._v("Flags "),t("code",[e._v("--version")]),e._v(", "),t("code",[e._v("--dashboard")]),e._v(", "),t("code",[e._v("--webhook")]),e._v(", and "),t("code",[e._v("--audit")]),e._v(" are now arguments")]),e._v(" "),t("li",[e._v("Port flags are now just "),t("code",[e._v("--port")])])])])]),e._v(" "),t("h2",{attrs:{id:"_0-6-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-6-0"}},[e._v("#")]),e._v(" 0.6.0")]),e._v(" "),t("ul",[t("li",[e._v("Fixed webhook support in Kubernetes 1.16\n"),t("ul",[t("li",[e._v("this also removes support for 1.8")])])]),e._v(" "),t("li",[e._v("Added support for exemptions via controller annotations")])]),e._v(" "),t("h2",{attrs:{id:"_0-5-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-5-2"}},[e._v("#")]),e._v(" 0.5.2")]),e._v(" "),t("ul",[t("li",[e._v("Fixed missing success messages for resource requests/limits")])]),e._v(" "),t("h2",{attrs:{id:"_0-5-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-5-1"}},[e._v("#")]),e._v(" 0.5.1")]),e._v(" "),t("ul",[t("li",[e._v("Added a few more exemptions")]),e._v(" "),t("li",[e._v("Started checking exemptions based on controller name prefix")]),e._v(" "),t("li",[t("code",[e._v("runAsUser != 0")]),e._v(" now passes the "),t("code",[e._v("runAsNonRoot")]),e._v(" check")])]),e._v(" "),t("h2",{attrs:{id:"_0-5-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-5-0"}},[e._v("#")]),e._v(" 0.5.0")]),e._v(" "),t("ul",[t("li",[e._v("Added "),t("code",[e._v("--load-audit-file")]),e._v(" flag to run the dashboard from an existing audit")]),e._v(" "),t("li",[e._v("Added an "),t("code",[e._v("ID")]),e._v(" field to each check in the output")]),e._v(" "),t("li",[e._v("Skip health checks for jobs, cronjobs, initcontainers")]),e._v(" "),t("li",[e._v("Added support for exemptions")]),e._v(" "),t("li",[e._v("Fixed dashboard base path option")])]),e._v(" "),t("h2",{attrs:{id:"_0-4-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-4-0"}},[e._v("#")]),e._v(" 0.4.0")]),e._v(" "),t("ul",[t("li",[e._v("Added additional Pod Controllers to scan PodSpec ("),t("code",[e._v("jobs")]),e._v(", "),t("code",[e._v("cronjobs")]),e._v(", "),t("code",[e._v("daemonsets")]),e._v(", "),t("code",[e._v("replicationcontrollers")]),e._v(")")])]),e._v(" "),t("h2",{attrs:{id:"_0-3-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-3-1"}},[e._v("#")]),e._v(" 0.3.1")]),e._v(" "),t("ul",[t("li",[e._v("Changed dashboard branding to refer to new org name Fairwinds")])]),e._v(" "),t("h2",{attrs:{id:"_0-3-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-3-0"}},[e._v("#")]),e._v(" 0.3.0")]),e._v(" "),t("ul",[t("li",[e._v("Added "),t("code",[e._v("--set-exit-code-on-error")]),e._v(" and "),t("code",[e._v("--set-exit-code-below-score")]),e._v(" flags to better support CI/CD")])]),e._v(" "),t("h2",{attrs:{id:"_0-2-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-2-1"}},[e._v("#")]),e._v(" 0.2.1")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/FairwindsOps/polaris/issues/146",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fix"),t("OutboundLink")],1),e._v(": Fixed logic on RunAsNonRoot check to incorporate settings in podSpec")])]),e._v(" "),t("h2",{attrs:{id:"_0-2-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-2-0"}},[e._v("#")]),e._v(" 0.2.0")]),e._v(" "),t("ul",[t("li",[e._v("Added "),t("code",[e._v("--output-format")]),e._v(" flag for better CI/CD support")]),e._v(" "),t("li",[e._v("Added "),t("code",[e._v("--display-name")]),e._v(" flag")]),e._v(" "),t("li",[e._v("Added support for StatefulSets")]),e._v(" "),t("li",[e._v("Show error message if no kubeconfig is set")])]),e._v(" "),t("h2",{attrs:{id:"_0-1-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-1-5"}},[e._v("#")]),e._v(" 0.1.5")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/FairwindsOps/polaris/issues/125",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fix"),t("OutboundLink")],1),e._v(": ignore limits/requests for initContainers")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/FairwindsOps/polaris/issues/132",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fix"),t("OutboundLink")],1),e._v(": support custom base path")])]),e._v(" "),t("h2",{attrs:{id:"_0-1-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-1-4"}},[e._v("#")]),e._v(" 0.1.4")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/FairwindsOps/polaris/issues/116",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fix"),t("OutboundLink")],1),e._v(": details pages getting template errors")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/FairwindsOps/polaris/issues/114",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fix"),t("OutboundLink")],1),e._v(": support all auth providers")]),e._v(" "),t("li",[t("a",{attrs:{href:"https://github.com/FairwindsOps/polaris/issues/112",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fix"),t("OutboundLink")],1),e._v(": Ignore readiness probe for initContainers")])]),e._v(" "),t("h2",{attrs:{id:"_0-1-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-1-3"}},[e._v("#")]),e._v(" 0.1.3")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/FairwindsOps/polaris/issues/109",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fix"),t("OutboundLink")],1),e._v(": dashboard not updating when running persistently")])]),e._v(" "),t("h2",{attrs:{id:"_0-1-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-1-2"}},[e._v("#")]),e._v(" 0.1.2")]),e._v(" "),t("ul",[t("li",[e._v("Stored all third-party assets (e.g. Charts.js) to local files to support offline dashboard viewing")]),e._v(" "),t("li",[e._v("Fix: custom configs in "),t("code",[e._v("ConfigMap")]),e._v(" not respected")])]),e._v(" "),t("h2",{attrs:{id:"_0-1-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-1-1"}},[e._v("#")]),e._v(" 0.1.1")]),e._v(" "),t("ul",[t("li",[t("a",{attrs:{href:"https://github.com/FairwindsOps/polaris/issues/93",target:"_blank",rel:"noopener noreferrer"}},[e._v("Fix"),t("OutboundLink")],1),e._v(": missing "),t("code",[e._v("config.yaml")]),e._v(" and dashboard assets in binary releases")]),e._v(" "),t("li",[e._v("Added some tests and better error handling")])]),e._v(" "),t("h2",{attrs:{id:"_0-1-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_0-1-0"}},[e._v("#")]),e._v(" 0.1.0")]),e._v(" "),t("ul",[t("li",[e._v("Dashboard fully functional")]),e._v(" "),t("li",[e._v("Validating webhook functional, but still considered beta")]),e._v(" "),t("li",[e._v("Checks:\n"),t("ul",[t("li",[e._v("Health\n"),t("ul",[t("li",[e._v("readiness probe missing")]),e._v(" "),t("li",[e._v("liveness probe missing")])])]),e._v(" "),t("li",[e._v("Images\n"),t("ul",[t("li",[e._v("tag not specified")]),e._v(" "),t("li",[e._v("pull policy not always")])])]),e._v(" "),t("li",[e._v("Networking\n"),t("ul",[t("li",[e._v("host network set")]),e._v(" "),t("li",[e._v("host port set")])])]),e._v(" "),t("li",[e._v("Resources\n"),t("ul",[t("li",[e._v("cpu/memory requests missing")]),e._v(" "),t("li",[e._v("cpu/memory limits missing")]),e._v(" "),t("li",[e._v("cpu/memory ranges exceeded")])])]),e._v(" "),t("li",[e._v("Security\n"),t("ul",[t("li",[e._v("security capabilities")]),e._v(" "),t("li",[e._v("host IPC set")]),e._v(" "),t("li",[e._v("host PID set")]),e._v(" "),t("li",[e._v("not read-only fs")]),e._v(" "),t("li",[e._v("privilege escalation allowed")]),e._v(" "),t("li",[e._v("run as root allowed")]),e._v(" "),t("li",[e._v("run as privileged")])])])])])])])}),[],!1,null,null,null);r.default=s.exports}}]); |