Table of Contents
Welcome to our Openshift user guide wiki
Guides
About Git Ops
This repository is already fully configured to work in a GitOps Way
(https://www.gitops.tech/#what-is-gitops). We use FluxCD
has our
GitOps Tools. We highly recommand to take advantage of that setup to deploy
your application however it's not mandatory and you can use another way to ship
them.
All example above is taking tenant-tpl as a our 'Tenant name'
Our Flux Setup
Repository Overview
.
├── echo-server
│ ├── app
│ │ └── helmrelease.yaml
│ └── ks.yaml
├── kustomization.yaml
├── README.md
├── repos
│ ├── helm
│ │ └── bjw-s.yaml
│ └── ks.yaml
├── scripts
│ └── rewrap-secrets.sh
└── vars
├── ks.yaml
└── tenant-tpl
├── cluster-settings.yaml
└── README.md
Flux Organisation
$ flux get all -n tenant-tpl
flowchart TD
A["<b>Git Repository: tenant-repos</b>"]:::gitRepo
subgraph Kustomization
B["<b style='color: orange;'>kustomization/tenant-apps</b>"]:::mainEntry
end
F["<b style='color: teal;'>helmrepository/bjw-s</b>"]:::helmRepo
G["<b style='color: violet;'>helmchart/tenant-tpl-echo-server</b>"]:::helmChart
H["<b style='color: tomato;'>helmrelease/echo-server</b>"]:::helmRelease
I["<b style='color: lightcoral;'>kustomization/echo-server</b>"]:::echoServer
J["<b style='color: lightgreen;'>kustomization/repos-sync</b>"]:::reposSync
K["<b style='color: lightblue;'>kustomization/vars</b>"]:::vars
A --> B
B --> C["<b style='color: lightblue;'>vars/ks.yaml</b>"]
B --> D["<b style='color: lightgreen;'>repos/ks.yaml</b>"]
B --> E["<b style='color: lightcoral;'>echo-server/ks.yaml</b>"]
E --> I
D --> J
C --> K
I --> H
J --> F
K --> G
classDef gitRepo fill:#d1e7dd,stroke:#0f5132,stroke-width:2px;
classDef mainEntry fill:#fff3cd,stroke:#856404,stroke-width:2px;
classDef helmRepo fill:#d1ecf1,stroke:#0c5460,stroke-width:2px;
classDef helmChart fill:#ede7f6,stroke:#4a148c,stroke-width:2px;
classDef helmRelease fill:#f8d7da,stroke:#721c24,stroke-width:2px;
classDef echoServer fill:#ffe6e6,stroke:#cc0000,stroke-width:2px;
classDef reposSync fill:#d4edda,stroke:#155724,stroke-width:2px;
classDef vars fill:#d1ecf1,stroke:#0c5460,stroke-width:2px;
tenant-apps Is the main entry point and is not defined within your git Repository but while we are creating the tenant for you.
kustomization/echo-server This is example application. While it's just an example it already does quite a lot such as.
- Deploying an application using the
bjw-s
helm chart. - Exposing the application to the internet using a SSL certificate.
- Requesting persistent storage
./echo-server/app/helmrelease.yaml
This is a very good example to begin with and we will refer to it very much.
kustomization/repos-sync
If you ever need to import a helm repository in your namespace this is the
right place. You'll find an already working example with the bjw-s
repository
imported.
kustomization/vars
Here we are defining our applications secret or variables. Please refers to vars