kform

module
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2023 License: Apache-2.0, BSD-3-Clause

README

structure

plugin:

  • specific to go (needed for both the core and the provider)
  • defines the structures for the kform plugin (grpc proto) sdk:
  • specific to go (needed for the provider)
  • defines the provider structures

registry commands

build

crossplane build provider -> uses the name in the yaml file

crossplane.yaml

apiVersion: meta.pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-gcp
spec:
  crossplane:
    version: ">=v1.0.0"
  controller:
    image: crossplane/provider-gcp-controller:v0.14.0
push

crossplane push provider xpkg.upbound.io/crossplane-contrib/provider-gcp:v0.22.0 crossplane push configuration xpkg.upbound.io/crossplane-contrib/my-org-infra:v0.1.0

install

crossplane install provider xpkg.upbound.io/crossplane-contrib/provider-gcp:v0.22.0 crossplane install configuration xpkg.upbound.io/crossplane-contrib/my-org-infra:v0.1.0

apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
  name: provider-gcp
spec:
  package: xpkg.upbound.io/crossplane-contrib/provider-gcp:v0.22.0
  packagePullPolicy: IfNotPresent
  revisionActivationPolicy: Automatic
  revisionHistoryLimit: 1
apiVersion: pkg.crossplane.io/v1
kind: Configuration
metadata:
  name: my-org-infra
spec:
  package: xpkg.upbound.io/crossplane-contrib/my-org-infra:v0.1.0
  packagePullPolicy: IfNotPresent
  revisionActivationPolicy: Automatic
  revisionHistoryLimit: 1

brainstorm options:

  • add a KRM file in the package (meta.pkg.xxx.io/v1) provides: - type of the package - name of the package
  • generate the KRM file in the package (meta.pkg.xxx.io/v1) based on cli input

meta

apiVersion: meta.pkg.xxxx.io/v1
kind: Module or Provider
metadata:
  name: provider-gcp
spec:
  info:
    description:
    maintainers:
    - name: xx
      email: xxx
  refs:
  - apiVersion: xxx
    kind: xxx
    name: xxxx

kform package init PACKAGE-TYPE DIR [flags]

  • type
  • description
  • icon
  • maintaianers
  • version

kform package build PACKAGE-TYPE DIR [flags] kform package build module ./module-aws-vpc kform package build provider ./provider-k8s

kform package push [PACKAGE-NAME]

module

  • .kformignore
  • kform.yaml
  • README.md
  • ...

provider

  • .kformignore
  • kform.yaml
  • README.md
  • image
  • schemas
    • provider
      • provider-schema.yaml
    • resources
      • .yaml
      • .json ??????

url for now

https://github.com/henderiw-nephio/kform/releases/download/v0.0.1/provider-kubernetes_0.0.1_darwin_amd64

europe-docker.pkg.dev/srlinux/eu.gcr.io/provider-xxxx

github.com/henderiw-nephio/kform/provider-xxxx

source: "hashicorp/aws"

Directories

Path Synopsis
internal
docs/generated/applydocs
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
docs/generated/initdocs
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
docs/generated/overview
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
docs/generated/pkgdocs
Code generated by "mdtogo"; DO NOT EDIT.
Code generated by "mdtogo"; DO NOT EDIT.
kform-plugin
kform-sdk-go
Package main generates cobra.Command go variables containing documentation read from .md files.
Package main generates cobra.Command go variables containing documentation read from .md files.
providers
provider-kubernetes/kubernetes/api/v1alpha1
+kubebuilder:object:generate=true +groupName=kubernetes.provider.kform.io
+kubebuilder:object:generate=true +groupName=kubernetes.provider.kform.io
provider-resourcebackend/resourcebackend/api/v1alpha1
+kubebuilder:object:generate=true +groupName=resourcebackend.provider.kform.io
+kubebuilder:object:generate=true +groupName=resourcebackend.provider.kform.io
tools

Jump to

Keyboard shortcuts

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