Compare commits
2 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4edd7c9b5a | ||
|
|
beadf4d356 |
7 changed files with 371 additions and 0 deletions
44
Dockerfile
Normal file
44
Dockerfile
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
#
|
||||||
|
# This is the official OpenShift Origin image. It has as its entrypoint the OpenShift
|
||||||
|
# all-in-one binary.
|
||||||
|
#
|
||||||
|
# While this image can be used for a simple node it does not support OVS based
|
||||||
|
# SDN or storage plugins required for EBS, GCE, Gluster, Ceph, or iSCSI volume
|
||||||
|
# management. For those features please use 'openshift/node'
|
||||||
|
#
|
||||||
|
# The standard name for this image is openshift/origin
|
||||||
|
#
|
||||||
|
FROM registry.fedoraproject.org/f27/origin-base:latest
|
||||||
|
|
||||||
|
ENV NAME=origin \
|
||||||
|
VERSION=3.6 \
|
||||||
|
ARCH=x86_64
|
||||||
|
|
||||||
|
COPY system-container/system-container-wrapper.sh /usr/local/bin/
|
||||||
|
COPY system-container/config.json.template system-container/manifest.json system-container/service.template system-container/tmpfiles.template /exports/
|
||||||
|
RUN INSTALL_PKGS="origin" && \
|
||||||
|
dnf install -y ${INSTALL_PKGS} && \
|
||||||
|
rpm -V ${INSTALL_PKGS} && \
|
||||||
|
dnf clean all && \
|
||||||
|
setcap 'cap_net_bind_service=ep' /usr/bin/openshift
|
||||||
|
|
||||||
|
LABEL io.k8s.display-name="OpenShift Origin Application Platform" \
|
||||||
|
io.k8s.description="OpenShift Origin is a platform for developing, building, and deploying containerized applications." \
|
||||||
|
summary="OpenShift Origin is a platform for developing, building, and deploying containerized applications." \
|
||||||
|
io.openshift.tags="openshift,core" \
|
||||||
|
maintainer="Jakub Cajka <jcajka@fedoraproject.org>" \
|
||||||
|
License="GPLv2+" \
|
||||||
|
name="$FGC/$NAME" \
|
||||||
|
com.redhat.component="origin" \
|
||||||
|
version="$VERSION" \
|
||||||
|
architecture="$ARCH" \
|
||||||
|
usage="Image used for deployment of openshift origin"
|
||||||
|
|
||||||
|
ENV HOME=/root \
|
||||||
|
OPENSHIFT_CONTAINERIZED=true \
|
||||||
|
KUBECONFIG=/var/lib/origin/openshift.local.config/master/admin.kubeconfig
|
||||||
|
|
||||||
|
WORKDIR /var/lib/origin
|
||||||
|
EXPOSE 8443 53
|
||||||
|
|
||||||
|
ENTRYPOINT ["/usr/bin/openshift"]
|
||||||
2
bin/.gitignore
vendored
Normal file
2
bin/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
*
|
||||||
|
!.gitignore
|
||||||
290
system-container/config.json.template
Normal file
290
system-container/config.json.template
Normal file
|
|
@ -0,0 +1,290 @@
|
||||||
|
{
|
||||||
|
"ociVersion": "1.0.0",
|
||||||
|
"platform": {
|
||||||
|
"os": "linux",
|
||||||
|
"arch": "amd64"
|
||||||
|
},
|
||||||
|
"process": {
|
||||||
|
"terminal": false,
|
||||||
|
"user": {},
|
||||||
|
"args": [
|
||||||
|
"/usr/local/bin/system-container-wrapper.sh"
|
||||||
|
],
|
||||||
|
"env": [
|
||||||
|
"container=docker",
|
||||||
|
"PKGM=yum",
|
||||||
|
"PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin",
|
||||||
|
"HOME=/root",
|
||||||
|
"NAME=$NAME",
|
||||||
|
"COMMAND=$COMMAND",
|
||||||
|
"OPENSHIFT_CONTAINERIZED=true",
|
||||||
|
"KUBECONFIG=/var/lib/origin/openshift.local.config/master/admin.kubeconfig",
|
||||||
|
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
||||||
|
"TERM=xterm"
|
||||||
|
],
|
||||||
|
"cwd": "/var/lib/origin",
|
||||||
|
"capabilities": {
|
||||||
|
"bounding" : [
|
||||||
|
"CAP_AUDIT_WRITE",
|
||||||
|
"CAP_KILL",
|
||||||
|
"CAP_NET_BIND_SERVICE"
|
||||||
|
],
|
||||||
|
"permitted" : [
|
||||||
|
"CAP_AUDIT_WRITE",
|
||||||
|
"CAP_KILL",
|
||||||
|
"CAP_NET_BIND_SERVICE"
|
||||||
|
],
|
||||||
|
"inheritable" : [
|
||||||
|
"CAP_AUDIT_WRITE",
|
||||||
|
"CAP_KILL",
|
||||||
|
"CAP_NET_BIND_SERVICE"
|
||||||
|
],
|
||||||
|
"effective" : [
|
||||||
|
"CAP_AUDIT_WRITE",
|
||||||
|
"CAP_KILL",
|
||||||
|
"CAP_NET_BIND_SERVICE"
|
||||||
|
],
|
||||||
|
"ambient" : [
|
||||||
|
"CAP_AUDIT_WRITE",
|
||||||
|
"CAP_KILL",
|
||||||
|
"CAP_NET_BIND_SERVICE"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"rlimits": [
|
||||||
|
{
|
||||||
|
"type": "RLIMIT_NOFILE",
|
||||||
|
"hard": 1024,
|
||||||
|
"soft": 1024
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"noNewPrivileges": true
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"path": "rootfs",
|
||||||
|
"readonly": true
|
||||||
|
},
|
||||||
|
"mounts": [
|
||||||
|
{
|
||||||
|
"destination": "/proc",
|
||||||
|
"type": "proc",
|
||||||
|
"source": "proc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"destination": "/dev",
|
||||||
|
"type": "tmpfs",
|
||||||
|
"source": "tmpfs",
|
||||||
|
"options": [
|
||||||
|
"nosuid",
|
||||||
|
"strictatime",
|
||||||
|
"mode=755",
|
||||||
|
"size=65536k"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"destination": "/dev/pts",
|
||||||
|
"type": "devpts",
|
||||||
|
"source": "devpts",
|
||||||
|
"options": [
|
||||||
|
"nosuid",
|
||||||
|
"noexec",
|
||||||
|
"newinstance",
|
||||||
|
"ptmxmode=0666",
|
||||||
|
"mode=0620",
|
||||||
|
"gid=5"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"destination": "/dev/shm",
|
||||||
|
"type": "tmpfs",
|
||||||
|
"source": "shm",
|
||||||
|
"options": [
|
||||||
|
"nosuid",
|
||||||
|
"noexec",
|
||||||
|
"nodev",
|
||||||
|
"mode=1777",
|
||||||
|
"size=65536k"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"destination": "/dev/mqueue",
|
||||||
|
"type": "mqueue",
|
||||||
|
"source": "mqueue",
|
||||||
|
"options": [
|
||||||
|
"nosuid",
|
||||||
|
"noexec",
|
||||||
|
"nodev"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"destination": "/sys",
|
||||||
|
"type": "sysfs",
|
||||||
|
"source": "sysfs",
|
||||||
|
"options": [
|
||||||
|
"nosuid",
|
||||||
|
"noexec",
|
||||||
|
"nodev",
|
||||||
|
"ro"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"destination": "/sys/fs/cgroup",
|
||||||
|
"type": "cgroup",
|
||||||
|
"source": "cgroup",
|
||||||
|
"options": [
|
||||||
|
"nosuid",
|
||||||
|
"noexec",
|
||||||
|
"nodev",
|
||||||
|
"relatime",
|
||||||
|
"ro"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "bind",
|
||||||
|
"source": "/etc/resolv.conf",
|
||||||
|
"destination": "/etc/resolv.conf",
|
||||||
|
"options": [
|
||||||
|
"rbind",
|
||||||
|
"ro"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "bind",
|
||||||
|
"source": "$ORIGIN_CONFIG_DIR",
|
||||||
|
"destination": "/etc/origin",
|
||||||
|
"options": [
|
||||||
|
"bind",
|
||||||
|
"rw",
|
||||||
|
"mode=755"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "bind",
|
||||||
|
"source": "/etc/pki",
|
||||||
|
"destination": "/etc/pki",
|
||||||
|
"options": [
|
||||||
|
"bind",
|
||||||
|
"ro"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "bind",
|
||||||
|
"source": "$ORIGIN_DATA_DIR",
|
||||||
|
"destination": "/var/lib/origin",
|
||||||
|
"options": [
|
||||||
|
"rbind",
|
||||||
|
"rw",
|
||||||
|
"mode=755"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"destination": "/tmp",
|
||||||
|
"type": "tmpfs",
|
||||||
|
"source": "tmpfs",
|
||||||
|
"options": [
|
||||||
|
"nosuid",
|
||||||
|
"strictatime",
|
||||||
|
"mode=755",
|
||||||
|
"size=65536k"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "bind",
|
||||||
|
"source": "/var/log",
|
||||||
|
"destination": "/var/log",
|
||||||
|
"options": [
|
||||||
|
"rbind",
|
||||||
|
"rw",
|
||||||
|
"mode=755"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "bind",
|
||||||
|
"source": "/var/run",
|
||||||
|
"destination": "/var/run",
|
||||||
|
"options": [
|
||||||
|
"rbind",
|
||||||
|
"rw",
|
||||||
|
"mode=755"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"hooks": {},
|
||||||
|
"linux": {
|
||||||
|
"resources": {
|
||||||
|
"devices": [
|
||||||
|
{
|
||||||
|
"allow": false,
|
||||||
|
"access": "rwm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allow": true,
|
||||||
|
"type": "c",
|
||||||
|
"major": 1,
|
||||||
|
"minor": 5,
|
||||||
|
"access": "rwm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allow": true,
|
||||||
|
"type": "c",
|
||||||
|
"major": 1,
|
||||||
|
"minor": 3,
|
||||||
|
"access": "rwm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allow": true,
|
||||||
|
"type": "c",
|
||||||
|
"major": 1,
|
||||||
|
"minor": 9,
|
||||||
|
"access": "rwm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allow": true,
|
||||||
|
"type": "c",
|
||||||
|
"major": 1,
|
||||||
|
"minor": 8,
|
||||||
|
"access": "rwm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allow": true,
|
||||||
|
"type": "c",
|
||||||
|
"major": 5,
|
||||||
|
"minor": 0,
|
||||||
|
"access": "rwm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allow": true,
|
||||||
|
"type": "c",
|
||||||
|
"major": 5,
|
||||||
|
"minor": 1,
|
||||||
|
"access": "rwm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allow": false,
|
||||||
|
"type": "c",
|
||||||
|
"major": 10,
|
||||||
|
"minor": 229,
|
||||||
|
"access": "rwm"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"namespaces": [
|
||||||
|
{
|
||||||
|
"type": "mount"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"maskedPaths": [
|
||||||
|
"/proc/kcore",
|
||||||
|
"/proc/latency_stats",
|
||||||
|
"/proc/timer_stats",
|
||||||
|
"/proc/sched_debug"
|
||||||
|
],
|
||||||
|
"readonlyPaths": [
|
||||||
|
"/proc/asound",
|
||||||
|
"/proc/bus",
|
||||||
|
"/proc/fs",
|
||||||
|
"/proc/irq",
|
||||||
|
"/proc/sys",
|
||||||
|
"/proc/sysrq-trigger"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
11
system-container/manifest.json
Normal file
11
system-container/manifest.json
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"version": "1.0",
|
||||||
|
"defaultValues": {
|
||||||
|
"COMMAND": "",
|
||||||
|
"ORIGIN_CONFIG_DIR": "/etc/origin",
|
||||||
|
"ORIGIN_DATA_DIR": "/var/lib/origin",
|
||||||
|
"ETCD_SERVICE": "etcd.service",
|
||||||
|
"NODE_SERVICE": "atomic-openshift-node.service",
|
||||||
|
"DOCKER_SERVICE": "docker.service"
|
||||||
|
}
|
||||||
|
}
|
||||||
18
system-container/service.template
Normal file
18
system-container/service.template
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
[Unit]
|
||||||
|
After=network-online.target
|
||||||
|
After=${ETCD_SERVICE}
|
||||||
|
Before=${NODE_SERVICE}
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
EnvironmentFile=-/etc/sysconfig/$NAME
|
||||||
|
ExecStartPre=/bin/bash -c 'export -p > /run/$NAME-env'
|
||||||
|
ExecStart=$EXEC_START
|
||||||
|
ExecStop=$EXEC_STOP
|
||||||
|
SyslogIdentifier=$NAME
|
||||||
|
Restart=always
|
||||||
|
RestartSec=5s
|
||||||
|
WorkingDirectory=$DESTDIR
|
||||||
|
RuntimeDirectory=${NAME}
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=${DOCKER_SERVICE}
|
||||||
4
system-container/system-container-wrapper.sh
Executable file
4
system-container/system-container-wrapper.sh
Executable file
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
source /run/$NAME-env
|
||||||
|
|
||||||
|
exec /usr/bin/openshift start master $COMMAND --config=${CONFIG_FILE} $OPTIONS
|
||||||
2
system-container/tmpfiles.template
Normal file
2
system-container/tmpfiles.template
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
d $ORIGIN_CONFIG_DIR - - - - -
|
||||||
|
d $ORIGIN_DATA_DIR - - - - -
|
||||||
Loading…
Add table
Add a link
Reference in a new issue