Skip to content
This repository has been archived by the owner on Jan 16, 2023. It is now read-only.

Commit

Permalink
docs(*): add documentation site (#37)
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewrynhard authored Aug 13, 2017
1 parent f831df6 commit fa8d5ca
Show file tree
Hide file tree
Showing 65 changed files with 3,548 additions and 6 deletions.
1 change: 1 addition & 0 deletions .bettercodehub.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
exclude:
- /vendor/.*
- /docs/.*
component_depth: 1
languages:
- go
Expand Down
1 change: 1 addition & 0 deletions .codebeatignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docs/**
14 changes: 14 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
## Commits
All commits should follow the guidelines outlined in [Conventional Commits](https://conventionalcommits.org/).

## Branching Model
_A branching model has not yet been determined. Please check back later._

## Merging Strategy
All merges to `master` use the `squash and merge` strategy in order to keep the commit history clear and easy to follow.

## Versioning
All release versions will adhere to the [Semantic Versioning](http://semver.org/) scheme.

## Releases
_A release schedule has not yet been determined. Please check back later._
16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,24 @@
**Argus** is a tool for monitoring Kubernetes with [LogicMonitor](https://www.logicmonitor.com). Some of the key features of Argus are:
- **Automated Device Management:** Discovers etcd members, cluster nodes, services, and pods, and automates the management of their lifecylce as [Devices](https://www.logicmonitor.com/support/devices/) in LogicMonitor.
- **Automated Device Property Management:** Discovers Kubernetes resource metadata and maps them to [Device Properties](https://www.logicmonitor.com/support/devices/adding-managing-devices/device-properties/).
- **Automated Device Tree Management:** Leverages Kubernetes events to provide real-time accuracy of a cluster's resources in LogicMonitor, and organizes them by resource type and namespace in the [Device Tree](https://www.logicmonitor.com/support/devices/devices-page-overview/navigating-devices/) .
- **Automated Device Tree Management:** Leverages Kubernetes events to provide real-time accuracy of a cluster's resources in LogicMonitor, and organizes them by resource type and namespace in the [Device Tree](https://www.logicmonitor.com/support/devices/devices-page-overview/navigating-devices/).

Getting Started
---------------
Argus is available as a Helm chart. Please see the installation instructions in the [LogicMonitor charts](https://github.com/logicmonitor/k8s-helm-charts/tree/master/argus) repository.
> **Note:** Argus is opensource software and currently in alpha phase. The LogicMonitor support team will not assist in any issues related to Argus.
See the [documentation](https://logicmonitor.github.io/k8s-argus) to discover more about Argus.
> **Note:** Argus is a community driven project. LogicMonitor support will not assist in any issues related to Argus.
Developing Argus
----------------
To build Docker image, run:
To build Argus, run the following in the root directory:
```
$ make
```
> **Note:** The Dockerfile uses multi-stage builds. Docker 17.05.0 or greater is required.
To build the documentation, run the following in the `docs` directory:
```
$ hugo
```


### License
[![license](https://img.shields.io/github/license/logicmonitor/k8s-argus.svg?style=flat-square)](https://github.com/logicmonitor/k8s-argus/blob/master/LICENSE)
6 changes: 6 additions & 0 deletions docs/archetypes/default.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: "{{ replace .TranslationBaseName "-" " " | title }}"
date: {{ .Date }}
draft: true
---

68 changes: 68 additions & 0 deletions docs/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
baseurl = "https://logicmonitor.github.io/k8s-argus"
languageCode = "en-us"
title = "Argus"
theme = "hugo-material-docs"
metadataformat = "yaml"
canonifyurls = true
# Enable Google Analytics by entering your tracking id
googleAnalytics = ""

[params]
# General information
author = "LogicMonitor, Inc."
description = "Automated Kubernetes monitoring."
copyright = "Released under Mozilla Public License 2.0"

# Repository
provider = "GitHub"
repo_url = "https://github.com/logicmonitor/k8s-argus"

version = "0.1.0"
logo = "images/logo.png"
favicon = ""

permalink = "#"

# Custom assets
custom_css = []
custom_js = []

# Syntax highlighting theme
highlight_css = ""

[params.palette]
primary = "deep-purple"
accent = "deep-purple"

[params.font]
text = "Roboto"
code = "Roboto Mono"


[social]
twitter = "LogicMonitor"
github = "LogicMonitor"
email = "[email protected]"


[[menu.main]]
name = "Argus"
url = "/"
weight = 1

[[menu.main]]
name = "Getting started"
url = "getting-started/"
weight = 2

[[menu.main]]
name = "Roadmap"
url = "roadmap/"
weight = 3


[blackfriday]
smartypants = true
fractions = true
smartDashes = true
plainIDAnchors = true
11 changes: 11 additions & 0 deletions docs/content/argus/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: "Argus"
date: 2017-08-12T17:16:07-07:00
draft: false
type: index
---

__*"And the goddess stirred in him unwearying strength: sleep never fell upon his eyes; but he kept sure watch always."*__

Hesiod or Cercops of Miletus, Aegimius Frag 5.

52 changes: 52 additions & 0 deletions docs/content/getting-started/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: "Getting Started"
date: 2017-08-12T16:20:39-07:00
draft: false
---

{{< warning title="Warning" >}}
Argus is a community driven project. LogicMonitor support will not assist in any issues related to Argus.
{{< /warning >}}

[Argus](https://github.com/logicmonitor/k8s-argus) can be installed with [Helm](https://github.com/kubernetes/helm). A [LogicMonitor](https://www.logicmonitor.com) account is required.

First, you will need to add the LogicMonitor chart repository using the Helm CLI:
```bash
$ helm repo add logicmonitor https://logicmonitor.github.com/k8s-helm-charts
```

Now, install Argus:
```bash
$ helm upgrade
--install \
--debug \
--wait \
--namespace '$NAMESPACE' \
--set accessID='$ACCESS_ID' \
--set accessKey='$ACCESS_KEY' \
--set account='$ACCOUNT' \
--set clusterName='$CLUSTER_NAME' \
--set collectorDescription='$COLLECTOR_DESCRIPTION' \
--set collectorImageTag='$COLLECTOR_IMAGE_TAG' \
--set collectorSize='$COLLECTOR_SIZE' \
--set collectorVersion='$COLLECTOR_VERSION' \
--set etcdDiscoveryToken='$ETCD_DISCOVERY_TOKEN' \
--set imageTag='$IMAGE_TAG' \
argus logicmonitor/argus
```

Required Values:

- **accessID:** The LogicMonitor API key ID.
- **accessKey:** The LogicMonitor API key.
- **account:** The LogicMonitor account name.
- **clusterName:** A unique name given to the cluster's device group.
- **collectorVersion:** The collector version to install.
- **collectorDescription:** A unique collector description used to look up a collector dynamically.

Optional Values:

- **collectorImageTag:** The collector image tag.
- **collectorSize:** The collector size to install. Can be nano, small, medium, or large.
- **etcdDiscoveryToken:** The public etcd discovery token used to add etcd hosts to the cluster device group.
- **imageTag:** The argus image tag to use.
5 changes: 5 additions & 0 deletions docs/content/roadmap/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Roadmap"
date: 2017-08-12T16:31:31-07:00
draft: false
---
35 changes: 35 additions & 0 deletions docs/content/roadmap/v0.1.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
title: "v0.1.0"
date: 2017-08-12T16:35:36-07:00
draft: false
menu:
main:
parent: Roadmap
identifier: "v0.1.0"
weight: 0
---

This release focuses on the automated management of the following:

- **Device Tree**
- **Devices**
- **Device Properties**

## Device Tree Management
In this release, Argus will have an opinionated way of representing a cluster in the LogicMonitor Device Tree.
It will first create a top level device group with the name of your cluster as specified in the arguments to the chart.
Under this top level device group, four additional device groups will be created for each supported resource type:

- **Nodes:** The nodes that the cluster is comprised of.
- **Pods:** Pods running in the cluster.
- **Services:** Services running in the cluster.

For namespaced resources (Pods, Services), a device group will be created for each namespace and placed inside the respective resource device group.
For clusters that use an external etcd cluster, an **Etcd** device group will be created in the cluster's root device group.

## Device Management
To keep up with the everchanging topology of a Kubernetes cluster, Argus subscribes to the Kubernetes API event stream for each resource type mentioned in [Device Tree Management](#device-tree-management). Upon receiving an event, Argus decides on how to represent the event in LogicMonitor.


## Device Property Management
Argus will map Kubernetes metadata to device properties.
10 changes: 10 additions & 0 deletions docs/content/roadmap/v0.2.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: "v0.2.0"
date: 2017-08-12T16:35:39-07:00
draft: true
menu:
main:
parent: Roadmap
identifier: "v0.2.0"
weight: 0
---
Loading

0 comments on commit fa8d5ca

Please sign in to comment.