From 7c7e41685ac12c72d667c375f477598d70a4cca6 Mon Sep 17 00:00:00 2001 From: wguy Date: Tue, 4 Feb 2025 12:41:23 -0800 Subject: [PATCH] Provides a CLI for FluxCD package manager. Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration (like Git repositories), and automating updates to configuration. This commit will establish the package build for the flux CLI. A followup commit will be provided to include in the ISO when properly integrated with the application framework Test Plan: PASS: build-pkgs -e -c -p flux2 PASS: build-image success but no flux2 package included Change-Id: I008d007cb840ff39ad78d2189819f3c3f4083b1d Signed-off-by: wguy --- debian_pkg_dirs | 1 + kubernetes/flux2/debian/deb_folder/changelog | 5 +++ kubernetes/flux2/debian/deb_folder/control | 15 +++++++++ kubernetes/flux2/debian/deb_folder/copyright | 31 +++++++++++++++++++ .../flux2/debian/deb_folder/flux2.install | 1 + .../debian/deb_folder/flux2.lintian-overrides | 2 ++ kubernetes/flux2/debian/deb_folder/rules | 22 +++++++++++++ .../flux2/debian/deb_folder/source/format | 1 + kubernetes/flux2/debian/meta_data.yaml | 13 ++++++++ kubernetes/flux2/files/.gitkeep | 0 10 files changed, 91 insertions(+) create mode 100644 kubernetes/flux2/debian/deb_folder/changelog create mode 100644 kubernetes/flux2/debian/deb_folder/control create mode 100644 kubernetes/flux2/debian/deb_folder/copyright create mode 100644 kubernetes/flux2/debian/deb_folder/flux2.install create mode 100644 kubernetes/flux2/debian/deb_folder/flux2.lintian-overrides create mode 100755 kubernetes/flux2/debian/deb_folder/rules create mode 100644 kubernetes/flux2/debian/deb_folder/source/format create mode 100644 kubernetes/flux2/debian/meta_data.yaml create mode 100644 kubernetes/flux2/files/.gitkeep diff --git a/debian_pkg_dirs b/debian_pkg_dirs index 566b4021b..14e9ef9f6 100644 --- a/debian_pkg_dirs +++ b/debian_pkg_dirs @@ -67,6 +67,7 @@ kubernetes/containerd kubernetes/crictl kubernetes/docker-distribution kubernetes/etcd +kubernetes/flux2 kubernetes/helm kubernetes/k8s-cni-cache-cleanup kubernetes/k8s-pod-recovery diff --git a/kubernetes/flux2/debian/deb_folder/changelog b/kubernetes/flux2/debian/deb_folder/changelog new file mode 100644 index 000000000..4c3ad495e --- /dev/null +++ b/kubernetes/flux2/debian/deb_folder/changelog @@ -0,0 +1,5 @@ +flux2 (2.3.0-1) stable; urgency=medium + + * Initial release + + -- Wey-Yi Guy Mon, 03 Feb 2025 07:46:42 +0000 diff --git a/kubernetes/flux2/debian/deb_folder/control b/kubernetes/flux2/debian/deb_folder/control new file mode 100644 index 000000000..6aff8863e --- /dev/null +++ b/kubernetes/flux2/debian/deb_folder/control @@ -0,0 +1,15 @@ +Source: flux2 +Section: admin +Priority: optional +Maintainer: StarlingX Developers +Build-Depends: debhelper-compat (= 13) +Standards-Version: 4.5.1 +Homepage: https://www.starlingx.io + +Package: flux2 +Architecture: any +Depends: ${misc:Depends} +Description: Provides a CLI for FluxCD package manager. + Flux is a tool for keeping Kubernetes clusters in sync with sources of + configuration (like Git repositories), and automating updates to + configuration. diff --git a/kubernetes/flux2/debian/deb_folder/copyright b/kubernetes/flux2/debian/deb_folder/copyright new file mode 100644 index 000000000..deab1f758 --- /dev/null +++ b/kubernetes/flux2/debian/deb_folder/copyright @@ -0,0 +1,31 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + +Upstream-Name: flux2 +Upstream-Contact: cncf-flux-dev@lists.cncf.io +Source: https://github.com/fluxcd +Files: * +Copyright: (C) Copyright 2025 The Kubernetes Authors All Rights Reserved +License: Apache-2 + +Upstream-Name: flux2 +Upstream-Contact: StarlingX Developers +Source: https://opendev.org/starlingx/integ/src/branch/master/kubernetes/flux2 +Files: debian/* +Copyright: (c) 2025 Wind River Systems, Inc. +License: Apache-2 + +License: Apache-2 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian-based systems the full text of the Apache version 2.0 license + can be found in `/usr/share/common-licenses/Apache-2.0'. diff --git a/kubernetes/flux2/debian/deb_folder/flux2.install b/kubernetes/flux2/debian/deb_folder/flux2.install new file mode 100644 index 000000000..fe1f40c42 --- /dev/null +++ b/kubernetes/flux2/debian/deb_folder/flux2.install @@ -0,0 +1 @@ +flux /usr/local/bin/ diff --git a/kubernetes/flux2/debian/deb_folder/flux2.lintian-overrides b/kubernetes/flux2/debian/deb_folder/flux2.lintian-overrides new file mode 100644 index 000000000..12bd2d543 --- /dev/null +++ b/kubernetes/flux2/debian/deb_folder/flux2.lintian-overrides @@ -0,0 +1,2 @@ +description-starts-with-package-name +statically-linked-binary diff --git a/kubernetes/flux2/debian/deb_folder/rules b/kubernetes/flux2/debian/deb_folder/rules new file mode 100755 index 000000000..1655bca09 --- /dev/null +++ b/kubernetes/flux2/debian/deb_folder/rules @@ -0,0 +1,22 @@ +#!/usr/bin/make -f +# export DH_VERBOSE = 1 + +export ROOT = debian/tmp +export SBINDIR = $(ROOT)/usr/local/bin + +export FLUX_VERSION = 2.3.0 +export FLUX_PKG = flux_$(FLUX_VERSION)_linux_amd64.tar.gz + +%: + dh $@ + +override_dh_auto_build: + # Extract the third party flux-cli package downloaded in dl_hook. + tar xfz $(FLUX_PKG) + +override_dh_auto_install: + install -d -m 755 $(SBINDIR) + install -d -m 755 $(ROOT)/usr/local/bin + +override_dh_usrlocal: + # Do Nothing diff --git a/kubernetes/flux2/debian/deb_folder/source/format b/kubernetes/flux2/debian/deb_folder/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/kubernetes/flux2/debian/deb_folder/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/kubernetes/flux2/debian/meta_data.yaml b/kubernetes/flux2/debian/meta_data.yaml new file mode 100644 index 000000000..d6b628650 --- /dev/null +++ b/kubernetes/flux2/debian/meta_data.yaml @@ -0,0 +1,13 @@ +--- +debname: flux2 +debver: 2.3.0-1 +src_path: files +dl_files: + flux_2.3.0_linux_amd64.tar.gz: + topdir: null + url: https://github.com/fluxcd/flux2/releases/download/v2.3.0/flux_2.3.0_linux_amd64.tar.gz + sha256sum: 51ef10a0ebf2078e52476c4d168200a1db73feef987e0bc8722f4ce4fcd4b6d9 + +revision: + dist: $STX_DIST + PKG_GITREVCOUNT: true diff --git a/kubernetes/flux2/files/.gitkeep b/kubernetes/flux2/files/.gitkeep new file mode 100644 index 000000000..e69de29bb