Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
121e6eb
Update version to 130.0
Dec 9, 2024
c16ea0f
Merge branch 'feature/init-dev-130.0' into q/130.0
bert-e Dec 9, 2024
eda32ad
build: bump kubernetes to 1.30.7
eg-ayoub Dec 9, 2024
955104e
build: update etcd to 3.5.16
eg-ayoub Dec 9, 2024
e4de337
salt: sync kubelet and kube-proxy conf with kubeadm
eg-ayoub Dec 10, 2024
5288304
Release 130.0.0-alpha.1
Dec 16, 2024
64cca75
Merge tag '130.0.0-alpha.1' into feature/merge-130.0.0-alpha.1-tag
Dec 16, 2024
a34acae
ARTESCA-12459 // Severity icon is not displayed in the Alert email
hervedombya Dec 16, 2024
05afaa3
Merge branch 'w/129.0/feature/fix-VERSION-file' into tmp/octopus/w/13…
bert-e Dec 26, 2024
4df3dd3
Merge branch 'w/129.0/feature/merge-128.0.2-tag' into tmp/octopus/w/1…
bert-e Jan 2, 2025
61b8b52
Merge branch 'w/129.0/improvement/fix-kubernetes-post-cert-renew' int…
bert-e Jan 28, 2025
53cc947
Merge branch 'feature/ARTESCA-13969' into tmp/octopus/w/130.0/feature…
bert-e Jan 28, 2025
29117ee
Merge branches 'w/130.0/feature/ARTESCA-13969' and 'q/w/4482/129.0/fe…
bert-e Jan 29, 2025
e17c380
Merge branch 'bugfix/version-file' into tmp/octopus/w/130.0/bugfix/ve…
bert-e Jan 29, 2025
c40a457
Merge branch 'feature/merge-129.0.0-beta.3-tag' into tmp/octopus/w/13…
bert-e Jan 29, 2025
973c0b5
Merge branch 'improvement/fix-apiserver-deploy-order' into tmp/octopu…
bert-e Feb 11, 2025
6560b41
Merge branch 'bugfix/react18-navigation-issues' into tmp/octopus/w/13…
bert-e Feb 12, 2025
625a65a
Merge branches 'w/130.0/bugfix/react18-navigation-issues' and 'q/w/45…
bert-e Feb 12, 2025
7827c32
Merge branch 'feature/merge-129.0.0-beta.4-tag' into tmp/octopus/w/13…
bert-e Feb 13, 2025
516d7e1
build, salt: Generate OLMv1 manifest
eg-ayoub Jan 30, 2025
8538311
salt: wait for cert-manager before installing OLM
eg-ayoub Jan 30, 2025
c7111f5
build: create nginx-operator and bundle
eg-ayoub Jan 30, 2025
de5c0db
build: create metalk8s-catalog-source
eg-ayoub Jan 30, 2025
374a8b1
salt: install metalk8s-catalog-source
eg-ayoub Jan 30, 2025
4c19899
salt: install nginx-operator
eg-ayoub Jan 30, 2025
52d424b
hack: support static registry url
eg-ayoub Feb 11, 2025
d7e8f31
buildchain: remove ingress-nginx chart
eg-ayoub Jan 30, 2025
7cd825e
salt: use nginx-operator to deploy ingresses
eg-ayoub Jan 30, 2025
b7aefc4
test: sanity test for OLM related components
eg-ayoub Jan 30, 2025
3c1c6d6
test: salt unit test for metalk8s_olm
eg-ayoub Feb 11, 2025
8a6eebb
[TMP] rollback operator-sdk to 4.11.3
eg-ayoub Feb 12, 2025
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
12 changes: 6 additions & 6 deletions .github/workflows/crons.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ jobs:
include:
# these helper comments are needed by the dev branch workflow
# please do not edit them unless you're changing the version as well
# current=129.0
- name: "Nightly for MetalK8s 129.0"
# current=130.0
- name: "Nightly for MetalK8s 130.0"
cron: "0 1 * * 1-5"
branch: "development/129.0"
branch: "development/130.0"
workflow: "nightly.yaml"
# old=128.0
- name: "Nightly for MetalK8s 128.0"
# old=129.0
- name: "Nightly for MetalK8s 129.0"
cron: "0 2 * * 1-5"
branch: "development/128.0"
branch: "development/129.0"
workflow: "nightly.yaml"
steps:
- name: Checkout
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# CHANGELOG

