diff --git a/Makefile b/Makefile index fa1a2e8788f..c6715f265dd 100644 --- a/Makefile +++ b/Makefile @@ -236,7 +236,7 @@ submit-release-trigger: .PHONY: preview-docs preview-docs: - ./deploy/docs/local-preview.sh hugo serve -D --bind=0.0.0.0 + ./deploy/docs/local-preview.sh hugo serve -D --bind=0.0.0.0 --ignoreCache .PHONY: build-docs-preview build-docs-preview: @@ -250,4 +250,4 @@ generate-schemas: .PHONY: generate-licenses generate-licenses: - hack/gen_licenses.sh \ No newline at end of file + hack/gen_licenses.sh diff --git a/docs/content/en/docs/design/api.md b/docs/content/en/docs/design/api.md index 9232ce8e600..faaaec6b84c 100644 --- a/docs/content/en/docs/design/api.md +++ b/docs/content/en/docs/design/api.md @@ -3,12 +3,9 @@ title: "Skaffold API" linkTitle: "Skaffold API" weight: 60 -maturity: alpha - infopanel: true +featureId: api applicability: true -dev: true -debug: true --- When running [`skaffold dev`]({{< relref "/docs/workflows/dev" >}}) or [`skaffold debug`]({{< relref "/docs/workflows/debug" >}}), Skaffold starts a server that exposes an API over the lifetime of the Skaffold process. @@ -88,7 +85,6 @@ Skaffold's API exposes the three main endpoints: * Control API - control build/deploy/sync ### Events API -{{< alpha >}} Skaffold provides a continuous development mode [`skaffold dev`]({{< relref "/docs/workflows/dev" >}}) which rebuilds and redeploys your application on changes. In a single development loop, one or more container images @@ -159,7 +155,6 @@ a string description of the event in `LogEntry.entry` field. ### State API -{{< beta >}} The State API provides a snapshot of the current state of the following components: @@ -234,6 +229,5 @@ func main() { {{% /tabs %}} ### Control API -{{< alpha >}} TODO: https://github.com/GoogleContainerTools/skaffold/issues/3143 diff --git a/docs/content/en/docs/design/global-config.md b/docs/content/en/docs/design/global-config.md index 82942c157f7..119c8b503a3 100755 --- a/docs/content/en/docs/design/global-config.md +++ b/docs/content/en/docs/design/global-config.md @@ -3,11 +3,9 @@ title: "Global configuration" linkTitle: "Global configuration" weight: 50 -maturity: beta - infopanel: true +featureId: global_config applicability: true -all: true --- Some context specific settings can be configured in a global configuration file, which defaults to `~/.skaffold/config`. Options can be configured globally or for specific Kubernetes contexts. diff --git a/docs/content/en/docs/environment/image-registries.md b/docs/content/en/docs/environment/image-registries.md index 26f4644b3db..b8b376a84cc 100755 --- a/docs/content/en/docs/environment/image-registries.md +++ b/docs/content/en/docs/environment/image-registries.md @@ -2,10 +2,10 @@ title: "Image repository handling" linkTitle: "Image repository handling" weight: 70 + infoPanel: true -maturity: alpha -applicability: true -all: true +featureId: default_repo +applicability: true --- Often, a Kubernetes manifest (or `skaffold.yaml`) makes references to images that push to diff --git a/docs/content/en/docs/environment/profiles.md b/docs/content/en/docs/environment/profiles.md index c825523f76a..27ca94fdaf0 100644 --- a/docs/content/en/docs/environment/profiles.md +++ b/docs/content/en/docs/environment/profiles.md @@ -2,10 +2,10 @@ title: "Profiles" linkTitle: "Profiles" weight: 70 + infoPanel: true -maturity: GA +featureId: profiles applicability: true -all: true --- Skaffold profiles allow you to define build, test and deployment diff --git a/docs/content/en/docs/environment/templating.md b/docs/content/en/docs/environment/templating.md index b47fadc7a15..2415e42914a 100755 --- a/docs/content/en/docs/environment/templating.md +++ b/docs/content/en/docs/environment/templating.md @@ -2,6 +2,10 @@ title: "Templated fields" linkTitle: "Templated fields" weight: 90 + +infoPanel: true +featureId: templating +applicability: true --- Skaffold allows for certain fields in the config to be templated with values either from environment variables, or certain special values computed by Skaffold. diff --git a/docs/content/en/docs/pipeline-stages/builders.md b/docs/content/en/docs/pipeline-stages/builders.md index ab04dd0ef6f..b1b8cde5518 100755 --- a/docs/content/en/docs/pipeline-stages/builders.md +++ b/docs/content/en/docs/pipeline-stages/builders.md @@ -3,14 +3,9 @@ title: "Build" linkTitle: "Build" weight: 10 -maturity: GA - infoPanel: true +featureId: build applicability: true -dev: true -debug: true -build: true -run: true --- Skaffold has native support for several different tools for building images: diff --git a/docs/content/en/docs/pipeline-stages/deployers.md b/docs/content/en/docs/pipeline-stages/deployers.md index 9d0e60dde93..a367d162c59 100755 --- a/docs/content/en/docs/pipeline-stages/deployers.md +++ b/docs/content/en/docs/pipeline-stages/deployers.md @@ -3,13 +3,9 @@ title: "Deploy" linkTitle: "Deploy" weight: 30 -maturity: GA - infoPanel: true +featureId: deploy applicability: true -dev: true -deploy: true -debug: true --- When Skaffold deploys your application, it goes through these steps: diff --git a/docs/content/en/docs/pipeline-stages/filesync.md b/docs/content/en/docs/pipeline-stages/filesync.md index c7fe8c2be69..4b9853ae437 100755 --- a/docs/content/en/docs/pipeline-stages/filesync.md +++ b/docs/content/en/docs/pipeline-stages/filesync.md @@ -3,11 +3,9 @@ title: "File sync" linkTitle: "File sync" weight: 40 -maturity: alpha - infoPanel: true +featureId: sync applicability: true -dev: true --- Skaffold supports copying changed files to a deployed container so as to avoid the need to rebuild, redeploy, and restart the corresponding pod. diff --git a/docs/content/en/docs/pipeline-stages/logging.md b/docs/content/en/docs/pipeline-stages/logging.md index 738141a698a..b4ec005622a 100644 --- a/docs/content/en/docs/pipeline-stages/logging.md +++ b/docs/content/en/docs/pipeline-stages/logging.md @@ -3,11 +3,7 @@ title: "Logging" linkTitle: "Logging" weight: 40 -maturity: GA - infoPanel: true +featureId: logging applicability: true -dev: true -debug: true -run: true --- diff --git a/docs/content/en/docs/pipeline-stages/port-forwarding.md b/docs/content/en/docs/pipeline-stages/port-forwarding.md index 17e0394244a..e058ff00953 100644 --- a/docs/content/en/docs/pipeline-stages/port-forwarding.md +++ b/docs/content/en/docs/pipeline-stages/port-forwarding.md @@ -3,12 +3,9 @@ title: "Port forwarding" linkTitle: "Port forwarding" weight: 50 -maturity: beta - infoPanel: true +featureId: portforward applicability: true -dev: true -debug: true --- Skaffold has built-in support for forwarding ports for exposed Kubernetes resources on your cluster diff --git a/docs/content/en/docs/pipeline-stages/taggers.md b/docs/content/en/docs/pipeline-stages/taggers.md index 55c2f05a27c..5f88b477b1f 100644 --- a/docs/content/en/docs/pipeline-stages/taggers.md +++ b/docs/content/en/docs/pipeline-stages/taggers.md @@ -6,10 +6,8 @@ weight: 15 maturity: GA infoPanel: true +featureId: tagpolicy applicability: true -dev: true -debug: true -build: true --- Skaffold supports the following policies for tagging images: diff --git a/docs/content/en/docs/pipeline-stages/testers.md b/docs/content/en/docs/pipeline-stages/testers.md index 476823c006c..d78bf2d1703 100755 --- a/docs/content/en/docs/pipeline-stages/testers.md +++ b/docs/content/en/docs/pipeline-stages/testers.md @@ -3,13 +3,9 @@ title: "Test" linkTitle: "Test" weight: 20 -maturity: beta - infoPanel: true +featureId: test applicability: true -dev: true -build: true -run: true --- It's common practice to validate built container images before deploying them to our cluster. diff --git a/docs/content/en/docs/references/deprecation/_index.md b/docs/content/en/docs/references/deprecation/_index.md index e15fc850a84..209824a0e0d 100644 --- a/docs/content/en/docs/references/deprecation/_index.md +++ b/docs/content/en/docs/references/deprecation/_index.md @@ -4,8 +4,6 @@ linkTitle: "Deprecation policy" weight: 300 --- -# Skaffold deprecation policy - This document sets out the deprecation policy for Skaffold, and outlines how the Skaffold project will approach the introduction of breaking changes over time. Deprecation policy applies only to Stable Builds. Bleeding Edge builds may have less stable implementations. @@ -60,49 +58,7 @@ However the **behavior** of individual component might suffer breaking changes d The following is the maturity of the larger feature areas: -|area|state|description| -|----|----|----| -[Build]({{< relref "/docs/pipeline-stages/builders" >}})|beta |Build images based on multiple build tools in a configurable way -Control API |alpha|Applications can control sync, build and deployment during instead of automated sync, build and deploy -[Debug]({{< relref "/docs/workflows/debug.md" >}})|alpha|Language-aware reconfiguration of containers on the fly to become debuggable -[Default-repo]({{< relref "/docs/environment/image-registries.md" >}})|alpha|specify a default image repository & rewrite image names to default repo -Delete|beta |delete everything deployed by skaffold run from the cluster -[Deploy] ({{< relref "docs/pipeline-stages/deployers" >}})|beta |Deploy a set of deployables as your applications and replace the image name with the built images -Render |alpha| Skaffold render outputs rendered kubernetes manifests| -[Dev]({{< relref "/docs/workflows/dev.md" >}})|beta |Continuous development -[Event API v1]({{}})|alpha|Publish events and state of the application on gRPC and HTTP -[Filesync]({{< relref "/docs/pipeline-stages/filesync" >}})|alpha|Instead of rebuilding, copy the changed files in the running container -[Global config]({{< relref "/docs/design/config" >}})|alpha|store user preferences in a separate preferences file -Init|alpha|Initialize a skaffold.yaml file based on the contents of the current directory -Insecure registry handling|alpha |Target registries for built images which are not secure -[Port-forwarding]({{< relref "/docs/pipeline-stages/port-forwarding.md" >}})|alpha |Port forward application to localhost -[Profiles]({{< relref "/docs/environment/profiles.md" >}})|beta |Create different pipeline configurations based on overrides and patches defined in one or more profiles -skaffold build |beta |run skaffold build separately -skaffold fix|beta |Upgrade an older skaffold config to the current version -skaffold run|beta |One-off build & deployment of the skaffold application -[Tagpolicy]({{< relref "/docs/pipeline-stages/taggers" >}})|beta |Automated tagging -[Test]({{< relref "/docs/pipeline-stages/testers" >}})|alpha |Run tests as part of your pipeline -Trigger|alpha |Feature area: Trigger configured actions when source files change -version|beta|get the version string of the current skaffold binary -[Templating]({{< relref "/docs/environment/templating.md" >}})|alpha|certain fields of skaffold.yaml can be parametrized with environment and built-in variables - -Within a feature area we do have certain features that are expected to change: - -|area|feature|state|description| -|----|----|----|----| -Build | buildpacks native support|alpha| Skaffold natively support for buildpacks artifact and buildpacks builder -Debug|debug python apps|alpha|debug python apps -Debug|debug node apps|alpha|debug node apps -Debug|debug java apps|alpha|debug java apps -Debug|debug go apps|alpha|debug go apps -Default-repo|preconcatentation strategy|beta|collision free rewriting strategy -Tagpolicy|latest tagger|alpha|tag with latest, use image digest / image ID for deployment -Tagpolicy|contentDigest tagger|alpha|reintroduce DIGEST and content based digest tag -Filesync|sync.infer|alpha|mark files as "syncable" - infer the destinations based on the Dockerfile -Init|json based |alpha|skaffold init JSON based API for IDE integrations -Init|interactive|alpha|skaffold init interactive for CLI users -Init|init for k8s manifests|alpha|skaffold init recognizes k8s manifest and the image names in them -Init|init for Dockerfiles |alpha|skaffold init recognizes Dockerfiles +{{< maturity-table >}} ## Exceptions @@ -128,4 +84,4 @@ This flag will will be removed earliest 06/15/2019. - `DIGEST_ALGO` - `DIGEST_HEX` Currently these variables resolve to `_DEPRECATED__`, and the new tagging mechanism adds a digest to the image name thus it shouldn't break existing configurations. -This backward compatibility behavior will be removed earliest 05/14/2019. \ No newline at end of file +This backward compatibility behavior will be removed earliest 05/14/2019. diff --git a/docs/content/en/docs/workflows/ci-cd.md b/docs/content/en/docs/workflows/ci-cd.md index aa03bcf3b20..b95346ca1eb 100644 --- a/docs/content/en/docs/workflows/ci-cd.md +++ b/docs/content/en/docs/workflows/ci-cd.md @@ -3,15 +3,6 @@ title: "CI/CD with Skaffold" linkTitle: "CI/CD with Skaffold" weight: 30 -maturity: beta - -infoPanel: true -applicability: true - -build: true -deploy: true -render: true -run: true --- Skaffold offers several sub-commands for its workflows that make it quite flexible when integrating with CI/CD pipelines. @@ -56,8 +47,9 @@ Starting deploy... - pod/getting-started configured ``` + ## `skaffold render` -{{< alpha >}} +{{< maturity "render" >}} Skaffold also has another built-in command, `skaffold render`, that will perform builds on all artifacts in your project, template the newly built image tags into your Kubernetes deployment configuration files (based on your configured deployer), and instead of sending these through the deployment process, print out the final deployment artifacts. This allows your to snapshot your project's builds, but also integrate those builds into your deployment configs to snapshot your deployment as well. This can be very useful when integrating with GitOps based workflows: these templated deployment configurations can be committed to a Git repository as a way to deploy using GitOps. diff --git a/docs/content/en/docs/workflows/debug.md b/docs/content/en/docs/workflows/debug.md index 987e6cc7cf4..7e1ab84ea7d 100644 --- a/docs/content/en/docs/workflows/debug.md +++ b/docs/content/en/docs/workflows/debug.md @@ -3,11 +3,9 @@ title: "Debugging with Skaffold" linkTitle: "Debugging" weight: 20 -maturity: alpha - infoPanel: true -debug: true -applicability: true +featureId: debug +applicability: true --- `skaffold debug` acts like `skaffold dev`, but it configures containers in pods diff --git a/docs/content/en/docs/workflows/dev.md b/docs/content/en/docs/workflows/dev.md index fca756f2ec5..160a70964bd 100644 --- a/docs/content/en/docs/workflows/dev.md +++ b/docs/content/en/docs/workflows/dev.md @@ -3,11 +3,9 @@ title: "skaffold dev" linkTitle: "Continuous development" weight: 10 -maturity: GA - infoPanel: true +featureId: dev applicability: true -dev: true --- `skaffold dev` enables continuous local development on an application. diff --git a/docs/data/maturity.json b/docs/data/maturity.json index e69de29bb2d..a090b3d5465 100644 --- a/docs/data/maturity.json +++ b/docs/data/maturity.json @@ -0,0 +1,586 @@ +{ + "api": { + "dev": "x", + "debug": "x", + "area": "Skaffold API", + "maturity": "beta", + "description": "Control API, Event API and State API", + "url": "/docs/design/api" + }, + "build.artifact_cache": { + "dev": "x", + "build": "x", + "debug": "x", + "area": "Build", + "feature": "artifact cache", + "maturity": "GA", + "description": "cache artifacts that were built before locally " + }, + "build.cluster_custom": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Build", + "feature": "cluster + customBuilder", + "maturity": "GA", + "description": "build in-cluster using a custom build script " + }, + "build.cluster_kaniko": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Build", + "feature": "cluster + kaniko ", + "maturity": "GA", + "description": "build Dockerfiles in-cluster with Kaniko" + }, + "build.cmd": { + "area": "Build", + "feature": "skaffold build command", + "maturity": "GA", + "description": "run skaffold build separately" + }, + "build.cmd.build_image": { + "build": "x", + "area": "Build", + "feature": "build-image", + "subfeature": "build-image", + "maturity": "GA", + "description": "Choose which artifacts to build. Artifacts with image names that contain the expression will be built only. Default is to build sources for all artifacts" + }, + "build.cmd.output": { + "build": "x", + "area": "Build", + "feature": "skaffold build", + "subfeature": "output", + "maturity": "GA", + "description": "Used in conjunction with --quiet flag. Format output with go-template. For full struct documentation, see https://godoc.org/github.com/GoogleContainerTools/skaffold/cmd/skaffold/app/flags#BuildOutput" + }, + "build.gcb_docker": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Build", + "feature": "gcb + Docker", + "maturity": "GA", + "description": "build Dockerfiles on Google Cloud Build " + }, + "build.gcb_jib": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Build", + "feature": "gcb + jib ", + "maturity": "GA", + "description": "build jib projects on Google Cloud Build " + }, + "build.local_bazel": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Build", + "feature": "local + bazel ", + "maturity": "GA", + "description": "build bazel projects locally " + }, + "build.local_custom": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Build", + "feature": "local + customBuilder", + "maturity": "GA", + "description": "build locally using a custom build script " + }, + "build.local_docker": { + "dev": "x", + "build": "x", + "debug": "x", + "area": "Build", + "feature": "local + Docker", + "maturity": "GA", + "description": "build Dockerfiles using the local Docker daemon and/or minikube/d4d daemon" + }, + "build.local_jib": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Build", + "feature": "local + jib", + "maturity": "GA", + "description": "build jib projects locally " + }, + "build.prune": { + "dev": "x", + "build": "x", + "debug": "x", + "area": "Build", + "feature": "prune", + "maturity": "GA", + "description": "automated image pruning helps keep the disk footprint low" + }, + "build": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Build", + "maturity": "GA", + "description": "Build images based on multiple build tools in a configurable way", + "url": "/docs/pipeline-stages/builders/" + }, + "completion": { + "area": "Completion", + "maturity": "GA", + "description": "generate completion scripts for bash, zsh" + }, + "debug": { + "debug": "x", + "area": "Debug", + "maturity": "beta", + "description": "Language-aware reconfiguration of containers on the fly to become debuggable ", + "url": "/docs/workflows/debug" + }, + "debug.go": { + "debug": "x", + "area": "Debug", + "feature": "debug go apps", + "maturity": "alpha", + "description": "debug go apps" + }, + "debug.java": { + "debug": "x", + "area": "Debug", + "feature": "debug java apps", + "maturity": "beta", + "description": "debug java apps" + }, + "debug.node": { + "debug": "x", + "area": "Debug", + "feature": "debug node apps", + "maturity": "beta", + "description": "debug node apps" + }, + "debug.python": { + "debug": "x", + "area": "Debug", + "feature": "debug python apps", + "maturity": "beta", + "description": "debug python apps" + }, + "default_repo": { + "dev": "x", + "build": "x", + "deploy": "x", + "run": "x", + "debug": "x", + "render": "x", + "area": "Default-repo", + "maturity": "beta", + "description": "specify a default image repository & rewrite image names to default repo", + "url": "/docs/environment/image-registries/" + }, + "default_repo.preconcatentation": { + "dev": "x", + "build": "x", + "deploy": "x", + "run": "x", + "debug": "x", + "area": "Default-repo", + "feature": "preconcatentation strategy", + "maturity": "beta", + "description": "collision free rewriting strategy" + }, + "default_repo.simple_prefix": { + "dev": "x", + "build": "x", + "deploy": "x", + "run": "x", + "debug": "x", + "area": "Default-repo", + "feature": "simple prefix replace strategy", + "maturity": "alpha", + "description": "more intuitive prefix replacement strategy" + }, + "delete": { + "area": "Delete", + "maturity": "GA", + "description": "delete everything deployed by skaffold run from the cluster", + "url": "/docs/pipeline-stages/delete" + }, + "deploy": { + "dev": "x", + "deploy": "x", + "run": "x", + "debug": "x", + "area": "Deploy", + "maturity": "GA", + "description": "Deploy a set of deployables as your applications and replace the image name with the built images ", + "url": "/docs/pipeline-stages/deployers" + }, + "deploy.cmd": { + "deploy": "x", + "area": "Deploy", + "feature": "skaffold deploy", + "maturity": "GA", + "description": "separate command to run only deployment " + }, + "deploy.helm": { + "dev": "x", + "deploy": "x", + "run": "x", + "debug": "x", + "area": "Deploy", + "feature": "Helm", + "maturity": "GA", + "description": "use helm charts as your deployable " + }, + "deploy.kubecontext": { + "dev": "x", + "deploy": "x", + "run": "x", + "debug": "x", + "area": "Deploy", + "feature": "change kubecontext", + "maturity": "GA", + "description": "specify kubecontext based on a flag, or skaffold.yaml" + }, + "deploy.kubectl": { + "dev": "x", + "deploy": "x", + "run": "x", + "debug": "x", + "area": "Deploy", + "feature": "Kubectl", + "maturity": "GA", + "description": "use k8s manifests as your deployable " + }, + "deploy.kustomize": { + "dev": "x", + "deploy": "x", + "run": "x", + "debug": "x", + "area": "Deploy", + "feature": "Kustomize", + "maturity": "GA", + "description": "use kustomize files as your deployable " + }, + "deploy.status_check": { + "deploy": "x", + "area": "Deploy", + "feature": "Status check", + "maturity": "beta", + "description": "User can wait for deployments to stabilize " + }, + "dev": { + "dev": "x", + "area": "Dev", + "maturity": "GA", + "description": "Continuous development", + "url": "/docs/workflows/dev" + }, + "fix.cmd": { + "area": "skaffold fix", + "maturity": "GA", + "description": "Upgrade an older skaffold config to the current version" + }, + "generate_pipeline.tekton": { + "deploy": "x", + "area": "Generate tekton pipelines", + "maturity": "alpha", + "description": "User can generate a starter tekton pipeline using skaffold" + }, + "global_config": { + "dev": "x", + "build": "x", + "deploy": "x", + "run": "x", + "debug": "x", + "render": "x", + "area": "Global config", + "maturity": "beta", + "description": "store user preferences in a separate preferences file", + "url": "/docs/design/global-config/" + }, + "init": { + "area": "Init", + "maturity": "alpha", + "description": "Initialize a skaffold.yaml file based on the contents of the current directory", + "url": "/docs/pipeline-stages/init" + }, + "init.dockerfiles": { + "area": "Init", + "feature": "init for Dockerfiles ", + "maturity": "alpha", + "description": "skaffold init recognizes Dockerfiles" + }, + "init.interactive": { + "area": "Init", + "feature": "interactive", + "maturity": "alpha", + "description": "skaffold init interactive for CLI users" + }, + "init.json_api": { + "area": "Init", + "feature": "json based ", + "maturity": "alpha", + "description": "skaffold init JSON based API for IDE integrations" + }, + "init.k8s_manifests": { + "area": "Init", + "feature": "init for k8s manifests", + "maturity": "alpha", + "description": "skaffold init recognizes k8s manifest and the image names in them" + }, + "insecure_registry": { + "dev": "x", + "build": "x", + "debug": "x", + "area": "Insecure registry handling", + "maturity": "GA", + "description": "Target registries for built images which are not secure", + "url": "/docs/environment/image-registries/#insecure-image-registries" + }, + "insecure_registry.cluster_kaniko": { + "dev": "x", + "build": "x", + "debug": "x", + "area": "Insecure registry handling", + "feature": "cluster + kaniko ", + "maturity": "GA", + "description": "pass insecure registries to Kaniko" + }, + "insecure_registry.local_docker": { + "dev": "x", + "build": "x", + "debug": "x", + "area": "Insecure registry handling", + "feature": "local + Docker", + "maturity": "GA", + "description": "pass insecure registries to Docker" + }, + "insecure_registry.local_jib": { + "dev": "x", + "build": "x", + "debug": "x", + "area": "Insecure registry handling", + "feature": "local + jib", + "maturity": "GA", + "description": "pass insecure registries to jib" + }, + "logging": { + "dev": "x", + "deploy": "x", + "run": "x", + "debug": "x", + "area": "Log tailing", + "maturity": "GA", + "description": "automated log tailing of deployed pods", + "url": "/docs/pipeline-stages/logging" + }, + "portforward.pods_automated": { + "dev": "x", + "debug": "x", + "area": "Port-forwarding", + "feature": "automated for pods", + "maturity": "GA", + "description": "Port-forward pods with containers built by skaffold automatically for debug" + }, + "portforward.services_automated": { + "dev": "x", + "debug": "x", + "area": "Port-forwarding", + "feature": "automated for services", + "maturity": "GA", + "description": "Port-forward services deployed by Skaffold automatically" + }, + "portforward.user_defined": { + "dev": "x", + "debug": "x", + "area": "Port-forwarding", + "feature": "user defined", + "maturity": "GA", + "description": "Port-forward any resources defined by the user in the skaffold.yaml for portforwarding" + }, + "portforward": { + "dev": "x", + "debug": "x", + "area": "Port-forwarding", + "maturity": "GA", + "description": "Port forward application to localhost", + "url": "/docs/pipeline-stages/port-forwarding/" + }, + "profiles": { + "dev": "x", + "build": "x", + "deploy": "x", + "run": "x", + "debug": "x", + "render": "x", + "area": "Profiles", + "maturity": "GA", + "description": "Create different pipeline configurations based on overrides and patches defined in one or more profiles", + "url": "/docs/environment/profiles/" + }, + "render": { + "deploy": "x", + "area": "Render", + "maturity": "alpha", + "description": "Skaffold render can produce the transformed manifests as a separate step" + }, + "run.cmd": { + "run": "x", + "area": "skaffold run", + "maturity": "GA", + "description": "One-off build & deployment of the skaffold application", + "url": "/docs/workflows/ci-cd" + }, + "sync.infer": { + "dev": "x", + "area": "Filesync", + "feature": "sync.infer", + "maturity": "alpha", + "description": "mark files as \"syncable\" - infer the destinations based on the Dockerfile" + }, + "sync.manual": { + "dev": "x", + "area": "Filesync", + "feature": "sync.manual", + "maturity": "GA", + "description": "mark files as \"syncable\" that won't trigger a rebuild on change" + }, + "sync": { + "dev": "x", + "area": "Filesync", + "maturity": "alpha", + "description": "Instead of rebuilding, copy the changed files in the running container", + "url": "/docs/pipeline-stages/filesync" + }, + "tagpolicy.datetime": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Tagpolicy", + "feature": "dateTime", + "maturity": "GA", + "description": "tag based on date and timestamp, configurable with datetime format" + }, + "tagpolicy.digest": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Tagpolicy", + "feature": "contentDigest tagger", + "maturity": "alpha", + "description": "reintroduce DIGEST and content based digest tag" + }, + "tagpolicy.envtagger": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Tagpolicy", + "feature": "envTagger", + "maturity": "GA", + "description": "tag based on a template that uses environment variables and the IMAGE_NAME variable" + }, + "tagpolicy.gitcommit": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Tagpolicy", + "feature": "gitCommit", + "maturity": "GA", + "description": "tag built images based on the gitCommit" + }, + "tagpolicy.latest": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Tagpolicy", + "feature": "latest tagger", + "maturity": "alpha", + "description": "tag with latest, use image digest / image ID for deployment" + }, + "tagpolicy": { + "dev": "x", + "build": "x", + "run": "x", + "debug": "x", + "area": "Tagpolicy", + "maturity": "GA", + "description": "Automated tagging", + "url": "/docs/pipeline-stages/taggers" + }, + "templating": { + "deploy": "x", + "area": "Templating", + "maturity": "beta", + "description": "certain fields of skaffold.yaml can be parametrized with environment and built-in variables", + "url": "/docs/environment/templating/" + }, + "test.structure_test": { + "dev": "x", + "run": "x", + "area": "Test", + "feature": "structure test", + "maturity": "GA", + "description": "run structure tests against built images" + }, + "test": { + "dev": "x", + "run": "x", + "area": "Test", + "maturity": "GA", + "description": "Run tests as part of your pipeline", + "url": "/docs/pipeline-stages/testers" + }, + "triggers.manual": { + "dev": "x", + "debug": "x", + "area": "Trigger", + "feature": "manual", + "maturity": "GA", + "description": "Manual trigger, checks for file changes only on stdin \"return\" " + }, + "triggers.notify": { + "dev": "x", + "debug": "x", + "area": "Trigger", + "feature": "notify", + "maturity": "GA", + "description": "The notify trigger checks for filechanges using native, filesytem level notifications" + }, + "triggers.polling": { + "dev": "x", + "debug": "x", + "area": "Trigger", + "feature": "polling", + "maturity": "GA", + "description": "Polling trigger, checks for file changes periodically" + }, + "triggers": { + "dev": "x", + "debug": "x", + "area": "Trigger", + "maturity": "GA", + "description": "Feature area: Trigger configured actions when source files change" + }, + "version": { + "area": "version", + "maturity": "beta", + "description": "get the version string of the current skaffold binary" + } +} diff --git a/docs/layouts/_default/content.html b/docs/layouts/_default/content.html index cd6c7b8bd60..fa5db91b765 100644 --- a/docs/layouts/_default/content.html +++ b/docs/layouts/_default/content.html @@ -1,18 +1,19 @@

