Skip to content

Commit 85c5405

Browse files
authored
Merge pull request #379 from kosli-dev/add-what-do-i-do-if-kosli-is-down-faq
Add what-do-i-do-if-kosli-is-down tutorial (linked from faq)
2 parents af4d109 + e3baf42 commit 85c5405

File tree

8 files changed

+74
-9
lines changed

8 files changed

+74
-9
lines changed

docs.kosli.com/content/faq/_index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ If you can't find the answer you're looking for please:
1111
* email us at [[email protected]](mailto:[email protected])
1212
* join our slack community [here](https://join.slack.com/t/koslicommunity/shared_invite/zt-1dlchm3s7-DEP6TKjP3Mr58OZVB3hCBw)
1313

14+
## What do I do if Kosli is down?
15+
16+
There is a [tutorial](/tutorials/what_do_i_do_if_kosli_is_down/) dedicated to this.
17+
1418
## Why am I getting "unknown flag" error?
1519

1620
If you see an error like below (or similar, with a different flag):

docs.kosli.com/content/getting_started/install.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ Among these options, priority is given in the following order: Option 1 holds th
113113

114114
### Assigning flags via environment variables
115115

116-
To assign a CLI flag using environment variables, generate a variable prefixed with KOSLI_. Utilize the flag's name in uppercase and substitute any internal dashes with underscores. For instance:
116+
To assign a CLI flag using environment variables, generate a variable prefixed with KOSLI_. Use the flag's name in uppercase and substitute any internal dashes with underscores. For instance:
117117

118118

119119
* `--api-token` corresponds to `KOSLI_API_TOKEN`

docs.kosli.com/content/getting_started/next.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ weight: 310
55
---
66
# Part 10: Next Steps
77

8-
In the previous chapters, you explored Kosli Flows and Environments and have reported some data to Kosli. The next steps would be to harness the benefits of your hard work. Here are a few areas to look at next:
8+
In the previous chapters, you explored Kosli Flows and Environments and have reported some data to Kosli.
9+
The next steps would be to harness the benefits of your hard work. Here are a few areas to look at next:
910

11+
- [What do I do if Kosli is down?](/tutorials/what_do_i_do_if_kosli_is_down/)
1012
- [Querying Kosli](/tutorials/querying_kosli/)
1113
- [Setup Actions on Environment changes](/integrations/actions/)
1214
- [Integrate Slack and Kosli](/integrations/slack/)

docs.kosli.com/content/getting_started/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ weight: 210
55
---
66
# Part 1: Overview
77

8-
The "Getting Started" section encompasses the steps you can follow to implement Kosli in your organization. It focuses on general instructions for utilizing Kosli and doesn't delve into specific tutorials for integrating Kosli with particular tools or runtime environments. For tailored tutorials catering to specific integrations, please refer to [tutorials](/tutorials).
8+
The "Getting Started" section encompasses the steps you can follow to implement Kosli in your organization. It focuses on general instructions for using Kosli and doesn't delve into specific tutorials for integrating Kosli with particular tools or runtime environments. For tailored tutorials catering to specific integrations, please refer to [tutorials](/tutorials).
99

1010
{{< hint success >}}
1111
If you're eager to start using Kosli right away, check our ["Get familiar with Kosli"](/tutorials/get_familiar_with_kosli/) tutorial that allows you to quickly try out Kosli features without the need to spin up a separate environment. No CI required.

docs.kosli.com/content/getting_started/service-accounts.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ weight: 230
77

88
Prior to engaging with Kosli, authentication is necessary. There are two methods to achieve this:
99

10-
1. Utilizing a service account API key (recommended).
10+
1. Using a service account API key (recommended).
1111
2. Using a personal API key.
1212

1313
## Service Accounts
@@ -33,7 +33,7 @@ To create a service account:
3333
## Personal API Keys
3434

3535
{{< hint warning >}}
36-
Personal API keys possess equivalent permissions to your user account, encompassing access to multiple organizations. Therefore, exercise caution while utilizing personal API keys. These keys grant access and perform actions as per the associated user's permissions across various organizations.
36+
Personal API keys possess equivalent permissions to your user account, encompassing access to multiple organizations. Therefore, exercise caution while using personal API keys. These keys grant access and perform actions as per the associated user's permissions across various organizations.
3737
{{< /hint >}}
3838

3939
To create a personal API key:
@@ -51,7 +51,7 @@ You can execute a zero-downtime API key rotation by following these steps:
5151
Create a new API key that will replace the existing key.
5252

5353
- **Replace the Old Key Where Used**:
54-
Implement the new key in all areas where the old key is currently utilized for authentication or access.
54+
Implement the new key in all areas where the old key is currently used for authentication or access.
5555

5656
- **Delete the Old Key:**
5757
Once the new key is in place and operational, remove or delete the old key from the system or applications where it was previously employed for security or authentication purposes.

docs.kosli.com/content/integrations/actions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Use the app to create notification settings by running the `/kosli subscribe` sl
3030
2) Using Slack Incoming Webhooks
3131

