Skip to content

loft-sh/vcluster-gcp-deployer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Build & Push

export PROJECT_ID=$(gcloud config get-value project | tr ':' '/')
export REGION=us
export REGISTRY=${REGION}-docker.pkg.dev/${PROJECT_ID}
export APP_NAME=vcluster-platform
export IMAGE=${REGISTRY}/${APP_NAME}/deployer
export TAG="4.4"

# Make registry public
gcloud artifacts repositories add-iam-policy-binding $APP_NAME \
  --location=$REGION \
  --member="allUsers" \
  --role="roles/artifactregistry.reader" \
  --project=$PROJECT_ID

# Build and push image
docker buildx build \
      --platform linux/amd64,linux/arm64,linux/arm/v7 \
      --tag ${IMAGE}:${TAG} \
      --push .

Test

docker pull gcr.io/cloud-marketplace-tools/k8s/dev

BIN_FILE="$HOME/bin/mpdev"
docker run \
  gcr.io/cloud-marketplace-tools/k8s/dev \
  cat /scripts/dev > "$BIN_FILE"
chmod +x "$BIN_FILE"

kubectl apply -f "https://raw.githubusercontent.com/GoogleCloudPlatform/marketplace-k8s-app-tools/master/crd/app-crd.yaml"

$BIN_FILE /scripts/doctor

export NAMESPACE=test-2
kubectl create namespace $NAMESPACE

$BIN_FILE install \
  --deployer=$IMAGE:$TAG \
  --parameters='{"name": "test-deployment", "namespace": "'$NAMESPACE'"}'

# Check logs
kubectl get po --all-namespaces
kubectl logs -n $NAMESPACE ...

# Check RBAC
kubectl get clusterrolebindings | grep -i deployer
kubectl get clusterrolebindings -o json | jq -r '
  .items[] | select(.subjects[]? |
    .kind=="ServiceAccount" and .name=="test-deployment-deployer-sa" and .namespace=="$NAMESPACE") |
  .metadata.name'

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published