Skip to content

Arlon 0.9.0 UX

CxJ edited this page Jun 8, 2022 · 6 revisions

To build on the prototype Arlon is now working towards a more user friendly and scalable tool. The prototype has the following limitations:

  1. A user must build a cluster, and then install and configure ArgoCD, CAPI and Arlon
  2. The user must manually build the CLI for their desktop OS
  3. The user must install ArgoCD CLI and connect to ArgoCD && have Github CLI installed
  4. The CLI leverages the users current Kubectl Context
  5. The CLI leverages the users current argoCD CLI
  6. The user needs to manually extract a secret to connect Arlon Controller to ArgoCD
  7. The user must log into ArgoCD every 24 hours otherwise Arlon fails to execute its commands
  8. The user must setup the following local environment variables:
    • ${ARLON_REPO}: where the arlon repo is locally checked out
    • ${WORKSPACE_REPO}: where the workspace repo is locally checked out
    • ${WORKSPACE_REPO_URL}: the workspace repo's git URL. It typically looks like https://github.com/${username}/${reponame}.git
  9. Arlon stores ClusterSpecs and bundles inside the K8s cluster breaking the GitOps paradigm
  10. Arlon only supports a subset of ClusterAPI configurations, significantly impacting its viability.

The Ideal UX

The future Arlon experience must enable the following user experience

  1. All ClusterSpec, bundles and profiles need to be stored in Git

  2. The User should not need to build/compile the CLI. It should be available via popular package managers such Brew

  3. Users should be able to use Arlon to bootstrap/setup their management cluster such that they don't need to install ArgoCD, Arlon and ClusterAPI

  4. Arlon should be able to read/write to git

    • Git for storing ClusterSpec, Bundles, Profiles: Arlon should connect to Git and read a list of repositories from the users Git and allow them to select or enter any repository that is then used as the repo where ClusterSpec, Bundles and Profiles are written
    • Git for writing a Clusters' running objects: Arlon should connect to Git and read a list of repositories from the users Git and allow them to select or enter any repository that is then used as the repo where each created or imported cluster's own ClusterSpec, Bundles and Profiles are written for use at runtime. (this is primarily required for Cloned Clusters)
  5. Arlon should not use ArgoCD context/auth

  6. Arlon should not use the users Kubeconfig for cluster context/auth

  7. Arlon CLI should not rely on ANY users environment variables

  8. Users should not need to have Gihub CLI installed.

User Workflow Examples

Arlon Setup

The following are high level steps a user should be able to use to setup Arlon

  1. User builds/selected their management cluster
  2. User downloads Arlon CLI
  3. User runs arlon bootstrap -c /usr/me/.kube/config
    • The cluster has Arlon, ArgoCD and ClusterAPI Installed
  4. User runs arlon cloud configure aws
    • ClusterAPI is setup to work with the users AWS account
  5. User runs `arlon clusterSpec create