3232
- Create a [Slack incoming webhook](https://api.slack.com/messaging/webhooks#create_a_webhook).
33-
- Utilize this webhook to [create a notification settings in the Kosli UI](/integrations/actions/#manage-actions-in-the-ui).
33+
- Use this webhook to [create a notification settings in the Kosli UI](/integrations/actions/#manage-actions-in-the-ui).
3434

3535
Both approaches allow you to configure Kosli notifications in Slack, offering flexibility based on your preferences.
3636

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
---
2+
title: "What do I do if Kosli is down?"
3+
bookCollapseSection: false
4+
weight: 507
5+
---
6+
7+
# What do I do if Kosli is down?
8+
9+
Customers use Kosli to attest evidence of their business and software processes.
10+
If Kosli is down, these attestations will fail.
11+
This will break CI workflow pipelines, blocking artifacts from being deployed.
12+
In this situation there is a built-in mechanism to instantly turn Kosli off and keep the pipeline flowing.
13+
When Kosli is back up, you can instantly turn Kosli back on.
14+
15+
## Turning Kosli CLI calls on and off instantly
16+
17+
If the `KOSLI_DRY_RUN` environment variable is set to `true` then all Kosli CLI commands will:
18+
* Not communicate with Kosli at all
19+
* Print the payload they would have sent
20+
* Exit with a zero status code
21+
22+
We recommend creating an Org-level KOSLI_DRY_RUN variable in your CI system and, in all CI workflows,
23+
ensuring there is an environment variable set from it.
24+
25+
For example, in a [Github Action workflow](https://github.com/cyber-dojo/differ/blob/main/.github/workflows/main.yml):
26+
27+
```yaml
28+
name: Main
29+
...
30+
env:
31+
KOSLI_DRY_RUN: ${{ vars.KOSLI_DRY_RUN }} # true iff Kosli is down
32+
```
33+
34+
35+
## Turning Kosli API calls on and off instantly
36+
37+
If you are using the Kosli API in your workflows (e.g. using `curl`), we recommend using the same Org-level `KOSLI_DRY_RUN`
38+
environment variable and guarding the `curl` call with a simple if statement. For example:
39+
40+
```shell
41+
#!/usr/bin/env bash
42+
43+
kosli_curl()
44+
{
45+
local URL="${1}"
46+
local JSON_PAYLOAD="${2}"
47+
48+
if [ "${KOSLI_DRY_RUN:-}" == "true" ]; then
49+
echo KOSLI_DRY_RUN is set to true. This is the payload that would have been sent
50+
echo "${JSON_PAYLOAD}" | jq .
51+
else
52+
curl ... --data="${JSON_PAYLOAD}" "${URL}"
53+
fi
54+
}
55+
```
56+
57+
58+
59+

docs.kosli.com/content/understand_kosli/what_is_kosli.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,15 @@ Kosli serves as a versatile solution for a variety of use cases. Two primary sce
3333
- Enhancing Overall Observability of Changes in Complex Systems and Environments:
3434
Beyond compliance considerations, Kosli remains valuable as a comprehensive platform, offering a unified view to different stakeholders. It provides visibility into changes occurring across various components of complex systems, even when there are no specific compliance requirements in place. This single pane of glass enhances overall observability.
3535

36-
Feel free to contact us with any additional questions or if you require further information regarding the capabilities of Kosli. Alternatively, [explore how our customers have successfully implemented and utilized our services](https://www.kosli.com/case-studies/).
36+
Feel free to contact us with any additional questions or if you require further information regarding the capabilities of Kosli. Alternatively, [explore how our customers have successfully implemented and used our services](https://www.kosli.com/case-studies/).
3737

3838
# Where does Kosli fit in the growing tools landscape?
3939

4040
Kosli is tool-agnostic, specifically crafted to seamlessly integrate with various tools, including CI systems, code analysis tools, runtime environments, and more. Serving as a comprehensive compliance and change data hub, Kosli consolidates information from all your tools into a unified platform. It acts as your singular compliance and change management interface, providing a consolidated and streamlined view of data from diverse sources.
4141

4242
# How does Kosli work?
4343

44-
Kosli operates akin to a black box recorder, functioning as an append-only repository for immutable change records. To utilize Kosli, users report specific changes of interest through the command line interface (CLI) or API. Kosli, in turn, captures and stores these changes while actively monitoring compliance with designated policies.
44+
Kosli operates akin to a black box recorder, functioning as an append-only repository for immutable change records. Users report specific changes of interest through the command line interface (CLI) or API. Kosli, in turn, captures and stores these changes while actively monitoring compliance with designated policies.
4545

4646
Notably, change sources can originate from diverse environments, including build systems (such as CI systems) and runtime environments (for instance, a Kubernetes cluster). This flexibility ensures that Kosli effectively captures and monitors changes across various stages of development and deployment.
4747

0 commit comments

Comments
 (0)