diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..dcda7a1
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,76 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, sex characteristics, gender identity and expression,
+level of experience, education, socio-economic status, nationality, personal
+appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviors that they deem inappropriate,
+threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by contacting the project team at [opensource@indeed.com](mailto:opensource@indeed.com). All
+complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an incident.
+Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
+available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see
+https://www.contributor-covenant.org/faq
diff --git a/OSSMETADATA b/OSSMETADATA
new file mode 100644
index 0000000..b96d4a4
--- /dev/null
+++ b/OSSMETADATA
@@ -0,0 +1 @@
+osslifecycle=active
diff --git a/client/src/components/nodesPanel.js b/client/src/components/nodesPanel.js
index 722409e..81f89e6 100644
--- a/client/src/components/nodesPanel.js
+++ b/client/src/components/nodesPanel.js
@@ -6,6 +6,7 @@ import LoadingEllipsis from './loadingEllipsis';
import {MetadataHeaders, MetadataColumns, TableBody, objectMap} from './listViewHelpers';
import {unparseCpu, unparseRam} from '../utils/unitHelpers';
import {getNodeResourceValue, getNodeResourcePercent, getNodeUsagePercent, getNodeUsage, getNodeResourcesAvailable} from '../utils/metricsHelpers';
+import getReadyStatus from '../utils/nodeHelpers';
export default class NodesPanel extends Base {
constructor(props) {
@@ -91,16 +92,6 @@ export default class NodesPanel extends Base {
}
}
-/**
- *
- * @param {*status* object with a status field (most likely the row from the TableBody)}
- * @returns the status text, as defined in https://kubernetes.io/docs/concepts/architecture/nodes/#condition
- */
-function getReadyStatus({status}) {
- if (!status.conditions) return null;
- const ready = status.conditions.find(y => y.type === 'Ready');
- return ready && ready.status;
-}
/** Simple mapping between ready statuses and an UTF-8 symbol character */
const statusesToUtf8 = { "True": "\u2713", "False": "\uD83D\uDEC7", "Unknown": "\u003F" }
diff --git a/client/src/utils/nodeHelpers.js b/client/src/utils/nodeHelpers.js
new file mode 100644
index 0000000..4f2eb4a
--- /dev/null
+++ b/client/src/utils/nodeHelpers.js
@@ -0,0 +1,11 @@
+/**
+ * @param {*status* object with a status field (most likely the row from the TableBody)}
+ * @returns the status text, as defined in https://kubernetes.io/docs/concepts/architecture/nodes/#condition
+ */
+function getReadyStatus({status}) {
+ if (!status.conditions) return null;
+ const ready = status.conditions.find(y => y.type === 'Ready');
+ return ready && ready.status;
+}
+
+export default getReadyStatus;
diff --git a/client/src/views/editorModal.scss b/client/src/views/editorModal.scss
index 276586f..647a133 100644
--- a/client/src/views/editorModal.scss
+++ b/client/src/views/editorModal.scss
@@ -16,6 +16,7 @@
margin: 0px;
padding: 10px;
flex: 1;
+ font-family: monospace;
}
.editorModal_docs {
diff --git a/client/src/views/node.js b/client/src/views/node.js
index d65f7c3..38fa135 100644
--- a/client/src/views/node.js
+++ b/client/src/views/node.js
@@ -75,6 +75,7 @@ export default class Node extends Base {