From 379ce4d64d1f0b603c7681475d77930d381ada56 Mon Sep 17 00:00:00 2001
From: Administrator <admin@example.com>
Date: Fri, 11 Sep 2020 16:00:57 +0200
Subject: [PATCH] some more

---
 blazegraph.yaml        |   4 +-
 fdp-api.yaml           |   2 +-
 fdp-client.yaml        |   6 +-
 ffds-config.yaml       |   2 +-
 ffds-register-api.yaml |   2 +-
 ffds-register.yaml     |   2 +-
 get_helm.sh            | 235 +++++++++++++++++++++++++++++++++++++++++
 gitlab.yaml            |  76 +++++++++++++
 index.html             | 207 ++++++++++++++++++++++++++++++++++++
 index.html.1           | 207 ++++++++++++++++++++++++++++++++++++
 ingress.yml            |  31 +++---
 mongo.yaml             |   3 +
 registry-gitlab.yml    |  45 ++++++++
 volumepv.yml           |  27 +++++
 14 files changed, 823 insertions(+), 26 deletions(-)
 create mode 100755 get_helm.sh
 create mode 100644 gitlab.yaml
 create mode 100644 index.html
 create mode 100644 index.html.1
 create mode 100644 registry-gitlab.yml

diff --git a/blazegraph.yaml b/blazegraph.yaml
index 5dc10f8..17d149a 100644
--- a/blazegraph.yaml
+++ b/blazegraph.yaml
@@ -6,7 +6,9 @@ metadata:
     app: fdp
     tier: blazegrah
 spec: 
-  type: LoadBalancer
+  type: NodePort 
+  externalIPs:
+    - 10.6.10.9
   ports:
   - protocol: TCP
     port: 8888
diff --git a/fdp-api.yaml b/fdp-api.yaml
index 78990dc..b166d0d 100644
--- a/fdp-api.yaml
+++ b/fdp-api.yaml
@@ -38,7 +38,7 @@ spec:
     spec:
       containers:
         - name: fdp-api
-          image: cines/cines-fdp:v3
+          image: cines/cines-fdp:v6
           ports:
             - name: http
               containerPort: 80
diff --git a/fdp-client.yaml b/fdp-client.yaml
index 0f631a2..7e31b44 100644
--- a/fdp-client.yaml
+++ b/fdp-client.yaml
@@ -6,7 +6,9 @@ metadata:
     app: fdp
     tier: front
 spec:
-  type: LoadBalancer
+  type: NodePort
+  externalIPs:
+    - 10.6.10.9
   ports:
   - protocol: TCP
     port: 80
@@ -38,7 +40,7 @@ spec:
     spec:
       containers:
       - name: fdp-client
-        image: cines/cines-fdp-client:v3
+        image: cines/cines-fdp-client:v4
         ports:
         - name: http
           containerPort: 80
diff --git a/ffds-config.yaml b/ffds-config.yaml
index 4172985..37c4fa8 100644
--- a/ffds-config.yaml
+++ b/ffds-config.yaml
@@ -6,4 +6,4 @@ metadata:
     tier: ffds
   name: ffds-config
 data:
-  ingressUrl: "http:\\localhost"
+  ingressUrl: "http:\\sandbox9.cines.fr"
diff --git a/ffds-register-api.yaml b/ffds-register-api.yaml
index 643200e..6817cf6 100644
--- a/ffds-register-api.yaml
+++ b/ffds-register-api.yaml
@@ -39,7 +39,7 @@ spec:
     spec:
       containers:
       - name: ffds-register-api
-        image: cines/ffds-register-api:v1
+        image: cines/ffds-register-api:v2
         ports:
         - name: http
           containerPort: 8080
diff --git a/ffds-register.yaml b/ffds-register.yaml
index d3a093e..1d560d2 100644
--- a/ffds-register.yaml
+++ b/ffds-register.yaml
@@ -38,7 +38,7 @@ spec:
     spec:
       containers:
       - name: ffds-register
-        image: cines/ffds-register-front:v1
+        image: cines/ffds-register-front:v4
         env:
           - name: ingressUrl
             valueFrom:
