diff --git a/.ansible-lint b/.ansible-lint new file mode 100644 index 0000000..bdcef15 --- /dev/null +++ b/.ansible-lint @@ -0,0 +1,4 @@ +warn_list: + - fqcn[keyword] + - fqcn[action-core] + - name[casing] diff --git a/.lighthouse/jenkins-x/image.yaml b/.lighthouse/jenkins-x/image.yaml new file mode 100644 index 0000000..90ac35f --- /dev/null +++ b/.lighthouse/jenkins-x/image.yaml @@ -0,0 +1,100 @@ +apiVersion: tekton.dev/v1beta1 +kind: PipelineRun +metadata: + creationTimestamp: null + name: image +spec: + workspaces: + - name: shared-workspace + volumeClaimTemplate: + spec: + storageClassName: local-path + persistentVolumeReclaimPolicy: Delete + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + pipelineSpec: + workspaces: + - name: shared-workspace + tasks: + - name: git-clone-pr + workspaces: + - name: output + workspace: shared-workspace + taskRef: + name: git-clone-pr + params: + - name: VERSION_MAKEFILE + value: "true" + - name: PROJECT_TIMESTAMP + value: midnight + - name: multiarch-builder-config + workspaces: + - name: output + workspace: shared-workspace + taskRef: + name: multiarch-builder-config + - name: image + resources: {} + runAfter: + - git-clone-pr + - multiarch-builder-config + workspaces: + - name: source + workspace: shared-workspace + taskSpec: + metadata: {} + workspaces: + - name: source + mountPath: /workspace + volumes: + - name: shared + persistentVolumeClaim: + claimName: shared-0sd6j3-pvc + stepTemplate: + name: '' + env: + - name: HOME + value: /workspace + - name: DOCKER_CONTEXT + value: multiarch-builder-amd64 + resources: + limits: + cpu: 400m + memory: 512Mi + requests: + cpu: 50m + memory: 32Mi + workingDir: /workspace/source + volumeMounts: + - name: shared + mountPath: /shared + steps: + - image: quay.io/krestomatio/ansible-operator-ci + name: collection + args: + - collection-build + command: + - make + resources: {} + - image: quay.io/krestomatio/ansible-docker-ci + name: image + args: + - multiarch-image + command: + - make + resources: + limits: + cpu: 750m + memory: 2048Mi + requests: + cpu: 0.1 + memory: 128Mi + podTemplate: + nodeSelector: + beta.kubernetes.io/arch: amd64 + serviceAccountName: tekton-bot + timeout: 240h0m0s +status: {} diff --git a/.lighthouse/jenkins-x/lint.yaml b/.lighthouse/jenkins-x/lint.yaml index 68902e0..04cc91e 100644 --- a/.lighthouse/jenkins-x/lint.yaml +++ b/.lighthouse/jenkins-x/lint.yaml @@ -56,6 +56,13 @@ spec: memory: 32Mi workingDir: /workspace/source steps: + - image: quay.io/krestomatio/ansible-operator-ci + name: collection + args: + - collection-build + command: + - make + resources: {} - image: quay.io/krestomatio/ansible-operator-ci name: lint args: diff --git a/.lighthouse/jenkins-x/release.yaml b/.lighthouse/jenkins-x/release.yaml index b7a4e43..9f8dc50 100644 --- a/.lighthouse/jenkins-x/release.yaml +++ b/.lighthouse/jenkins-x/release.yaml @@ -30,11 +30,18 @@ spec: value: "true" - name: PROJECT_TIMESTAMP value: midnight + - name: multiarch-builder-config + workspaces: + - name: output + workspace: shared-workspace + taskRef: + name: multiarch-builder-config - name: release resources: {} timeout: "2h0m0s" runAfter: - git-clone + - multiarch-builder-config workspaces: - name: source workspace: shared-workspace @@ -48,6 +55,8 @@ spec: env: - name: HOME value: /workspace + - name: DOCKER_CONTEXT + value: multiarch-builder-amd64 resources: limits: cpu: 400m @@ -74,6 +83,16 @@ spec: requests: cpu: 0.1 memory: 128Mi + - image: quay.io/krestomatio/ansible-docker-ci + name: bundle-catalog + args: + - bundle-catalog + command: + - make + resources: + requests: + cpu: 0.1 + memory: 128Mi - image: quay.io/krestomatio/ansible-operator-ci name: promote resources: {} diff --git a/.lighthouse/jenkins-x/triggers.yaml b/.lighthouse/jenkins-x/triggers.yaml index 0ef432f..b983c0f 100644 --- a/.lighthouse/jenkins-x/triggers.yaml +++ b/.lighthouse/jenkins-x/triggers.yaml @@ -2,6 +2,14 @@ apiVersion: config.lighthouse.jenkins-x.io/v1alpha1 kind: TriggerConfig spec: presubmits: + - name: image + max_concurrency: 1 + context: "image" + always_run: false + require_run: false + trigger: (?m)^/test( all| group| image),?(s+|$) + rerun_command: /test image + source: "image.yaml" - name: k8s max_concurrency: 1 context: "k8s" diff --git a/bundle.Dockerfile b/bundle.Dockerfile new file mode 100644 index 0000000..fd476f7 --- /dev/null +++ b/bundle.Dockerfile @@ -0,0 +1,15 @@ +FROM scratch + +# Core bundle labels. +LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1 +LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/ +LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/ +LABEL operators.operatorframework.io.bundle.package.v1=nfs-operator +LABEL operators.operatorframework.io.bundle.channels.v1=alpha +LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.33.0 +LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1 +LABEL operators.operatorframework.io.metrics.project_layout=ansible.sdk.operatorframework.io/v1 + +# Copy files to locations specified by labels. +COPY bundle/manifests /manifests/ +COPY bundle/metadata /metadata/ diff --git a/bundle/manifests/nfs-operator.clusterserviceversion.yaml b/bundle/manifests/nfs-operator.clusterserviceversion.yaml new file mode 100644 index 0000000..de3d867 --- /dev/null +++ b/bundle/manifests/nfs-operator.clusterserviceversion.yaml @@ -0,0 +1,117 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: '[]' + capabilities: Seamless Upgrades + categories: Application Runtime + createdAt: "2024-04-07T22:42:44Z" + description: |- + This operator simplifies NFS Ganesha deployments in Kubernetes by leveraging + the Ansible Operator SDK for automation + operators.operatorframework.io/builder: operator-sdk-v1.33.0 + operators.operatorframework.io/project_layout: ansible.sdk.operatorframework.io/v1 + repository: https://github.com/krestomatio/nfs-operator + labels: + operatorframework.io/arch.amd64: supported + operatorframework.io/arch.arm64: supported + operatorframework.io/os.linux: supported + name: nfs-operator.v0.4.3 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: {} + description: |- + This operator simplifies NFS Ganesha deployments in Kubernetes by leveraging + the Ansible Operator SDK for automation + displayName: NFS Operator + icon: + - base64data: |- + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcK + ICAgdmVyc2lvbj0iMS4xIgogICBpZD0iTGF5ZXJfMSIKICAgeD0iMHB4IgogICB5PSIwcHgiCiAgIHZp + ZXdCb3g9IjAgMCAxMDAwIDk5OS45OTk5NyIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgc29kaXBv + ZGk6ZG9jbmFtZT0ibG9nb19pY29uX3NxdWFyZS5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMy4y + ICgwOTFlMjBlZjBmLCAyMDIzLTExLTI1KSIKICAgd2lkdGg9IjEwMDAiCiAgIGhlaWdodD0iMTAwMCIK + ICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2Nh + cGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9z + b2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxu + czpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cu + dzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRp + dmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMv + MS4xLyI+PG1ldGFkYXRhCiAgIGlkPSJtZXRhZGF0YTExMyI+PHJkZjpSREY+PGNjOldvcmsKICAgICAg + IHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQog + ICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdl + IiAvPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcwogICBpZD0iZGVmczExMSIgLz48 + c29kaXBvZGk6bmFtZWR2aWV3CiAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgYm9yZGVyY29sb3I9IiM2 + NjY2NjYiCiAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgIGdyaWR0 + b2xlcmFuY2U9IjEwIgogICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5 + PSIwIgogICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5 + MjAiCiAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjExMTUiCiAgIGlkPSJuYW1lZHZpZXcxMDkiCiAg + IHNob3dncmlkPSJmYWxzZSIKICAgaW5rc2NhcGU6em9vbT0iMC41MDA4Nzc4NCIKICAgaW5rc2NhcGU6 + Y3g9IjIyMy42MDc0MiIKICAgaW5rc2NhcGU6Y3k9IjU1OC4wMjAyOSIKICAgaW5rc2NhcGU6d2luZG93 + LXg9IjAiCiAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVk + PSIxIgogICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJMYXllcl8xIgogICBpbmtzY2FwZTpzaG93cGFn + ZXNoYWRvdz0iMiIKICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iMCIKICAgaW5rc2NhcGU6ZGVz + a2NvbG9yPSIjZDFkMWQxIiAvPgo8c3R5bGUKICAgdHlwZT0idGV4dC9jc3MiCiAgIGlkPSJzdHlsZTIi + PgoJLnN0MHtlbmFibGUtYmFja2dyb3VuZDpuZXcgICAgO30KCS5zdDF7ZmlsbDojMzczNjRFO30KCS5z + dDJ7ZmlsbDojRjI2NzJDO30KPC9zdHlsZT4KCjxnCiAgIGlkPSJnNDQiCiAgIHRyYW5zZm9ybT0ibWF0 + cml4KDEwLjMyNTAwNiwwLDAsMTAuNzk2Nzg3LC0xMDg2LjEwOTIsLTM2NC4wMjcwOSkiPgoJPGcKICAg + aWQ9ImczMCI+CgkJPHBhdGgKICAgY2xhc3M9InN0MiIKICAgZD0ibSAxNjkuNjIsODEuMjMgMTcuNTks + MTguNzYgYyAwLjY4LDAuNzIgMC4xNywxLjkxIC0wLjgzLDEuOTEgaCAtMTAuODQgYyAtMC4zMSwwIC0w + LjYxLC0wLjEzIC0wLjgyLC0wLjM2IEwgMTU5LjU2LDg1LjQ3IgogICBpZD0icGF0aDI4IiAvPgoJPC9n + PgoJPHBhdGgKICAgY2xhc3M9InN0MiIKICAgZD0ibSAxNjIuOTcsNTguNDcgLTcuMDUsNi43OSBjIC0w + LjIyLDAuMjEgLTAuMzUsMC41MSAtMC4zNSwwLjgxIHYgMTQuNTkgYyAwLDAuOTkgMS4xNywxLjUgMS45 + LDAuODMgbCA3LjA1LC02LjQ4IGMgMC4yMywtMC4yMSAwLjM3LC0wLjUyIDAuMzcsLTAuODMgdiAtMTQu + OSBjIC0wLjAxLC0wLjk5IC0xLjIsLTEuNSAtMS45MiwtMC44MSB6IgogICBpZD0icGF0aDMyIiAvPgoJ + PHBhdGgKICAgY2xhc3M9InN0MiIKICAgZD0ibSAxODYuOCw3My45MiAtMjkuMzMsMjYuMzYgYyAtMC43 + MywwLjY1IC0xLjg5LDAuMTQgLTEuODksLTAuODQgdiAtOS44MiBjIDAsLTAuMzIgMC4xMywtMC42MiAw + LjM3LC0wLjg0IGwgMTguMDksLTE2LjU0IGMgMC4yMSwtMC4xOSAwLjQ4LC0wLjMgMC43NiwtMC4zIGgg + MTEuMjQgYyAxLjA0LDAuMDEgMS41MywxLjI5IDAuNzYsMS45OCB6IgogICBpZD0icGF0aDM0IiAvPgoJ + PGcKICAgaWQ9ImczOCI+CgkJPHBhdGgKICAgY2xhc3M9InN0MiIKICAgZD0ibSAxNDcuNjcsODUuNDcg + LTE1LjE2LDE2LjA3IGMgLTAuMjEsMC4yMyAtMC41MSwwLjM2IC0wLjgyLDAuMzYgaCAtMTAuODQgYyAt + MC45OSwwIC0xLjUsLTEuMTggLTAuODMsLTEuOTEgbCAxNy41OSwtMTguNzYiCiAgIGlkPSJwYXRoMzYi + IC8+Cgk8L2c+Cgk8cGF0aAogICBjbGFzcz0ic3QyIgogICBkPSJtIDE0NC4yNyw1OC40NyA3LjA1LDYu + NzkgYyAwLjIyLDAuMjEgMC4zNSwwLjUxIDAuMzUsMC44MSB2IDE0LjU5IGMgMCwwLjk5IC0xLjE3LDEu + NSAtMS45LDAuODMgbCAtNy4wNSwtNi40OCBjIC0wLjIzLC0wLjIxIC0wLjM3LC0wLjUyIC0wLjM3LC0w + LjgzIHYgLTE0LjkgYyAwLjAxLC0wLjk5IDEuMjEsLTEuNSAxLjkyLC0wLjgxIHoiCiAgIGlkPSJwYXRo + NDAiIC8+Cgk8cGF0aAogICBjbGFzcz0ic3QyIgogICBkPSJtIDEyMC40NSw3My45MiAyOS4zMywyNi4z + NiBjIDAuNzMsMC42NSAxLjg5LDAuMTQgMS44OSwtMC44NCB2IC05LjgyIGMgMCwtMC4zMiAtMC4xMywt + MC42MiAtMC4zNywtMC44NCBMIDEzMy4yMSw3Mi4yNCBjIC0wLjIxLC0wLjE5IC0wLjQ4LC0wLjMgLTAu + NzYsLTAuMyBIIDEyMS4yIGMgLTEuMDQsMC4wMSAtMS41MywxLjI5IC0wLjc1LDEuOTggeiIKICAgaWQ9 + InBhdGg0MiIgLz4KPC9nPgoKPC9zdmc+Cg== + mediatype: image/svg+xml + install: + spec: + deployments: [] + strategy: deployment + installModes: + - supported: false + type: OwnNamespace + - supported: false + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - nfs + - ganesha + - storage + links: + - name: NFS Operator + url: https://krestomatio.com/docs/nfs-operator + - name: NFS Ganesha Image + url: https://krestomatio.com/docs/container-builder/nfs-ganesha + - name: NFS Ganesha Repo + url: https://github.com/nfs-ganesha/nfs-ganesha + - name: NFS Ganesha Docs + url: https://github.com/nfs-ganesha/nfs-ganesha/wiki + maintainers: + - email: jobcespedes@krestomatio.com + name: Job Cespedes Ortiz + maturity: alpha + minKubeVersion: 1.26.0 + provider: + name: Krestomatio + url: https://krestomatio.com + version: 0.4.3 diff --git a/bundle/metadata/annotations.yaml b/bundle/metadata/annotations.yaml new file mode 100644 index 0000000..9f451eb --- /dev/null +++ b/bundle/metadata/annotations.yaml @@ -0,0 +1,10 @@ +annotations: + # Core bundle annotations. + operators.operatorframework.io.bundle.mediatype.v1: registry+v1 + operators.operatorframework.io.bundle.manifests.v1: manifests/ + operators.operatorframework.io.bundle.metadata.v1: metadata/ + operators.operatorframework.io.bundle.package.v1: nfs-operator + operators.operatorframework.io.bundle.channels.v1: alpha + operators.operatorframework.io.metrics.builder: operator-sdk-v1.33.0 + operators.operatorframework.io.metrics.mediatype.v1: metrics+v1 + operators.operatorframework.io.metrics.project_layout: ansible.sdk.operatorframework.io/v1 diff --git a/config/crd/bases/nfs.krestomat.io_ganeshas.yaml b/config/crd/bases/nfs.krestomat.io_ganeshas.yaml index c3543ab..cad6ba8 100644 --- a/config/crd/bases/nfs.krestomat.io_ganeshas.yaml +++ b/config/crd/bases/nfs.krestomat.io_ganeshas.yaml @@ -10,6 +10,9 @@ spec: listKind: GaneshaList plural: ganeshas singular: ganesha + categories: + - lms + - nfs scope: Namespaced versions: - name: v1alpha1 diff --git a/config/crd/bases/nfs.krestomat.io_routines.yaml b/config/crd/bases/nfs.krestomat.io_routines.yaml index a8b81d2..9c3d2b6 100644 --- a/config/crd/bases/nfs.krestomat.io_routines.yaml +++ b/config/crd/bases/nfs.krestomat.io_routines.yaml @@ -10,6 +10,9 @@ spec: listKind: RoutineList plural: routines singular: routine + categories: + - lms + - nfs scope: Namespaced versions: - name: v1alpha1 diff --git a/config/manifests/bases/nfs-operator.clusterserviceversion.yaml b/config/manifests/bases/nfs-operator.clusterserviceversion.yaml new file mode 100644 index 0000000..3aac046 --- /dev/null +++ b/config/manifests/bases/nfs-operator.clusterserviceversion.yaml @@ -0,0 +1,114 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + alm-examples: '[]' + capabilities: Seamless Upgrades + categories: Application Runtime + description: |- + This operator simplifies NFS Ganesha deployments in Kubernetes by leveraging + the Ansible Operator SDK for automation + repository: https://github.com/krestomatio/nfs-operator + labels: + operatorframework.io/arch.amd64: supported + operatorframework.io/arch.arm64: supported + operatorframework.io/os.linux: supported + name: nfs-operator.v0.0.0 + namespace: placeholder +spec: + apiservicedefinitions: {} + customresourcedefinitions: {} + description: |- + This operator simplifies NFS Ganesha deployments in Kubernetes by leveraging + the Ansible Operator SDK for automation + displayName: NFS Operator + icon: + - base64data: |- + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcK + ICAgdmVyc2lvbj0iMS4xIgogICBpZD0iTGF5ZXJfMSIKICAgeD0iMHB4IgogICB5PSIwcHgiCiAgIHZp + ZXdCb3g9IjAgMCAxMDAwIDk5OS45OTk5NyIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgc29kaXBv + ZGk6ZG9jbmFtZT0ibG9nb19pY29uX3NxdWFyZS5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMy4y + ICgwOTFlMjBlZjBmLCAyMDIzLTExLTI1KSIKICAgd2lkdGg9IjEwMDAiCiAgIGhlaWdodD0iMTAwMCIK + ICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2Nh + cGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9z + b2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxu + czpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cu + dzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRp + dmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMv + MS4xLyI+PG1ldGFkYXRhCiAgIGlkPSJtZXRhZGF0YTExMyI+PHJkZjpSREY+PGNjOldvcmsKICAgICAg + IHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQog + ICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdl + IiAvPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcwogICBpZD0iZGVmczExMSIgLz48 + c29kaXBvZGk6bmFtZWR2aWV3CiAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgYm9yZGVyY29sb3I9IiM2 + NjY2NjYiCiAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgIGdyaWR0 + b2xlcmFuY2U9IjEwIgogICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5 + PSIwIgogICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5 + MjAiCiAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjExMTUiCiAgIGlkPSJuYW1lZHZpZXcxMDkiCiAg + IHNob3dncmlkPSJmYWxzZSIKICAgaW5rc2NhcGU6em9vbT0iMC41MDA4Nzc4NCIKICAgaW5rc2NhcGU6 + Y3g9IjIyMy42MDc0MiIKICAgaW5rc2NhcGU6Y3k9IjU1OC4wMjAyOSIKICAgaW5rc2NhcGU6d2luZG93 + LXg9IjAiCiAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVk + PSIxIgogICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJMYXllcl8xIgogICBpbmtzY2FwZTpzaG93cGFn + ZXNoYWRvdz0iMiIKICAgaW5rc2NhcGU6cGFnZWNoZWNrZXJib2FyZD0iMCIKICAgaW5rc2NhcGU6ZGVz + a2NvbG9yPSIjZDFkMWQxIiAvPgo8c3R5bGUKICAgdHlwZT0idGV4dC9jc3MiCiAgIGlkPSJzdHlsZTIi + PgoJLnN0MHtlbmFibGUtYmFja2dyb3VuZDpuZXcgICAgO30KCS5zdDF7ZmlsbDojMzczNjRFO30KCS5z + dDJ7ZmlsbDojRjI2NzJDO30KPC9zdHlsZT4KCjxnCiAgIGlkPSJnNDQiCiAgIHRyYW5zZm9ybT0ibWF0 + cml4KDEwLjMyNTAwNiwwLDAsMTAuNzk2Nzg3LC0xMDg2LjEwOTIsLTM2NC4wMjcwOSkiPgoJPGcKICAg + aWQ9ImczMCI+CgkJPHBhdGgKICAgY2xhc3M9InN0MiIKICAgZD0ibSAxNjkuNjIsODEuMjMgMTcuNTks + MTguNzYgYyAwLjY4LDAuNzIgMC4xNywxLjkxIC0wLjgzLDEuOTEgaCAtMTAuODQgYyAtMC4zMSwwIC0w + LjYxLC0wLjEzIC0wLjgyLC0wLjM2IEwgMTU5LjU2LDg1LjQ3IgogICBpZD0icGF0aDI4IiAvPgoJPC9n + PgoJPHBhdGgKICAgY2xhc3M9InN0MiIKICAgZD0ibSAxNjIuOTcsNTguNDcgLTcuMDUsNi43OSBjIC0w + LjIyLDAuMjEgLTAuMzUsMC41MSAtMC4zNSwwLjgxIHYgMTQuNTkgYyAwLDAuOTkgMS4xNywxLjUgMS45 + LDAuODMgbCA3LjA1LC02LjQ4IGMgMC4yMywtMC4yMSAwLjM3LC0wLjUyIDAuMzcsLTAuODMgdiAtMTQu + OSBjIC0wLjAxLC0wLjk5IC0xLjIsLTEuNSAtMS45MiwtMC44MSB6IgogICBpZD0icGF0aDMyIiAvPgoJ + PHBhdGgKICAgY2xhc3M9InN0MiIKICAgZD0ibSAxODYuOCw3My45MiAtMjkuMzMsMjYuMzYgYyAtMC43 + MywwLjY1IC0xLjg5LDAuMTQgLTEuODksLTAuODQgdiAtOS44MiBjIDAsLTAuMzIgMC4xMywtMC42MiAw + LjM3LC0wLjg0IGwgMTguMDksLTE2LjU0IGMgMC4yMSwtMC4xOSAwLjQ4LC0wLjMgMC43NiwtMC4zIGgg + MTEuMjQgYyAxLjA0LDAuMDEgMS41MywxLjI5IDAuNzYsMS45OCB6IgogICBpZD0icGF0aDM0IiAvPgoJ + PGcKICAgaWQ9ImczOCI+CgkJPHBhdGgKICAgY2xhc3M9InN0MiIKICAgZD0ibSAxNDcuNjcsODUuNDcg + LTE1LjE2LDE2LjA3IGMgLTAuMjEsMC4yMyAtMC41MSwwLjM2IC0wLjgyLDAuMzYgaCAtMTAuODQgYyAt + MC45OSwwIC0xLjUsLTEuMTggLTAuODMsLTEuOTEgbCAxNy41OSwtMTguNzYiCiAgIGlkPSJwYXRoMzYi + IC8+Cgk8L2c+Cgk8cGF0aAogICBjbGFzcz0ic3QyIgogICBkPSJtIDE0NC4yNyw1OC40NyA3LjA1LDYu + NzkgYyAwLjIyLDAuMjEgMC4zNSwwLjUxIDAuMzUsMC44MSB2IDE0LjU5IGMgMCwwLjk5IC0xLjE3LDEu + NSAtMS45LDAuODMgbCAtNy4wNSwtNi40OCBjIC0wLjIzLC0wLjIxIC0wLjM3LC0wLjUyIC0wLjM3LC0w + LjgzIHYgLTE0LjkgYyAwLjAxLC0wLjk5IDEuMjEsLTEuNSAxLjkyLC0wLjgxIHoiCiAgIGlkPSJwYXRo + NDAiIC8+Cgk8cGF0aAogICBjbGFzcz0ic3QyIgogICBkPSJtIDEyMC40NSw3My45MiAyOS4zMywyNi4z + NiBjIDAuNzMsMC42NSAxLjg5LDAuMTQgMS44OSwtMC44NCB2IC05LjgyIGMgMCwtMC4zMiAtMC4xMywt + MC42MiAtMC4zNywtMC44NCBMIDEzMy4yMSw3Mi4yNCBjIC0wLjIxLC0wLjE5IC0wLjQ4LC0wLjMgLTAu + NzYsLTAuMyBIIDEyMS4yIGMgLTEuMDQsMC4wMSAtMS41MywxLjI5IC0wLjc1LDEuOTggeiIKICAgaWQ9 + InBhdGg0MiIgLz4KPC9nPgoKPC9zdmc+Cg== + mediatype: image/svg+xml + install: + spec: + deployments: null + strategy: "" + installModes: + - supported: false + type: OwnNamespace + - supported: false + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - nfs + - ganesha + - storage + links: + - name: NFS Operator + url: https://krestomatio.com/docs/nfs-operator + - name: NFS Ganesha Image + url: https://krestomatio.com/docs/container-builder/nfs-ganesha + - name: NFS Ganesha Repo + url: https://github.com/nfs-ganesha/nfs-ganesha + - name: NFS Ganesha Docs + url: https://github.com/nfs-ganesha/nfs-ganesha/wiki + maintainers: + - email: jobcespedes@krestomatio.com + name: Job Cespedes Ortiz + maturity: alpha + minKubeVersion: 1.26.0 + provider: + name: Krestomatio + url: https://krestomatio.com + version: 0.0.0 diff --git a/hack/mk b/hack/mk index e32d997..2e6429b 160000 --- a/hack/mk +++ b/hack/mk @@ -1 +1 @@ -Subproject commit e32d99789a6475a28b037881bb2d9bacf9195eba +Subproject commit 2e6429b3479c8424b3ab29bb6ff4e361bb938b21 diff --git a/playbooks/ganesha.yml b/playbooks/ganesha.yml index 47a84f1..79e949c 100644 --- a/playbooks/ganesha.yml +++ b/playbooks/ganesha.yml @@ -5,5 +5,6 @@ - kubernetes.core - operator_sdk.util tasks: - - import_role: + - name: import nfs ganesha role + import_role: name: krestomatio.k8s.v1alpha1.nfs.ganesha diff --git a/playbooks/routine.yml b/playbooks/routine.yml index e4b7ae2..93146e2 100644 --- a/playbooks/routine.yml +++ b/playbooks/routine.yml @@ -5,5 +5,6 @@ - kubernetes.core - operator_sdk.util tasks: - - import_role: + - name: import nfs routine role + import_role: name: krestomatio.k8s.v1alpha1.nfs.routine