## Release 130.0.0 (in development)

### Enhancements

- Bump Kubernetes version to
[1.30.7](https://github.com/kubernetes/kubernetes/releases/tag/v1.30.7)
(PR[#4497](https://github.com/scality/metalk8s/pull/4497))

- Bump etcd version to [3.5.16](https://github.com/etcd-io/etcd/releases/tag/v3.5.16)
(PR[#4497](https://github.com/scality/metalk8s/pull/4497))

## Release 129.0.0 (in development)

### Removals
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
VERSION_MAJOR=129
VERSION_MAJOR=130
VERSION_MINOR=0
VERSION_PATCH=0
VERSION_SUFFIX=-dev
73 changes: 18 additions & 55 deletions buildchain/buildchain/codegen.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,60 +125,6 @@ def codegen_chart_fluent_bit() -> types.TaskDict:
}


def codegen_chart_ingress_nginx() -> types.TaskDict:
"""Generate the SLS file for NGINX Ingress using the chart render script."""
chart_dir = constants.CHART_ROOT / "ingress-nginx"
ingress_nginx_namespace = "metalk8s-ingress"
actions = []
file_dep = list(utils.git_ls(chart_dir))
file_dep.append(constants.CHART_RENDER_SCRIPT)

# Workload Plane Ingress
target_sls = (
constants.ROOT / "salt/metalk8s/addons/nginx-ingress/deployed/chart.sls"
)
chart_name = "ingress-nginx"
value_file = constants.CHART_ROOT / f"{chart_name}.yaml"
actions.append(
doit.action.CmdAction(
f"{constants.CHART_RENDER_CMD} {chart_name} {value_file} {chart_dir} "
f"--namespace {ingress_nginx_namespace} --remove-manifest ConfigMap "
f"{chart_name}-controller "
f"--output {target_sls}",
cwd=constants.ROOT,
)
)
file_dep.append(value_file)

# Control Plane Ingress
target_sls = (
constants.ROOT
/ "salt/metalk8s/addons/nginx-ingress-control-plane"
/ "deployed/chart.sls"
)
chart_name = "ingress-nginx-control-plane"
value_file = constants.CHART_ROOT / f"{chart_name}.yaml"
actions.append(
doit.action.CmdAction(
f"{constants.CHART_RENDER_CMD} {chart_name} {value_file} {chart_dir} "
f"--namespace {ingress_nginx_namespace} --remove-manifest ConfigMap "
f"{chart_name}-controller "
f"--output {target_sls}",
cwd=constants.ROOT,
)
)
file_dep.append(value_file)

return {
"name": "chart_ingress-nginx",
"title": utils.title_with_subtask_name("CODEGEN"),
"doc": codegen_chart_ingress_nginx.__doc__,
"actions": actions,
"file_dep": file_dep,
"task_dep": ["check_for:tox", "check_for:helm"],
}


def codegen_chart_kube_prometheus_stack() -> types.TaskDict:
"""Generate the SLS file for Kube Prometheus Stack using the chart render script."""
target_sls = (
Expand Down Expand Up @@ -333,18 +279,35 @@ def codegen_chart_cert_manager() -> types.TaskDict:
}


def codegen_olm() -> types.TaskDict:
"""Generate the SLS file for OLMv1 using the render script."""
target_sls = constants.ROOT / "salt/metalk8s/addons/olm/deployed/chart.sls"
cmd = f"{constants.OLM_RENDER_CMD} " f"--output {target_sls}"

file_dep = [constants.OLM_RENDER_SCRIPT]

return {
"name": "olm",
"title": utils.title_with_subtask_name("CODEGEN"),
"doc": codegen_olm.__doc__,
"actions": [doit.action.CmdAction(cmd, cwd=constants.ROOT)],
"file_dep": file_dep,
"task_dep": ["check_for:tox"],
}


# List of available code generation tasks.
CODEGEN: Tuple[Callable[[], types.TaskDict], ...] = (
codegen_storage_operator,
codegen_metalk8s_operator,
codegen_chart_dex,
codegen_chart_fluent_bit,
codegen_chart_ingress_nginx,
codegen_chart_kube_prometheus_stack,
codegen_chart_loki,
codegen_chart_prometheus_adapter,
codegen_chart_thanos,
codegen_chart_cert_manager,
codegen_olm,
)


Expand Down
8 changes: 8 additions & 0 deletions buildchain/buildchain/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
PROMETHEUS_REPOSITORY: str = "quay.io/prometheus"
THANOS_REPOSITORY: str = "quay.io/thanos"
CERT_MANAGER_REPOSITORY: str = "quay.io/jetstack"
OPERATOR_FRAMEWORK_REPOSITORYT: str = "quay.io/operator-framework"

# Paths {{{

Expand All @@ -57,12 +58,16 @@
STATIC_CONTAINER_REGISTRY: Path = Path(ROOT, "buildchain/static-container-registry")
# Path to the MetalK8s operator source directory
METALK8S_OPERATOR_ROOT: Path = ROOT / "operator"
# Path to the nginx-operator source directory.
NGINX_OPERATOR_ROOT: Path = ROOT / "nginx-operator"
# Path to the storage-operator source directory.
STORAGE_OPERATOR_ROOT: Path = ROOT / "storage-operator"
# Path to the UI build root directory.
UI_BUILD_ROOT: Path = config.BUILD_ROOT / "ui"
# Path to the shell-ui build root directory.
SHELL_UI_BUILD_ROOT: Path = config.BUILD_ROOT / "shell-ui"
# Path to the MetalK8s Catalog Source root directory
CATALOG_SOURCE_ROOT: Path = ROOT / "catalog-source"

# Docker entrypoints.
REDHAT_ENTRYPOINT: Path = ROOT / "packages/redhat/common/entrypoint.sh"
Expand All @@ -76,6 +81,8 @@
CHART_ROOT: Path = ROOT / "charts"
CHART_RENDER_SCRIPT: Path = CHART_ROOT / "render.py"

OLM_RENDER_SCRIPT: Path = ROOT / "olm/render.py"

# }}}
# Vagrant parameters {{{

Expand Down Expand Up @@ -145,6 +152,7 @@ def git_ref() -> Optional[str]:
]

CHART_RENDER_CMD: str = f"tox -e chart-render -- --kube-version {versions.K8S_VERSION}"
OLM_RENDER_CMD: str = f"tox -e olm-render -- -v v{versions.OLM_VERSION}"

# For mypy, see `--no-implicit-reexport` documentation.
__all__ = ["ROOT"]
29 changes: 29 additions & 0 deletions buildchain/buildchain/image.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,11 @@ def _local_image(name: str, **kwargs: Any) -> targets.LocalImage:
"cert-manager-cainjector",
"cert-manager-acmesolver",
],
constants.OPERATOR_FRAMEWORK_REPOSITORYT: [
"catalogd",
"operator-controller",
"opm",
],
}

REMOTE_NAMES: Dict[str, str] = {
Expand Down Expand Up @@ -323,6 +328,30 @@ def _local_image(name: str, **kwargs: Any) -> targets.LocalImage:
"VERSION": versions.VERSION,
},
),
_local_image(
name="nginx-operator",
dockerfile=constants.NGINX_OPERATOR_ROOT / "Dockerfile",
build_context=constants.NGINX_OPERATOR_ROOT,
),
_local_image(
name="nginx-operator-bundle",
dockerfile=constants.NGINX_OPERATOR_ROOT / "bundle.Dockerfile",
build_context=constants.NGINX_OPERATOR_ROOT,
build_args={
"BUILDER_IMG": TO_PULL["alpine"].remote_fullname_digest,
"METALK8S_VERSION": versions.VERSION,
},
),
_local_image(
name="metalk8s-catalog-source",
dockerfile=constants.CATALOG_SOURCE_ROOT / "catalog.Dockerfile",
build_context=constants.CATALOG_SOURCE_ROOT,
build_args={
"BASE_IMG": TO_PULL["opm"].remote_fullname_digest,
"SED_IMG": TO_PULL["alpine"].remote_fullname_digest,
"METALK8S_VERSION": versions.VERSION,
},
),
)
# }}}

