Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add bundle #184

Merged
merged 2 commits into from
Apr 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .ansible-lint
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
warn_list:
- fqcn[keyword]
- fqcn[action-core]
- name[casing]
100 changes: 100 additions & 0 deletions .lighthouse/jenkins-x/image.yaml
Original file line number Diff line number Diff line change
@@ -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: {}
7 changes: 7 additions & 0 deletions .lighthouse/jenkins-x/lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
19 changes: 19 additions & 0 deletions .lighthouse/jenkins-x/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -48,6 +55,8 @@ spec:
env:
- name: HOME
value: /workspace
- name: DOCKER_CONTEXT
value: multiarch-builder-amd64
resources:
limits:
cpu: 400m
Expand All @@ -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: {}
Expand Down
8 changes: 8 additions & 0 deletions .lighthouse/jenkins-x/triggers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
15 changes: 15 additions & 0 deletions bundle.Dockerfile
Original file line number Diff line number Diff line change
@@ -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/
117 changes: 117 additions & 0 deletions bundle/manifests/nfs-operator.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
@@ -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: [email protected]
name: Job Cespedes Ortiz
maturity: alpha
minKubeVersion: 1.26.0
provider:
name: Krestomatio
url: https://krestomatio.com
version: 0.4.3
10 changes: 10 additions & 0 deletions bundle/metadata/annotations.yaml
Original file line number Diff line number Diff line change
@@ -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
3 changes: 3 additions & 0 deletions config/crd/bases/nfs.krestomat.io_ganeshas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ spec:
listKind: GaneshaList
plural: ganeshas
singular: ganesha
categories:
- lms
- nfs
scope: Namespaced
versions:
- name: v1alpha1
Expand Down
3 changes: 3 additions & 0 deletions config/crd/bases/nfs.krestomat.io_routines.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ spec:
listKind: RoutineList
plural: routines
singular: routine
categories:
- lms
- nfs
scope: Namespaced
versions:
- name: v1alpha1
Expand Down
Loading