{{ .Title }} - {{if and .Params.maturity (not (eq .Params.maturity "GA")) }} -  {{ .Params.maturity}}  + {{if .Params.featureId}} + {{ $data := (index .Site.Data.maturity .Params.featureId)}} + {{ $maturity := $data.maturity}} + {{if and $maturity (not (eq $maturity "GA")) }} +  {{ $maturity}}  + {{end}} {{end}}

- {{ with .Params.description }}
{{ . | markdownify }}
{{ end }} + {{ with .Params.description }} +
{{ . | markdownify }}
{{ end }} {{ .Content }} {{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.GoogleAnalytics)) }} {{ partial "feedback.html" .Site.Params.ui.feedback }} -
- {{ end }} - {{ if (.Site.DisqusShortname) }} -
- {{ partial "disqus-comment.html" . }} +
{{ end }}
{{ partial "page-meta-lastmod.html" . }}
diff --git a/docs/layouts/partials/info-panel.html b/docs/layouts/partials/info-panel.html index 53c8c7f6728..139e52efc48 100644 --- a/docs/layouts/partials/info-panel.html +++ b/docs/layouts/partials/info-panel.html @@ -1,12 +1,13 @@ {{ if .Params.infoPanel }} - {{ $dev := .Params.dev }} - {{ $debug := .Params.debug }} - {{ $run := .Params.run }} - {{ $build := .Params.build }} - {{ $deploy := .Params.deploy }} - {{ $render := .Params.render }} - {{ $maturity := .Params.maturity }} - {{ $all := .Params.all }} + {{ $data := (index .Site.Data.maturity .Params.featureId)}} + {{ $maturity := $data.maturity }} + {{ $dev := $data.dev }} + {{ $debug := $data.debug }} + {{ $run := $data.run }} + {{ $build := $data.build }} + {{ $deploy := $data.deploy }} + {{ $render := $data.render }} + {{ $all := and $dev $debug $run $build $deploy $render }}