Expand Down
9 changes: 9 additions & 0 deletions buildchain/buildchain/salt_tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,14 @@ def task(self) -> types.TaskDict:
file_dep=[METALK8S_OPERATOR_MANIFESTS],
),
Path("salt/metalk8s/addons/metalk8s-operator/deployed/init.sls"),
Path("salt/metalk8s/addons/nginx-operator/deployed/clusterextension.sls"),
Path("salt/metalk8s/addons/nginx-operator/deployed/init.sls"),
Path("salt/metalk8s/addons/nginx-operator/deployed/namespace.sls"),
Path("salt/metalk8s/addons/nginx-operator/deployed/rbac.sls"),
Path("salt/metalk8s/addons/olm/catalog/deployed/cluster-catalog.sls"),
Path("salt/metalk8s/addons/olm/catalog/deployed/init.sls"),
Path("salt/metalk8s/addons/olm/deployed/chart.sls"),
Path("salt/metalk8s/addons/olm/deployed/init.sls"),
Path("salt/metalk8s/addons/prometheus-adapter/deployed/chart.sls"),
Path("salt/metalk8s/addons/prometheus-adapter/deployed/init.sls"),
Path("salt/metalk8s/addons/prometheus-operator/macros.j2"),
Expand Down Expand Up @@ -680,6 +688,7 @@ def task(self) -> types.TaskDict:
Path("salt/_modules/metalk8s_kubernetes_utils.py"),
Path("salt/_modules/metalk8s_monitoring.py"),
Path("salt/_modules/metalk8s_network.py"),
Path("salt/_modules/metalk8s_olm.py"),
Path("salt/_modules/metalk8s_os.py"),
Path("salt/_modules/metalk8s_package_manager_yum.py"),
Path("salt/_modules/metalk8s_service_configuration.py"),
Expand Down
49 changes: 41 additions & 8 deletions buildchain/buildchain/versions.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,22 @@
# Project-wide versions {{{

