diff --git a/docs/examples/utilities/_category.json b/docs/examples/utilities/_category.json new file mode 100644 index 0000000..d1b4c67 --- /dev/null +++ b/docs/examples/utilities/_category.json @@ -0,0 +1,7 @@ +{ + "label": "Utilities", + "position": 12, + "link": { + "type": "generated-index" + } +} \ No newline at end of file diff --git a/docs/examples/utilities/arkade.mdx b/docs/examples/utilities/arkade.mdx new file mode 100644 index 0000000..f57e65d --- /dev/null +++ b/docs/examples/utilities/arkade.mdx @@ -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. + +arkade logo + +## 🚀 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"; + + + + + {`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 + `} + + + + + {` +.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 +`} + + + + + +{`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 +`} + + + + +{`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 +`} + + + + +{`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\``} + + + +```