added a note on quay.io images
This commit is contained in:
66
README.md
66
README.md
@@ -1,25 +1,25 @@
|
|||||||
|
|
||||||
# Table of Contents
|
# Table of Contents
|
||||||
|
|
||||||
1. [I need a cookie recipe database!](#org651bf34)
|
1. [I need a cookie recipe database!](#org70e0ee4)
|
||||||
2. [Preparing the cookierecipes CRD](#org58b8bb6)
|
2. [Preparing the cookierecipes CRD](#org0e8e12f)
|
||||||
3. [Storing some sample recipes](#orgbb687b0)
|
3. [Storing some sample recipes](#orga6bbe4b)
|
||||||
4. [Creating RBAC resources](#org2d91ada)
|
4. [Creating RBAC resources](#orgde6d9d3)
|
||||||
5. [Storing some sample recipes (hopefully this time!!)](#org69aa53f)
|
5. [Storing some sample recipes (hopefully this time!!)](#org62f1e6b)
|
||||||
6. [Now can we do anything with our recipes?](#orgbd83100)
|
6. [Now can we do anything with our recipes?](#orgb60e309)
|
||||||
7. [I'm an operator with my pocket calculator](#org3bb5d31)
|
7. [I'm an operator with my pocket calculator](#org83e0096)
|
||||||
8. [What do we need?](#orgcebea86)
|
8. [What do we need?](#orgfb5d825)
|
||||||
9. [Let's review the Containerfile](#org6c2e7f3)
|
9. [Let's review the Containerfile](#orgd3ee53a)
|
||||||
10. [Have a look at the Controller](#org3165f3c)
|
10. [Have a look at the Controller](#orgdd65c08)
|
||||||
11. [Now let's also have a look at the deployment](#org6ec9a40)
|
11. [Now let's also have a look at the deployment](#orgc7511a7)
|
||||||
12. [The ServiceAccount](#orgcba3d6d)
|
12. [The ServiceAccount](#org210fae4)
|
||||||
13. [Building the stuff together](#orga6fa80a)
|
13. [Building the stuff together](#org12610bc)
|
||||||
14. [Deploying the Operator](#org22de8a4)
|
14. [Deploying the Operator](#orgdd65ee3)
|
||||||
15. [Test the Operator](#org1cbedf9)
|
15. [Test the Operator](#org27a7fba)
|
||||||
16. [Test for updated recipes](#org40457b2)
|
16. [Test for updated recipes](#orgd947aad)
|
||||||
|
|
||||||
|
|
||||||
<a id="org651bf34"></a>
|
<a id="org70e0ee4"></a>
|
||||||
|
|
||||||
# I need a cookie recipe database!
|
# I need a cookie recipe database!
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
[...]
|
[...]
|
||||||
|
|
||||||
|
|
||||||
<a id="org58b8bb6"></a>
|
<a id="org0e8e12f"></a>
|
||||||
|
|
||||||
# Preparing the cookierecipes CRD
|
# Preparing the cookierecipes CRD
|
||||||
|
|
||||||
@@ -64,7 +64,7 @@ Let's create the CRD from <https://www.eenfach.de/gitblit/blob/~olbohlen!cookie-
|
|||||||
Now the cluster knows about the CRD and we could store recipes!
|
Now the cluster knows about the CRD and we could store recipes!
|
||||||
|
|
||||||
|
|
||||||
<a id="orgbb687b0"></a>
|
<a id="orga6bbe4b"></a>
|
||||||
|
|
||||||
# Storing some sample recipes
|
# Storing some sample recipes
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ We need to set up some RBAC resources first:
|
|||||||
- and a `ClusterRoleBinding` that allows that for authenticated users
|
- and a `ClusterRoleBinding` that allows that for authenticated users
|
||||||
|
|
||||||
|
|
||||||
<a id="org2d91ada"></a>
|
<a id="orgde6d9d3"></a>
|
||||||
|
|
||||||
# Creating RBAC resources
|
# Creating RBAC resources
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ group members to edit `cookierecipes`.
|
|||||||
service (via an `IdentityProvider`).
|
service (via an `IdentityProvider`).
|
||||||
|
|
||||||
|
|
||||||
<a id="org69aa53f"></a>
|
<a id="org62f1e6b"></a>
|
||||||
|
|
||||||
# Storing some sample recipes (hopefully this time!!)
|
# Storing some sample recipes (hopefully this time!!)
|
||||||
|
|
||||||
@@ -121,7 +121,7 @@ Now we should be able to create the sample recipes:
|
|||||||
There is no functionality here - we just stored the recipes in the etcd via the K8s API.
|
There is no functionality here - we just stored the recipes in the etcd via the K8s API.
|
||||||
|
|
||||||
|
|
||||||
<a id="orgbd83100"></a>
|
<a id="orgb60e309"></a>
|
||||||
|
|
||||||
# Now can we do anything with our recipes?
|
# Now can we do anything with our recipes?
|
||||||
|
|
||||||
@@ -138,7 +138,7 @@ This is handy, as we can extract exactly the data which we need at a time.
|
|||||||
But…it's a lot of manual work…
|
But…it's a lot of manual work…
|
||||||
|
|
||||||
|
|
||||||
<a id="org3bb5d31"></a>
|
<a id="org83e0096"></a>
|
||||||
|
|
||||||
# I'm an operator with my pocket calculator
|
# I'm an operator with my pocket calculator
|
||||||
|
|
||||||
@@ -154,7 +154,7 @@ Of course this Operator is not compatible with the `OperatorLifecycyleManager` (
|
|||||||
so we have to install it manually.
|
so we have to install it manually.
|
||||||
|
|
||||||
|
|
||||||
<a id="orgcebea86"></a>
|
<a id="orgfb5d825"></a>
|
||||||
|
|
||||||
# What do we need?
|
# What do we need?
|
||||||
|
|
||||||
@@ -167,7 +167,7 @@ We need:
|
|||||||
Then we are going to build the Operator ContainerImage and push it to a Registry.
|
Then we are going to build the Operator ContainerImage and push it to a Registry.
|
||||||
|
|
||||||
|
|
||||||
<a id="org6c2e7f3"></a>
|
<a id="orgd3ee53a"></a>
|
||||||
|
|
||||||
# Let's review the Containerfile
|
# Let's review the Containerfile
|
||||||
|
|
||||||
@@ -179,7 +179,7 @@ the base image is a "kshbase" image, which itself is based upon ubi9 containing
|
|||||||
and an oc client.
|
and an oc client.
|
||||||
|
|
||||||
|
|
||||||
<a id="org3165f3c"></a>
|
<a id="orgdd65c08"></a>
|
||||||
|
|
||||||
# Have a look at the Controller
|
# Have a look at the Controller
|
||||||
|
|
||||||
@@ -190,7 +190,7 @@ The code is here:
|
|||||||
<https://www.eenfach.de/gitblit/blob/~olbohlen!cookie-operator.git/master/recipe-processor.ksh>
|
<https://www.eenfach.de/gitblit/blob/~olbohlen!cookie-operator.git/master/recipe-processor.ksh>
|
||||||
|
|
||||||
|
|
||||||
<a id="org6ec9a40"></a>
|
<a id="orgc7511a7"></a>
|
||||||
|
|
||||||
# Now let's also have a look at the deployment
|
# Now let's also have a look at the deployment
|
||||||
|
|
||||||
@@ -202,7 +202,7 @@ This deployment requires a `ServiceAccount` called "cookieprocessor", this `Serv
|
|||||||
a Token to authenticate against the API (which we use in the controller script).
|
a Token to authenticate against the API (which we use in the controller script).
|
||||||
|
|
||||||
|
|
||||||
<a id="orgcba3d6d"></a>
|
<a id="org210fae4"></a>
|
||||||
|
|
||||||
# The ServiceAccount
|
# The ServiceAccount
|
||||||
|
|
||||||
@@ -213,7 +213,7 @@ For that reason we also create a `RoleBinding` (namespaced!) that allows reading
|
|||||||
<https://www.eenfach.de/gitblit/blob/~olbohlen!cookie-operator.git/master/cookieprocessor-sa.yaml>
|
<https://www.eenfach.de/gitblit/blob/~olbohlen!cookie-operator.git/master/cookieprocessor-sa.yaml>
|
||||||
|
|
||||||
|
|
||||||
<a id="orga6fa80a"></a>
|
<a id="org12610bc"></a>
|
||||||
|
|
||||||
# Building the stuff together
|
# Building the stuff together
|
||||||
|
|
||||||
@@ -222,6 +222,8 @@ For that reason we also create a `RoleBinding` (namespaced!) that allows reading
|
|||||||
rolebinding.rbac.authorization.k8s.io/cookierecipe-view created
|
rolebinding.rbac.authorization.k8s.io/cookierecipe-view created
|
||||||
|
|
||||||
The registry docker.eenfach.de requires login credentials, so we need to set up a secret and link it.
|
The registry docker.eenfach.de requires login credentials, so we need to set up a secret and link it.
|
||||||
|
**NOTE** all sample files in this repository use mirrored images on quay.io, which does not require a login.
|
||||||
|
|
||||||
First login to the registry with **podman login**, then pick the resulting auth.json:
|
First login to the registry with **podman login**, then pick the resulting auth.json:
|
||||||
|
|
||||||
$ podman login -u olbohlen docker.eenfach.de
|
$ podman login -u olbohlen docker.eenfach.de
|
||||||
@@ -234,7 +236,7 @@ First login to the registry with **podman login**, then pick the resulting auth.
|
|||||||
$ oc secrets link cookieprocessor docker-eenfach-de --for pull
|
$ oc secrets link cookieprocessor docker-eenfach-de --for pull
|
||||||
|
|
||||||
|
|
||||||
<a id="org22de8a4"></a>
|
<a id="orgdd65ee3"></a>
|
||||||
|
|
||||||
# Deploying the Operator
|
# Deploying the Operator
|
||||||
|
|
||||||
@@ -261,7 +263,7 @@ Now that we have everything in place, we will just deploy the Operator Pod:
|
|||||||
The Operator will process both sample recipes.
|
The Operator will process both sample recipes.
|
||||||
|
|
||||||
|
|
||||||
<a id="org1cbedf9"></a>
|
<a id="org27a7fba"></a>
|
||||||
|
|
||||||
# Test the Operator
|
# Test the Operator
|
||||||
|
|
||||||
@@ -281,7 +283,7 @@ After a few seconds, we should see in the Operator log:
|
|||||||
[...]
|
[...]
|
||||||
|
|
||||||
|
|
||||||
<a id="org40457b2"></a>
|
<a id="orgd947aad"></a>
|
||||||
|
|
||||||
# Test for updated recipes
|
# Test for updated recipes
|
||||||
|
|
||||||
|
|||||||
@@ -173,6 +173,8 @@ rolebinding.rbac.authorization.k8s.io/cookierecipe-view created
|
|||||||
#+end_example
|
#+end_example
|
||||||
|
|
||||||
The registry docker.eenfach.de requires login credentials, so we need to set up a secret and link it.
|
The registry docker.eenfach.de requires login credentials, so we need to set up a secret and link it.
|
||||||
|
*NOTE* all sample files in this repository use mirrored images on quay.io, which does not require a login.
|
||||||
|
|
||||||
First login to the registry with *podman login*, then pick the resulting auth.json:
|
First login to the registry with *podman login*, then pick the resulting auth.json:
|
||||||
|
|
||||||
#+begin_example
|
#+begin_example
|
||||||
|
|||||||
Reference in New Issue
Block a user