K8S_VERSION_MAJOR: str = "1"
K8S_VERSION_MINOR: str = "29"
K8S_VERSION_PATCH: str = "8"
K8S_VERSION_MINOR: str = "30"
K8S_VERSION_PATCH: str = "7"

K8S_SHORT_VERSION: str = f"{K8S_VERSION_MAJOR}.{K8S_VERSION_MINOR}"
K8S_VERSION: str = f"{K8S_SHORT_VERSION}.{K8S_VERSION_PATCH}"

CALICO_VERSION: str = "3.29.0"
SALT_VERSION: str = "3002.9"
CONTAINERD_VERSION: str = "1.6.36"
NGINX_OPERATOR_VERSION: str = "4.11.3"

CONTAINERD_RELEASE: str = "1"
SOSREPORT_RELEASE: str = "2"

OLM_VERSION: str = "1.1.0"


def load_version_information() -> None:
"""Load version information from `VERSION`."""
Expand Down Expand Up @@ -80,7 +83,7 @@ def load_version_information() -> None:
"2cb86b2d8326a987546dc7fb393f43d43d478fea12ce3ce4accbda571f47f86b"
)

ETCD_VERSION: str = "3.5.15"
ETCD_VERSION: str = "3.5.16"
ETCD_IMAGE_VERSION: str = f"{ETCD_VERSION}-0"
NGINX_IMAGE_VERSION: str = "1.27.2-alpine"
NODEJS_IMAGE_VERSION: str = "20.11.1"
Expand Down Expand Up @@ -141,7 +144,7 @@ def _version_prefix(version: str, prefix: str = "v") -> str:
Image(
name="etcd",
version=ETCD_IMAGE_VERSION,
digest="sha256:a6dc63e6e8cfa0307d7851762fa6b629afb18f28d8aa3fab5a6e91b4af60026a",
digest="sha256:c6a9d11cc5c04b114ccdef39a9265eeef818e3d02f5359be035ae784097fdec5",
),
Image(
name="grafana",
Expand All @@ -156,22 +159,22 @@ def _version_prefix(version: str, prefix: str = "v") -> str:
Image(
name="kube-apiserver",
version=_version_prefix(K8S_VERSION),
digest="sha256:6f72fa926c9b05e10629fe1a092fd28dcd65b4fdfd0cc7bd55f85a57a6ba1fa5",
digest="sha256:13f4f0f5850b39742101c656b1bbd5090eacf27084ad89b489fc824ef482ed9c",
),
Image(
name="kube-controller-manager",
version=_version_prefix(K8S_VERSION),
digest="sha256:6f27d63ded20614c68554b477cd7a78eda78a498a92bfe8935cf964ca5b74d0b",
digest="sha256:5b8dc26c05b273ce198fbaf4eb179f3b6d6919c6e2116d36dc7f82555374c687",
),
Image(
name="kube-proxy",
version=_version_prefix(K8S_VERSION),
digest="sha256:559a093080f70ca863922f5e4bb90d6926d52653a91edb5b72c685ebb65f1858",
digest="sha256:c4b64b2ac9e3d26c43a81ad11226a127e278a04b6f33f8baa9f5daa162b71c26",
),
Image(
name="kube-scheduler",
version=_version_prefix(K8S_VERSION),
digest="sha256:da74a66675d95e39ec25da5e70729da746d0fa0b15ee0da872ac980519bc28bd",
digest="sha256:00b16db991101b7361f2f18035e1c6526c0ce6c9a9568524824b4bccdf1afbd6",
),
Image(
name="kube-state-metrics",
Expand Down Expand Up @@ -225,6 +228,16 @@ def _version_prefix(version: str, prefix: str = "v") -> str:
version="v0.36.1",
digest="sha256:e542959e1b36d5046083d1b64a7049c356b68a44a173c58b3ae7c0c9ada932d5",
),
Image(
name="catalogd",
version=_version_prefix(OLM_VERSION),
digest="sha256:95477a136772765fa2cfb02a6e5fb52bcc167ef7b5333f9e238b0b13b9e72f7b",
),
Image(
name="operator-controller",
version=_version_prefix(OLM_VERSION),
digest="sha256:6272919257e695fcdadf0b57cc0a272084ebf2caca7571e2e5d79d6a56a788fa",
),
# Local images
Image(
name="metalk8s-alert-logger",
Expand Down Expand Up @@ -266,6 +279,26 @@ def _version_prefix(version: str, prefix: str = "v") -> str:
version=VERSION,
digest=None,
),
Image(
name="nginx-operator",
version=_version_prefix(NGINX_OPERATOR_VERSION),
digest=None,
),
Image(
name="nginx-operator-bundle",
version=_version_prefix(NGINX_OPERATOR_VERSION),
digest=None,
),
Image(
name="opm",
version="v1.49.0",
digest="sha256:0bbe4054f2f88410ae364169379639c06b0e253d6e233bc24fcf2c0cd2d9803d",
),
Image(
name="metalk8s-catalog-source",
version=VERSION,
digest=None,
),
Image(
name="loki",
version="3.2.0",
Expand Down
2 changes: 2 additions & 0 deletions catalog-source/.indexignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
README.md
*.Dockerfile
5 changes: 5 additions & 0 deletions catalog-source/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# MetalK8s catalog source for OLMv1

contains the current operators:

- MetalK8s [nginx-operator](../nginx-operator)
Loading
Loading