diff --git a/get_helm.sh b/get_helm.sh
new file mode 100755
index 0000000..f2495e4
--- /dev/null
+++ b/get_helm.sh
@@ -0,0 +1,235 @@
+#!/usr/bin/env bash
+
+# Copyright The Helm Authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# The install script is based off of the MIT-licensed script from glide,
+# the package manager for Go: https://github.com/Masterminds/glide.sh/blob/master/get
+
+: ${BINARY_NAME:="helm"}
+: ${USE_SUDO:="true"}
+: ${HELM_INSTALL_DIR:="/usr/local/bin"}
+
+# initArch discovers the architecture for this system.
+initArch() {
+  ARCH=$(uname -m)
+  case $ARCH in
+    armv5*) ARCH="armv5";;
+    armv6*) ARCH="armv6";;
+    armv7*) ARCH="arm";;
+    aarch64) ARCH="arm64";;
+    x86) ARCH="386";;
+    x86_64) ARCH="amd64";;
+    i686) ARCH="386";;
+    i386) ARCH="386";;
+  esac
+}
+
+# initOS discovers the operating system for this system.
+initOS() {
+  OS=$(echo `uname`|tr '[:upper:]' '[:lower:]')
+
+  case "$OS" in
+    # Minimalist GNU for Windows
+    mingw*) OS='windows';;
+  esac
+}
+
+# runs the given command as root (detects if we are root already)
+runAsRoot() {
+  local CMD="$*"
+
+  if [ $EUID -ne 0 -a $USE_SUDO = "true" ]; then
+    CMD="sudo $CMD"
+  fi
+
+  $CMD
+}
+
+# verifySupported checks that the os/arch combination is supported for
+# binary builds.
+verifySupported() {
+  local supported="darwin-amd64\nlinux-386\nlinux-amd64\nlinux-arm\nlinux-arm64\nlinux-ppc64le\nlinux-s390x\nwindows-amd64"
+  if ! echo "${supported}" | grep -q "${OS}-${ARCH}"; then
+    echo "No prebuilt binary for ${OS}-${ARCH}."
+    echo "To build from source, go to https://github.com/helm/helm"
+    exit 1
+  fi
+
+  if ! type "curl" > /dev/null && ! type "wget" > /dev/null; then
+    echo "Either curl or wget is required"
+    exit 1
+  fi
+}
+
+# checkDesiredVersion checks if the desired version is available.
+checkDesiredVersion() {
+  if [ "x$DESIRED_VERSION" == "x" ]; then
+    # Get tag from release URL
+    local latest_release_url="https://github.com/helm/helm/releases"
+    if type "curl" > /dev/null; then
+      TAG=$(curl -Ls $latest_release_url | grep 'href="/helm/helm/releases/tag/v3.[0-9]*.[0-9]*\"' | grep -v no-underline | head -n 1 | cut -d '"' -f 2 | awk '{n=split($NF,a,"/");print a[n]}' | awk 'a !~ $0{print}; {a=$0}')
+    elif type "wget" > /dev/null; then
+      TAG=$(wget $latest_release_url -O - 2>&1 | grep 'href="/helm/helm/releases/tag/v3.[0-9]*.[0-9]*\"' | grep -v no-underline | head -n 1 | cut -d '"' -f 2 | awk '{n=split($NF,a,"/");print a[n]}' | awk 'a !~ $0{print}; {a=$0}')
+    fi
+  else
+    TAG=$DESIRED_VERSION
+  fi
+}
+
+# checkHelmInstalledVersion checks which version of helm is installed and
+# if it needs to be changed.
+checkHelmInstalledVersion() {
+  if [[ -f "${HELM_INSTALL_DIR}/${BINARY_NAME}" ]]; then
+    local version=$("${HELM_INSTALL_DIR}/${BINARY_NAME}" version --template="{{ .Version }}")
+    if [[ "$version" == "$TAG" ]]; then
+      echo "Helm ${version} is already ${DESIRED_VERSION:-latest}"
+      return 0
+    else
+      echo "Helm ${TAG} is available. Changing from version ${version}."
+      return 1
+    fi
+  else
+    return 1
+  fi
+}
+
+# downloadFile downloads the latest binary package and also the checksum
+# for that binary.
+downloadFile() {
+  HELM_DIST="helm-$TAG-$OS-$ARCH.tar.gz"
+  DOWNLOAD_URL="https://get.helm.sh/$HELM_DIST"
+  CHECKSUM_URL="$DOWNLOAD_URL.sha256"
+  HELM_TMP_ROOT="$(mktemp -dt helm-installer-XXXXXX)"
+  HELM_TMP_FILE="$HELM_TMP_ROOT/$HELM_DIST"
+  HELM_SUM_FILE="$HELM_TMP_ROOT/$HELM_DIST.sha256"
+  echo "Downloading $DOWNLOAD_URL"
+  if type "curl" > /dev/null; then
+    curl -SsL "$CHECKSUM_URL" -o "$HELM_SUM_FILE"
+  elif type "wget" > /dev/null; then
+    wget -q -O "$HELM_SUM_FILE" "$CHECKSUM_URL"
+  fi
+  if type "curl" > /dev/null; then
+    curl -SsL "$DOWNLOAD_URL" -o "$HELM_TMP_FILE"
+  elif type "wget" > /dev/null; then
+    wget -q -O "$HELM_TMP_FILE" "$DOWNLOAD_URL"
+  fi
+}
+
+# installFile verifies the SHA256 for the file, then unpacks and
+# installs it.
+installFile() {
+  HELM_TMP="$HELM_TMP_ROOT/$BINARY_NAME"
+  local sum=$(openssl sha1 -sha256 ${HELM_TMP_FILE} | awk '{print $2}')
+  local expected_sum=$(cat ${HELM_SUM_FILE})
+  if [ "$sum" != "$expected_sum" ]; then
+    echo "SHA sum of ${HELM_TMP_FILE} does not match. Aborting."
+    exit 1
+  fi
+
+  mkdir -p "$HELM_TMP"
+  tar xf "$HELM_TMP_FILE" -C "$HELM_TMP"
+  HELM_TMP_BIN="$HELM_TMP/$OS-$ARCH/helm"
+  echo "Preparing to install $BINARY_NAME into ${HELM_INSTALL_DIR}"
+  runAsRoot cp "$HELM_TMP_BIN" "$HELM_INSTALL_DIR/$BINARY_NAME"
+  echo "$BINARY_NAME installed into $HELM_INSTALL_DIR/$BINARY_NAME"
+}
+
+# fail_trap is executed if an error occurs.
+fail_trap() {
+  result=$?
+  if [ "$result" != "0" ]; then
+    if [[ -n "$INPUT_ARGUMENTS" ]]; then
+      echo "Failed to install $BINARY_NAME with the arguments provided: $INPUT_ARGUMENTS"
+      help
+    else
+      echo "Failed to install $BINARY_NAME"
+    fi
+    echo -e "\tFor support, go to https://github.com/helm/helm."
+  fi
+  cleanup
+  exit $result
+}
+
+# testVersion tests the installed client to make sure it is working.
+testVersion() {
+  set +e
+  HELM="$(command -v $BINARY_NAME)"
+  if [ "$?" = "1" ]; then
+    echo "$BINARY_NAME not found. Is $HELM_INSTALL_DIR on your "'$PATH?'
+    exit 1
+  fi
+  set -e
+}
+
+# help provides possible cli installation arguments
+help () {
+  echo "Accepted cli arguments are:"
+  echo -e "\t[--help|-h ] ->> prints this help"
+  echo -e "\t[--version|-v <desired_version>] . When not defined it fetches the latest release from GitHub"
+  echo -e "\te.g. --version v3.0.0 or -v canary"
+  echo -e "\t[--no-sudo]  ->> install without sudo"
+}
+
+# cleanup temporary files to avoid https://github.com/helm/helm/issues/2977
+cleanup() {
+  if [[ -d "${HELM_TMP_ROOT:-}" ]]; then
+    rm -rf "$HELM_TMP_ROOT"
+  fi
+}
+
+# Execution
+
+#Stop execution on any error
+trap "fail_trap" EXIT
+set -e
+
+# Parsing input arguments (if any)
+export INPUT_ARGUMENTS="${@}"
+set -u
+while [[ $# -gt 0 ]]; do
+  case $1 in
+    '--version'|-v)
+       shift
+       if [[ $# -ne 0 ]]; then
+           export DESIRED_VERSION="${1}"
+       else
+           echo -e "Please provide the desired version. e.g. --version v3.0.0 or -v canary"
+           exit 0
+       fi
+       ;;
+    '--no-sudo')
+       USE_SUDO="false"
+       ;;
+    '--help'|-h)
+       help
+       exit 0
+       ;;
+    *) exit 1
+       ;;
+  esac
+  shift
+done
+set +u
+
+initArch
+initOS
+verifySupported
+checkDesiredVersion
+if ! checkHelmInstalledVersion; then
+  downloadFile
+  installFile
+fi
+testVersion
+cleanup
diff --git a/gitlab.yaml b/gitlab.yaml
new file mode 100644
index 0000000..2ea60a8
--- /dev/null
+++ b/gitlab.yaml
@@ -0,0 +1,76 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: gitlab
+    tier: gitlab
+  name: gitlab
+spec:
+  type: NodePort
+  ports:
+  - name: "80"
+    port: 80
+    targetPort: 80
+  - name: "22"
+    port: 22
+    targetPort: 22
+  - name: "443"
+    port: 443
+    targetPort: 443
+  selector:
+    app: gitlab
+    tier: gitlab
+
+---
+
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  labels:
+    app: gitlab
+    tier: gitlab
+  name: gitlab-claim4
+spec:
+  storageClassName: standard        
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 100Mi
+
+---
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: gitlab
+    tier: gitlab
+  name: gitlab
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: gitlab
+      tier: gitlab
+  template:  
+    metadata:
+      annotations:
+      labels:
+        app: gitlab
+        tier: gitlab
+    spec:
+      containers:
+        - image: gitlab/gitlab-ee:latest
+          name: gitlab
+          ports:
+            - containerPort: 27017
+          volumeMounts:
+            - mountPath: /data/gitlab
+              name: gitlab-claim4
+      restartPolicy: Always
+      volumes:
+        - name: gitlab-claim4
+          persistentVolumeClaim:
+            claimName: gitlab-claim4
+
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..62c6c79
--- /dev/null
+++ b/index.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html>
+<html class="devise-layout-html">
+<head prefix="og: http://ogp.me/ns#">
+<meta charset="utf-8">
+<meta content="IE=edge" http-equiv="X-UA-Compatible">
+
+<meta content="object" property="og:type">
+<meta content="GitLab" property="og:site_name">
+<meta content="Sign in" property="og:title">
+<meta content="GitLab Enterprise Edition" property="og:description">
+<meta content="http://10.6.10.9:30689/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="og:image">
+<meta content="64" property="og:image:width">
+<meta content="64" property="og:image:height">
+<meta content="http://10.6.10.9:30689/users/sign_in" property="og:url">
+<meta content="summary" property="twitter:card">
+<meta content="Sign in" property="twitter:title">
+<meta content="GitLab Enterprise Edition" property="twitter:description">
+<meta content="http://10.6.10.9:30689/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="twitter:image">
+
+<title>Sign in · GitLab</title>
+<meta content="GitLab Enterprise Edition" name="description">
+<link rel="shortcut icon" type="image/png" href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" id="favicon" data-original-href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" />
+
+<link rel="stylesheet" media="all" href="/assets/application-30a9dffe86b597151eff49443097496f0d1014bb6695a2f69a7c97dc1c27828f.css" />
+
+
+<link rel="stylesheet" media="all" href="/assets/highlight/themes/white-3a5ccf16b3cb943249b10b6fd8a260ac3c8a79ea432c44c3886d1d1ea9df4694.css" />
+
+<script>
+//<![CDATA[
+window.gon={};
+//]]>
+</script>
+
+
+<script src="/assets/webpack/runtime.32772922.bundle.js" defer="defer"></script>
+<script src="/assets/webpack/main.db26cd4a.chunk.js" defer="defer"></script>
+<script src="/assets/webpack/commons-pages.admin.sessions-pages.groups.omniauth_callbacks-pages.ldap.omniauth_callbacks-pages.omn-c3aaf8c4.fa50e779.chunk.js" defer="defer"></script>
+<script src="/assets/webpack/pages.sessions.new.0550609a.chunk.js" defer="defer"></script>
+
+
+<meta name="csrf-param" content="authenticity_token" />
+<meta name="csrf-token" content="y3JEtx7PceZKZ4QJkpx/0fdp07TCpYxVmB0AJMq3aGIrORUuIQ2qF+drRUajIcQKpGKeJENQnAXyx6jdV0Trbw==" />
+
+<meta name="action-cable-url" content="/-/cable" />
+<meta content="origin-when-cross-origin" name="referrer">
+<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
+<meta content="#474D57" name="theme-color">
+<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png" />
+<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" sizes="76x76" />
+<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" sizes="120x120" />
+<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" sizes="152x152" />
+<link color="rgb(226, 67, 41)" href="/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon">
+<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage">
+<meta content="#30353E" name="msapplication-TileColor">
+
+
+
+
+</head>
+
+<body class="application gl-browser-generic gl-platform-other login-page navless ui-indigo" data-page="sessions:new" data-qa-selector="login_page">
+
+<script>
+//<![CDATA[
+gl = window.gl || {};
+gl.client = {"isGeneric":true,"isOther":true};
+
+
+//]]>
+</script>
+<div class="page-wrap">
+<header class="navbar fixed-top navbar-empty">
+<svg width="24" height="24" class="tanuki-logo" viewBox="0 0 36 36">
+  <path class="tanuki-shape tanuki-left-ear" fill="#e24329" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z"/>
+  <path class="tanuki-shape tanuki-right-ear" fill="#e24329" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z"/>
+  <path class="tanuki-shape tanuki-nose" fill="#e24329" d="M18,34.38 3,14 33,14 Z"/>
+  <path class="tanuki-shape tanuki-left-eye" fill="#fc6d26" d="M18,34.38 11.38,14 2,14 6,25Z"/>
+  <path class="tanuki-shape tanuki-right-eye" fill="#fc6d26" d="M18,34.38 24.62,14 34,14 30,25Z"/>
+  <path class="tanuki-shape tanuki-left-cheek" fill="#fca326" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z"/>
+  <path class="tanuki-shape tanuki-right-cheek" fill="#fca326" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z"/>
+</svg>
+
+</header>
+
+<div class="login-page-broadcast">
+
+
+</div>
+<div class="container navless-container">
+<div class="content">
+<div class="flash-container flash-container-page sticky">
+</div>
+
+<div class="row mt-3">
+<div class="col-sm-12">
+<h1 class="mb-3 font-weight-normal">
+GitLab Enterprise Edition
+</h1>
+</div>
+</div>
+<div class="row mb-3">
+<div class="col-sm-7 order-12 order-sm-1 brand-holder">
+
+<h3 class="mt-sm-0">
+A complete DevOps platform
+</h3>
+<p>
+GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security.
+</p>
+
+</div>
+<div class="col-sm-5 order-1 order-sm-12 new-session-forms-container">
+<div id="signin-container">
+<ul class="nav-links new-session-tabs nav-tabs nav" role="tablist">
+<li class="nav-item" role="presentation">
+<a class="nav-link active" data-qa-selector="sign_in_tab" data-toggle="tab" href="#login-pane" role="tab">Sign in</a>
+</li>
+<li class="nav-item" role="presentation">
+<a class="nav-link" data-qa-selector="register_tab" data-toggle="tab" data-track-event="click_button" data-track-label="sign_in_register" data-track-property="" data-track-value="" href="#register-pane" role="tab">Register</a>
+</li>
+</ul>
+
+<div class="tab-content">
+<div class="login-box tab-pane active" id="login-pane" role="tabpanel">
+<div class="login-body">
+<form class="new_user gl-show-field-errors" id="new_user" aria-live="assertive" action="/users/sign_in" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="authenticity_token" value="RMDXxYFR36P5llYdMHrXhksxbYRaou0RMxhDl63rqEWki4ZcvpMEUlSal1IBx2xdGDogFNtX/UFZwutuMBgrSA==" /><div class="form-group">
+<label for="user_login" class="label-bold">Username or email</label>
+<input class="form-control top" autofocus="autofocus" autocapitalize="off" autocorrect="off" required="required" title="This field is required." data-qa-selector="login_field" type="text" name="user[login]" id="user_login" />
+</div>
+<div class="form-group">
+<label class="label-bold" for="user_password">Password</label>
+<input class="form-control bottom" required="required" title="This field is required." data-qa-selector="password_field" type="password" name="user[password]" id="user_password" />
+</div>
+<div class="remember-me">
+<label for="user_remember_me">
+<input name="user[remember_me]" type="hidden" value="0" /><input class="remember-me-checkbox" type="checkbox" value="1" name="user[remember_me]" id="user_remember_me" />
+<span>Remember me</span>
+</label>
+<div class="float-right">
+<a href="/users/password/new">Forgot your password?</a>
+</div>
+</div>
+<div></div>
+<div class="submit-container move-submit-down">
+<input type="submit" name="commit" value="Sign in" class="btn btn-success" data-qa-selector="sign_in_button" data-disable-with="Sign in" />
+</div>
+</form>
+</div>
+</div>
+
+<div class="tab-pane login-box" id="register-pane" role="tabpanel">
+<div class="login-body">
+<form class="new_new_user gl-show-field-errors" id="new_new_user" aria-live="assertive" action="/users" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="authenticity_token" value="EmgDmGJb5wSgKntnBjL0b/sUI18TFdsHGsuB/3xwFdryI1IBXZk89Q0muig3j0+0qB9uz5Lgy1dwESkG4YOW1w==" /><div class="devise-errors">
+
+</div>
+<div class="name form-group">
+<label class="label-bold" for="new_user_name">Full name</label>
+<input class="form-control top js-block-emoji js-validate-length" data-max-length="255" data-max-length-message="Name is too long (maximum is 255 characters)." data-qa-selector="new_user_name_field" required="required" title="This field is required." type="text" name="new_user[name]" id="new_user_name" />
+</div>
+<div class="username form-group">
+<label class="label-bold" for="new_user_username">Username</label>
+<input class="form-control middle js-block-emoji js-validate-length js-validate-username" data-min-length="2" data-min-length-message="Username is too short (minimum is 2 characters)." data-max-length="255" data-max-length-message="Username is too long (maximum is 255 characters)." data-qa-selector="new_user_username_field" pattern="[a-zA-Z0-9_\.][a-zA-Z0-9_\-\.]*[a-zA-Z0-9_\-]|[a-zA-Z0-9_]" required="required" title="Please create a username with only alphanumeric characters." type="text" name="new_user[username]" id="new_user_username" />
+<p class="validation-error gl-field-error-ignore field-validation hide">Username is already taken.</p>
+<p class="validation-success gl-field-error-ignore field-validation hide">Username is available.</p>
+<p class="validation-pending gl-field-error-ignore field-validation hide">Checking username availability...</p>
+</div>
+<div class="form-group">
+<label class="label-bold" for="new_user_email">Email</label>
+<input class="form-control middle" data-qa-selector="new_user_email_field" required="required" title="Please provide a valid email address." type="email" name="new_user[email]" id="new_user_email" />
+</div>
+<div class="form-group">
+<label class="label-bold" for="new_user_email_confirmation">Email confirmation</label>
+<input class="form-control middle" data-qa-selector="new_user_email_confirmation_field" required="required" title="Please retype the email address." type="email" name="new_user[email_confirmation]" id="new_user_email_confirmation" />
+</div>
+<div class="form-group append-bottom-20" id="password-strength">
+<label class="label-bold" for="new_user_password">Password</label>
+<input class="form-control bottom" data-qa-selector="new_user_password_field" required="required" pattern=".{8,}" title="Minimum length is 8 characters." type="password" name="new_user[password]" id="new_user_password" />
+<p class="gl-field-hint text-secondary">Minimum length is 8 characters</p>
+</div>
+
+<div></div>
+<div class="submit-container">
+<input type="submit" name="commit" value="Register" class="btn-register btn" data-qa-selector="new_user_register_button" data-disable-with="Register" />
+</div>
+</form></div>
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+</div>
+</div>
+<hr class="footer-fixed">
+<div class="container footer-container">
+<div class="footer-links">
+<a href="/explore">Explore</a>
+<a href="/help">Help</a>
+<a href="https://about.gitlab.com/">About GitLab</a>
+</div>
+</div>
+
+</div>
+</body>
+</html>
diff --git a/index.html.1 b/index.html.1
new file mode 100644
index 0000000..92cd457
--- /dev/null
+++ b/index.html.1
@@ -0,0 +1,207 @@
+<!DOCTYPE html>
+<html class="devise-layout-html">
+<head prefix="og: http://ogp.me/ns#">
+<meta charset="utf-8">
+<meta content="IE=edge" http-equiv="X-UA-Compatible">
+
+<meta content="object" property="og:type">
+<meta content="GitLab" property="og:site_name">
+<meta content="Sign in" property="og:title">
+<meta content="GitLab Enterprise Edition" property="og:description">
+<meta content="http://10.6.10.9:30689/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="og:image">
+<meta content="64" property="og:image:width">
+<meta content="64" property="og:image:height">
+<meta content="http://10.6.10.9:30689/users/sign_in" property="og:url">
+<meta content="summary" property="twitter:card">
+<meta content="Sign in" property="twitter:title">
+<meta content="GitLab Enterprise Edition" property="twitter:description">
+<meta content="http://10.6.10.9:30689/assets/gitlab_logo-7ae504fe4f68fdebb3c2034e36621930cd36ea87924c11ff65dbcb8ed50dca58.png" property="twitter:image">
+
+<title>Sign in · GitLab</title>
+<meta content="GitLab Enterprise Edition" name="description">
+<link rel="shortcut icon" type="image/png" href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" id="favicon" data-original-href="/assets/favicon-7901bd695fb93edb07975966062049829afb56cf11511236e61bcf425070e36e.png" />
+
+<link rel="stylesheet" media="all" href="/assets/application-30a9dffe86b597151eff49443097496f0d1014bb6695a2f69a7c97dc1c27828f.css" />
+
+
+<link rel="stylesheet" media="all" href="/assets/highlight/themes/white-3a5ccf16b3cb943249b10b6fd8a260ac3c8a79ea432c44c3886d1d1ea9df4694.css" />
+
+<script>
+//<![CDATA[
+window.gon={};
+//]]>
+</script>
+
+
+<script src="/assets/webpack/runtime.32772922.bundle.js" defer="defer"></script>
+<script src="/assets/webpack/main.db26cd4a.chunk.js" defer="defer"></script>
+<script src="/assets/webpack/commons-pages.admin.sessions-pages.groups.omniauth_callbacks-pages.ldap.omniauth_callbacks-pages.omn-c3aaf8c4.fa50e779.chunk.js" defer="defer"></script>
+<script src="/assets/webpack/pages.sessions.new.0550609a.chunk.js" defer="defer"></script>
+
+
+<meta name="csrf-param" content="authenticity_token" />
+<meta name="csrf-token" content="UgkbEAtrwGSIXNjWnnELIRkvC91wjZxVeknIn6fCPTWyRJT2bsGjmpR2g7d0HolrX3yGKAas5/COh/myGHzcbA==" />
+
+<meta name="action-cable-url" content="/-/cable" />
+<meta content="origin-when-cross-origin" name="referrer">
+<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
+<meta content="#474D57" name="theme-color">
+<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-5a9cee0e8a51212e70b90c87c12f382c428870c0ff67d1eb034d884b78d2dae7.png" />
+<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-a6eec6aeb9da138e507593b464fdac213047e49d3093fc30e90d9a995df83ba3.png" sizes="76x76" />
+<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-iphone-retina-72e2aadf86513a56e050e7f0f2355deaa19cc17ed97bbe5147847f2748e5a3e3.png" sizes="120x120" />
+<link rel="apple-touch-icon" type="image/x-icon" href="/assets/touch-icon-ipad-retina-8ebe416f5313483d9c1bc772b5bbe03ecad52a54eba443e5215a22caed2a16a2.png" sizes="152x152" />
+<link color="rgb(226, 67, 41)" href="/assets/logo-d36b5212042cebc89b96df4bf6ac24e43db316143e89926c0db839ff694d2de4.svg" rel="mask-icon">
+<meta content="/assets/msapplication-tile-1196ec67452f618d39cdd85e2e3a542f76574c071051ae7effbfde01710eb17d.png" name="msapplication-TileImage">
+<meta content="#30353E" name="msapplication-TileColor">
+
+
+
+
+</head>
+
+<body class="application gl-browser-generic gl-platform-other login-page navless ui-indigo" data-page="sessions:new" data-qa-selector="login_page">
+
+<script>
+//<![CDATA[
+gl = window.gl || {};
+gl.client = {"isGeneric":true,"isOther":true};
+
+
+//]]>
+</script>
+<div class="page-wrap">
+<header class="navbar fixed-top navbar-empty">
+<svg width="24" height="24" class="tanuki-logo" viewBox="0 0 36 36">
+  <path class="tanuki-shape tanuki-left-ear" fill="#e24329" d="M2 14l9.38 9v-9l-4-12.28c-.205-.632-1.176-.632-1.38 0z"/>
+  <path class="tanuki-shape tanuki-right-ear" fill="#e24329" d="M34 14l-9.38 9v-9l4-12.28c.205-.632 1.176-.632 1.38 0z"/>
+  <path class="tanuki-shape tanuki-nose" fill="#e24329" d="M18,34.38 3,14 33,14 Z"/>
+  <path class="tanuki-shape tanuki-left-eye" fill="#fc6d26" d="M18,34.38 11.38,14 2,14 6,25Z"/>
+  <path class="tanuki-shape tanuki-right-eye" fill="#fc6d26" d="M18,34.38 24.62,14 34,14 30,25Z"/>
+  <path class="tanuki-shape tanuki-left-cheek" fill="#fca326" d="M2 14L.1 20.16c-.18.565 0 1.2.5 1.56l17.42 12.66z"/>
+  <path class="tanuki-shape tanuki-right-cheek" fill="#fca326" d="M34 14l1.9 6.16c.18.565 0 1.2-.5 1.56L18 34.38z"/>
+</svg>
+
+</header>
+
+<div class="login-page-broadcast">
+
+
+</div>
+<div class="container navless-container">
+<div class="content">
+<div class="flash-container flash-container-page sticky">
+</div>
+
+<div class="row mt-3">
+<div class="col-sm-12">
+<h1 class="mb-3 font-weight-normal">
+GitLab Enterprise Edition
+</h1>
+</div>
+</div>
+<div class="row mb-3">
+<div class="col-sm-7 order-12 order-sm-1 brand-holder">
+
+<h3 class="mt-sm-0">
+A complete DevOps platform
+</h3>
+<p>
+GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security.
+</p>
+
+</div>
+<div class="col-sm-5 order-1 order-sm-12 new-session-forms-container">
+<div id="signin-container">
+<ul class="nav-links new-session-tabs nav-tabs nav" role="tablist">
+<li class="nav-item" role="presentation">
+<a class="nav-link active" data-qa-selector="sign_in_tab" data-toggle="tab" href="#login-pane" role="tab">Sign in</a>
+</li>
+<li class="nav-item" role="presentation">
+<a class="nav-link" data-qa-selector="register_tab" data-toggle="tab" data-track-event="click_button" data-track-label="sign_in_register" data-track-property="" data-track-value="" href="#register-pane" role="tab">Register</a>
+</li>
+</ul>
+
+<div class="tab-content">
+<div class="login-box tab-pane active" id="login-pane" role="tabpanel">
+<div class="login-body">
+<form class="new_user gl-show-field-errors" id="new_user" aria-live="assertive" action="/users/sign_in" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="authenticity_token" value="rLlLlMGPYUvX5mgWBxgwpsSsOYuR+CIdV1ImQDgUJhVM9MRypCUCtcvMM3ftd7Lsgv+0fufZWbijnBdth6rHTA==" /><div class="form-group">
+<label for="user_login" class="label-bold">Username or email</label>
+<input class="form-control top" autofocus="autofocus" autocapitalize="off" autocorrect="off" required="required" title="This field is required." data-qa-selector="login_field" type="text" name="user[login]" id="user_login" />
+</div>
+<div class="form-group">
+<label class="label-bold" for="user_password">Password</label>
+<input class="form-control bottom" required="required" title="This field is required." data-qa-selector="password_field" type="password" name="user[password]" id="user_password" />
+</div>
+<div class="remember-me">
+<label for="user_remember_me">
+<input name="user[remember_me]" type="hidden" value="0" /><input class="remember-me-checkbox" type="checkbox" value="1" name="user[remember_me]" id="user_remember_me" />
+<span>Remember me</span>
+</label>
+<div class="float-right">
+<a href="/users/password/new">Forgot your password?</a>
+</div>
+</div>
+<div></div>
+<div class="submit-container move-submit-down">
+<input type="submit" name="commit" value="Sign in" class="btn btn-success" data-qa-selector="sign_in_button" data-disable-with="Sign in" />
+</div>
+</form>
+</div>
+</div>
+
+<div class="tab-pane login-box" id="register-pane" role="tabpanel">
+<div class="login-body">
+<form class="new_new_user gl-show-field-errors" id="new_new_user" aria-live="assertive" action="/users" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="authenticity_token" value="NxIfB+IJB0kECXTTest2Km5sKHf1KzPmTK+yjuo9E2zXX5Dhh6NktxgjL7KQpPRgKD+lgoMKSEO4YYOjVYPyNQ==" /><div class="devise-errors">
+
+</div>
+<div class="name form-group">
+<label class="label-bold" for="new_user_name">Full name</label>
+<input class="form-control top js-block-emoji js-validate-length" data-max-length="255" data-max-length-message="Name is too long (maximum is 255 characters)." data-qa-selector="new_user_name_field" required="required" title="This field is required." type="text" name="new_user[name]" id="new_user_name" />
+</div>
+<div class="username form-group">
+<label class="label-bold" for="new_user_username">Username</label>
+<input class="form-control middle js-block-emoji js-validate-length js-validate-username" data-min-length="2" data-min-length-message="Username is too short (minimum is 2 characters)." data-max-length="255" data-max-length-message="Username is too long (maximum is 255 characters)." data-qa-selector="new_user_username_field" pattern="[a-zA-Z0-9_\.][a-zA-Z0-9_\-\.]*[a-zA-Z0-9_\-]|[a-zA-Z0-9_]" required="required" title="Please create a username with only alphanumeric characters." type="text" name="new_user[username]" id="new_user_username" />
+<p class="validation-error gl-field-error-ignore field-validation hide">Username is already taken.</p>
+<p class="validation-success gl-field-error-ignore field-validation hide">Username is available.</p>
+<p class="validation-pending gl-field-error-ignore field-validation hide">Checking username availability...</p>
+</div>
+<div class="form-group">
+<label class="label-bold" for="new_user_email">Email</label>
+<input class="form-control middle" data-qa-selector="new_user_email_field" required="required" title="Please provide a valid email address." type="email" name="new_user[email]" id="new_user_email" />
+</div>
+<div class="form-group">
+<label class="label-bold" for="new_user_email_confirmation">Email confirmation</label>
+<input class="form-control middle" data-qa-selector="new_user_email_confirmation_field" required="required" title="Please retype the email address." type="email" name="new_user[email_confirmation]" id="new_user_email_confirmation" />
+</div>
+<div class="form-group append-bottom-20" id="password-strength">
+<label class="label-bold" for="new_user_password">Password</label>
+<input class="form-control bottom" data-qa-selector="new_user_password_field" required="required" pattern=".{8,}" title="Minimum length is 8 characters." type="password" name="new_user[password]" id="new_user_password" />
+<p class="gl-field-hint text-secondary">Minimum length is 8 characters</p>
+</div>
+
+<div></div>
+<div class="submit-container">
+<input type="submit" name="commit" value="Register" class="btn-register btn" data-qa-selector="new_user_register_button" data-disable-with="Register" />
+</div>
+</form></div>
+</div>
+
+</div>
+</div>
+
+</div>
+</div>
+</div>
+</div>
+<hr class="footer-fixed">
+<div class="container footer-container">
+<div class="footer-links">
+<a href="/explore">Explore</a>
+<a href="/help">Help</a>
+<a href="https://about.gitlab.com/">About GitLab</a>
+</div>
+</div>
+
+</div>
+</body>
+</html>
diff --git a/ingress.yml b/ingress.yml
index b3dd24f..e8be82b 100644
--- a/ingress.yml
+++ b/ingress.yml
@@ -1,40 +1,33 @@
-apiVersion: networking.k8s.io/v1 
+apiVersion: networking.k8s.io/v1beta1
 kind: Ingress
 metadata:
