use as gitea action
Publish Action Image / build (push) Successful in 31s

This commit is contained in:
2026-06-29 16:01:01 +10:00
parent 4ee1b9e13c
commit 9adb5780f2
6 changed files with 236 additions and 248 deletions
+19 -52
View File
@@ -1,62 +1,29 @@
name: "K8s YAML Generator"
description: "Builds a Docker image, pushes it to a private registry, generates Kubernetes YAML from a simplified YML file, and deploys it."
author: "Claude Code made this"
name: 'kforge'
description: 'Generate and apply Kubernetes manifests from kforge.yml'
inputs:
image_name:
description: "Docker image name to build and push (e.g. my-app)"
required: true
image_tag:
description: "Docker image tag. If omitted, defaults to both 'latest' and the short commit SHA."
command:
description: 'deploy | preview-up | preview-down | validate | secrets'
required: false
dockerfile:
description: "Path to Dockerfile"
default: 'deploy'
env:
description: 'Environment to target (e.g. production, staging). Omit to target all.'
required: false
default: "Dockerfile"
max_tags:
description: "Maximum number of SHA image tags to keep in the registry"
config:
description: 'Path to kforge.yml relative to the workspace root'
required: false
default: "5"
registry:
description: "Docker registry URL"
default: 'kforge.yml'
namespace:
description: 'Kubernetes namespace for rollout restart (defaults to env name)'
required: false
default: "registry.natelubitz.com"
registry_username:
description: "Registry username"
required: true
registry_password:
description: "Registry password"
required: true
kube_host:
description: "Kubernetes API server URL"
pr_number:
description: 'PR number — required for preview-up and preview-down'
required: false
default: "192.168.1.20:16443"
kube_certificate:
description: "Base64 encoded Kubernetes CA certificate"
required: true
kube_token:
description: "Kubernetes service account token"
required: true
scan_image:
description: "Scan image for vulnerabilities before pushing"
namespace_prefix:
description: 'Namespace prefix for preview environments'
required: false
default: "true"
scan_severity:
description: "Fail on these severity levels (UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL)"
required: false
default: "HIGH,CRITICAL"
# outputs:
# output_file:
# description: "Path to the generated Kubernetes YAML file"
default: 'preview-pr'
runs:
using: "docker"
image: "docker://registry.natelubitz.com/infra/kforge:latest"
# args:
# - ${{ inputs.input_file }}
# - ${{ inputs.output_file }}
# - ${{ inputs.auto_deploy }}
using: docker
image: Dockerfile