diff --git a/.helm/starter/README.md b/.helm/starter/README.md index 8fca8b49..aa88f867 100644 --- a/.helm/starter/README.md +++ b/.helm/starter/README.md @@ -1,11 +1,11 @@ -# AWX Operator Helm Chart +# Ascender Operator Helm Chart -This chart installs the AWX Operator resources configured in [this](https://github.com/ansible/awx-operator) repository. +This chart installs the Ascender Operator resources configured in [this](https://github.com/ctrliq/ascender-operator) repository. ## Getting Started To configure your AWX resource using this chart, create your own `yaml` values file. The name is up to personal preference since it will explicitly be passed into the helm chart. Helm will merge whatever values you specify in your file with the default `values.yaml`, overriding any settings you've changed while allowing you to fall back on defaults. Because of this functionality, `values.yaml` should not be edited directly. -In your values config, enable `AWX.enabled` and add `AWX.spec` values based on the awx operator's [documentation](https://github.com/ansible/awx-operator/blob/devel/README.md). Consult the docs below for additional functionality. +In your values config, enable `AWX.enabled` and add `AWX.spec` values based on the Ascender operator's [documentation](https://github.com/ctrliq/ascender-operator/blob/devel/README.md). Consult the docs below for additional functionality. ### Installing @@ -14,7 +14,7 @@ The operator's [helm install](https://ansible.readthedocs.io/projects/awx-operat Example: ```bash -helm install my-awx-operator awx-operator/awx-operator -n awx --create-namespace -f myvalues.yaml +helm install my-ascender-operator ascender-operator/ascender-operator -n ascender --create-namespace -f myvalues.yaml ``` Argument breakdown: @@ -33,7 +33,7 @@ There is no support at this time for upgrading or deleting CRDs using Helm. See When upgrading to releases with CRD changes use the following command to update the CRDs ```bash -kubectl apply --server-side -k github.com/ansible/awx-operator/config/crd?ref= +kubectl apply --server-side -k github.com/ctrliq/ascender-operator/config/crd?ref= ``` If running above command results in an error like below: @@ -56,11 +56,11 @@ See https://kubernetes.io/docs/reference/using-api/server-side-apply/#conflicts Use `--force-conflicts` flag to resolve the conflict. ```bash -kubectl apply --server-side --force-conflicts -k github.com/ansible/awx-operator/config/crd?ref= +kubectl apply --server-side --force-conflicts -k github.com/ctrliq/ascender-operator/config/crd?ref= ``` ## Configuration -The goal of adding helm configurations is to abstract out and simplify the creation of multi-resource configs. The `AWX.spec` field maps directly to the spec configs of the `AWX` resource that the operator provides, which are detailed in the [main README](https://github.com/ansible/awx-operator/blob/devel/README.md). Other sub-config can be added with the goal of simplifying more involved setups that require additional resources to be specified. +The goal of adding helm configurations is to abstract out and simplify the creation of multi-resource configs. The `AWX.spec` field maps directly to the spec configs of the `AWX` resource that the operator provides, which are detailed in the [main README](https://github.com/ctrliq/ascender-operator/blob/devel/README.md). Other sub-config can be added with the goal of simplifying more involved setups that require additional resources to be specified. These sub-headers aim to be a more intuitive entrypoint into customizing your deployment, and are easier to manage in the long-term. By design, the helm templates will defer to the manually defined specs to avoid configuration conflicts. For example, if `AWX.spec.postgres_configuration_secret` is being used, the `AWX.postgres` settings will not be applied, even if enabled. @@ -351,7 +351,7 @@ Below the addition variables to customize the secret configuration. Where possible, defer to `AWX.spec` configs before applying the abstracted configs to avoid collision. This can be facilitated by the `(hasKey .spec what_i_will_abstract)` check. ## Building and Testing -This chart is built using the Makefile in the [awx-operator repo](https://github.com/ansible/awx-operator). Clone the repo and run `make helm-chart`. This will create the awx-operator chart in the `charts/awx-operator` directory. In this process, the contents of the `.helm/starter` directory will be added to the chart. +This chart is built using the Makefile in the [ascender-operator repo](https://github.com/ctrliq/ascender-operator). Clone the repo and run `make helm-chart`. This will create the ascender-operator chart in the `charts/ascender-operator` directory. In this process, the contents of the `.helm/starter` directory will be added to the chart. ## Future Goals All values under the `AWX` header are focused on configurations that use the operator. Configurations that relate to the Operator itself could be placed under an `Operator` heading, but that may add a layer of complication over current development. diff --git a/.yamllint b/.yamllint index 0397b903..94515e86 100644 --- a/.yamllint +++ b/.yamllint @@ -4,7 +4,7 @@ extends: default ignore: | .cache/ kustomization.yaml - awx-operator.clusterserviceversion.yaml + ascender-operator.clusterserviceversion.yaml bundle .helm/starter hacking/ diff --git a/CHANGELOG.md b/CHANGELOG.md index ab11abfb..be77a6ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -This is a list of high-level changes for each release of `awx-operator`. A full list of commits can be found at `https://github.com/ansible/awx-operator/releases/tag/`. +This is a list of high-level changes for each release of `ascender-operator`. A full list of commits can be found at `https://github.com/ctrliq/ascender-operator/releases/tag/`. # 0.19.0 (Mar 23, 2022) @@ -8,43 +8,3 @@ This is a list of high-level changes for each release of `awx-operator`. A full - Add ability to deploy with OLM & added logo (Christian Adams) - 86c31a4 - Fix backup & restore issues with special characters in the postgres password (kurokobo) - 589a375 - Use centos:stream8 container where applicable (Shane McDonald)- 12a58d7 - -# 0.14.0 (Oct 03, 2021) - -- Starting with awx-operator 0.14.0, the project is now based on operator-sdk 1.x. - - To avoid a headache, you probably want to delete your existing operator Deployment and follow the README. -- Starting with awx-operator 0.14.0, AWX can only be deployed in the namespace that the operator exists in. See [upgrade docs](./README.md#upgrading) for necessary cleanup actions. (Christian Adams) - 58c3ebf (breaking change) - -# 0.10.0 (Jun 1, 2021) - -- Make tower_ingress_type to respect ClusterIP definition (Marcelo Moreira de Mello) - e37c091 (breaking_change) -- Add ability to get/create/delete secrets for the awx service account (Christian M. Adams) - 61b3cb4 -- Added ability to specify annotations to ServiceAccount (Marcelo Moreira de Mello) - 446ac0b -- Do not shadow other variables (Yanis Guenane) - 223fe98 -- Do not prepend variables name with tower_ (Yanis Guenane) - 75458d0 (breaking_change) -- Fully remove finalizer (Christian M. Adams) - fd92050 -- Use custom pg_dump format for faster restores (Christian M. Adams) - f16d9ac -- Allow user to specify empty string for storage class on PVC (Christian M. Adams) - 818b837 -- Unset ownerRefs in the installer instead of the finalizer (Christian M. Adams) - c12a1f0 -- Make awx-operator compatible with Ansible 2.12 (Alan Rominger) - 5216489 -- Restore: set proper kind var after deploying AWX CR (Julen Landa Alustiza) - fc4687f -- Add support for custom service labels (Jeremy Kimber) - fd42802 -- Rename product specific variable names (Christian M. Adams) - 5ae3636 (breaking_change) -- Add watcher for backup CR (Christian M. Adams) - fdcc745 - -# 0.9.0 (May 1, 2021) - -- Update playbook to allow for deploying custom image version/tag (Shane McDonald) - 77e7039 -- Mounts /var/lib/awx/projects on awx-web container (Marcelo Moreira de Mello) - f21ec4d -- Extra Settings: Allow one to pass extra API configuration settings. (Yanis Guenane) - 1d14ebc -- PostgreSQL: Properly handle variable name difference when using Red Hat containers (Yanis Guenane) - 2965a90 -- Deployment type: Make more fields dynamic based on that field (Yanis Guenane) - 4706aa9 -- Add templated EE volume mount var to operator config (Christian M. Adams) - e55d83f -- Add NodePort to tower_ingress_type enum (TheStally) - 96b878f -- Split container image and version in 2 variables (Marcelo Moreira de Mello) - bc34758 (breaking_change) -- Handles deleting and recreating statefulset and deployment when needed (Marcelo Moreira de Mello) - 597356f -- Add tower_ingress_type NodePort (stal) - 1b87616 -- expose settings to use custom volumes and volume mounts (Gabe Muniz) - 8d65b84 -- Inherit imagePullPolicy to redis container (Marcelo Moreira de Mello) - 83a85d1 -- Add nodeSelector and tolerations for Postgres pod (Ernesto Pérez) - 151ff11 -- Added support to override pg_sslmode (Marcelo Moreira de Mello) - 298d39c diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index abd09b1f..fc0ea646 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,12 +1,12 @@ -# AWX-Operator Contributing Guidelines +# Ascender-Operator Contributing Guidelines Hi there! We're excited to have you as a contributor. -Have questions about this document or anything not covered here? Please file a new at [https://github.com/ansible/awx-operator/issues](https://github.com/ansible/awx-operator/issues). +Have questions about this document or anything not covered here? Please file a new issue at [https://github.com/ctrliq/ascender-operator/issues](https://github.com/ctrliq/ascender-operator/issues). ## Table of contents -- [AWX-Operator Contributing Guidelines](#awx-operator-contributing-guidelines) +- [Ascender-Operator Contributing Guidelines](#ascender-operator-contributing-guidelines) - [Table of contents](#table-of-contents) - [Things to know prior to submitting code](#things-to-know-prior-to-submitting-code) - [Submmiting your work](#submmiting-your-work) @@ -38,7 +38,7 @@ Have questions about this document or anything not covered here? Please file a n #> git add #> git commit -m "My message here" ``` -5. Create your [pull request](https://github.com/ansible/awx-operator/pulls) +5. Create your [pull request](https://github.com/ctrliq/ascender-operator/pulls) **Note**: If you have multiple commits, make sure to `squash` your commits into a single commit which will facilitate our release process. @@ -60,7 +60,7 @@ If you want to actively develop the operator, use `molecule converge`, which doe #### Testing in Kind -Testing with a kind cluster is the recommended way to test the awx-operator locally. First, you need to install kind if you haven't already. Please see these docs for setting that up: +Testing with a kind cluster is the recommended way to test the ascender-operator locally. First, you need to install kind if you haven't already. Please see these docs for setting that up: * https://kind.sigs.k8s.io/docs/user/quick-start/ To run the tests, from the root of your checkout, run the following command: @@ -79,12 +79,12 @@ To run the tests, from the root of your checkout, run the following command: [Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/) is a more full-featured test environment running inside a full VM on your computer, with an assigned IP address. This makes it easier to test things like NodePort services and Ingress from outside the Kubernetes cluster (e.g. in a browser on your computer). -Once the operator is deployed, you can visit the AWX UI in your browser by following these steps: +Once the operator is deployed, you can visit the Ascender UI in your browser by following these steps: 1. Make sure you have an entry like `IP_ADDRESS example-awx.test` in your `/etc/hosts` file. (Get the IP address with `minikube ip`.) 2. Visit `http://example-awx.test/` in your browser. (Default admin login is `test`/`changeme`.) -Alternatively, you can also update the service `awx-service` in your namespace to use the type `NodePort` and use following command to get the URL to access your AWX instance: +Alternatively, you can also update the service `ascender-service` in your namespace to use the type `NodePort` and use following command to get the URL to access your Ascender instance: ```sh #> minikube service -n --url @@ -101,25 +101,25 @@ At the root of this directory: 1. Build and publish the operator ``` -#> operator-sdk build registry.example.com/ansible/awx-operator:mytag -#> podman push registry.example.com/ansible/awx-operator:mytag +#> operator-sdk build registry.example.com/ctrliq/ascender-operator:mytag +#> podman push registry.example.com/ctrliq/ascender-operator:mytag ``` 2. Build and publish the bundle ``` -#> podman build . -f bundle.Dockerfile -t registry.example.com/ansible/awx-operator-bundle:mytag -#> podman push registry.example.com/ansible/awx-operator-bundle:mytag +#> podman build . -f bundle.Dockerfile -t registry.example.com/ctrliq/ascender-operator-bundle:mytag +#> podman push registry.example.com/ctrliq/ascender-operator-bundle:mytag ``` 3. Build and publish an index with your bundle in it ``` -#> opm index add --bundles registry.example.com/ansible/awx-operator-bundle:mytag --tag registry.example.com/ansible/awx-operator-catalog:mytag -#> podman push registry.example.com/ansible/awx-operator-catalog:mytag +#> opm index add --bundles registry.example.com/ctrliq/ascender-operator-bundle:mytag --tag registry.example.com/ctrliq/ascender-operator-catalog:mytag +#> podman push registry.example.com/ctrliq/ascender-operator-catalog:mytag ``` -4. In your Kubernetes create a new CatalogSource pointing to `registry.example.com/ansible/awx-operator-catalog:mytag` +4. In your Kubernetes create a new CatalogSource pointing to `registry.example.com/ctrliq/ascender-operator-catalog:mytag` ``` --- @@ -130,7 +130,7 @@ metadata: namespace: spec: displayName: 'myoperatorhub' - image: registry.example.com/ansible/awx-operator-catalog:mytag + image: registry.example.com/ctrliq/ascender-operator-catalog:mytag publisher: 'myoperatorhub' sourceType: grpc ``` diff --git a/Makefile b/Makefile index 5439d42e..8eee5742 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL) # This variable is used to construct full image tags for bundle and catalog images. # # For example, running 'make bundle-build bundle-push catalog-build catalog-push' will build and push both -# ansible.com/awx-operator-bundle:$VERSION and ansible.com/awx-operator-catalog:$VERSION. +# ansible.com/ascender-operator-bundle:$VERSION and ansible.com/ascender-operator-catalog:$VERSION. IMAGE_TAG_BASE ?= ghcr.io/ctrliq/ascender-operator # BUNDLE_IMG defines the image:tag used for the bundle. @@ -58,13 +58,13 @@ endif # Image URL to use all building/pushing image targets IMG ?= $(IMAGE_TAG_BASE):$(VERSION) -NAMESPACE ?= awx +NAMESPACE ?= ascender # Helm variables -CHART_NAME ?= awx-operator -CHART_DESCRIPTION ?= A Helm chart for the AWX Operator +CHART_NAME ?= ascender-operator +CHART_DESCRIPTION ?= A Helm chart for the Ascender Operator CHART_OWNER ?= $(GH_REPO_OWNER) -CHART_REPO ?= awx-operator +CHART_REPO ?= ascender-operator CHART_BRANCH ?= gh-pages CHART_DIR ?= gh-pages CHART_INDEX ?= index.yaml @@ -341,7 +341,7 @@ helm-chart-generate: kustomize helm kubectl-slice yq charts rm -rf charts/$(CHART_NAME) # create new chart metadata in Chart.yaml cd charts && \ - $(HELM) create awx-operator --starter $(shell pwd)/.helm/starter ;\ + $(HELM) create ascender-operator --starter $(shell pwd)/.helm/starter ;\ $(YQ) -i '.version = "$(VERSION)"' $(CHART_NAME)/Chart.yaml ;\ $(YQ) -i '.appVersion = "$(VERSION)" | .appVersion style="double"' $(CHART_NAME)/Chart.yaml ;\ $(YQ) -i '.description = "$(CHART_DESCRIPTION)"' $(CHART_NAME)/Chart.yaml ;\ @@ -371,13 +371,13 @@ helm-chart-generate: kustomize helm kubectl-slice yq charts $(YQ) -i '.subjects[0].namespace = "{{ .Release.Namespace }}"' $${file};\ done # Correct .metadata.name for cluster scoped resources - cluster_scoped_files="charts/$(CHART_NAME)/raw-files/clusterrolebinding-awx-operator-proxy-rolebinding.yaml charts/$(CHART_NAME)/raw-files/clusterrole-awx-operator-metrics-reader.yaml charts/$(CHART_NAME)/raw-files/clusterrole-awx-operator-proxy-role.yaml";\ + cluster_scoped_files="charts/$(CHART_NAME)/raw-files/clusterrolebinding-ascender-operator-proxy-rolebinding.yaml charts/$(CHART_NAME)/raw-files/clusterrole-ascender-operator-metrics-reader.yaml charts/$(CHART_NAME)/raw-files/clusterrole-ascender-operator-proxy-role.yaml";\ for file in $${cluster_scoped_files}; do\ $(YQ) -i '.metadata.name += "-{{ .Release.Name }}"' $${file};\ done # Correct the reference for the clusterrolebinding - $(YQ) -i '.roleRef.name += "-{{ .Release.Name }}"' 'charts/$(CHART_NAME)/raw-files/clusterrolebinding-awx-operator-proxy-rolebinding.yaml' + $(YQ) -i '.roleRef.name += "-{{ .Release.Name }}"' 'charts/$(CHART_NAME)/raw-files/clusterrolebinding-ascender-operator-proxy-rolebinding.yaml' # move all custom resource definitions to crds folder mkdir charts/$(CHART_NAME)/crds mv charts/$(CHART_NAME)/raw-files/customresourcedefinition*.yaml charts/$(CHART_NAME)/crds/. @@ -389,7 +389,7 @@ helm-chart-generate: kustomize helm kubectl-slice yq charts rm -rf charts/$(CHART_NAME)/raw-files # create and populate NOTES.txt - @echo "AWX Operator installed with Helm Chart version $(VERSION)" > charts/$(CHART_NAME)/templates/NOTES.txt + @echo "Ascender Operator installed with Helm Chart version $(VERSION)" > charts/$(CHART_NAME)/templates/NOTES.txt @echo "Helm chart successfully configured for $(CHART_NAME) version $(VERSION)" @@ -399,7 +399,7 @@ helm-package: helm-chart @echo "== Package Current Chart Version ==" mkdir -p .cr-release-packages # package the chart and put it in .cr-release-packages dir - $(HELM) package ./charts/awx-operator -d .cr-release-packages/$(VERSION) + $(HELM) package ./charts/$(CHART_NAME) -d .cr-release-packages/$(VERSION) # List all tags oldest to newest. TAGS := $(shell git ls-remote --tags --sort=version:refname --refs -q | cut -d/ -f3) diff --git a/PROJECT b/PROJECT index 68dabd68..69908254 100644 --- a/PROJECT +++ b/PROJECT @@ -8,7 +8,7 @@ layout: plugins: manifests.sdk.operatorframework.io/v2: {} scorecard.sdk.operatorframework.io/v2: {} -projectName: awx-operator +projectName: ascender-operator resources: - api: crdVersion: v1 diff --git a/README.md b/README.md index b0d16c17..c99c3dc5 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,40 @@ -# AWX Operator +# Ascender Operator [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) -[![Build Status](https://github.com/ansible/awx-operator/workflows/CI/badge.svg?event=push)](https://github.com/ansible/awx-operator/actions) +[![Build Status](https://github.com/ctrliq/ascender-operator/workflows/CI/badge.svg?event=push)](https://github.com/ctrliq/ascender-operator/actions) [![Code of Conduct](https://img.shields.io/badge/code%20of%20conduct-Ansible-yellow.svg)](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html) -[![AWX Mailing List](https://img.shields.io/badge/mailing%20list-AWX-orange.svg)](https://groups.google.com/g/awx-project) -[![IRC Chat - #ansible-awx](https://img.shields.io/badge/IRC-%23ansible--awx-blueviolet.svg)](https://libera.chat) -An [Ansible AWX](https://github.com/ansible/awx) operator for Kubernetes built with [Operator SDK](https://github.com/operator-framework/operator-sdk) and Ansible. + +An [Ascender](https://github.com/ctrliq/ascender) operator for Kubernetes built with [Operator SDK](https://github.com/operator-framework/operator-sdk) and Ansible. -# AWX Operator Documentation +# Ascender Operator Documentation -The AWX Operator documentation is now available at https://awx-operator.readthedocs.io/ +The Ascender Operator documentation is now available at https://awx-operator.readthedocs.io/ For docs changes, create PRs on the appropriate files in the /docs folder. ## Contributing -Please visit [our contributing guidelines](https://github.com/ansible/awx-operator/blob/devel/CONTRIBUTING.md). +Please visit [our contributing guidelines](https://github.com/ctrliq/ascender-operator/blob/devel/CONTRIBUTING.md). ## Release Process The first step is to create a draft release. Typically this will happen in the [Stage Release](https://github.com/ansible/awx/blob/devel/.github/workflows/stage.yml) workflow for AWX and you don't need to do it as a separate step. -If you need to do an independent release of the operator, you can run the [Stage Release](https://github.com/ansible/awx-operator/blob/devel/.github/workflows/stage.yml) in the awx-operator repo. Both of these workflows will run smoke tests, so there is no need to do this manually. +If you need to do an independent release of the operator, you can run the [Stage Release](https://github.com/ctrliq/ascender-operator/blob/devel/.github/workflows/stage.yml) in the ascender-operator repo. Both of these workflows will run smoke tests, so there is no need to do this manually. -After the draft release is created, publish it and the [Promote AWX Operator image](https://github.com/ansible/awx-operator/blob/devel/.github/workflows/promote.yaml) will run, which will: +After the draft release is created, publish it and the [Promote Ascender Operator image](https://github.com/ctrliq/ascender-operator/blob/devel/.github/workflows/promote.yaml) will run, which will: - Publish image to Quay - Release Helm chart ## Author -This operator was originally built in 2019 by [Jeff Geerling](https://www.jeffgeerling.com) and is now maintained by the Ansible Team +This operator was originally built in 2019 by [Jeff Geerling](https://www.jeffgeerling.com) and is now maintained by the Ascender Team ## Code of Conduct @@ -43,7 +42,6 @@ We ask all of our community members and contributors to adhere to the [Ansible c ## Get Involved -We welcome your feedback and ideas. The AWX operator uses the same mailing list and IRC channel as AWX itself. Here's how to reach us with feedback and questions: +We welcome your feedback and ideas. The Ascender operator uses the same forum as Ascender itself. Here's how to reach us with feedback and questions: -- Join the [Ansible AWX channel on Matrix](https://matrix.to/#/#awx:ansible.com) -- Join the [Ansible Community Forum](https://forum.ansible.com) +- Join the [Ascender Community Forum](https://forum.ascender-automation.org/) diff --git a/ansible/helm-release.yml b/ansible/helm-release.yml index aeb788d6..d1ea09f6 100644 --- a/ansible/helm-release.yml +++ b/ansible/helm-release.yml @@ -1,7 +1,7 @@ --- - hosts: localhost vars: - chart_repo: awx-operator + chart_repo: ascender-operator environment: CHART_OWNER: "{{ chart_owner }}" tasks: @@ -19,7 +19,7 @@ - name: Set helm filename and commit message set_fact: asset_already_attached: False - helm_file_name: "awx-operator-{{ tag }}.tgz" + helm_file_name: "ascender-operator-{{ tag }}.tgz" commit_message: "Updated index.yaml for release {{ release.json.tag_name }}" - name: See if file is already attached @@ -45,7 +45,7 @@ - name: Upload helm chart uri: url: "https://uploads.github.com/repos/{{ chart_owner }}/{{ chart_repo }}/releases/{{ release.json.id }}/assets?name={{ helm_file_name }}" - src: "{{ playbook_dir }}/../.cr-release-packages/{{ tag }}/awx-operator-{{ tag }}.tgz" + src: "{{ playbook_dir }}/../.cr-release-packages/{{ tag }}/ascender-operator-{{ tag }}.tgz" headers: Authorization: "token {{ gh_token }}" Content-Type: "application/octet-stream" diff --git a/ansible/instantiate-awx-deployment.yml b/ansible/instantiate-awx-deployment.yml index d0af582d..a63ec07f 100644 --- a/ansible/instantiate-awx-deployment.yml +++ b/ansible/instantiate-awx-deployment.yml @@ -1,5 +1,5 @@ --- -- name: Deploy an instance of AWX using the awx-operator +- name: Deploy an instance of Ascender using the ascender-operator hosts: localhost collections: diff --git a/awx-demo.yml b/ascender-demo.yml similarity index 80% rename from awx-demo.yml rename to ascender-demo.yml index 95053166..0d64b093 100644 --- a/awx-demo.yml +++ b/ascender-demo.yml @@ -2,6 +2,6 @@ apiVersion: awx.ansible.com/v1beta1 kind: AWX metadata: - name: awx-demo + name: ascender-demo spec: service_type: nodeport diff --git a/awxmeshingress-demo.yml b/ascendermeshingress-demo.yml similarity index 53% rename from awxmeshingress-demo.yml rename to ascendermeshingress-demo.yml index eca7bdf2..a31bbcfd 100644 --- a/awxmeshingress-demo.yml +++ b/ascendermeshingress-demo.yml @@ -2,6 +2,6 @@ apiVersion: awx.ansible.com/v1alpha1 kind: AWXMeshIngress metadata: - name: awx-mesh-ingress-demo + name: ascender-mesh-ingress-demo spec: - deployment_name: awx-demo + deployment_name: ascender-demo diff --git a/config/default/kustomization.yaml b/config/default/kustomization.yaml index 1bc1b049..047c87cf 100644 --- a/config/default/kustomization.yaml +++ b/config/default/kustomization.yaml @@ -1,12 +1,12 @@ # Adds namespace to all resources. -namespace: awx +namespace: ascender # Value of this field is prepended to the # names of all resources, e.g. a deployment named # "wordpress" becomes "alices-wordpress". # Note that it should also match with the prefix (text before '-') of the namespace # field above. -namePrefix: awx-operator- +namePrefix: ascender-operator- # Labels to add to all resources and selectors. #labels: diff --git a/config/default/manager_auth_proxy_patch.yaml b/config/default/manager_auth_proxy_patch.yaml index d4ff9d85..f9f06dd0 100644 --- a/config/default/manager_auth_proxy_patch.yaml +++ b/config/default/manager_auth_proxy_patch.yaml @@ -32,9 +32,9 @@ spec: requests: cpu: 5m memory: 64Mi - - name: awx-manager + - name: ascender-manager args: - "--health-probe-bind-address=:6789" - "--metrics-bind-address=127.0.0.1:8080" - "--leader-elect" - - "--leader-election-id=awx-operator" + - "--leader-election-id=ascender-operator" diff --git a/config/default/manager_config_patch.yaml b/config/default/manager_config_patch.yaml index f99057d2..35400502 100644 --- a/config/default/manager_config_patch.yaml +++ b/config/default/manager_config_patch.yaml @@ -7,14 +7,14 @@ spec: template: spec: containers: - - name: awx-manager + - name: ascender-manager args: - "--config=controller_manager_config.yaml" volumeMounts: - - name: awx-manager-config + - name: ascender-manager-config mountPath: /controller_manager_config.yaml subPath: controller_manager_config.yaml volumes: - - name: awx-manager-config + - name: ascender-manager-config configMap: - name: awx-manager-config + name: ascender-manager-config diff --git a/config/manager/kustomization.yaml b/config/manager/kustomization.yaml index 04592c32..72491804 100644 --- a/config/manager/kustomization.yaml +++ b/config/manager/kustomization.yaml @@ -7,7 +7,7 @@ generatorOptions: configMapGenerator: - files: - controller_manager_config.yaml - name: awx-manager-config + name: ascender-manager-config apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization diff --git a/config/manager/manager.yaml b/config/manager/manager.yaml index 35ec4098..118c4d7f 100644 --- a/config/manager/manager.yaml +++ b/config/manager/manager.yaml @@ -22,7 +22,7 @@ spec: template: metadata: annotations: - kubectl.kubernetes.io/default-container: awx-manager + kubectl.kubernetes.io/default-container: ascender-manager labels: control-plane: controller-manager spec: @@ -34,10 +34,10 @@ spec: containers: - args: - --leader-elect - - --leader-election-id=awx-operator + - --leader-election-id=ascender-operator image: controller:latest imagePullPolicy: IfNotPresent - name: awx-manager + name: ascender-manager env: - name: ANSIBLE_GATHERING value: explicit diff --git a/config/manifests/bases/awx-operator.clusterserviceversion.yaml b/config/manifests/bases/ascender-operator.clusterserviceversion.yaml similarity index 100% rename from config/manifests/bases/awx-operator.clusterserviceversion.yaml rename to config/manifests/bases/ascender-operator.clusterserviceversion.yaml diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index fc09d180..94988d24 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -3,7 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: creationTimestamp: null - name: awx-manager-role + name: ascender-manager-role rules: - apiGroups: - route.openshift.io diff --git a/config/rbac/role_binding.yaml b/config/rbac/role_binding.yaml index f8ef07f0..5cc1c5af 100644 --- a/config/rbac/role_binding.yaml +++ b/config/rbac/role_binding.yaml @@ -2,11 +2,11 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: - name: awx-manager-rolebinding + name: ascender-manager-rolebinding roleRef: apiGroup: rbac.authorization.k8s.io kind: Role - name: awx-manager-role + name: ascender-manager-role subjects: - kind: ServiceAccount name: controller-manager diff --git a/config/testing/debug_logs_patch.yaml b/config/testing/debug_logs_patch.yaml index 0d01b1ff..d7699fc1 100644 --- a/config/testing/debug_logs_patch.yaml +++ b/config/testing/debug_logs_patch.yaml @@ -8,7 +8,7 @@ spec: template: spec: containers: - - name: awx-manager + - name: ascender-manager env: - name: ANSIBLE_DEBUG_LOGS value: "TRUE" diff --git a/config/testing/manager_image.yaml b/config/testing/manager_image.yaml index 12d34430..57cf0f28 100644 --- a/config/testing/manager_image.yaml +++ b/config/testing/manager_image.yaml @@ -8,5 +8,5 @@ spec: template: spec: containers: - - name: awx-manager + - name: ascender-manager image: testing diff --git a/config/testing/pull_policy/Always.yaml b/config/testing/pull_policy/Always.yaml index 2c704ba0..e029d011 100644 --- a/config/testing/pull_policy/Always.yaml +++ b/config/testing/pull_policy/Always.yaml @@ -8,5 +8,5 @@ spec: template: spec: containers: - - name: awx-manager + - name: ascender-manager imagePullPolicy: Always diff --git a/config/testing/pull_policy/IfNotPresent.yaml b/config/testing/pull_policy/IfNotPresent.yaml index a6c5b682..1e1d2e84 100644 --- a/config/testing/pull_policy/IfNotPresent.yaml +++ b/config/testing/pull_policy/IfNotPresent.yaml @@ -8,5 +8,5 @@ spec: template: spec: containers: - - name: awx-manager + - name: ascender-manager imagePullPolicy: IfNotPresent diff --git a/config/testing/pull_policy/Never.yaml b/config/testing/pull_policy/Never.yaml index b20700d4..f85aa92a 100644 --- a/config/testing/pull_policy/Never.yaml +++ b/config/testing/pull_policy/Never.yaml @@ -8,5 +8,5 @@ spec: template: spec: containers: - - name: awx-manager + - name: ascender-manager imagePullPolicy: Never diff --git a/docs/README.md b/docs/README.md index dd37160d..8258936b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,8 +1,8 @@ -# Building the Ansible AWX Operator Docs +# Building the Ascender Operator Docs -To build the AWX Operator docs locally: +To build the Ascender Operator docs locally: -1. Clone the AWX operator repository. +1. Clone the Ascender operator repository. 1. Preferrably, create a virtual environment for installing the dependencies. a. `python3 -m venv venv` b. `source venv/bin/activate` diff --git a/docs/contributors-guide/contributing.md b/docs/contributors-guide/contributing.md index d762c53a..99f30560 100644 --- a/docs/contributors-guide/contributing.md +++ b/docs/contributors-guide/contributing.md @@ -1,3 +1,3 @@ ## Contributing -Please visit [our contributing guidelines](https://github.com/ansible/awx-operator/blob/devel/CONTRIBUTING.md). +Please visit [our contributing guidelines](https://github.com/ctrliq/ascender-operator/blob/devel/CONTRIBUTING.md). diff --git a/docs/contributors-guide/get-involved.md b/docs/contributors-guide/get-involved.md index 0845a978..533ec221 100644 --- a/docs/contributors-guide/get-involved.md +++ b/docs/contributors-guide/get-involved.md @@ -1,6 +1,5 @@ ## Get Involved -We welcome your feedback and ideas. The AWX operator uses the same mailing list and IRC channel as AWX itself. Here's how to reach us with feedback and questions: +We welcome your feedback and ideas. The Ascender operator uses the same forum as Ascender itself. Here's how to reach us with feedback and questions: -- Join the `#ansible-awx` channel on irc.libera.chat -- Join the [mailing list](https://groups.google.com/forum/#!forum/awx-project) +- Join the [forum](https://forum.ascender-automation.org/) diff --git a/docs/contributors-guide/release-process.md b/docs/contributors-guide/release-process.md index 3ebc89ea..832a5d50 100644 --- a/docs/contributors-guide/release-process.md +++ b/docs/contributors-guide/release-process.md @@ -2,14 +2,14 @@ The first step is to create a draft release. Typically this will happen in the [Stage Release](https://github.com/ansible/awx/blob/devel/.github/workflows/stage.yml) workflow for AWX and you don't need to do it as a separate step. -If you need to do an independent release of the operator, you can run the [Stage Release](https://github.com/ansible/awx-operator/blob/devel/.github/workflows/stage.yml) in the awx-operator repo. Both of these workflows will run smoke tests, so there is no need to do this manually. +If you need to do an independent release of the operator, you can run the [Stage Release](https://github.com/ctrliq/ascender-operator/blob/devel/.github/workflows/stage.yml) in the ascender-operator repo. Both of these workflows will run smoke tests, so there is no need to do this manually. -After the draft release is created, publish it and the [Promote AWX Operator image](https://github.com/ansible/awx-operator/blob/devel/.github/workflows/promote.yaml) will run, which will: +After the draft release is created, publish it and the [Promote Ascender Operator image](https://github.com/ctrliq/ascender-operator/blob/devel/.github/workflows/promote.yaml) will run, which will: - Publish image to Quay - Release Helm chart -After the GHA is complete, the final step is to run the [publish-to-operator-hub.sh](https://github.com/ansible/awx-operator/blob/devel/hack/publish-to-operator-hub.sh) script, which will create a PR in the following repos to add the new awx-operator bundle version to OperatorHub: +After the GHA is complete, the final step is to run the [publish-to-operator-hub.sh](https://github.com/ctrliq/ascender-operator/blob/devel/hack/publish-to-operator-hub.sh) script, which will create a PR in the following repos to add the new ascender-operator bundle version to OperatorHub: * https://github.com/k8s-operatorhub/community-operators (community operator index) * https://github.com/redhat-openshift-ecosystem/community-operators-prod (operator index shipped with Openshift) diff --git a/docs/index.md b/docs/index.md index 4ca40f46..92e42dcf 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,2 +1,2 @@ -The AWX operator is meant to provide a more Kubernetes-native installation method for AWX via an AWX Custom Resource Definition (CRD). +The Ascender operator is meant to provide a more Kubernetes-native installation method for Ascender via an AWX Custom Resource Definition (CRD). diff --git a/docs/installation/basic-install.md b/docs/installation/basic-install.md index f5d3a682..6f596ad8 100644 --- a/docs/installation/basic-install.md +++ b/docs/installation/basic-install.md @@ -2,13 +2,13 @@ After cloning this repository, you must choose the tag to run: ```sh -git clone git@github.com:ansible/awx-operator.git -cd awx-operator +git clone git@github.com:ctrliq/ascender-operator.git +cd ascender-operator git tag git checkout tags/ # For instance: -git checkout tags/2.7.2 +git checkout tags/2.19.6 ``` If you work from a fork and made modifications since the tag was issued, you must provide the VERSION number to deploy. Otherwise the operator will get stuck in "ImagePullBackOff" state: @@ -17,10 +17,10 @@ If you work from a fork and made modifications since the tag was issued, you mus export VERSION= # For instance: -export VERSION=2.7.2 +export VERSION=2.19.6 ``` -Once you have a running Kubernetes cluster, you can deploy AWX Operator into your cluster using [Kustomize](https://kubectl.docs.kubernetes.io/guides/introduction/kustomize/). Since kubectl version 1.14 kustomize functionality is built-in (otherwise, follow the instructions here to install the latest version of Kustomize: https://kubectl.docs.kubernetes.io/installation/kustomize/ ) +Once you have a running Kubernetes cluster, you can deploy Ascender Operator into your cluster using [Kustomize](https://kubectl.docs.kubernetes.io/guides/introduction/kustomize/). Since kubectl version 1.14 kustomize functionality is built-in (otherwise, follow the instructions here to install the latest version of Kustomize: https://kubectl.docs.kubernetes.io/installation/kustomize/ ) > Some things may need to be configured slightly differently for different Kubernetes flavors for the networking aspects. When installing on Kind, see the [kind install docs](./kind-install.md) for more details. @@ -31,7 +31,7 @@ make deploy If you have a custom operator image you have built, you can specify it with: ``` -IMG=quay.io/$YOURNAMESPACE/awx-operator:$YOURTAG make deploy +IMG=quay.io/$YOURNAMESPACE/ascender-operator:$YOURTAG make deploy ``` Otherwise, you can manually create a file called `kustomization.yaml` with the following content: @@ -40,16 +40,16 @@ Otherwise, you can manually create a file called `kustomization.yaml` with the f apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - # Find the latest tag here: https://github.com/ansible/awx-operator/releases - - github.com/ansible/awx-operator/config/default?ref= + # Find the latest tag here: https://github.com/ctrliq/ascender-operator/releases + - github.com/ctrliq/ascender-operator/config/default?ref= # Set the image tags to match the git version from above images: - - name: quay.io/ansible/awx-operator + - name: ghcr.io/ctrliq/ascender-operator newTag: -# Specify a custom namespace in which to install AWX -namespace: awx +# Specify a custom namespace in which to install Ascender +namespace: ascender ``` > **TIP:** If you need to change any of the default settings for the operator (such as resources.limits), you can add [patches](https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/patches/) at the bottom of your kustomization.yaml file. @@ -58,47 +58,47 @@ Install the manifests by running this: ``` $ kubectl apply -k . -namespace/awx created +namespace/ascender created customresourcedefinition.apiextensions.k8s.io/awxbackups.awx.ansible.com created customresourcedefinition.apiextensions.k8s.io/awxrestores.awx.ansible.com created customresourcedefinition.apiextensions.k8s.io/awxs.awx.ansible.com created -serviceaccount/awx-operator-controller-manager created -role.rbac.authorization.k8s.io/awx-operator-awx-manager-role created -role.rbac.authorization.k8s.io/awx-operator-leader-election-role created -clusterrole.rbac.authorization.k8s.io/awx-operator-metrics-reader created -clusterrole.rbac.authorization.k8s.io/awx-operator-proxy-role created -rolebinding.rbac.authorization.k8s.io/awx-operator-awx-manager-rolebinding created -rolebinding.rbac.authorization.k8s.io/awx-operator-leader-election-rolebinding created -clusterrolebinding.rbac.authorization.k8s.io/awx-operator-proxy-rolebinding created -configmap/awx-operator-awx-manager-config created -service/awx-operator-controller-manager-metrics-service created -deployment.apps/awx-operator-controller-manager created +serviceaccount/ascender-operator-controller-manager created +role.rbac.authorization.k8s.io/ascender-operator-ascender-manager-role created +role.rbac.authorization.k8s.io/ascender-operator-leader-election-role created +clusterrole.rbac.authorization.k8s.io/ascender-operator-metrics-reader created +clusterrole.rbac.authorization.k8s.io/ascender-operator-proxy-role created +rolebinding.rbac.authorization.k8s.io/ascender-operator-ascender-manager-rolebinding created +rolebinding.rbac.authorization.k8s.io/ascender-operator-leader-election-rolebinding created +clusterrolebinding.rbac.authorization.k8s.io/ascender-operator-proxy-rolebinding created +configmap/ascender-operator-ascender-manager-config created +service/ascender-operator-controller-manager-metrics-service created +deployment.apps/ascender-operator-controller-manager created ``` -Wait a bit and you should have the `awx-operator` running: +Wait a bit and you should have the `ascender-operator` running: ``` -$ kubectl get pods -n awx +$ kubectl get pods -n ascender NAME READY STATUS RESTARTS AGE -awx-operator-controller-manager-66ccd8f997-rhd4z 2/2 Running 0 11s +ascender-operator-controller-manager-66ccd8f997-rhd4z 2/2 Running 0 11s ``` -So we don't have to keep repeating `-n awx`, let's set the current namespace for `kubectl`: +So we don't have to keep repeating `-n ascender`, let's set the current namespace for `kubectl`: ``` -$ kubectl config set-context --current --namespace=awx +$ kubectl config set-context --current --namespace=ascender ``` -Next, create a file named `awx-demo.yml` in the same folder with the suggested content below. The `metadata.name` you provide will be the name of the resulting AWX deployment. +Next, create a file named `ascender-demo.yml` in the same folder with the suggested content below. The `metadata.name` you provide will be the name of the resulting Ascender deployment. -**Note:** If you deploy more than one AWX instance to the same namespace, be sure to use unique names. +**Note:** If you deploy more than one Ascender instance to the same namespace, be sure to use unique names. ```yaml --- apiVersion: awx.ansible.com/v1beta1 kind: AWX metadata: - name: awx-demo + name: ascender-demo spec: service_type: nodeport ``` @@ -112,7 +112,7 @@ If you are on Openshift, you can take advantage of Routes by specifying the foll apiVersion: awx.ansible.com/v1beta1 kind: AWX metadata: - name: awx-demo + name: ascender-demo spec: service_type: clusterip ingress_type: Route @@ -124,51 +124,51 @@ Make sure to add this new file to the list of "resources" in your `kustomization ```yaml ... resources: - - github.com/ansible/awx-operator/config/default?ref= + - github.com/ctrliq/ascender-operator/config/default?ref= # Add this extra line: - - awx-demo.yml + - ascender-demo.yml ... ``` -Finally, apply the changes to create the AWX instance in your cluster: +Finally, apply the changes to create the Ascender instance in your cluster: ``` kubectl apply -k . ``` -After a few minutes, the new AWX instance will be deployed. You can look at the operator pod logs in order to know where the installation process is at: +After a few minutes, the new Ascender instance will be deployed. You can look at the operator pod logs in order to know where the installation process is at: ``` -$ kubectl logs -f deployments/awx-operator-controller-manager -c awx-manager +$ kubectl logs -f deployments/ascender-operator-controller-manager -c ascender-manager ``` After a few seconds, you should see the operator begin to create new resources: ``` -$ kubectl get pods -l "app.kubernetes.io/managed-by=awx-operator" +$ kubectl get pods -l "app.kubernetes.io/managed-by=ascender-operator" NAME READY STATUS RESTARTS AGE -awx-demo-77d96f88d5-pnhr8 4/4 Running 0 3m24s -awx-demo-postgres-0 1/1 Running 0 3m34s +ascender-demo-77d96f88d5-pnhr8 4/4 Running 0 3m24s +ascender-demo-postgres-0 1/1 Running 0 3m34s -$ kubectl get svc -l "app.kubernetes.io/managed-by=awx-operator" +$ kubectl get svc -l "app.kubernetes.io/managed-by=ascender-operator" NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -awx-demo-postgres ClusterIP None 5432/TCP 4m4s -awx-demo-service NodePort 10.109.40.38 80:31006/TCP 3m56s +ascender-demo-postgres ClusterIP None 5432/TCP 4m4s +ascender-demo-service NodePort 10.109.40.38 80:31006/TCP 3m56s ``` -Once deployed, the AWX instance will be accessible by running: +Once deployed, the Ascender instance will be accessible by running: ``` -$ minikube service -n awx awx-demo-service --url +$ minikube service -n ascender ascender-demo-service --url ``` By default, the admin user is `admin` and the password is available in the `-admin-password` secret. To retrieve the admin password, run: ``` -$ kubectl get secret awx-demo-admin-password -o jsonpath="{.data.password}" | base64 --decode ; echo +$ kubectl get secret ascender-demo-admin-password -o jsonpath="{.data.password}" | base64 --decode ; echo yDL2Cx5Za94g9MvBP6B73nzVLlmfgPjR ``` -You just completed the most basic install of an AWX instance via this operator. Congratulations!!! +You just completed the most basic install of an Ascender instance via this operator. Congratulations!!! For an example using the Nginx Ingress Controller in Minikube, don't miss our [demo video](https://asciinema.org/a/416946). diff --git a/docs/installation/index.md b/docs/installation/index.md index 0fc57a10..18a324e8 100644 --- a/docs/installation/index.md +++ b/docs/installation/index.md @@ -1,2 +1,2 @@ -The AWX Operator is meant to be deployed in your Kubernetes cluster(s) and can be used to install and manage the lifecycle of an AWX instance in the same namespace. +The Ascender Operator is meant to be deployed in your Kubernetes cluster(s) and can be used to install and manage the lifecycle of an Ascender instance in the same namespace. diff --git a/docs/installation/kind-install.md b/docs/installation/kind-install.md index 4fbb51b2..ab5f501f 100644 --- a/docs/installation/kind-install.md +++ b/docs/installation/kind-install.md @@ -1,4 +1,4 @@ -# AWX Operator on Kind +# Ascender Operator on Kind ## Kind Install @@ -66,22 +66,22 @@ Checkout the tag you want to install from git checkout 2.7.2 ``` -Create a file named `kustomization.yaml` in the root of your local awx-operator clone. Include the following: +Create a file named `kustomization.yaml` in the root of your local ascender-operator clone. Include the following: ``` apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - # Find the latest tag here: https://github.com/ansible/awx-operator/releases - - github.com/ansible/awx-operator/config/default?ref=2.7.2 + # Find the latest tag here: https://github.com/ctrliq/ascender-operator/releases + - github.com/ctrliq/ascender-operator/config/default?ref=2.7.2 # Set the image tags to match the git version from above images: - - name: quay.io/ansible/awx-operator + - name: ghcr.io/ctrliq/ascender-operator newTag: 2.7.2 # Specify a custom namespace in which to install AWX -namespace: awx +namespace: ascender ``` Run the following to apply the yaml diff --git a/docs/requirements.in b/docs/requirements.in index 797217cf..c970deef 100644 --- a/docs/requirements.in +++ b/docs/requirements.in @@ -1,3 +1,3 @@ -# This requirements file is used for AWX Operator latest doc builds. +# This requirements file is used for Ascender Operator latest doc builds. mkdocs-ansible diff --git a/docs/troubleshooting/debugging.md b/docs/troubleshooting/debugging.md index 8654b2a3..ba547c5a 100644 --- a/docs/troubleshooting/debugging.md +++ b/docs/troubleshooting/debugging.md @@ -1,16 +1,16 @@ -# Debugging the AWX Operator +# Debugging the Ascender Operator ## General Debugging -When the operator is deploying AWX, it is running the `installer` role inside the operator container. If the AWX CR's status is `Failed`, it is often useful to look at the awx-operator container logs, which shows the output of the installer role. To see these logs, run: +When the operator is deploying Ascender, it is running the `installer` role inside the operator container. If the AWX CR's status is `Failed`, it is often useful to look at the ascender-operator container logs, which shows the output of the installer role. To see these logs, run: ``` -kubectl logs deployments/awx-operator-controller-manager -c awx-manager -f +kubectl logs deployments/ascender-operator-controller-manager -c ascender-manager -f ``` ### Inspect k8s Resources -Past that, it is often useful to inspect various resources the AWX Operator manages like: +Past that, it is often useful to inspect various resources the Ascender Operator manages like: * awx * awxbackup * awxrestore @@ -45,7 +45,7 @@ kubectl exec -it -n ### Configure No Log It is possible to show task output for debugging by setting no_log to false on the AWX CR spec. -This will show output in the awx-operator logs for any failed tasks where no_log was set to true. +This will show output in the ascender-operator logs for any failed tasks where no_log was set to true. For example: @@ -54,7 +54,7 @@ For example: apiVersion: awx.ansible.com/v1beta1 kind: AWX metadata: - name: awx-demo + name: ascender-demo spec: service_type: nodeport no_log: false # <------------ @@ -63,7 +63,7 @@ spec: ## Iterating on the installer without deploying the operator -Go through the [normal basic install](https://github.com/ansible/awx-operator/blob/devel/README.md#basic-install) steps. +Go through the [normal basic install](https://github.com/ctrliq/ascender-operator/blob/devel/README.md#basic-install) steps. Install some dependencies: @@ -75,7 +75,7 @@ $ pip install -r molecule/requirements.txt To prevent the changes we're about to make from being overwritten, scale down any running instance of the operator: ``` -$ kubectl scale deployment awx-operator-controller-manager --replicas=0 +$ kubectl scale deployment ascender-operator-controller-manager --replicas=0 ``` Create a playbook that invokes the installer role (the operator uses ansible-runner's role execution feature): @@ -94,20 +94,20 @@ Create a vars file: # vars.yml --- ansible_operator_meta: - name: awx - namespace: awx + name: ascender + namespace: ascender service_type: nodeport ``` -The vars file will replace the awx resource so any value that you wish to over ride using the awx resource, put in the vars file. For example, if you wish to use your own image, version and pull policy, you can specify it like below: +The vars file will replace the ascender resource so any value that you wish to over ride using the ascender resource, put in the vars file. For example, if you wish to use your own image, version and pull policy, you can specify it like below: ```yaml # vars.yml --- ansible_operator_meta: - name: awx - namespace: awx + name: ascender + namespace: ascender service_type: nodeport -image: $DEV_DOCKER_TAG_BASE/awx_kube_devel +image: $DEV_DOCKER_TAG_BASE/ascender_kube_devel image_pull_policy: Always image_version: $COMPOSE_TAG ``` @@ -121,7 +121,7 @@ $ ansible-playbook run.yml -e @vars.yml -v Grab the URL and admin password: ``` -$ minikube service awx-service --url -n awx -$ minikube kubectl get secret awx-admin-password -- -o jsonpath="{.data.password}" | base64 --decode +$ minikube service ascender-service --url -n ascender +$ minikube kubectl get secret ascender-admin-password -- -o jsonpath="{.data.password}" | base64 --decode LU6lTfvnkjUvDwL240kXKy1sNhjakZmT ``` diff --git a/docs/user-guide/advanced-configuration/custom-receptor-certs.md b/docs/user-guide/advanced-configuration/custom-receptor-certs.md index e0c8dfe0..10d5f028 100644 --- a/docs/user-guide/advanced-configuration/custom-receptor-certs.md +++ b/docs/user-guide/advanced-configuration/custom-receptor-certs.md @@ -4,7 +4,7 @@ The control nodes on the K8S cluster will communicate with execution nodes via mutual TLS TCP connections, running via Receptor. Execution nodes will verify incoming connections by ensuring the x509 certificate was issued by a trusted Certificate Authority (CA). -A user may wish to provide their own CA for this validation. If no CA is provided, AWX Operator will automatically generate one using OpenSSL. +A user may wish to provide their own CA for this validation. If no CA is provided, Ascender Operator will automatically generate one using OpenSSL. Given custom `ca.crt` and `ca.key` stored locally, run the following, diff --git a/docs/user-guide/advanced-configuration/extra-settings.md b/docs/user-guide/advanced-configuration/extra-settings.md index 021665bd..334e2e4b 100644 --- a/docs/user-guide/advanced-configuration/extra-settings.md +++ b/docs/user-guide/advanced-configuration/extra-settings.md @@ -1,6 +1,6 @@ # Extra Settings -With `extra_settings` and `extra_settings_files`, you can pass multiple custom settings to AWX via the AWX Operator. +With `extra_settings` and `extra_settings_files`, you can pass multiple custom settings to Ascender via the Ascender Operator. !!! note Parameters configured in `extra_settings` or `extra_settings_files` are set as read-only settings in AWX. As a result, they cannot be changed in the UI after deployment. diff --git a/docs/user-guide/advanced-configuration/mesh-ingress.md b/docs/user-guide/advanced-configuration/mesh-ingress.md index 88332a5c..85e7feac 100644 --- a/docs/user-guide/advanced-configuration/mesh-ingress.md +++ b/docs/user-guide/advanced-configuration/mesh-ingress.md @@ -38,7 +38,7 @@ To deploy a mesh ingress on Kubernetes cluster which has [NGINX Ingress Controll Note that AWXMeshIngress requires [SSL Passthrough](https://kubernetes.github.io/ingress-nginx/user-guide/tls/#ssl-passthrough) enabled which is disabled by default. Ensure it is enabled on your NGINX Ingress Controller. -By specifying `ingress_controller` as `nginx`, AWX Operator will generate Ingress resource that has `nginx.ingress.kubernetes.io/ssl-passthrough` annotation set to `"true"`. +By specifying `ingress_controller` as `nginx`, Ascender Operator will generate Ingress resource that has `nginx.ingress.kubernetes.io/ssl-passthrough` annotation set to `"true"`. Example: @@ -62,7 +62,7 @@ spec: To deploy a mesh ingress on Kubernetes cluster which has [Traefik Kubernetes Ingress provider](https://doc.traefik.io/traefik/providers/kubernetes-ingress/), create the AWXMeshIngress resource on the namespace where your AWX instance is running on. -Note that by deploying following AWXMeshIngress, AWX Operator will generate IngressRouteTCP resource that has `websecure` as an `entryPoints`. If this does not satisfy your requirement, refer to [User managed Ingress section](#on-kubernetes-with-user-managed-ingress) and create an IngressRouteTCP resource manually. +Note that by deploying following AWXMeshIngress, Ascender Operator will generate IngressRouteTCP resource that has `websecure` as an `entryPoints`. If this does not satisfy your requirement, refer to [User managed Ingress section](#on-kubernetes-with-user-managed-ingress) and create an IngressRouteTCP resource manually. Example: diff --git a/docs/user-guide/advanced-configuration/persisting-projects-directory.md b/docs/user-guide/advanced-configuration/persisting-projects-directory.md index 6fa1c959..f8004551 100644 --- a/docs/user-guide/advanced-configuration/persisting-projects-directory.md +++ b/docs/user-guide/advanced-configuration/persisting-projects-directory.md @@ -1,6 +1,6 @@ #### Persisting Projects Directory -In cases which you want to persist the `/var/lib/projects` directory, there are few variables that are customizable for the `awx-operator`. +In cases which you want to persist the `/var/lib/projects` directory, there are few variables that are customizable for the `ascender-operator`. | Name | Description | Default | | ---------------------------- | ---------------------------------------------------------------------------------------------- | ------------- | @@ -10,7 +10,7 @@ In cases which you want to persist the `/var/lib/projects` directory, there are | projects_storage_access_mode | Define the PersistentVolume access mode | ReadWriteMany | | projects_existing_claim | Define an existing PersistentVolumeClaim to use (cannot be combined with `projects_storage_*`) | '' | -Example of customization when the `awx-operator` automatically handles the persistent volume could be: +Example of customization when the `ascender-operator` automatically handles the persistent volume could be: ```yaml --- diff --git a/docs/user-guide/advanced-configuration/trusting-a-custom-certificate-authority.md b/docs/user-guide/advanced-configuration/trusting-a-custom-certificate-authority.md index 9d07e582..c86da7aa 100644 --- a/docs/user-guide/advanced-configuration/trusting-a-custom-certificate-authority.md +++ b/docs/user-guide/advanced-configuration/trusting-a-custom-certificate-authority.md @@ -1,6 +1,6 @@ #### Trusting a Custom Certificate Authority -In cases which you need to trust a custom Certificate Authority, there are few variables you can customize for the `awx-operator`. +In cases which you need to trust a custom Certificate Authority, there are few variables you can customize for the `ascender-operator`. Trusting a custom Certificate Authority allows the AWX to access network services configured with SSL certificates issued locally, such as cloning a project from from an internal Git server via HTTPS. It is common for these scenarios, experiencing the error [unable to verify the first certificate](https://github.com/ansible/awx-operator/issues/376). @@ -10,7 +10,7 @@ Trusting a custom Certificate Authority allows the AWX to access network service | ldap_cacert_secret | LDAP Certificate Authority secret name | '' | | ldap_password_secret | LDAP BIND DN Password secret name | '' | | bundle_cacert_secret | Certificate Authority secret name | '' | -Please note the `awx-operator` will look for the data field `ldap-ca.crt` in the specified secret when using the `ldap_cacert_secret`, whereas the data field `bundle-ca.crt` is required for `bundle_cacert_secret` parameter. +Please note the `ascender-operator` will look for the data field `ldap-ca.crt` in the specified secret when using the `ldap_cacert_secret`, whereas the data field `bundle-ca.crt` is required for `bundle_cacert_secret` parameter. Example of customization could be: diff --git a/docs/user-guide/database-configuration.md b/docs/user-guide/database-configuration.md index af5714d7..af05f021 100644 --- a/docs/user-guide/database-configuration.md +++ b/docs/user-guide/database-configuration.md @@ -55,7 +55,7 @@ For instructions on how to migrate from an older version of AWX, see [migration. #### Managed PostgreSQL Service -If you don't have access to an external PostgreSQL service, the AWX operator can deploy one for you along side the AWX instance itself. +If you don't have access to an external PostgreSQL service, the Ascender operator can deploy one for you alongside the Ascender instance itself. The following variables are customizable for the managed PostgreSQL service diff --git a/docs/user-guide/network-and-tls-configuration.md b/docs/user-guide/network-and-tls-configuration.md index de81e08a..e6704f8e 100644 --- a/docs/user-guide/network-and-tls-configuration.md +++ b/docs/user-guide/network-and-tls-configuration.md @@ -71,7 +71,7 @@ spec: ``` #### Ingress Type -By default, the AWX operator is not opinionated and won't force a specific ingress type on you. So, when the `ingress_type` is not specified, it will default to `none` and nothing ingress-wise will be created. +By default, the Ascender operator is not opinionated and won't force a specific ingress type on you. So, when the `ingress_type` is not specified, it will default to `none` and nothing ingress-wise will be created. The `ingress_type` supported options are: `none`, `ingress` and `route`. To toggle between these options, you can add the following to your AWX CRD: diff --git a/hack/publish-to-operator-hub.sh b/hack/publish-to-operator-hub.sh index d3a7273c..0be42a27 100755 --- a/hack/publish-to-operator-hub.sh +++ b/hack/publish-to-operator-hub.sh @@ -2,19 +2,19 @@ # Create PR to Publish to community-operators and community-operators-prod # -# * Create upstream awx-operator release +# * Create upstream ascender-operator release # * Check out tag (1.1.2). # * Run VERSION=1.1.2 make bundle # * Clone https://github.com/k8s-operatorhub/community-operators --branch main -# * mkdir -p operators/awx-operator/0.31.0/ -# * Copy in manifests/ metadata/ and tests/ directories into operators/awx-operator/1.1.2/ +# * mkdir -p operators/ascender-operator/0.31.0/ +# * Copy in manifests/ metadata/ and tests/ directories into operators/ascender-operator/1.1.2/ # * Use sed to add in a replaces or skip entry. replace by default. # * No need to update config.yaml # * Build and Push operator and bundle images # * Open PR or at least push to a branch so that a PR can be manually opened from it. # # Usage: -# First, check out awx-operator tag you intend to release, in this case, 1.0.0 +# First, check out ascender-operator tag you intend to release, in this case, 1.0.0 # $ VERSION=1.1.2 PREV_VERSION=1.1.1 FORK= ./hack/publish-to-operator-hub.sh # # Remember to change update the VERSION and PREV_VERSION before running!!! @@ -24,15 +24,15 @@ set -e VERSION=${VERSION:-$(make print-VERSION)} PREV_VERSION=${PREV_VERSION:-$(make print-PREV_VERSION)} -BRANCH=publish-awx-operator-$VERSION -FORK=${FORK:-awx-auto} -GITHUB_TOKEN=${GITHUB_TOKEN:-$AWX_AUTO_GITHUB_TOKEN} +BRANCH=publish-ascender-operator-$VERSION +FORK=${FORK:-ascender-auto} +GITHUB_TOKEN=${GITHUB_TOKEN:-$ASCENDER_AUTO_GITHUB_TOKEN} -IMG_REPOSITORY=${IMG_REPOSITORY:-quay.io/ansible} +IMG_REPOSITORY=${IMG_REPOSITORY:-ghcr.io/ctrliq} -OPERATOR_IMG=$IMG_REPOSITORY/awx-operator:$VERSION -CATALOG_IMG=$IMG_REPOSITORY/awx-operator-catalog:$VERSION -BUNDLE_IMG=$IMG_REPOSITORY/awx-operator-bundle:$VERSION +OPERATOR_IMG=$IMG_REPOSITORY/ascender-operator:$VERSION +CATALOG_IMG=$IMG_REPOSITORY/ascender-operator-catalog:$VERSION +BUNDLE_IMG=$IMG_REPOSITORY/ascender-operator-bundle:$VERSION COMMUNITY_OPERATOR_GITHUB_ORG=${COMMUNITY_OPERATOR_GITHUB_ORG:-k8s-operatorhub} COMMUNITY_OPERATOR_PROD_GITHUB_ORG=${COMMUNITY_OPERATOR_PROD_GITHUB_ORG:-redhat-openshift-ecosystem} @@ -45,17 +45,17 @@ make bundle-build bundle-push BUNDLE_IMG=$BUNDLE_IMG IMG=$OPERATOR_IMG make catalog-build catalog-push CATALOG_IMG=$CATALOG_IMG BUNDLE_IMGS=$BUNDLE_IMG BUNDLE_IMG=$BUNDLE_IMG IMG=$OPERATOR_IMG # Set containerImage & namespace variables in CSV -sed -i.bak -e "s|containerImage: quay.io/ansible/awx-operator:devel|containerImage: ${OPERATOR_IMG}|g" bundle/manifests/awx-operator.clusterserviceversion.yaml -sed -i.bak -e "s|namespace: placeholder|namespace: awx|g" bundle/manifests/awx-operator.clusterserviceversion.yaml +sed -i.bak -e "s|containerImage: ghcr.io/ctrliq/ascender-operator:latest|containerImage: ${OPERATOR_IMG}|g" bundle/manifests/ascender-operator.clusterserviceversion.yaml +sed -i.bak -e "s|namespace: placeholder|namespace: ascender|g" bundle/manifests/ascender-operator.clusterserviceversion.yaml # Add replaces to dependency graph for upgrade path -if ! grep -qF 'replaces: awx-operator.v${PREV_VERSION}' bundle/manifests/awx-operator.clusterserviceversion.yaml; then +if ! grep -qF 'replaces: ascender-operator.v${PREV_VERSION}' bundle/manifests/ascender-operator.clusterserviceversion.yaml; then sed -i.bak -e "/version: ${VERSION}/a \\ - replaces: awx-operator.v$PREV_VERSION" bundle/manifests/awx-operator.clusterserviceversion.yaml + replaces: ascender-operator.v$PREV_VERSION" bundle/manifests/ascender-operator.clusterserviceversion.yaml fi # Rename CSV to contain version in name -mv bundle/manifests/awx-operator.clusterserviceversion.yaml bundle/manifests/awx-operator.v${VERSION}.clusterserviceversion.yaml +mv bundle/manifests/ascender-operator.clusterserviceversion.yaml bundle/manifests/ascender-operator.v${VERSION}.clusterserviceversion.yaml # Set Openshift Support Range (bump minKubeVersion in CSV when changing) if ! grep -qF 'openshift.versions' bundle/metadata/annotations.yaml; then @@ -69,15 +69,15 @@ find bundle -name "*.bak" -type f -delete echo "-- Create branch on community-operators fork --" git clone https://github.com/$COMMUNITY_OPERATOR_GITHUB_ORG/community-operators.git -mkdir -p community-operators/operators/awx-operator/$VERSION/ -cp -r bundle/* community-operators/operators/awx-operator/$VERSION/ -pushd community-operators/operators/awx-operator/$VERSION/ +mkdir -p community-operators/operators/ascender-operator/$VERSION/ +cp -r bundle/* community-operators/operators/ascender-operator/$VERSION/ +pushd community-operators/operators/ascender-operator/$VERSION/ git checkout -b $BRANCH git add ./ git status -message='operator [N] [CI] awx-operator' +message='operator [N] [CI] ascender-operator' commitMessage="${message} ${VERSION}" git commit -m "$commitMessage" -s @@ -87,8 +87,8 @@ git push upstream --delete $BRANCH || true git push upstream $BRANCH gh pr create \ - --title "operator awx-operator (${VERSION})" \ - --body "operator awx-operator (${VERSION})" \ + --title "operator ascender-operator (${VERSION})" \ + --body "operator ascender-operator (${VERSION})" \ --base main \ --head $FORK:$BRANCH \ --repo $COMMUNITY_OPERATOR_GITHUB_ORG/community-operators @@ -97,15 +97,15 @@ popd echo "-- Create branch on community-operators-prod fork --" git clone https://github.com/$COMMUNITY_OPERATOR_PROD_GITHUB_ORG/community-operators-prod.git -mkdir -p community-operators-prod/operators/awx-operator/$VERSION/ -cp -r bundle/* community-operators-prod/operators/awx-operator/$VERSION/ -pushd community-operators-prod/operators/awx-operator/$VERSION/ +mkdir -p community-operators-prod/operators/ascender-operator/$VERSION/ +cp -r bundle/* community-operators-prod/operators/ascender-operator/$VERSION/ +pushd community-operators-prod/operators/ascender-operator/$VERSION/ git checkout -b $BRANCH git add ./ git status -message='operator [N] [CI] awx-operator' +message='operator [N] [CI] ascender-operator' commitMessage="${message} ${VERSION}" git commit -m "$commitMessage" -s @@ -115,8 +115,8 @@ git push upstream --delete $BRANCH || true git push upstream $BRANCH gh pr create \ - --title "operator awx-operator (${VERSION})" \ - --body "operator awx-operator (${VERSION})" \ + --title "operator ascender-operator (${VERSION})" \ + --body "operator ascender-operator (${VERSION})" \ --base main \ --head $FORK:$BRANCH \ --repo $COMMUNITY_OPERATOR_PROD_GITHUB_ORG/community-operators-prod diff --git a/mkdocs.yml b/mkdocs.yml index 6ad974f8..e3067502 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,7 +1,7 @@ --- -site_name: Ansible AWX Operator Documentation +site_name: Ascender Operator Documentation site_url: https://awx-operator.readthedocs.io/ -repo_url: https://github.com/ansible/awx-operator +repo_url: https://github.com/ctrliq/ascender-operator edit_uri: blob/devel/docs/ docs_dir: docs strict: true diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index 7a7ba93f..681c4ee1 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -32,7 +32,7 @@ provisioner: operator_pull_policy: ${OPERATOR_PULL_POLICY:-"Always"} kustomize: ${KUSTOMIZE_PATH:-kustomize} store_debug_output: ${STORE_DEBUG_OUTPUT:-false} - debug_output_dir: ${DEBUG_OUTPUT_DIR:-"/tmp/awx_operator_molecule_test"} + debug_output_dir: ${DEBUG_OUTPUT_DIR:-"/tmp/ascender_operator_molecule_test"} env: K8S_AUTH_KUBECONFIG: ${KUBECONFIG:-"~/.kube/config"} verifier: diff --git a/molecule/default/tasks/awx_test.yml b/molecule/default/tasks/awx_test.yml index 3075e5b9..e1a64e5b 100644 --- a/molecule/default/tasks/awx_test.yml +++ b/molecule/default/tasks/awx_test.yml @@ -44,7 +44,7 @@ - fail: msg: | It looks like you may have broken the DEFAULT_AWX_VERSION functionality. - This is an environment variable that is set via build arg when releasing awx-operator. + This is an environment variable that is set via build arg when releasing ascender-operator. when: - default_awx_version not in web_image_tags - default_awx_version not in task_image_tags diff --git a/molecule/kind/molecule.yml b/molecule/kind/molecule.yml index 55f3c012..6f233398 100644 --- a/molecule/kind/molecule.yml +++ b/molecule/kind/molecule.yml @@ -36,7 +36,7 @@ provisioner: kubeconfig: "{{ lookup('env', 'KUBECONFIG') }}" kustomize: ${KUSTOMIZE_PATH:-kustomize} store_debug_output: ${STORE_DEBUG_OUTPUT:-false} - debug_output_dir: ${DEBUG_OUTPUT_DIR:-"/tmp/awx_operator_molecule_test"} + debug_output_dir: ${DEBUG_OUTPUT_DIR:-"/tmp/ascender_operator_molecule_test"} env: K8S_AUTH_KUBECONFIG: ${MOLECULE_EPHEMERAL_DIRECTORY}/kubeconfig KUBECONFIG: ${MOLECULE_EPHEMERAL_DIRECTORY}/kubeconfig diff --git a/noxfile.py b/noxfile.py index 8a12a81b..18b5d18a 100644 --- a/noxfile.py +++ b/noxfile.py @@ -4,7 +4,7 @@ @nox.session def build(session: nox.Session): """ - Build the AWX Operator docsite. + Build the Ascender Operator docsite. """ session.install( "-r", diff --git a/roles/backup/README.md b/roles/backup/README.md index 580bb351..a4d3df92 100644 --- a/roles/backup/README.md +++ b/roles/backup/README.md @@ -11,7 +11,7 @@ Requirements ------------ This role assumes you are authenticated with an Openshift or Kubernetes cluster: - - The awx-operator has been deployed to the cluster + - The ascender-operator has been deployed to the cluster - AWX is deployed to via the operator diff --git a/roles/backup/meta/main.yml b/roles/backup/meta/main.yml index 1f223420..ca07c403 100644 --- a/roles/backup/meta/main.yml +++ b/roles/backup/meta/main.yml @@ -1,7 +1,7 @@ --- galaxy_info: author: Ansible - description: AWX role for AWX Operator for Kubernetes. + description: Ascender role for Ascender Operator for Kubernetes. company: Red Hat, Inc. license: MIT diff --git a/roles/common/meta/main.yml b/roles/common/meta/main.yml index d4d75ee3..c6e88890 100644 --- a/roles/common/meta/main.yml +++ b/roles/common/meta/main.yml @@ -1,7 +1,7 @@ --- galaxy_info: author: Ansible - description: AWX role for AWX Operator for Kubernetes. + description: Ascender role for Ascender Operator for Kubernetes. company: Red Hat, Inc. license: MIT diff --git a/roles/installer/meta/main.yml b/roles/installer/meta/main.yml index f6c26e0e..e048d148 100644 --- a/roles/installer/meta/main.yml +++ b/roles/installer/meta/main.yml @@ -1,7 +1,7 @@ --- galaxy_info: author: Ansible - description: AWX role for AWX Operator for Kubernetes. + description: Ascender role for Ascender Operator for Kubernetes. company: Red Hat, Inc. license: MIT diff --git a/roles/restore/README.md b/roles/restore/README.md index 2676d90c..29644b6f 100644 --- a/roles/restore/README.md +++ b/roles/restore/README.md @@ -13,7 +13,7 @@ Requirements ------------ This role assumes you are authenticated with an Openshift or Kubernetes cluster: - - The awx-operator has been deployed to the cluster + - The ascender-operator has been deployed to the cluster - AWX is deployed to via the operator - An AWX backup is available on a PVC in your cluster (see the backup [README.md](../backup/README.md)) diff --git a/roles/restore/meta/main.yml b/roles/restore/meta/main.yml index 22401fb3..3ff11056 100644 --- a/roles/restore/meta/main.yml +++ b/roles/restore/meta/main.yml @@ -1,7 +1,7 @@ --- galaxy_info: author: Ansible - description: AWX role for AWX Operator for Kubernetes. + description: Ascender role for Ascender Operator for Kubernetes. company: Red Hat, Inc. license: MIT