-  name: ingress-ffds
+  name: ingress-rules
   annotations:
      ingress.kubernetes.io/rewrite-target: /
 spec:
   rules: 
-    - host:
+    - host: 
       http:
         paths:
         - path: /api
           pathType: Prefix
           backend:
-            service:
-              name: ffds-register-api
-              port: 
-                number: 80
+            serviceName: ffds-register-api
+            servicePort: 80
         - path: /
           pathType: Prefix
           backend:
-            service:
-              name: fdp-api
-              port: 
-                number: 80          
+            serviceName: fdp-api
+            servicePort: 80          
         - path: /app
           pathType: Prefix
           backend:
-            service:
-              name: fdp-client
-              port: 
-                number: 80          
+            serviceName: fdp-client
+            servicePort: 80          
         - path: /es
           pathType: Prefix
           backend:
-            service: 
-              name: elasticsearch-loadbalancer 
-              port: 
-                number: 9200          
+            serviceName: elasticsearch-loadbalancer 
+            servicePort: 9200
+                 
 
diff --git a/mongo.yaml b/mongo.yaml
index 33231ef..076c722 100644
--- a/mongo.yaml
+++ b/mongo.yaml
@@ -6,6 +6,9 @@ metadata:
     tier: mongo
   name: mongo
 spec:
