From cc71e39ccf14f0036c9c09f65683ea93f2874953 Mon Sep 17 00:00:00 2001 From: Tom Weininger Date: Tue, 14 Nov 2023 12:13:17 +0100 Subject: [PATCH 1/2] Update README.md Updates and additions to some sections in the main README.md. --- README.md | 46 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index fd3e2fb3..8a77fc36 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,24 @@ # octavia-operator -// TODO(user): Add simple overview of use/purpose + +A Kubernetes Operator built using +the [Operator Framework](https://github.com/operator-framework) for Go. It +manages the lifecycle of +[Openstack Octavia](https://docs.openstack.org/octavia/latest/index.html). ## Description -// TODO(user): An in-depth paragraph about your project and overview of use + +Octavia is a Loadbalancer-as-a-service (LBaas) solution for Openstack. ## Getting Started -You’ll need a Kubernetes cluster to run against. You can use [KIND](https://sigs.k8s.io/kind) to get a local cluster for testing, or run against a remote cluster. -**Note:** Your controller will automatically use the current context in your kubeconfig file (i.e. whatever cluster `kubectl cluster-info` shows). + +You’ll need a Kubernetes cluster to run against. You can +use [KIND](https://sigs.k8s.io/kind) to get a local cluster for testing, or run +against a remote cluster. +**Note:** Your controller will automatically use the current context in your +kubeconfig file (i.e. whatever cluster `kubectl cluster-info` shows). ### Running on the cluster + 1. Install Instances of Custom Resources: ```sh @@ -35,29 +45,47 @@ make uninstall ``` ### Undeploy controller + UnDeploy the controller to the cluster: ```sh make undeploy ``` +## Development setup + +This code repository contains an Ansible playbook and a role that automates the +setup of a development environment using +[install_yamls](https://github.com/openstack-k8s-operators/install_yamls). +Further information can be found [here](install_yamls_setup/README.md) in the +`README.md` file in the `install_yamls_setup` sub folder of this Git repository. + ## Contributing -// TODO(user): Add detailed information on how you would like others to contribute to this project + +This project accepts pull requests on Github and follows +the [Kubernetes code review process](https://github.com/kubernetes/community/blob/master/contributors/guide/owners.md#the-code-review-process) +for integration. ### How it works -This project aims to follow the Kubernetes [Operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) -It uses [Controllers](https://kubernetes.io/docs/concepts/architecture/controller/) -which provides a reconcile function responsible for synchronizing resources untile the desired state is reached on the cluster +This project aims to follow the +Kubernetes [Operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) + +It uses +[Controllers](https://kubernetes.io/docs/concepts/architecture/controller/) +which provides a reconcile function responsible for synchronizing resources +untile the desired state is reached on the cluster ### Test It Out + 1. Install the CRDs into the cluster: ```sh make install ``` -2. Run your controller (this will run in the foreground, so switch to a new terminal if you want to leave it running): +2. Run your controller (this will run in the foreground, so switch to a new + terminal if you want to leave it running): ```sh make run From c6c7467be4e1ca587d0a674677f069cb5ba8612c Mon Sep 17 00:00:00 2001 From: Tom Weininger Date: Mon, 4 Dec 2023 09:44:26 +0100 Subject: [PATCH 2/2] Update install_yamls_setup/README.md Improve explaination about how to use the playbook using Ansible vault. --- README.md | 2 +- install_yamls_setup/README.md | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 8a77fc36..4d669ff8 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ for integration. This project aims to follow the Kubernetes [Operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) -It uses +It uses [Controllers](https://kubernetes.io/docs/concepts/architecture/controller/) which provides a reconcile function responsible for synchronizing resources untile the desired state is reached on the cluster diff --git a/install_yamls_setup/README.md b/install_yamls_setup/README.md index b399498f..3dcc3264 100644 --- a/install_yamls_setup/README.md +++ b/install_yamls_setup/README.md @@ -14,14 +14,17 @@ defined: podman_quayio_user: podman_quayio_password: -The recommended way to manage those secrets is using `ansible-vault`. Pay attention that -`openshift_pull_secret` needs to be a string and hence the JSON data needs to be put in -quotes. +The recommended way to manage those secrets is using `ansible-vault`. Pay +attention that `openshift_pull_secret` is put in quotes so that the +JSON structure is stored as a string. ## Playbook -The `playbook.yaml` file can be used for running the role. Create an -inventory file (e.g. named `hosts`) to define the host(s). Then run the playbook -like so: +The `playbook.yaml` file can be used for running the role. Create an inventory +file (e.g. named `hosts`) to define the host(s). Then run the playbook like so: ansible-playbook -i hosts -D playbook.yaml + +When using `ansible-vault` for storing secrets, additional vault specific +arguments will need to be provided. When an encrypted variable file is used add +the `-e @` argument.