include .env


all: minikube secrets tilt

tilt:
	tilt up

secrets:
	kubectl delete secret link2cid --ignore-not-found
	kubectl create secret generic link2cid \
	--from-literal=apiKey=${LINK2CID_API_KEY}

	kubectl delete secret vultr --ignore-not-found
	kubectl create secret generic vultr \
	--from-literal=vultr=${VULTR_CONTAINER_REGISTRY_USERNAME}

	kubectl delete secret strapi --ignore-not-found
	kubectl create secret generic strapi \
	--from-literal=adminJwtSecret=${STRAPI_ADMIN_JWT_SECRET} \
	--from-literal=apiTokenSalt=${STRAPI_API_TOKEN_SALT} \
	--from-literal=appKeys=${APP_KEYS} \
	--from-literal=databaseUrl=postgres://${DATABASE_USER}:${DATABASE_PASSWORD}@${DATABASE_HOST}:${DATABASE_PORT}/${DATABASE_NAME} \
	--from-literal=jwtSecret=${STRAPI_JWT_SECRET} \
	--from-literal=muxPlaybackRestrictionId=${MUX_PLAYBACK_RESTRICTION_ID} \
	--from-literal=muxSigningKeyPrivateKey=${MUX_SIGNING_KEY_PRIVATE_KEY} \
	--from-literal=s3UscBucketApplicationKey=${S3_USC_BUCKET_APPLICATION_KEY} \
	--from-literal=s3UscBucketEndpoint=${S3_USC_BUCKET_ENDPOINT} \
	--from-literal=s3UscBucketName=${S3_USC_BUCKET_NAME} \
	--from-literal=s3UscBucketKeyId=${S3_USC_BUCKET_KEY_ID} \
	--from-literal=s3UscBucketRegion=${S3_USC_BUCKET_REGION} \
	--from-literal=muxSigningKeyId=${MUX_SIGNING_KEY_ID} \
	--from-literal=strapiAdminEmail=${STRAPI_ADMIN_EMAIL} \
	--from-literal=sendgridApiKey=${SENDGRID_API_KEY} \
	--from-literal=cdnBucketUscUrl=${CDN_BUCKET_USC_URL} \
	--from-literal=transferTokenSalt=${TRANSFER_TOKEN_SALT}




# --from-literal=sessionSecret=$(SESSION_SECRET) \
# --from-literal=twitchClientId=$(TWITCH_CLIENT_ID) \
# --from-literal=twitchClientSecret=$(TWITCH_CLIENT_SECRET) \
# --from-literal=gumroadClientId=$(GUMROAD_CLIENT_ID) \
# --from-literal=gumroadClientSecret=$(GUMROAD_CLIENT_SECRET)


define _script
cat <<'EOF' | ctlptl apply -f -
apiVersion: ctlptl.dev/v1alpha1
kind: Cluster
product: minikube
registry: ctlptl-registry
kubernetesVersion: v1.28.3
EOF
endef
export script = $(value _script)
minikube:
	@ eval "$$script"
	minikube addons enable volumesnapshots
	minikube addons enable csi-hostpath-driver
	minikube addons enable metrics-server



# A gitea act runner which runs locally
# https://docs.gitea.com/next/usage/actions/overview
# this doesnt work because of missing docker in docker
# I'm running this using systemd instead
#runner:
#	docker run -d --rm -e GITEA_INSTANCE_URL=https://gitea.futureporn.net -e GITEA_RUNNER_REGISTRATION_TOKEN=${GITEA_RUNNER_REGISTRATION_TOKEN} -v /var/run/docker.sock:/var/run/docker.sock -v $$HOME/.local/share/applications/fp/act-runner-data:/data --privileged --name fp-gitea-act-runner gitea/act_runner