+  type: NodePort
+  externalIPs:
+    - 10.6.10.9        
   ports:
   - name: "27017"
     port: 27017
diff --git a/registry-gitlab.yml b/registry-gitlab.yml
new file mode 100644
index 0000000..84a0a87
--- /dev/null
+++ b/registry-gitlab.yml
@@ -0,0 +1,45 @@
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: gitlab
+    tier: gitlab
+  name: registry-gitlab
+spec:
+  type: NodePort
+  ports:
+  - name: "5000"
+    port: 5000
+    targetPort: 5000
+  selector:
+    app: gitlab
+    tier: gitlab
+
+---
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: gitlab
+    tier: gitlab
+  name: registry-gitlab
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: gitlab
+      tier: gitlab
+  template:  
+    metadata:
+      annotations:
+      labels:
+        app: gitlab
+        tier: gitlab
+    spec:
+      containers:
+        - image: registry:2
+          name: registry-gitlab
+          ports:
+            - containerPort: 5000
+      restartPolicy: Always
diff --git a/volumepv.yml b/volumepv.yml
index 01fbd9f..7caa249 100644
--- a/volumepv.yml
+++ b/volumepv.yml
@@ -72,3 +72,30 @@ spec:
           operator: In
           values:
           - sandbox9.cines.fr
+
+---
+
+
+apiVersion: v1
+kind: PersistentVolume
+metadata:
+  name: data-pv4
+spec:
+  capacity:
+    storage: 1Gi
+  accessModes:
+  - ReadWriteOnce
+  persistentVolumeReclaimPolicy: Retain
+  volumeMode: Filesystem
+  storageClassName: standard
+  local:
+    path: /data/4
+  nodeAffinity:
+    required:
+      nodeSelectorTerms:
+      - matchExpressions:
+        - key: kubernetes.io/hostname
+          operator: In
+          values:
+          - sandbox9.cines.fr
+
-- 
GitLab