Skip to content

Commit

Permalink
add arkade docs
Browse files Browse the repository at this point in the history
add arkade docs

add arkade docs
  • Loading branch information
tsirysndr committed Aug 6, 2024
1 parent d5a93b9 commit 5757c35
Show file tree
Hide file tree
Showing 2 changed files with 199 additions and 0 deletions.
7 changes: 7 additions & 0 deletions docs/examples/utilities/_category.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"label": "Utilities",
"position": 12,
"link": {
"type": "generated-index"
}
}
192 changes: 192 additions & 0 deletions docs/examples/utilities/arkade.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
---
sidebar_position: 1
title: Arkade
---

[Arkade](https://github.com/alexellis/arkade) is how developers install the latest versions of their favourite CLI tools and Kubernetes apps.

<img
src="https://github.com/alexellis/arkade/raw/master/docs/arkade-logo-sm.png"
alt="arkade logo"
width="150"
height="150"
/>

## 🚀 Usage

Add the following command to your CI configuration file:

```bash
fluentci run --wasm arkade get kind
fluentci run --wasm arkade system install firecracker
```

## Commands

| Name | Description |
| ------- | -------------------------------- |
| setup | Install arkade |
| chart | Chart utilites |
| get | The get command downloads a tool |
| install | Install Kubernetes app |
| oci | oci apps |
| system | System apps |

## Code examples

Add `fluentci-pdk` crate to your `Cargo.toml`:

```toml
[dependencies]
fluentci-pdk = "0.2.1"
```

Use the following code to call a module function:

```rust
use fluentci_pdk::dag;

// ...

dag().call(
"https://pkg.fluentci.io/arkade@v0.1.0?wasm=1",
"get",
vec!["kind"],
);

dag().call(
"https://pkg.fluentci.io/arkade@v0.1.0?wasm=1",
"system",
vec!["install", "firecracker"],
);
```

## CI/CD pipeline integrations

The following examples show how to integrate FluentCI with popular CI providers to install apps using arkade:

import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import CodeBlock from "@theme/CodeBlock";

<Tabs>
<TabItem value="gha" label="Github Actions">
<CodeBlock language="yaml" title="ci.yml">
{`name: ci
on:
push:
branches:
- main
jobs:
tasks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Fluent CI
uses: fluentci-io/setup-fluentci@v5
with:
wasm: true
plugin: arkade
args: |
get kind
system install firecracker
`}
</CodeBlock>
</TabItem>
<TabItem value="gitlab" label="GitLab CI">
<CodeBlock language="yaml" title=".gitlab-ci.yml">
{`
.docker:
image: denoland/deno:debian-1.42.4
services:
- docker:\${DOCKER_VERSION}-dind
variables:
DOCKER_HOST: tcp://docker:2376
DOCKER_TLS_VERIFY: "1"
DOCKER_TLS_CERTDIR: /certs
DOCKER_CERT_PATH: /certs/client
DOCKER_DRIVER: overlay2
DOCKER_VERSION: 20.10.16
GITLAB_ACCESS_TOKEN: $GITLAB_ACCESS_TOKEN
.fluentci:
extends: .docker
before_script:
- apt-get update
- apt-get install -y curl tar gzip ca-certificates openssl git unzip libncursesw6
- deno install -A -r https://cli.fluentci.io -n fluentci
- fluentci --version
- curl -L https://dl.dagger.io/dagger/install.sh | DAGGER_VERSION=0.12.3 sh
- mv bin/dagger /usr/local/bin
- dagger version
install-apps:
extends: .fluentci
script:
- fluentci run --wasm arkade get kind
- fluentci run --wasm arkade system install firecracker
`}

</CodeBlock>
</TabItem>
<TabItem value="circleci" label="Circle CI">
<CodeBlock language="yaml" title=".circleci/config.yml">
{`version: 2.1
jobs:
job:
steps:
- checkout
- run: |
sudo apt-get update && sudo apt-get install -y curl unzip
curl -fsSL https://cli.fluentci.io | bash
fluentci --version
name: Setup FluentCI
- run: |
fluentci run --wasm arkade get kind
fluentci run --wasm arkade system install firecracker
name: install apps
machine:
image: ubuntu-2004:2023.07.1
workflows:
fluentci:
jobs:
- job
`}
</CodeBlock>
</TabItem>
<TabItem value="azure" label="Azure Pipelines">
<CodeBlock language="yaml" title="azure-pipelines.yml">
{`trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- script: |
curl -fsSL https://cli.fluentci.io | bash
fluentci --version
echo "##vso[task.prependpath]\${HOME}/.deno/bin
displayName: Setup FluentCI
- script: |
fluentci run --wasm arkade get kind
fluentci run --wasm arkade system install firecracker
displayName: install apps
`}
</CodeBlock>
</TabItem>
<TabItem value="aws" label="AWS CodePipeline">
<CodeBlock language="yaml" title="buildspec.yml">
{`version: 0.2
phases:
install:
commands:
- curl -fsSL https://cli.fluentci.io | bash
- fluentci --version
build:
commands:
- fluentci run --wasm arkade get kind
- fluentci run --wasm arkade system install firecracker
post_build:
commands:
- echo Build completed on \`date\``}
</CodeBlock>
</TabItem>
</Tabs>
```

0 comments on commit 5757c35

Please sign in to comment.