aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorSteven Dake <sdake@redhat.com>2014-09-20 13:14:59 -0700
committerLars Kellogg-Stedman <lars@redhat.com>2014-09-20 19:37:37 -0400
commit3c7e0da4677273b160288da30259662742b68032 (patch)
tree00e82c0a5e593d73453adb1b1ea42ac43f0479b8 /docker
parent87276efbbdc1ec1dc16d688cfc9d9ec7e4d35949 (diff)
downloadkolla-3c7e0da4677273b160288da30259662742b68032.tar.gz
kolla-3c7e0da4677273b160288da30259662742b68032.zip
Add swift boilerplate
Add swift boilerplate for Docker building and Kubernetes support
Diffstat (limited to 'docker')
-rw-r--r--docker/swift/swift-account/Dockerfile6
-rwxr-xr-xdocker/swift/swift-account/build2
-rw-r--r--docker/swift/swift-account/start.sh40
-rw-r--r--docker/swift/swift-base/24q1248
-rw-r--r--docker/swift/swift-base/Dockerfile8
-rwxr-xr-xdocker/swift/swift-base/build2
-rw-r--r--docker/swift/swift-container/Dockerfile6
-rwxr-xr-xdocker/swift/swift-container/build2
-rw-r--r--docker/swift/swift-container/start.sh40
-rw-r--r--docker/swift/swift-object/Dockerfile6
-rwxr-xr-xdocker/swift/swift-object/build2
-rw-r--r--docker/swift/swift-object/start.sh40
-rw-r--r--docker/swift/swift-proxy-server/Dockerfile6
-rwxr-xr-xdocker/swift/swift-proxy-server/build2
-rw-r--r--docker/swift/swift-proxy-server/start.sh5
-rw-r--r--docker/swift/swift.json98
16 files changed, 273 insertions, 0 deletions
diff --git a/docker/swift/swift-account/Dockerfile b/docker/swift/swift-account/Dockerfile
new file mode 100644
index 000000000..49b80e1f6
--- /dev/null
+++ b/docker/swift/swift-account/Dockerfile
@@ -0,0 +1,6 @@
+FROM fedora-rdo-base
+MAINTAINER Steven Dake <sdake@redhat.com>
+
+ADD ./start.sh /start.sh
+CMD ["/start.sh"]
+
diff --git a/docker/swift/swift-account/build b/docker/swift/swift-account/build
new file mode 100755
index 000000000..d1733a86b
--- /dev/null
+++ b/docker/swift/swift-account/build
@@ -0,0 +1,2 @@
+#!/bin/bash
+sudo docker build --tag fedora-rdo-swift-account-server .
diff --git a/docker/swift/swift-account/start.sh b/docker/swift/swift-account/start.sh
new file mode 100644
index 000000000..783df0a66
--- /dev/null
+++ b/docker/swift/swift-account/start.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+: ${SWIFT_DB_USER:=swift}
+: ${SWIFT_DB_NAME:=swift}
+: ${KEYSTONE_AUTH_PROTOCOL:=http}
+: ${SWIFT_KEYSTONE_USER:=swift}
+: ${ADMIN_TENANT_NAME:=admin}
+
+if ! [ "$KEYSTONE_ADMIN_TOKEN" ]; then
+ echo "*** Missing KEYSTONE_ADMIN_TOKEN" >&2
+ exit 1
+fi
+
+if ! [ "$DB_ROOT_PASSWORD" ]; then
+ echo "*** Missing DB_ROOT_PASSWORD" >&2
+ exit 1
+fi
+
+if ! [ "$SWIFT_DB_PASSWORD" ]; then
+ SWIFT_DB_PASSWORD=$(openssl rand -hex 15)
+ export SWIFT_DB_PASSWORD
+fi
+
+sh /opt/swift/config-swift.sh account-server
+
+mysql -h ${MARIADBMASTER_PORT_3306_TCP_ADDR} -u root \
+ -p${DB_ROOT_PASSWORD} mysql <<EOF
+CREATE DATABASE IF NOT EXISTS ${SWIFT_DB_NAME};
+GRANT ALL PRIVILEGES ON swift* TO
+ '${SWIFT_DB_USER}'@'%' IDENTIFIED BY '${SWIFT_DB_PASSWORD}'
+EOF
+
+export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
+export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONEMASTER_35357_PORT_35357_TCP_ADDR}:35357/v2.0"
+
+/bin/keystone user-create --name ${SWIFT_KEYSTONE_USER} --pass ${SWIFT_ADMIN_PASSWORD}
+/bin/keystone role-create --name ${SWIFT_KEYSTONE_USER}
+/bin/keystone user-role-add --user ${SWIFT_KEYSTONE_USER} --role admin --tenant ${ADMIN_TENANT_NAME}
+
+exec /usr/bin/swift-engine
diff --git a/docker/swift/swift-base/24q124 b/docker/swift/swift-base/24q124
new file mode 100644
index 000000000..99e00593e
--- /dev/null
+++ b/docker/swift/swift-base/24q124
@@ -0,0 +1,8 @@
+FROM fedora-rdo-base
+MAINTAINER Steven Dake <sdake@redhat.com>
+
+RUN yum -y install openstack-utils openstack-swift && yum clean all
+
+# These will come after we sort out start time config
+RUN mkdir /opt/swift
+#COPY config-swift.sh /opt/swift/config-swift.sh
diff --git a/docker/swift/swift-base/Dockerfile b/docker/swift/swift-base/Dockerfile
new file mode 100644
index 000000000..36d7d0e00
--- /dev/null
+++ b/docker/swift/swift-base/Dockerfile
@@ -0,0 +1,8 @@
+FROM fedora-rdo-base
+MAINTAINER Steven Dake <sdake@redhat.com>
+
+RUN yum -y install openstack-utils openstack-swift && yum clean all
+
+# These will come after we sort out start time config
+RUN mkdir /opt/swift
+config-swift.sh /opt/swift/config-swift.sh
diff --git a/docker/swift/swift-base/build b/docker/swift/swift-base/build
new file mode 100755
index 000000000..9ad15afd6
--- /dev/null
+++ b/docker/swift/swift-base/build
@@ -0,0 +1,2 @@
+#!/bin/bash
+sudo docker build --tag swift-proxy-base .
diff --git a/docker/swift/swift-container/Dockerfile b/docker/swift/swift-container/Dockerfile
new file mode 100644
index 000000000..49b80e1f6
--- /dev/null
+++ b/docker/swift/swift-container/Dockerfile
@@ -0,0 +1,6 @@
+FROM fedora-rdo-base
+MAINTAINER Steven Dake <sdake@redhat.com>
+
+ADD ./start.sh /start.sh
+CMD ["/start.sh"]
+
diff --git a/docker/swift/swift-container/build b/docker/swift/swift-container/build
new file mode 100755
index 000000000..866c638ec
--- /dev/null
+++ b/docker/swift/swift-container/build
@@ -0,0 +1,2 @@
+#!/bin/bash
+sudo docker build --tag fedora-rdo-swift-container-server .
diff --git a/docker/swift/swift-container/start.sh b/docker/swift/swift-container/start.sh
new file mode 100644
index 000000000..8e952c729
--- /dev/null
+++ b/docker/swift/swift-container/start.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+: ${SWIFT_DB_USER:=swift}
+: ${SWIFT_DB_NAME:=swift}
+: ${KEYSTONE_AUTH_PROTOCOL:=http}
+: ${SWIFT_KEYSTONE_USER:=swift}
+: ${ADMIN_TENANT_NAME:=admin}
+
+if ! [ "$KEYSTONE_ADMIN_TOKEN" ]; then
+ echo "*** Missing KEYSTONE_ADMIN_TOKEN" >&2
+ exit 1
+fi
+
+if ! [ "$DB_ROOT_PASSWORD" ]; then
+ echo "*** Missing DB_ROOT_PASSWORD" >&2
+ exit 1
+fi
+
+if ! [ "$SWIFT_DB_PASSWORD" ]; then
+ SWIFT_DB_PASSWORD=$(openssl rand -hex 15)
+ export SWIFT_DB_PASSWORD
+fi
+
+sh /opt/swift/config-swift.sh container
+
+mysql -h ${MARIADBMASTER_PORT_3306_TCP_ADDR} -u root \
+ -p${DB_ROOT_PASSWORD} mysql <<EOF
+CREATE DATABASE IF NOT EXISTS ${SWIFT_DB_NAME};
+GRANT ALL PRIVILEGES ON swift* TO
+ '${SWIFT_DB_USER}'@'%' IDENTIFIED BY '${SWIFT_DB_PASSWORD}'
+EOF
+
+export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
+export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONEMASTER_35357_PORT_35357_TCP_ADDR}:35357/v2.0"
+
+/bin/keystone user-create --name ${SWIFT_KEYSTONE_USER} --pass ${SWIFT_ADMIN_PASSWORD}
+/bin/keystone role-create --name ${SWIFT_KEYSTONE_USER}
+/bin/keystone user-role-add --user ${SWIFT_KEYSTONE_USER} --role admin --tenant ${ADMIN_TENANT_NAME}
+
+exec /usr/bin/swift-container-server
diff --git a/docker/swift/swift-object/Dockerfile b/docker/swift/swift-object/Dockerfile
new file mode 100644
index 000000000..49b80e1f6
--- /dev/null
+++ b/docker/swift/swift-object/Dockerfile
@@ -0,0 +1,6 @@
+FROM fedora-rdo-base
+MAINTAINER Steven Dake <sdake@redhat.com>
+
+ADD ./start.sh /start.sh
+CMD ["/start.sh"]
+
diff --git a/docker/swift/swift-object/build b/docker/swift/swift-object/build
new file mode 100755
index 000000000..c25af585c
--- /dev/null
+++ b/docker/swift/swift-object/build
@@ -0,0 +1,2 @@
+#!/bin/bash
+sudo docker build --tag fedora-rdo-swift-object-server .
diff --git a/docker/swift/swift-object/start.sh b/docker/swift/swift-object/start.sh
new file mode 100644
index 000000000..4b294d508
--- /dev/null
+++ b/docker/swift/swift-object/start.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+: ${SWIFT_DB_USER:=swift}
+: ${SWIFT_DB_NAME:=swift}
+: ${KEYSTONE_AUTH_PROTOCOL:=http}
+: ${SWIFT_KEYSTONE_USER:=swift}
+: ${ADMIN_TENANT_NAME:=admin}
+
+if ! [ "$KEYSTONE_ADMIN_TOKEN" ]; then
+ echo "*** Missing KEYSTONE_ADMIN_TOKEN" >&2
+ exit 1
+fi
+
+if ! [ "$DB_ROOT_PASSWORD" ]; then
+ echo "*** Missing DB_ROOT_PASSWORD" >&2
+ exit 1
+fi
+
+if ! [ "$SWIFT_DB_PASSWORD" ]; then
+ SWIFT_DB_PASSWORD=$(openssl rand -hex 15)
+ export SWIFT_DB_PASSWORD
+fi
+
+sh /opt/swift/config-swift.sh engine
+
+mysql -h ${MARIADBMASTER_PORT_3306_TCP_ADDR} -u root \
+ -p${DB_ROOT_PASSWORD} mysql <<EOF
+CREATE DATABASE IF NOT EXISTS ${SWIFT_DB_NAME};
+GRANT ALL PRIVILEGES ON swift* TO
+ '${SWIFT_DB_USER}'@'%' IDENTIFIED BY '${SWIFT_DB_PASSWORD}'
+EOF
+
+export SERVICE_TOKEN="${KEYSTONE_ADMIN_TOKEN}"
+export SERVICE_ENDPOINT="${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONEMASTER_35357_PORT_35357_TCP_ADDR}:35357/v2.0"
+
+/bin/keystone user-create --name ${SWIFT_KEYSTONE_USER} --pass ${SWIFT_ADMIN_PASSWORD}
+/bin/keystone role-create --name ${SWIFT_KEYSTONE_USER}
+/bin/keystone user-role-add --user ${SWIFT_KEYSTONE_USER} --role admin --tenant ${ADMIN_TENANT_NAME}
+
+exec /usr/bin/swift-object-server
diff --git a/docker/swift/swift-proxy-server/Dockerfile b/docker/swift/swift-proxy-server/Dockerfile
new file mode 100644
index 000000000..77e6762a4
--- /dev/null
+++ b/docker/swift/swift-proxy-server/Dockerfile
@@ -0,0 +1,6 @@
+FROM fedora-rdo-swift-base
+MAINTAINER Steven Dake <sdake@redhat.com>
+
+ADD ./start.sh /start.sh
+CMD ["/start.sh"]
+
diff --git a/docker/swift/swift-proxy-server/build b/docker/swift/swift-proxy-server/build
new file mode 100755
index 000000000..376c1fb5b
--- /dev/null
+++ b/docker/swift/swift-proxy-server/build
@@ -0,0 +1,2 @@
+#!/bin/bash
+sudo docker build --tag fedora-rdo-swift-proxy-server .
diff --git a/docker/swift/swift-proxy-server/start.sh b/docker/swift/swift-proxy-server/start.sh
new file mode 100644
index 000000000..dff824f46
--- /dev/null
+++ b/docker/swift/swift-proxy-server/start.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+sh /opt/swift/config-swift.sh proxy
+
+exec /usr/bin/swift-proxy-server
diff --git a/docker/swift/swift.json b/docker/swift/swift.json
new file mode 100644
index 000000000..43b23827c
--- /dev/null
+++ b/docker/swift/swift.json
@@ -0,0 +1,98 @@
+{
+ "id": "swift",
+ "desiredState": {
+ "manifest": {
+ "version": "v1beta1",
+ "id": "swift-1",
+ "containers": [
+ {
+ "name": "swift-account-server",
+ "image": "fedora-rdo-swift-account-server",
+ "ports": [
+ {"containerPort": 9292},
+ ],
+ "env": [
+ {
+ "name": "DB_ROOT_PASSWORD",
+ "value": "password"
+ },
+ {
+ "name": "SWIFT_DB_PASSWORD",
+ "value": "swiftdbpassword"
+ },
+ {
+ "name": "KEYSTONE_ADMIN_TOKEN",
+ "value": "ADMINTOKEN"
+ },
+ ]
+ },
+ {
+ "name": "swift-container-server",
+ "image": "fedora-rdo-swift-container-server",
+ "ports": [
+ {"containerPort": 9292},
+ ],
+ "env": [
+ {
+ "name": "DB_ROOT_PASSWORD",
+ "value": "password"
+ },
+ {
+ "name": "SWIFT_DB_PASSWORD",
+ "value": "swiftdbpassword"
+ },
+ {
+ "name": "KEYSTONE_ADMIN_TOKEN",
+ "value": "ADMINTOKEN"
+ },
+ ]
+ },
+ {
+ "name": "swift-object-server",
+ "image": "fedora-rdo-swift-object-server",
+ "ports": [
+ {"containerPort": 9292},
+ ],
+ "env": [
+ {
+ "name": "DB_ROOT_PASSWORD",
+ "value": "password"
+ },
+ {
+ "name": "SWIFT_DB_PASSWORD",
+ "value": "swiftdbpassword"
+ },
+ {
+ "name": "KEYSTONE_ADMIN_TOKEN",
+ "value": "ADMINTOKEN"
+ },
+ ]
+ },
+ {
+ "name": "swift-proxy-server",
+ "image": "fedora-rdo-swift-proxy-server",
+ "ports": [
+ {"containerPort": 9292},
+ ],
+ "env": [
+ {
+ "name": "DB_ROOT_PASSWORD",
+ "value": "password"
+ },
+ {
+ "name": "SWIFT_DB_PASSWORD",
+ "value": "swiftdbpassword"
+ },
+ {
+ "name": "KEYSTONE_ADMIN_TOKEN",
+ "value": "ADMINTOKEN"
+ },
+ ]
+ },
+ ]
+ }
+ },
+ "labels": {
+ "name": "keystone-master"
+ }
+}