Skip to content
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
45 changes: 45 additions & 0 deletions packaging/rpm/microshift.spec
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,41 @@ systems, scale testing, and provisioning of lightweight Kubernetes control plane
Note: MicroShift is still early days and moving fast. Features are missing.
Things break. But you can still help shape it, too.

%package containerized
Summary: Containerized systemd files for MicroShift
BuildArch: noarch
Requires: crio
Requires: cri-tools
Requires: microshift-selinux
Requires: podman
%{?selinux_requires}

%description containerized
This is the containerized version of MicroShift.

MicroShift is a research project that is exploring how OpenShift Kubernetes
can be optimized for small form factor and edge computing.

Edge devices deployed out in the field pose very different operational,
environmental, and business challenges from those of cloud computing.
These motivate different engineering
trade-offs for Kubernetes at the far edge than for cloud or near-edge
scenarios. MicroShift's design goals cater to this:

make frugal use of system resources (CPU, memory, network, storage, etc.),
tolerate severe networking constraints, update (resp. roll back) securely,
safely, speedily, and seamlessly (without disrupting workloads), and build on
and integrate cleanly with edge-optimized OSes like Fedora IoT and RHEL for Edge,
while providing a consistent development and management experience with standard
OpenShift.

We believe these properties should also make MicroShift a great tool for other
use cases such as Kubernetes applications development on resource-constrained
systems, scale testing, and provisioning of lightweight Kubernetes control planes.

Note: MicroShift is still early days and moving fast. Features are missing.
Things break. But you can still help shape it, too.

%package selinux
Summary: SELinux policies for MicroShift
BuildRequires: selinux-policy
Expand Down Expand Up @@ -138,6 +173,7 @@ restorecon -v %{buildroot}%{_bindir}/microshift

install -d -m755 %{buildroot}/%{_unitdir}
install -p -m644 packaging/systemd/microshift.service %{buildroot}%{_unitdir}/microshift.service
install -p -m644 packaging/systemd/microshift-containerized.service %{buildroot}%{_unitdir}/microshift-containerized.service

mkdir -p -m755 %{buildroot}/var/run/flannel
mkdir -p -m755 %{buildroot}/var/run/kubelet
Expand Down Expand Up @@ -184,10 +220,19 @@ fi
%{_datadir}/selinux/packages/%{selinuxtype}/microshift.pp.bz2
%ghost %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/microshift

%files containerized

%{_unitdir}/microshift-containerized.service

%changelog
* Thu Nov 4 2021 Miguel angel Ajo <majopela@redhat.com> . 4.8.0-nightly-14-g973b9c78
- Add microshift-containerized subpackage which contains the microshift-containerized systemd
definition.

* Thu Nov 4 2021 Miguel Angel Ajo <majopela@redhat.com> . 4.8.0-nightly-13-g886705e5
- Include the cleanup-all-microshift-data script for convenience


* Thu Sep 23 2021 Miguel Angel Ajo <majopela@redhat.com> . 4.7.0-021_08_31_224727_40_g5c23735f
- Support commit based builds
- workaround rpmbuild with no build in place support
Expand Down
2 changes: 1 addition & 1 deletion packaging/systemd/microshift-aio.service
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Tue Sep 28 16:00:39 UTC 2021

[Unit]
Description=microshift all-in-one
Description=MicroShift all-in-one
Documentation=man:podman-generate-systemd(1)
Wants=network-online.target
After=network-online.target
Expand Down
6 changes: 3 additions & 3 deletions packaging/systemd/microshift-containerized.service
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
# Thu Oct 28 14:18:51 UTC 2021

[Unit]
Description=Podman microshift
Description=MicroShift Containerized
Documentation=man:podman-generate-systemd(1)
Wants=network-online.target
After=network-online.target
Wants=network-online.target crio.service
After=network-online.target crio.service
RequiresMountsFor=%t/containers

[Service]
Expand Down
3 changes: 2 additions & 1 deletion packaging/systemd/microshift.service
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[Unit]
Description=MicroShift
After=crio.service
Wants=network-online.target crio.service
After=network-online.target crio.service

[Service]
WorkingDirectory=/usr/bin/
Expand Down