freshcloud

module
v0.0.0-...-aef04b5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 27, 2022 License: Apache-2.0

README

Build results codecov CodeQL

Fresh Cloud

Fresh Cloud is a lightweight golang binary or command line interface (CLI) that simplifies the creation of a modern application platform on Kubernetes. The freshctl CLI is packed with a default, yet highly customizable set of scripts for managing services, application pipelines and production applications on Kubernetes.

The original Fresh Cloud article with step-by-step instructions in Bash can be found here freshcloud.com.

Getting started

Download and install the latest darwin-arm64 release of the binary. Additional golang operating systems and architectures can be found in the GitHub action build artifacts.

curl -L https://github.com/initialcapacity/freshcloud/releases/latest/download/freshctl-darwin-arm64 -o /usr/local/bin/freshctl
chmod 755 /usr/local/bin/freshctl

Install the following prerequisites.

Management cluster

The management cluster runs the image registry and continuous integration and delivery pipeline. By default, Fresh Cloud uses Harbor for the image registry and Concourse for the CI/CD pipeline.

Configure your google cloud project.

gcloud config set project ${GCP_PROJECT_ID}

Ensure the project was set correctly.

gcloud projects describe ${GCP_PROJECT_ID}

Create a directory for you project.

cd /home/{user}/workspace/
mkdir freshcloud-example
cd freshcloud-example

Create a .env_infra.sh file similar to the below.

export GCP_PROJECT_ID=aProjectId
export GCP_ZONE=aZone

export K8S_CLUSTER_NAME=aClusterName

export DOMAIN=aDomain
export EMAIL_ADDRESS=anEmail
export PASSWORD=aPassword

Next, source environment the file.

source .env_infra.sh

Then, run each command to create a fresh cloud management cluster.

Note adding the --execute flag will execute the command below.

freshctl clusters gcp enable-services
freshctl clusters gcp create
freshctl clusters gcp list
freshctl services add contour

Create a DNS entry for your load balancer. As needed, re-run the below command to show your ip address.

kubectl describe svc ingress-contour-envoy --namespace projectcontour | grep Ingress | awk '{print $3}'

Continue installing management cluster services.

freshctl services add cert-manager
freshctl services add harbor
freshctl services add concourse
freshctl services add kpack

Confirm the management cluster services are deployed.

  • Harbor https://registry.{your-domain}
  • Concourse https://ci.{your-domain}

That's a wrap for now.

Continue to our Applications page to learn how to deploy application pipelines to your new cluster.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL