Garden
Garden is a DevOps automation tool for developing and testing Kubernetes apps faster.
🚀 Usage​
Add the following command to your CI configuration file:
fluentci run --wasm garden setup
Commands​
| Name | Description | 
|---|---|
| setup | Installs a specific version of garden. | 
| build | Perform your Builds. | 
| cleanup | Cleanup resources. | 
| deploy | Deploy actions to your environment. | 
| get | Retrieve and output data and objects, e.g. secrets, status info etc. | 
| publish | Build and publish artifacts (e.g. container images) to a remote registry. | 
| run | Perform one or more Run actions | 
| test | Run all or specified Test actions in the project. | 
| validate | Check your garden configuration for errors. | 
| workflow | Run a workflow. | 
Code Examples​
Add fluentci-pdk crate to your Cargo.toml:
[dependencies]
fluentci-pdk = "0.2.1"
Use the following code to call a module function:
use fluentci_pdk::dag;
// ...
dag().call(
  "https://pkg.fluentci.io/[email protected]?wasm=1",
  "setup",
  vec!["0.13.35"],
)?;
CI/CD Integration​
The following example shows how to integrate FluentCI with popular CI providers to setup Garden:
- Github Actions
 - GitLab CI
 - Circle CI
 - Azure Pipelines
 - AWS CodePipeline
 
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
      - name: Install garden
        run: fluentci run --wasm garden setup
    
.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
    FIREBASE_TOKEN: $FIREBASE_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-garden:
  extends: .fluentci
  script:
    - fluentci run --wasm garden setup
.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: Install garden
      - run: fluentci run --wasm garden setup
      
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 garden setup
    displayName: install garden
    
buildspec.yml
version: 0.2
phases:
  install:
    commands:
      - curl -fsSL https://cli.fluentci.io | bash
      - fluentci --version
  build:
    commands:
      - fluentci run --wasm garden setup
  post_build:
    commands:
      - echo Build completed on `date`