Merge pull request #1786 from jberry-suse/obs_operator-dist
dist/kubernetes: provide OBS Operator component (and related changes)
This commit is contained in:
commit
590fd22198
1
dist/kiwi/osrt-worker-obs.kiwi
vendored
1
dist/kiwi/osrt-worker-obs.kiwi
vendored
@ -21,6 +21,7 @@
|
||||
<packages type="image">
|
||||
<package name="openSUSE-release-tools-check-source"/>
|
||||
<package name="openSUSE-release-tools-leaper"/>
|
||||
<package name="openSUSE-release-tools-obs-operator"/>
|
||||
<package name="openSUSE-release-tools-pkglistgen"/>
|
||||
<package name="openSUSE-release-tools-repo-checker"/>
|
||||
<package name="openSUSE-release-tools-staging-bot"/>
|
||||
|
5
dist/kubernetes/app.yaml
vendored
5
dist/kubernetes/app.yaml
vendored
@ -7,8 +7,9 @@ environments:
|
||||
k8sVersion: v1.8.0
|
||||
path: heroes
|
||||
targets:
|
||||
- check-source
|
||||
- repo-checker
|
||||
#- check-source
|
||||
- obs-operator
|
||||
#- repo-checker
|
||||
kind: ksonnet.io/app
|
||||
name: openSUSE-release-tools
|
||||
version: 0.0.1
|
||||
|
14
dist/kubernetes/components/obs-operator/params.libsonnet
vendored
Normal file
14
dist/kubernetes/components/obs-operator/params.libsonnet
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
global: {
|
||||
cpu: "100m",
|
||||
memory: "128Mi",
|
||||
image: null,
|
||||
prefix: "obs-operator",
|
||||
},
|
||||
components: {
|
||||
service: {
|
||||
externalIPs: null,
|
||||
externalPort: null,
|
||||
},
|
||||
},
|
||||
}
|
13
dist/kubernetes/components/obs-operator/service.jsonnet
vendored
Normal file
13
dist/kubernetes/components/obs-operator/service.jsonnet
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
local params = std.extVar("__ksonnet/params").components.service;
|
||||
local service = import '../service.libsonnet';
|
||||
|
||||
[
|
||||
service.parts.deployment.base(
|
||||
params.prefix, "deployment",
|
||||
params.cpu, params.memory, params.image,
|
||||
"osrt-obs_operator --debug"),
|
||||
|
||||
service.parts.service.base(
|
||||
params.prefix, "service", 8080, params.externalIPs, params.externalPort,
|
||||
),
|
||||
]
|
84
dist/kubernetes/components/service.libsonnet
vendored
Normal file
84
dist/kubernetes/components/service.libsonnet
vendored
Normal file
@ -0,0 +1,84 @@
|
||||
{
|
||||
parts:: {
|
||||
deployment:: {
|
||||
base(prefix, name, cpu, memory, image, command):: {
|
||||
apiVersion: "apps/v1",
|
||||
kind: "Deployment",
|
||||
metadata: {
|
||||
name: prefix + "-" + name,
|
||||
labels: {
|
||||
app: prefix,
|
||||
},
|
||||
},
|
||||
spec: {
|
||||
replicas: 1,
|
||||
selector: {
|
||||
matchLabels: {
|
||||
app: prefix,
|
||||
},
|
||||
},
|
||||
template: {
|
||||
metadata: {
|
||||
labels: {
|
||||
app: prefix,
|
||||
},
|
||||
},
|
||||
spec: {
|
||||
containers: [{
|
||||
name: "service",
|
||||
image: image,
|
||||
args: [
|
||||
"/bin/bash", "-c",
|
||||
"cp /secret/.oscrc /root && osc staging --version && " + command
|
||||
],
|
||||
volumeMounts: [
|
||||
{
|
||||
name: "oscrc",
|
||||
mountPath: "/secret",
|
||||
readOnly: true,
|
||||
},
|
||||
],
|
||||
resources: {
|
||||
requests: {
|
||||
cpu: cpu,
|
||||
memory: memory,
|
||||
}
|
||||
}
|
||||
}],
|
||||
volumes: [
|
||||
{
|
||||
name: "oscrc",
|
||||
secret: {
|
||||
secretName: prefix + "-oscrc",
|
||||
}
|
||||
},
|
||||
],
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
service:: {
|
||||
base(prefix, name, internalPort, externalIPs, externalPort):: {
|
||||
apiVersion: "v1",
|
||||
kind: "Service",
|
||||
metadata: {
|
||||
name: prefix + "-" + name,
|
||||
},
|
||||
spec: {
|
||||
type: "NodePort",
|
||||
selector: {
|
||||
app: prefix,
|
||||
},
|
||||
ports: [{
|
||||
protocol: "TCP",
|
||||
port: internalPort,
|
||||
nodePort: externalPort,
|
||||
}],
|
||||
externalIPs: externalIPs,
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
local image = "registry.opensuse.org/home/jberry/container/container/osrt/worker-obs";
|
||||
local image = "registry.opensuse.org/opensuse/tools/images/images/osrt/worker-obs";
|
||||
local image_version = "latest";
|
||||
local image_full = image + ':' + image_version;
|
||||
|
||||
|
@ -2,6 +2,14 @@ local params = std.extVar("__ksonnet/params");
|
||||
local globals = import "globals.libsonnet";
|
||||
local envParams = params + {
|
||||
components+: {
|
||||
"obs-operator.service"+: {
|
||||
externalIPs: [
|
||||
"192.168.47.44",
|
||||
"192.168.47.45",
|
||||
"192.168.47.46",
|
||||
],
|
||||
externalPort: 31452,
|
||||
},
|
||||
"repo-checker.project_only"+: {
|
||||
projects: [
|
||||
"openSUSE:Factory",
|
||||
|
1
dist/package/openSUSE-release-tools.spec
vendored
1
dist/package/openSUSE-release-tools.spec
vendored
@ -27,6 +27,7 @@ License: GPL-2.0-or-later AND MIT
|
||||
Group: Development/Tools/Other
|
||||
Url: https://github.com/openSUSE/openSUSE-release-tools
|
||||
Source: %{name}-%{version}.tar.xz
|
||||
Source99: osrt-worker-obs.kiwi
|
||||
BuildArch: noarch
|
||||
# Requires sr#512849 which provides osc_plugin_dir.
|
||||
BuildRequires: osc >= 0.159.0
|
||||
|
@ -1,4 +1,6 @@
|
||||
#!/usr/bin/python3
|
||||
#!/usr/bin/python3 -u
|
||||
# Without the -u option for unbuffered output nothing shows up in journal or
|
||||
# kubernetes logs.
|
||||
|
||||
import argparse
|
||||
from http.cookies import SimpleCookie
|
||||
|
Loading…
x
Reference in New Issue
Block a user