Revert "First run at stg OSBS for layered build system"
This reverts commit 9cd22bd47e
.
This commit is contained in:
parent
f064f02276
commit
17b1f48e89
25 changed files with 0 additions and 1057 deletions
|
@ -43,16 +43,3 @@
|
|||
|
||||
handlers:
|
||||
- include: "{{ handlers }}/restart_services.yml"
|
||||
|
||||
- name: apply common osbs configuration
|
||||
hosts: osbs-stg
|
||||
roles:
|
||||
- osbs_common
|
||||
|
||||
- name: set up openshift build hosts
|
||||
hosts: osbs-stg
|
||||
roles:
|
||||
- osbs_install_openshift_copr
|
||||
|
||||
# change behind_auth_proxy to true when using kerberos proxy
|
||||
- { role: osbs_builder, behind_auth_proxy: false }
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
---
|
||||
# OSBS expects the build image to be named buildroot
|
||||
buildroot_tag: buildroot
|
||||
|
||||
# create build image from source or pull it from a registry?
|
||||
# see options below
|
||||
buildroot_from_source: true
|
||||
|
||||
## for build_buildroot_from_source=false
|
||||
buildroot_pull:
|
||||
registry: registry.hub.docker.com
|
||||
registry_insecure: false
|
||||
image: mmilata/buildroot:latest
|
||||
|
||||
## for build_buildroot_from_source=true
|
||||
buildroot_build:
|
||||
# buildroot base image source
|
||||
base_registry: registry.hub.docker.com
|
||||
base_registry_insecure: false
|
||||
base_image: library/fedora:latest
|
||||
# allow retagging the base image to match FROM in Dockerfile
|
||||
base_image_retag: fedora:latest
|
||||
# buildroot dockerfile source
|
||||
git_url: https://github.com/mmilata/osbs-buildroot-osv3.git
|
||||
git_branch: master
|
||||
git_subdir: ""
|
||||
git_local_path: "{{ ansible_env.HOME }}/osbs-buildroot-docker"
|
||||
|
||||
## docker needs to know which registries are insecure
|
||||
insecure_registries: []
|
||||
|
||||
# is authenticating proxy in front of us? if true, do not expose openshift port
|
||||
# and require users to be authenticated
|
||||
# set to false for debugging
|
||||
behind_auth_proxy: true
|
||||
|
||||
# set to false if you don't use firewalld or do not want the playbook to modify it
|
||||
manage_firewall: true
|
|
@ -1,9 +0,0 @@
|
|||
OPTIONS="--loglevel=3"
|
||||
CONFIG_FILE=/etc/openshift/master/master-config.yaml
|
||||
|
||||
# Proxy configuration
|
||||
# OpenShift uses standard HTTP_PROXY environment variables. Be sure to set
|
||||
# NO_PROXY for your master
|
||||
#NO_PROXY=master.example.com
|
||||
#HTTP_PROXY=http://USER:PASSWORD@IPADDR:PORT
|
||||
#HTTPS_PROXY=https://USER:PASSWORD@IPADDR:PORT
|
|
@ -1,22 +0,0 @@
|
|||
OPTIONS="--loglevel=3"
|
||||
# /etc/openshift/node/ should contain the entire contents of
|
||||
# /var/lib/openshift.local.certificates/node-${node-fqdn} generated by
|
||||
# running 'openshift admin create-node-config' on your master
|
||||
#
|
||||
# If if your node is running on a separate host you can rsync the contents
|
||||
# rsync -a root@openshift-master:/var/lib/openshift/openshift.local.certificates/node-`hostname`/ /etc/openshift/node
|
||||
CONFIG_FILE=/etc/openshift/node/node-config.yaml
|
||||
|
||||
# The $DOCKER_NETWORK_OPTIONS variable is used by sdn plugins to set
|
||||
# $DOCKER_NETWORK_OPTIONS variable in the /etc/sysconfig/docker-network
|
||||
# Most plugins include their own defaults within the scripts
|
||||
# TODO: More elegant solution like this
|
||||
# https://github.com/coreos/flannel/blob/master/dist/mk-docker-opts.sh
|
||||
# DOCKER_NETWORK_OPTIONS='-b=lbr0 --mtu=1450'
|
||||
|
||||
# Proxy configuration
|
||||
# OpenShift uses standard HTTP_PROXY environment variables. Be sure to set
|
||||
# NO_PROXY for your master
|
||||
#NO_PROXY=master.example.com
|
||||
#HTTP_PROXY=http://USER:PASSWORD@IPADDR:PORT
|
||||
#HTTPS_PROXY=https://USER:PASSWORD@IPADDR:PORT
|
|
@ -1,19 +0,0 @@
|
|||
---
|
||||
- name: pull buildroot base image
|
||||
command: docker pull {{ buildroot_build.base_registry }}/{{ buildroot_build.base_image }}
|
||||
|
||||
- name: tag buildroot base image
|
||||
command: docker tag -f {{ buildroot_build.base_registry }}/{{ buildroot_build.base_image }} {{ buildroot_build.base_image_retag }}
|
||||
when: buildroot_base_image_retag is defined
|
||||
|
||||
- name: pull build image git repository
|
||||
git:
|
||||
repo: "{{ buildroot_build.git_url }}"
|
||||
dest: "{{ buildroot_build.git_local_path }}"
|
||||
version: "{{ buildroot_build.git_branch }}"
|
||||
accept_hostkey: yes
|
||||
register: buildroot_git_repo
|
||||
|
||||
- name: build buildroot
|
||||
command: docker build --no-cache=true --tag={{ buildroot_tag }} {{ buildroot_build.git_local_path }}/{{ buildroot_build.git_subdir }}
|
||||
when: buildroot_git_repo.changed
|
|
@ -1,139 +0,0 @@
|
|||
---
|
||||
- name: install packages required by osbs
|
||||
yum: name={{ item }} state=installed
|
||||
with_items:
|
||||
- bind-utils
|
||||
- iptables-services
|
||||
- bridge-utils
|
||||
- dock
|
||||
- docker
|
||||
- docker-registry
|
||||
|
||||
### docker service ###
|
||||
|
||||
- name: ensure docker is running
|
||||
service: name=docker state=started enabled=yes
|
||||
|
||||
- name: configure docker
|
||||
template: src=sysconfig-docker.j2 dest=/etc/sysconfig/docker
|
||||
register: docker_sysconfig
|
||||
|
||||
- name: restart docker after changing configuration
|
||||
service: name=docker state=restarted
|
||||
when: docker_sysconfig.changed
|
||||
|
||||
### openshift service ###
|
||||
|
||||
# Permanent rules aren't applied immediately. Starting with ansible 1.9,
|
||||
# these two rules can be merged into one with permanent=true immediate=true.
|
||||
- name: open openshift port in the firewall
|
||||
firewalld: port={{ openshift_port }}/tcp state=enabled permanent={{ item }}
|
||||
with_items:
|
||||
- true
|
||||
- false
|
||||
when: not behind_auth_proxy and manage_firewall
|
||||
|
||||
- name: close openshift port in the firewall
|
||||
firewalld: port={{ openshift_port }}/tcp state=disabled permanent={{ item }}
|
||||
with_items:
|
||||
- true
|
||||
- false
|
||||
when: behind_auth_proxy and manage_firewall
|
||||
|
||||
- name: modifications in /etc/sysconfig/openshift
|
||||
copy: src=sysconfig-openshift-{{ item }} dest=/etc/sysconfig/openshift-{{ item }}
|
||||
with_items:
|
||||
- master
|
||||
- node
|
||||
|
||||
- name: generate basic openshift configuration and certificates
|
||||
command: openshift start --write-config=/etc/openshift
|
||||
args:
|
||||
chdir: "{{ openshift_home }}"
|
||||
creates: /etc/openshift/node-{{ ansible_fqdn }}/node-config.yaml
|
||||
|
||||
- name: link /etc/openshift/node to actual node directory
|
||||
file: path=/etc/openshift/node src=/etc/openshift/node-{{ ansible_fqdn }} force=yes state=link
|
||||
|
||||
- name: configure openshift master
|
||||
template: src=master.yaml.j2 dest=/etc/openshift/master/master-config.yaml
|
||||
register: openshift_master_config
|
||||
|
||||
- name: configure openshift node
|
||||
template: src=node.yaml.j2 dest=/etc/openshift/node/node-config.yaml
|
||||
register: openshift_node_config
|
||||
|
||||
- name: generate cert for authenticating proxy - self-signed certificate
|
||||
command: >
|
||||
openssl req -new -nodes -x509
|
||||
-subj "/C=CZ/ST=SelfSigned/L=SelfSigned/O=IT/CN={{ ansible_fqdn }}"
|
||||
-days 3650
|
||||
-keyout {{ proxy_auth_key_file }}
|
||||
-out {{ proxy_auth_cert_file }}
|
||||
-extensions v3_ca
|
||||
args:
|
||||
creates: "{{ proxy_auth_cert_file }}"
|
||||
when: behind_auth_proxy and proxy_auth_generate_selfsigned
|
||||
register: auth_proxy_cert
|
||||
|
||||
- name: generate cert for authenticating proxy - convert privkey to rsa
|
||||
command: openssl rsa -in {{ proxy_auth_key_file }} -out {{ proxy_auth_key_file }}
|
||||
when: auth_proxy_cert.changed
|
||||
|
||||
- name: restart openshift master after changing configuration
|
||||
service: name=openshift-master state=restarted
|
||||
when: openshift_master_config.changed
|
||||
|
||||
- name: restart openshift node after changing configuration
|
||||
service: name=openshift-node state=restarted
|
||||
when: openshift_node_config.changed
|
||||
|
||||
- name: ensure openshift is running
|
||||
service: name=openshift-{{ item }} state=started enabled=yes
|
||||
with_items:
|
||||
- master
|
||||
- node
|
||||
|
||||
- name: wait for openshift to start accepting connections
|
||||
wait_for: port={{ openshift_port }} timeout=30
|
||||
|
||||
# Set up authorization policy. If we are behind proxy then assign authenticated
|
||||
# users the "edit" role which can start builds and watch build logs.
|
||||
# If we are not (=debug), add both authenticated and unauthenticated users to
|
||||
# the role.
|
||||
- name: openshift auth - clear
|
||||
command: osadm policy remove-role-from-group edit system:authenticated system:unauthenticated
|
||||
environment: osc_environment
|
||||
register: command_result
|
||||
failed_when: command_result.rc != 0 and "unable to locate RoleBinding" not in command_result.stderr
|
||||
|
||||
- name: openshift auth - make everyone cluster admin
|
||||
command: osadm policy add-role-to-group edit system:unauthenticated system:authenticated
|
||||
environment: osc_environment
|
||||
when: not behind_auth_proxy
|
||||
|
||||
- name: openshift auth - authenticated users are cluster admins
|
||||
command: osadm policy add-role-to-group edit system:authenticated
|
||||
environment: osc_environment
|
||||
when: behind_auth_proxy
|
||||
|
||||
# Useful when using "osc" to inspect openshift state.
|
||||
- name: add OPENSHIFTCONFIG to .bashrc
|
||||
lineinfile:
|
||||
dest: "{{ ansible_env.HOME }}/.bashrc"
|
||||
regexp: "export OPENSHIFTCONFIG="
|
||||
line: "export OPENSHIFTCONFIG={{ kubeconfig_path }}"
|
||||
|
||||
### buildroot image ###
|
||||
|
||||
- name: pull buildroot image
|
||||
command: docker pull {{ buildroot_pull.registry }}/{{ buildroot_pull.image }}
|
||||
register: pull_buildroot
|
||||
when: not buildroot_from_source
|
||||
|
||||
- name: tag buildroot image
|
||||
command: docker tag -f {{ buildroot_pull.registry }}/{{ buildroot_pull.image }} {{ buildroot_tag }}
|
||||
when: pull_buildroot.changed
|
||||
|
||||
- include: buildroot_from_source.yml
|
||||
when: buildroot_from_source
|
|
@ -1,127 +0,0 @@
|
|||
apiLevels:
|
||||
- v1beta3
|
||||
- v1beta1
|
||||
- v1
|
||||
apiVersion: v1
|
||||
assetConfig:
|
||||
logoutURL: ""
|
||||
masterPublicURL: https://{{ ansible_default_ipv4.address }}:8443
|
||||
publicURL: https://{{ ansible_default_ipv4.address }}:8443/console/
|
||||
servingInfo:
|
||||
bindAddress: 0.0.0.0:8443
|
||||
certFile: master.server.crt
|
||||
clientCA: ""
|
||||
keyFile: master.server.key
|
||||
corsAllowedOrigins:
|
||||
- 127.0.0.1
|
||||
- {{ ansible_default_ipv4.address }}:8443
|
||||
- localhost
|
||||
dnsConfig:
|
||||
bindAddress: 0.0.0.0:53
|
||||
etcdClientInfo:
|
||||
ca: ca.crt
|
||||
certFile: master.etcd-client.crt
|
||||
keyFile: master.etcd-client.key
|
||||
urls:
|
||||
- https://{{ ansible_default_ipv4.address }}:4001
|
||||
etcdConfig:
|
||||
address: {{ ansible_default_ipv4.address }}:4001
|
||||
peerAddress: {{ ansible_default_ipv4.address }}:7001
|
||||
peerServingInfo:
|
||||
bindAddress: 0.0.0.0:7001
|
||||
certFile: etcd.server.crt
|
||||
clientCA: ca.crt
|
||||
keyFile: etcd.server.key
|
||||
servingInfo:
|
||||
bindAddress: 0.0.0.0:4001
|
||||
certFile: etcd.server.crt
|
||||
clientCA: ca.crt
|
||||
keyFile: etcd.server.key
|
||||
storageDirectory: /var/lib/openshift/openshift.local.etcd
|
||||
etcdStorageConfig:
|
||||
kubernetesStoragePrefix: kubernetes.io
|
||||
kubernetesStorageVersion: v1beta3
|
||||
openShiftStoragePrefix: openshift.io
|
||||
openShiftStorageVersion: v1beta3
|
||||
imageConfig:
|
||||
format: openshift/origin-${component}:${version}
|
||||
latest: false
|
||||
kind: MasterConfig
|
||||
kubeletClientInfo:
|
||||
ca: ca.crt
|
||||
certFile: master.kubelet-client.crt
|
||||
keyFile: master.kubelet-client.key
|
||||
port: 10250
|
||||
kubernetesMasterConfig:
|
||||
apiLevels:
|
||||
- v1beta1
|
||||
- v1beta2
|
||||
- v1beta3
|
||||
- v1
|
||||
masterCount: 1
|
||||
masterIP: {{ ansible_default_ipv4.address }}
|
||||
podEvictionTimeout: 5m
|
||||
schedulerConfigFile: ""
|
||||
servicesSubnet: 172.30.0.0/16
|
||||
staticNodeNames:
|
||||
- {{ ansible_fqdn }}
|
||||
masterClients:
|
||||
deployerKubeConfig: openshift-deployer.kubeconfig
|
||||
externalKubernetesKubeConfig: ""
|
||||
openshiftLoopbackKubeConfig: openshift-client.kubeconfig
|
||||
masterPublicURL: https://{{ ansible_default_ipv4.address }}:8443
|
||||
networkConfig:
|
||||
clusterNetworkCIDR: 10.1.0.0/16
|
||||
hostSubnetLength: 8
|
||||
networkPluginName: ""
|
||||
oauthConfig:
|
||||
assetPublicURL: https://{{ ansible_default_ipv4.address }}:8443/console/
|
||||
grantConfig:
|
||||
method: auto
|
||||
identityProviders:
|
||||
{% if behind_auth_proxy %}
|
||||
- name: my_request_header_provider
|
||||
challenge: false
|
||||
login: false
|
||||
provider:
|
||||
apiVersion: v1
|
||||
kind: RequestHeaderIdentityProvider
|
||||
clientCA: {{ proxy_auth_ca_file | default('/etc/openshift/master/ca.crt') }}
|
||||
headers:
|
||||
- X-Remote-User
|
||||
{% else %}
|
||||
- challenge: true
|
||||
login: true
|
||||
name: anypassword
|
||||
provider:
|
||||
apiVersion: v1
|
||||
kind: AllowAllPasswordIdentityProvider
|
||||
{% endif %}
|
||||
masterPublicURL: https://{{ ansible_default_ipv4.address }}:8443
|
||||
masterURL: https://{{ ansible_default_ipv4.address }}:8443
|
||||
sessionConfig:
|
||||
sessionMaxAgeSeconds: 300
|
||||
sessionName: ssn
|
||||
sessionSecretsFile: ""
|
||||
tokenConfig:
|
||||
accessTokenMaxAgeSeconds: 86400
|
||||
authorizeTokenMaxAgeSeconds: 300
|
||||
policyConfig:
|
||||
bootstrapPolicyFile: policy.json
|
||||
openshiftSharedResourcesNamespace: openshift
|
||||
projectConfig:
|
||||
defaultNodeSelector: ""
|
||||
projectRequestMessage: ""
|
||||
projectRequestTemplate: ""
|
||||
serviceAccountConfig:
|
||||
managedNames:
|
||||
- default
|
||||
- builder
|
||||
privateKeyFile: serviceaccounts.private.key
|
||||
publicKeyFiles:
|
||||
- serviceaccounts.public.key
|
||||
servingInfo:
|
||||
bindAddress: 0.0.0.0:8443
|
||||
certFile: master.server.crt
|
||||
clientCA: ca.crt
|
||||
keyFile: master.server.key
|
|
@ -1,20 +0,0 @@
|
|||
allowDisabledDocker: true
|
||||
apiVersion: v1
|
||||
dnsDomain: cluster.local
|
||||
dnsIP: {{ ansible_default_ipv4.address }}
|
||||
dockerConfig:
|
||||
execHandlerName: native
|
||||
imageConfig:
|
||||
format: openshift/origin-${component}:${version}
|
||||
latest: false
|
||||
kind: NodeConfig
|
||||
masterKubeConfig: node.kubeconfig
|
||||
networkPluginName: ""
|
||||
nodeName: {{ ansible_fqdn }}
|
||||
podManifestConfig: null
|
||||
servingInfo:
|
||||
bindAddress: 0.0.0.0:10250
|
||||
certFile: server.crt
|
||||
clientCA: node-client-ca.crt
|
||||
keyFile: server.key
|
||||
volumeDirectory: /var/lib/openshift/openshift.local.volumes
|
|
@ -1,32 +0,0 @@
|
|||
# Modify these options if you want to change the way the docker daemon runs
|
||||
OPTIONS='--selinux-enabled'
|
||||
|
||||
DOCKER_CERT_PATH=/etc/docker
|
||||
|
||||
# If you want to add your own registry to be used for docker search and docker pull use the
|
||||
# ADD_REGISTRY option to list a set of comma separated registries.
|
||||
# Note the last registry added will be the first regisry searched.
|
||||
ADD_REGISTRY='--add-registry registry.access.redhat.com'
|
||||
|
||||
# If you want to block registries from being used, use the
|
||||
# BLOCK_REGISTRY option to list a set of comma separated registries, and uncommenting
|
||||
# it. For example adding docker.io will stop users from downloading images from docker.io
|
||||
# BLOCK_REGISTRY='--block-registry public'
|
||||
|
||||
# If you have a registry secured with https but do not have proper certs destributed, you can
|
||||
# tell docker to not look for full authorization by adding the registry to the
|
||||
# INSECURE_REGISTRY line and uncommentin it.
|
||||
INSECURE_REGISTRY='{% if buildroot_build.base_registry_insecure %}--insecure-registry {{ buildroot_build.base_registry }}{% elif buildroot_pull.registry_insecure %}--insecure--registry {{ buildroot_pull.registry }}{% endif %}{% for r in insecure_registries %} --insecure-registry {{ r }}{% endfor %}'
|
||||
|
||||
# On an SELinux system, if you remove the --selinux-enabled option, you
|
||||
# also need to turn on the docker_transition_unconfined boolean.
|
||||
# setsebool -P docker_transition_unconfined 1
|
||||
|
||||
# Location used for temporary files, such as those created by
|
||||
# docker load and build operations. Default is /var/lib/docker/tmp
|
||||
# Can be overriden by setting the following environment variable.
|
||||
# DOCKER_TMPDIR=/var/tmp
|
||||
|
||||
# Controls the /etc/cron.daily/docker-logrotate cron job status.
|
||||
# To disable, uncomment the line below.
|
||||
# LOGROTATE=false
|
|
@ -1,7 +0,0 @@
|
|||
---
|
||||
openshift_home: /var/lib/openshift
|
||||
kubeconfig_path: /etc/openshift/master/admin.kubeconfig
|
||||
openshift_port: 8443
|
||||
|
||||
osc_environment:
|
||||
OPENSHIFTCONFIG: "{{ kubeconfig_path }}"
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
# set hostname of the machine
|
||||
#hostname: example.org
|
||||
|
||||
# set to false if you don't use firewalld or do not want the playbook to modify it
|
||||
manage_firewall: true
|
|
@ -1,34 +0,0 @@
|
|||
---
|
||||
- name: set hostname
|
||||
hostname: name={{ hostname }}
|
||||
when: hostname is defined
|
||||
|
||||
- name: install basic packages
|
||||
yum: name={{ item }} state=installed
|
||||
with_items:
|
||||
- vim
|
||||
- tmux
|
||||
- wget
|
||||
- git
|
||||
- net-tools
|
||||
- yum-utils
|
||||
- tree
|
||||
|
||||
- name: enable rhel7 repos
|
||||
command: yum-config-manager --enable {{ item }}
|
||||
with_items:
|
||||
- rhel-7-server-optional-rpms
|
||||
- rhel-7-server-extras-rpms
|
||||
when: ansible_distribution == 'RedHat' and ansible_distribution_major_version == '7'
|
||||
|
||||
- name: enable epel7
|
||||
yum: name={{ epel7_url }} state=installed
|
||||
when: ansible_os_family == 'RedHat' and ansible_distribution_major_version == '7'
|
||||
|
||||
- name: install firewalld
|
||||
yum: name=firewalld state=installed
|
||||
when: manage_firewall
|
||||
|
||||
- name: enable firewalld
|
||||
service: name=firewalld state=started enabled=yes
|
||||
when: manage_firewall
|
|
@ -1,2 +0,0 @@
|
|||
---
|
||||
epel7_url: http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
|
|
@ -1,2 +0,0 @@
|
|||
---
|
||||
openshift_version: 0.5.4
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
- name: copy repository file
|
||||
template: src=mmilata-openshift.repo.j2 dest=/etc/yum.repos.d/mmilata-openshift.repo
|
||||
|
||||
- name: install openshift
|
||||
yum: name={{ item }} state=installed
|
||||
with_items:
|
||||
- openshift-master
|
||||
- openshift-node
|
|
@ -1,8 +0,0 @@
|
|||
[mmilata-openshift]
|
||||
name=Copr repo for openshift owned by mmilata
|
||||
baseurl=https://copr-be.cloud.fedoraproject.org/results/mmilata/openshift/{{ (ansible_distribution == "Fedora") | ternary("fedora", "epel") }}-{{ ansible_distribution_major_version }}-$basearch/
|
||||
skip_if_unavailable=True
|
||||
gpgcheck=1
|
||||
gpgkey=https://copr-be.cloud.fedoraproject.org/results/mmilata/openshift/pubkey.gpg
|
||||
enabled=1
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
rpmbuild_dir: "{{ ansible_env.HOME }}/rpmbuild"
|
||||
openshift_commit: 17a2e840914a9e2b0c2161e9f39efc22a043dec9
|
||||
openshift_archive: openshift-{{ openshift_commit }}.tar.gz
|
||||
openshift_version: 0.5.2
|
|
@ -1,42 +0,0 @@
|
|||
---
|
||||
- name: install build packages
|
||||
yum: name={{ item }} state=installed
|
||||
with_items:
|
||||
- rpm-build
|
||||
- yum-utils
|
||||
- rpmdevtools
|
||||
|
||||
- name: delete rpmbuild directories
|
||||
file: path={{ rpmbuild_dir }}/{{ item }}/ state=absent
|
||||
with_items:
|
||||
- RPMS
|
||||
- SRPMS
|
||||
- BUILD
|
||||
- BUILDROOT
|
||||
|
||||
- name: create rpmbuild directories
|
||||
file: path={{ rpmbuild_dir }}/{{ item }}/ state=directory recurse=yes
|
||||
with_items:
|
||||
- SPECS
|
||||
- SOURCES
|
||||
|
||||
- name: upload SPEC
|
||||
template: src=openshift.spec.j2 dest={{ rpmbuild_dir }}/SPECS/openshift.spec
|
||||
|
||||
- name: install build dependencies
|
||||
command: yum-builddep -y {{ rpmbuild_dir }}/SPECS/openshift.spec
|
||||
|
||||
- name: download openshift tarball
|
||||
get_url:
|
||||
url: https://github.com/openshift/origin/archive/{{ openshift_commit }}/{{ openshift_archive }}
|
||||
dest: "{{ rpmbuild_dir }}/SOURCES/{{ openshift_archive }}"
|
||||
|
||||
- name: run build
|
||||
command: rpmbuild -bb --clean {{ rpmbuild_dir }}/SPECS/openshift.spec
|
||||
|
||||
- name: find the RPMs
|
||||
command: find {{ rpmbuild_dir }}/RPMS/ -type f
|
||||
register: find_rpms
|
||||
|
||||
- name: install the RPMs
|
||||
shell: yum -y localinstall {{ rpmbuild_dir }}/RPMS/x86_64/*openshift*.rpm
|
|
@ -1,295 +0,0 @@
|
|||
#debuginfo not supported with Go
|
||||
%global debug_package %{nil}
|
||||
%global gopath %{_datadir}/gocode
|
||||
%global import_path github.com/openshift/origin
|
||||
%global kube_plugin_path /usr/libexec/kubernetes/kubelet-plugins/net/exec/redhat~openshift-ovs-subnet
|
||||
%global sdn_import_path github.com/openshift/openshift-sdn
|
||||
|
||||
# %commit and %ldflags are intended to be set by tito custom builders provided
|
||||
# in the rel-eng directory. The values in this spec file will not be kept up to date.
|
||||
%{!?commit:
|
||||
%global commit {{ openshift_commit }}
|
||||
}
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
# OpenShift specific ldflags from hack/common.sh os::build:ldflags
|
||||
%{!?ldflags:
|
||||
%global ldflags -X github.com/openshift/origin/pkg/version.majorFromGit 0 -X github.com/openshift/origin/pkg/version.minorFromGit 0+ -X github.com/openshift/origin/pkg/version.versionFromGit v{{ openshift_version }} -X github.com/openshift/origin/pkg/version.commitFromGit {{ openshift_commit | truncate(7, True, '') }} -X github.com/GoogleCloudPlatform/kubernetes/pkg/version.gitCommit 6241a21 -X github.com/GoogleCloudPlatform/kubernetes/pkg/version.gitVersion v0.11.0-330-g6241a21
|
||||
}
|
||||
|
||||
Name: openshift
|
||||
# Version is not kept up to date and is intended to be set by tito custom
|
||||
# builders provided in the rel-eng directory of this project
|
||||
Version: {{ openshift_version }}
|
||||
Release: 0%{?dist}
|
||||
Summary: Open Source Platform as a Service by Red Hat
|
||||
License: ASL 2.0
|
||||
URL: https://%{import_path}
|
||||
ExclusiveArch: x86_64
|
||||
Source0: https://%{import_path}/archive/%{commit}/%{name}-%{commit}.tar.gz
|
||||
|
||||
BuildRequires: systemd
|
||||
BuildRequires: golang >= 1.2-7
|
||||
#XXX upstream has golang >= 1.4 but it's not in rhel7 (yet)
|
||||
|
||||
|
||||
%description
|
||||
%{summary}
|
||||
|
||||
%package master
|
||||
Summary: OpenShift Master
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
|
||||
%description master
|
||||
%{summary}
|
||||
|
||||
%package node
|
||||
Summary: OpenShift Node
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: docker-io >= 1.6.0
|
||||
Requires: tuned-profiles-openshift-node
|
||||
Requires: util-linux
|
||||
Requires: socat
|
||||
Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
|
||||
%description node
|
||||
%{summary}
|
||||
|
||||
%package -n tuned-profiles-openshift-node
|
||||
Summary: Tuned profiles for OpenShift Node hosts
|
||||
Requires: tuned >= 2.3
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description -n tuned-profiles-openshift-node
|
||||
%{summary}
|
||||
|
||||
%package clients
|
||||
Summary: Openshift Client binaries for Linux, Mac OSX, and Windows
|
||||
BuildRequires: golang-pkg-darwin-amd64
|
||||
BuildRequires: golang-pkg-windows-386
|
||||
|
||||
%description clients
|
||||
%{summary}
|
||||
|
||||
%package dockerregistry
|
||||
Summary: Docker Registry v2 for OpenShift
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description dockerregistry
|
||||
%{summary}
|
||||
|
||||
%package pod
|
||||
Summary: OpenShift Pod
|
||||
Requires: openshift = %{version}-%{release}
|
||||
|
||||
%description pod
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%setup -qn origin-%{commit}
|
||||
|
||||
%build
|
||||
|
||||
# Don't judge me for this ... it's so bad.
|
||||
mkdir _build
|
||||
|
||||
# Horrid hack because golang loves to just bundle everything
|
||||
pushd _build
|
||||
mkdir -p src/github.com/openshift
|
||||
ln -s $(dirs +1 -l) src/%{import_path}
|
||||
popd
|
||||
|
||||
|
||||
# Gaming the GOPATH to include the third party bundled libs at build
|
||||
# time. This is bad and I feel bad.
|
||||
mkdir _thirdpartyhacks
|
||||
pushd _thirdpartyhacks
|
||||
ln -s \
|
||||
$(dirs +1 -l)/Godeps/_workspace/src/ \
|
||||
src
|
||||
popd
|
||||
export GOPATH=$(pwd)/_build:$(pwd)/_thirdpartyhacks:%{buildroot}%{gopath}:%{gopath}
|
||||
# Build all linux components we care about
|
||||
for cmd in openshift dockerregistry
|
||||
do
|
||||
go install -ldflags "%{ldflags}" %{import_path}/cmd/${cmd}
|
||||
done
|
||||
|
||||
# Build only 'openshift' for other platforms
|
||||
GOOS=windows GOARCH=386 go install -ldflags "%{ldflags}" %{import_path}/cmd/openshift
|
||||
GOOS=darwin GOARCH=amd64 go install -ldflags "%{ldflags}" %{import_path}/cmd/openshift
|
||||
|
||||
#Build our pod
|
||||
pushd images/pod/
|
||||
go build -ldflags "%{ldflags}" pod.go
|
||||
popd
|
||||
|
||||
%install
|
||||
|
||||
install -d %{buildroot}%{_bindir}
|
||||
install -d %{buildroot}%{_datadir}/%{name}/{linux,macosx,windows}
|
||||
|
||||
# Install linux components
|
||||
for bin in openshift dockerregistry
|
||||
do
|
||||
echo "+++ INSTALLING ${bin}"
|
||||
install -p -m 755 _build/bin/${bin} %{buildroot}%{_bindir}/${bin}
|
||||
done
|
||||
# Install 'openshift' as client executable for windows and mac
|
||||
install -p -m 755 _build/bin/openshift %{buildroot}%{_datadir}/%{name}/linux/osc
|
||||
install -p -m 755 _build/bin/darwin_amd64/openshift %{buildroot}%{_datadir}/%{name}/macosx/osc
|
||||
install -p -m 755 _build/bin/windows_386/openshift.exe %{buildroot}%{_datadir}/%{name}/windows/osc.exe
|
||||
#Install openshift pod
|
||||
install -p -m 755 images/pod/pod %{buildroot}%{_bindir}/
|
||||
|
||||
install -d -m 0755 %{buildroot}/etc/%{name}/{master,node}
|
||||
install -d -m 0755 %{buildroot}%{_unitdir}
|
||||
install -m 0644 -t %{buildroot}%{_unitdir} rel-eng/openshift-master.service
|
||||
install -m 0644 -t %{buildroot}%{_unitdir} rel-eng/openshift-node.service
|
||||
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
|
||||
install -m 0644 rel-eng/openshift-master.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/openshift-master
|
||||
install -m 0644 rel-eng/openshift-node.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/openshift-node
|
||||
|
||||
mkdir -p %{buildroot}%{_sharedstatedir}/%{name}
|
||||
|
||||
ln -s %{_bindir}/openshift %{buildroot}%{_bindir}/osc
|
||||
ln -s %{_bindir}/openshift %{buildroot}%{_bindir}/osadm
|
||||
|
||||
install -d -m 0755 %{buildroot}%{_prefix}/lib/tuned/openshift-node-{guest,host}
|
||||
install -m 0644 tuned/openshift-node-guest/tuned.conf %{buildroot}%{_prefix}/lib/tuned/openshift-node-guest/
|
||||
install -m 0644 tuned/openshift-node-host/tuned.conf %{buildroot}%{_prefix}/lib/tuned/openshift-node-host/
|
||||
install -d -m 0755 %{buildroot}%{_mandir}/man7
|
||||
install -m 0644 tuned/man/tuned-profiles-openshift-node.7 %{buildroot}%{_mandir}/man7/tuned-profiles-openshift-node.7
|
||||
|
||||
# Install sdn scripts for node subpackage
|
||||
install -d -m 0755 %{buildroot}%{kube_plugin_path}
|
||||
pushd _thirdpartyhacks/src/%{sdn_import_path}/ovssubnet/bin
|
||||
install -p -m 755 openshift-ovs-subnet %{buildroot}%{kube_plugin_path}/openshift-ovs-subnet
|
||||
install -p -m 755 openshift-sdn-kube-subnet-setup.sh %{buildroot}%{_bindir}/
|
||||
install -p -m 755 openshift-sdn-simple-setup-node.sh %{buildroot}%{_bindir}/
|
||||
popd
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc README.md LICENSE
|
||||
%{_bindir}/openshift
|
||||
%{_bindir}/osc
|
||||
%{_bindir}/osadm
|
||||
%{_sharedstatedir}/%{name}
|
||||
|
||||
%files master
|
||||
%defattr(-,root,root,-)
|
||||
%{_unitdir}/openshift-master.service
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/openshift-master
|
||||
%config(noreplace) /etc/%{name}/master
|
||||
|
||||
%post master
|
||||
%systemd_post %{basename:openshift-master.service}
|
||||
|
||||
%preun master
|
||||
%systemd_preun %{basename:openshift-master.service}
|
||||
|
||||
%postun master
|
||||
%systemd_postun
|
||||
|
||||
|
||||
%files node
|
||||
%defattr(-,root,root,-)
|
||||
%{_unitdir}/openshift-node.service
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/openshift-node
|
||||
%config(noreplace) /etc/%{name}/node
|
||||
%{_bindir}/openshift-sdn-simple-setup-node.sh
|
||||
%{_bindir}/openshift-sdn-kube-subnet-setup.sh
|
||||
%{kube_plugin_path}/openshift-ovs-subnet
|
||||
|
||||
%post node
|
||||
%systemd_post %{basename:openshift-node.service}
|
||||
|
||||
%preun node
|
||||
%systemd_preun %{basename:openshift-node.service}
|
||||
|
||||
%postun node
|
||||
%systemd_postun
|
||||
|
||||
%files -n tuned-profiles-openshift-node
|
||||
%defattr(-,root,root,-)
|
||||
%{_prefix}/lib/tuned/openshift-node-host
|
||||
%{_prefix}/lib/tuned/openshift-node-guest
|
||||
%{_mandir}/man7/tuned-profiles-openshift-node.7*
|
||||
|
||||
%post -n tuned-profiles-openshift-node
|
||||
recommended=`/usr/sbin/tuned-adm recommend`
|
||||
if [[ "${recommended}" =~ guest ]] ; then
|
||||
/usr/sbin/tuned-adm profile openshift-node-guest > /dev/null 2>&1
|
||||
else
|
||||
/usr/sbin/tuned-adm profile openshift-node-host > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
%preun -n tuned-profiles-openshift-node
|
||||
# reset the tuned profile to the recommended profile
|
||||
# $1 = 0 when we're being removed > 0 during upgrades
|
||||
if [ "$1" = 0 ]; then
|
||||
recommended=`/usr/sbin/tuned-adm recommend`
|
||||
/usr/sbin/tuned-adm profile $recommended > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
%files clients
|
||||
%{_datadir}/%{name}/linux/osc
|
||||
%{_datadir}/%{name}/macosx/osc
|
||||
%{_datadir}/%{name}/windows/osc.exe
|
||||
|
||||
%files dockerregistry
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/dockerregistry
|
||||
|
||||
%files pod
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/pod
|
||||
|
||||
%changelog
|
||||
* Mon Jan 26 2015 Scott Dodson <sdodson@redhat.com> 0.2-3
|
||||
- Update to 21fb40637c4e3507cca1fcab6c4d56b06950a149
|
||||
- Split packaging of openshift-master and openshift-node
|
||||
|
||||
* Mon Jan 19 2015 Scott Dodson <sdodson@redhat.com> 0.2-2
|
||||
- new package built with tito
|
||||
|
||||
* Fri Jan 09 2015 Adam Miller <admiller@redhat.com> - 0.2-2
|
||||
- Add symlink for osc command line tooling (merged in from jhonce@redhat.com)
|
||||
|
||||
* Wed Jan 07 2015 Adam Miller <admiller@redhat.com> - 0.2-1
|
||||
- Update to latest upstream release
|
||||
- Restructured some of the golang deps build setup for restructuring done
|
||||
upstream
|
||||
|
||||
* Thu Oct 23 2014 Adam Miller <admiller@redhat.com> - 0-0.0.9.git562842e
|
||||
- Add new patches from jhonce for systemd units
|
||||
|
||||
* Mon Oct 20 2014 Adam Miller <admiller@redhat.com> - 0-0.0.8.git562842e
|
||||
- Update to latest master snapshot
|
||||
|
||||
* Wed Oct 15 2014 Adam Miller <admiller@redhat.com> - 0-0.0.7.git7872f0f
|
||||
- Update to latest master snapshot
|
||||
|
||||
* Fri Oct 03 2014 Adam Miller <admiller@redhat.com> - 0-0.0.6.gite4d4ecf
|
||||
- Update to latest Alpha nightly build tag 20141003
|
||||
|
||||
* Wed Oct 01 2014 Adam Miller <admiller@redhat.com> - 0-0.0.5.git6d9f1a9
|
||||
- Switch to consistent naming, patch by jhonce
|
||||
|
||||
* Tue Sep 30 2014 Adam Miller <admiller@redhat.com> - 0-0.0.4.git6d9f1a9
|
||||
- Add systemd and sysconfig entries from jhonce
|
||||
|
||||
* Tue Sep 23 2014 Adam Miller <admiller@redhat.com> - 0-0.0.3.git6d9f1a9
|
||||
- Update to latest upstream.
|
||||
|
||||
* Mon Sep 15 2014 Adam Miller <admiller@redhat.com> - 0-0.0.2.git2647df5
|
||||
- Update to latest upstream.
|
||||
|
||||
* Thu Aug 14 2014 Adam Miller <admiller@redhat.com> - 0-0.0.1.gitc3839b8
|
||||
- First package
|
|
@ -1,43 +0,0 @@
|
|||
---
|
||||
# generate self-signed certificates? useful for debugging
|
||||
ssl_generate_selfsigned: false
|
||||
|
||||
ssl_cert_file: /etc/pki/tls/certs/{{ ansible_fqdn }}.crt
|
||||
ssl_key_file: /etc/pki/tls/private/{{ ansible_fqdn }}.key
|
||||
ssl_client_certkey_file: /etc/httpd/krbproxy_certkey.crt
|
||||
ssl_client_ca_file: /etc/httpd/krbproxy_ca.crt
|
||||
|
||||
proxy_port: 9443
|
||||
proxy_dest_url: https://127.0.0.1:8443/
|
||||
proxy_authname: Kerberos Authentication
|
||||
|
||||
# used for mutually authenticating the proxy and the proxied machine
|
||||
# no authentication happens when unset
|
||||
#proxy_machine_ca_file: /var/lib/openshift/openshift.local.certificates/ca/cert.crt
|
||||
#proxy_machine_cert_file: /var/lib/openshift/openshift.local.certificates/openshift-client/cert.crt
|
||||
#proxy_machine_key_file: /var/lib/openshift/openshift.local.certificates/openshift-client/key.key
|
||||
|
||||
# if no ticket is supplied, fall back to basic authentication by login+password
|
||||
# (through kerberos)
|
||||
proxy_enable_password_login: false
|
||||
|
||||
proxy_secrets_owner: apache
|
||||
proxy_secrets_group: root
|
||||
proxy_secrets_perms: "0600"
|
||||
|
||||
krb_keytab_file: /etc/httpd/HTTP-{{ ansible_fqdn }}.keytab
|
||||
|
||||
kerberos_client_realm_name: EXAMPLE.COM
|
||||
kerberos_client_kdc_hostname: kerberos
|
||||
kerberos_client_admin_hostname: kerberos
|
||||
kerberos_client_dns_lookup_realm: false
|
||||
kerberos_client_dns_lookup_kdc: false
|
||||
kerberos_client_ticket_lifetime: 24h
|
||||
kerberos_client_renew_lifetime: 7d
|
||||
kerberos_client_forwardable: true
|
||||
|
||||
# extra verbose httpd logs?
|
||||
proxy_debug: false
|
||||
|
||||
# set to false if you don't use firewalld or do not want the playbook to modify it
|
||||
manage_firewall: true
|
|
@ -1,3 +0,0 @@
|
|||
---
|
||||
- name: restart httpd
|
||||
service: name=httpd state=restarted
|
|
@ -1,89 +0,0 @@
|
|||
---
|
||||
- name: ensure required packages are installed
|
||||
yum: name={{ item }} state=present
|
||||
with_items:
|
||||
# kerberos
|
||||
- krb5-workstation
|
||||
# httpd
|
||||
- httpd
|
||||
- mod_ssl
|
||||
- mod_auth_kerb
|
||||
# selinux
|
||||
- policycoreutils-python
|
||||
|
||||
# Based on https://github.com/bennojoy/kerberos_client
|
||||
# BSD licensed
|
||||
- name: configure kerberos client
|
||||
template: src=krb5.conf.j2 dest=/etc/krb5.conf
|
||||
|
||||
- name: generate self-signed certificate
|
||||
command: >
|
||||
openssl req -new -nodes -x509
|
||||
-subj "/C=CZ/ST=SelfSigned/L=SelfSigned/O=IT/CN={{ ansible_fqdn }}"
|
||||
-days 3650
|
||||
-keyout {{ ssl_key_file }}
|
||||
-out {{ ssl_cert_file }}
|
||||
-extensions v3_ca
|
||||
args:
|
||||
creates: "{{ ssl_cert_file }}"
|
||||
when: ssl_generate_selfsigned
|
||||
notify:
|
||||
- restart httpd
|
||||
|
||||
# TODO: The private key is world readable after it is generated but before this task finishes.
|
||||
# We should use umask/private directory to protect it.
|
||||
- name: set permissions on private key
|
||||
file:
|
||||
path: "{{ ssl_key_file }}"
|
||||
state: file
|
||||
owner: "{{ proxy_secrets_owner }}"
|
||||
group: "{{ proxy_secrets_group }}"
|
||||
mode: "{{ proxy_secrets_perms }}"
|
||||
|
||||
- name: create proxy client cert+key file
|
||||
shell: cat {{ proxy_machine_cert_file }} {{ proxy_machine_key_file}} > {{ ssl_client_certkey_file }}
|
||||
when: proxy_machine_cert_file is defined
|
||||
register: certkey_file
|
||||
notify:
|
||||
- restart httpd
|
||||
|
||||
- name: set permissions on client cert+key
|
||||
file:
|
||||
path: "{{ ssl_client_certkey_file }}"
|
||||
state: file
|
||||
owner: "{{ proxy_secrets_owner }}"
|
||||
group: "{{ proxy_secrets_group }}"
|
||||
mode: "{{ proxy_secrets_perms }}"
|
||||
when: certkey_file.changed
|
||||
|
||||
- name: copy client CA file
|
||||
command: cp {{ proxy_machine_ca_file }} {{ ssl_client_ca_file }}
|
||||
when: proxy_machine_ca_file is defined
|
||||
|
||||
- name: set permissions on kerberos keytab
|
||||
file:
|
||||
path: "{{ krb_keytab_file }}"
|
||||
state: file
|
||||
owner: "{{ proxy_secrets_owner }}"
|
||||
group: "{{ proxy_secrets_group }}"
|
||||
mode: "{{ proxy_secrets_perms }}"
|
||||
|
||||
- name: configure httpd
|
||||
template: src=httpd-krbproxy.conf.j2 dest=/etc/httpd/conf.d/krbproxy.conf
|
||||
notify:
|
||||
- restart httpd
|
||||
|
||||
- name: allow proxy port in selinux
|
||||
shell: semanage port -a -t http_port_t -p tcp {{ proxy_port }} || true
|
||||
|
||||
# Permanent rules aren't applied immediately. Starting with ansible 1.9,
|
||||
# this ugliness can be replaced with permanent=true immediate=true.
|
||||
- name: open required ports in the firewall
|
||||
firewalld: port={{ proxy_port }}/tcp state=enabled permanent={{ item }}
|
||||
with_items:
|
||||
- true
|
||||
- false
|
||||
when: manage_firewall
|
||||
|
||||
- name: ensure httpd is running
|
||||
service: name=httpd state=started enabled=yes
|
|
@ -1,68 +0,0 @@
|
|||
ServerName {{ ansible_fqdn }}
|
||||
ProxyRequests Off
|
||||
Listen {{ proxy_port }}
|
||||
|
||||
{% if proxy_debug %}
|
||||
## debugging
|
||||
## in prod we should decrease verbosity
|
||||
# DumpIOInput On
|
||||
# DumpIOOutput On
|
||||
LogLevel Debug
|
||||
# LogLevel dumpio:trace7
|
||||
{% endif %}
|
||||
|
||||
<VirtualHost *:{{ proxy_port }}>
|
||||
DocumentRoot /var/www/html
|
||||
|
||||
SSLEngine on
|
||||
SSLCertificateFile {{ ssl_cert_file }}
|
||||
SSLCertificateKeyFile {{ ssl_key_file }}
|
||||
|
||||
SSLProxyEngine On
|
||||
{% if proxy_machine_ca_file is defined %}
|
||||
SSLProxyCACertificateFile {{ ssl_client_ca_file }}
|
||||
{% endif %}
|
||||
{% if proxy_machine_cert_file is defined %}
|
||||
SSLProxyMachineCertificateFile {{ ssl_client_certkey_file }}
|
||||
{% endif %}
|
||||
|
||||
SetEnv proxy-sendchunked 1
|
||||
ProxyRequests Off
|
||||
<Location "/">
|
||||
ProxyPass {{ proxy_dest_url }} connectiontimeout=30 timeout=300
|
||||
ProxyPassReverse {{ proxy_dest_url }}
|
||||
</Location>
|
||||
|
||||
# don't auth /oauth/token/request and /oauth/token/display
|
||||
<ProxyMatch /oauth/token/.*>
|
||||
Require all granted
|
||||
</ProxyMatch>
|
||||
|
||||
# /oauth/authorize and /oauth/approve should be protected by Apache.
|
||||
<ProxyMatch /oauth/a.*>
|
||||
<If "-R '{{ ansible_default_ipv4.address }}' || -R '{{ docker_network }}'">
|
||||
Require all granted
|
||||
RequestHeader set X-Remote-User {{ ansible_hostname }}
|
||||
</If>
|
||||
<Else>
|
||||
AuthType Kerberos
|
||||
AuthName "{{ proxy_authname }}"
|
||||
KrbMethodNegotiate on
|
||||
KrbMethodK5Passwd {{ 'on' if proxy_enable_password_login else 'off' }}
|
||||
KrbServiceName Any
|
||||
KrbAuthRealms {{ kerberos_client_realm_name }}
|
||||
Krb5Keytab {{ krb_keytab_file }}
|
||||
Require valid-user
|
||||
RequestHeader set X-Remote-User %{REMOTE_USER}s
|
||||
</Else>
|
||||
RequestHeader unset Authorization
|
||||
RequestHeader unset WWW-Authenticate
|
||||
</ProxyMatch>
|
||||
|
||||
# All other requests should use Bearer tokens. These can only be verified by
|
||||
# OpenShift so we need to let these requests pass through.
|
||||
<ProxyMatch ^/oauth/>
|
||||
SetEnvIfNoCase Authorization Bearer passthrough
|
||||
Require env passthrough
|
||||
</ProxyMatch>
|
||||
</VirtualHost>
|
|
@ -1,23 +0,0 @@
|
|||
[logging]
|
||||
default = FILE:/var/log/krb5libs.log
|
||||
kdc = FILE:/var/log/krb5kdc.log
|
||||
admin_server = FILE:/var/log/kadmind.log
|
||||
|
||||
[libdefaults]
|
||||
default_realm = {{ kerberos_client_realm_name|upper() }}
|
||||
dns_lookup_realm = {{ kerberos_client_dns_lookup_realm }}
|
||||
dns_lookup_kdc = {{ kerberos_client_dns_lookup_kdc }}
|
||||
ticket_lifetime = {{ kerberos_client_ticket_lifetime }}
|
||||
renew_lifetime = {{ kerberos_client_renew_lifetime }}
|
||||
forwardable = {{ kerberos_client_forwardable }}
|
||||
|
||||
[realms]
|
||||
{{ kerberos_client_realm_name|upper() }} = {
|
||||
kdc = {{ kerberos_client_kdc_hostname }}.{{ kerberos_client_realm_name|lower() }}
|
||||
admin_server = {{ kerberos_client_admin_hostname }}.{{ kerberos_client_realm_name|lower() }}
|
||||
}
|
||||
|
||||
[domain_realm]
|
||||
.{{ kerberos_client_realm_name|lower() }} = {{ kerberos_client_realm_name|upper() }}
|
||||
{{ kerberos_client_realm_name|lower() }} = {{ kerberos_client_realm_name|upper() }}
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
---
|
||||
docker_network: 172.17.42.1/16
|
Loading…
Add table
Add a link
Reference in a new issue