# Galaxy-Operator

**URL:** <https://forum.ansible.com/t/galaxy-operator/3964>\
**Category:** Project Discussions\
**Tags:** galaxy-ng\
**Created:** [February 20, 2024, 6:32pm UTC](https://forum.ansible.com/t/galaxy-operator/3964 "2024-02-20T18:32:36Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Denney-tech](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/denney-tech/32/1556_2.png) [@Denney-tech](https://forum.ansible.com/u/Denney-tech)\
**Post date:** [February 20, 2024, 6:32pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/1 "2024-02-20T18:32:36Z")

</div>

Is there anyone in the know that can share any news or information about the new Galaxy Operator? I’ve been seeing bits and pieces of it here and there, but the official [https://github.com/ansible/galaxy-operator/](https://github.com/ansible/galaxy-operator/) repo is set to private. I can understand it not being GA yet, but I’m curious to know if there’s a ballpark target release date.

---

<div class="post-metadata">

**Author:** ![kurokobo](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/kurokobo/32/182_2.png) [@kurokobo](https://forum.ansible.com/u/kurokobo)\
**Post date:** [February 21, 2024, 11:58am UTC](https://forum.ansible.com/t/galaxy-operator/3964/2 "2024-02-21T11:58:02Z")

</div>

I too would like to know if there is an ETA 😃

In the reply to the Issue you created, the `ansible` branch of Pulp Operator will be published as Galaxy Operator, but there is indeed no update:

[https://github.com/pulp/pulp-operator/issues/1133](https://github.com/pulp/pulp-operator/issues/1133)

---

<div class="post-metadata">

**Author:** ![rooftopcellist](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/rooftopcellist/32/97_2.png) [@rooftopcellist](https://forum.ansible.com/u/rooftopcellist)\
**Post date:** [February 21, 2024, 5:25pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/3 "2024-02-21T17:25:00Z")

</div>

@Denney-tech @kurokobo Thank you for the interest! We have been bootstrapping the new repo and moving to using the galaxy team maintained galaxy-ng and galaxy-ui images.

We just finished renaming the CRD from Pulp → Galaxy, which was one of the last things to get into place. We hope to make the repo public later this week, or early next week. I’d just like to get a bare bones release GHA in place so we can hit the ground running with a release for folks to try out.

@aknochow and I will post an update on this thread when it goes public.

---

<div class="post-metadata">

**Author:** ![aknochow](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/aknochow/32/543_2.png) [@aknochow](https://forum.ansible.com/u/aknochow)\
**Post date:** [February 29, 2024, 9:52pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/4 "2024-02-29T21:52:48Z")

</div>

@kurokobo @Denney-tech Here you go! Let us know what you think. 🙂

**[GitHub - ansible/galaxy-operator: Galaxy-Operator](https://github.com/ansible/galaxy-operator)**

(Official announcement will be Monday…)

New docs page:

> **[Galaxy-Operator](https://ansible.readthedocs.io/projects/galaxy-operator/en/latest/)**
>
> Galaxy-Operator

---

<div class="post-metadata">

**Author:** ![Denney-tech](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/denney-tech/32/1556_2.png) [@Denney-tech](https://forum.ansible.com/u/Denney-tech)\
**Post date:** [February 29, 2024, 11:47pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/5 "2024-02-29T23:47:12Z")

</div>

Sweet! I’ll be out on vacation for the weekend, but will happily look forward to the announcement on Monday.

In the meantime, the repo is still private, so I can’t follow that first link.

Edit: aaannd it’s public, yay! Lol

---

<div class="post-metadata">

**Author:** ![aknochow](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/aknochow/32/543_2.png) [@aknochow](https://forum.ansible.com/u/aknochow)\
**Post date:** [February 29, 2024, 11:49pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/6 "2024-02-29T23:49:02Z")

</div>

@Denney-tech Repo is public, that first link was to the release that we haven’t released yet and I just caught that. Fixed… 🙂

[github.com/ansible/galaxy-operator](http://github.com/ansible/galaxy-operator)

---

<div class="post-metadata">

**Author:** ![Denney-tech](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/denney-tech/32/1556_2.png) [@Denney-tech](https://forum.ansible.com/u/Denney-tech)\
**Post date:** [February 29, 2024, 11:50pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/7 "2024-02-29T23:50:13Z")

</div>

Lol, nice. Thanks for fixing your links!

---

<div class="post-metadata">

**Author:** ![Denney-tech](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/denney-tech/32/1556_2.png) [@Denney-tech](https://forum.ansible.com/u/Denney-tech)\
**Post date:** [February 29, 2024, 11:55pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/8 "2024-02-29T23:55:23Z")

</div>

@aknochow will we be seeing this added to the community operator catalogs as well?

---

<div class="post-metadata">

**Author:** ![aknochow](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/aknochow/32/543_2.png) [@aknochow](https://forum.ansible.com/u/aknochow)\
**Post date:** [March 1, 2024, 12:02am UTC](https://forum.ansible.com/t/galaxy-operator/3964/9 "2024-03-01T00:02:26Z")

</div>

I just pushed one last update to the README and docs so you have some good reading for your vacation. 🕶

Yes this will be available in the community catalog but I’ll defer to @rooftopcellist for more details on when that will be and he’s also heading out on some well-earned vacation.

---

<div class="post-metadata">

**Author:** ![kurokobo](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/kurokobo/32/182_2.png) [@kurokobo](https://forum.ansible.com/u/kurokobo)\
**Post date:** [March 1, 2024, 2:06am UTC](https://forum.ansible.com/t/galaxy-operator/3964/10 "2024-03-01T02:06:32Z")

</div>

Hi, thanks for updating and congrats for going new repo live 😃

May I have couple of questions:

- Dou you have any plan to release the images that tagged by version for `quay.io/ansible/galaxy-ng` and `quay.io/ansible/galaxy-ui`? There are versioned release under `pup` for `galaxy`, `galaxy-minimal`, and `galaxy-web`.
- This is a question from just my technical interest, but what is the reason that adopting Ansible based SDK for Galaxy Operator? I know in the past Pulp Operator used Ansible based SDK and transformed to use Go based SDK, and now back to Ansible based SDK in Galaxy Operator. I like Go based one too since it’s simply fast.

---

<div class="post-metadata">

**Author:** ![rooftopcellist](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/rooftopcellist/32/97_2.png) [@rooftopcellist](https://forum.ansible.com/u/rooftopcellist)\
**Post date:** [March 1, 2024, 1:18pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/11 "2024-03-01T13:18:29Z")

</div>

- I too would like to have version tags published for the galaxy-ng and galaxy-ui [quay.io](http://quay.io/) registries, we should talk to the Galaxy team and see if they would be open to that. cc [@rochacbruno](https://redhat-internal.slack.com/team/U01F3T38VM2)

- As for golang vs. ansible. The Ansible org never actually used the pulp-operator once it was re-written in golang. We tried to figure out a way to make it work but there were many complications.

- The pulp team made many schema changes when they rewrote the pulp-operator in golang, which made it difficult to maintain backwards compatibility. We looking into doing a new apiVersion for the CRD, but it had it’s own complications…

- We are an ansible shop, we decided it would be best to use an ansible operator and try to improve any performance issues we run into along the way.

- Ansible is easier to maintain, and we are a _very_ small team. We also maintain many operators, all of which are ansible-based. So sticking to Ansible avoids learning the nuancing of the golang operators and having to solve every problem we run into twice in two languages.

- It is easier to onboard new engineers on an ansible-based operator rather than a go-based one, especially in an org full of engineers familiar with ansible

---

<div class="post-metadata">

**Author:** ![kurokobo](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/kurokobo/32/182_2.png) [@kurokobo](https://forum.ansible.com/u/kurokobo)\
**Post date:** [March 1, 2024, 1:46pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/12 "2024-03-01T13:46:06Z")

</div>

Thank you for providing detailed background, that make a lot of sense.

Indeed, if the team is small, it is reasonable to narrow down the tool/architecture used. Perhaps it will be easier for users to use Operator for AWX, EDA and Galaxy because they will be similar in how they use them 😃

I see that the latest version of Galaxy Operator was released a few hours ago, so I’ll give it a try.

---

<div class="post-metadata">

**Author:** ![kurokobo](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/kurokobo/32/182_2.png) [@kurokobo](https://forum.ansible.com/u/kurokobo)\
**Post date:** [March 1, 2024, 1:46pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/13 "2024-03-01T13:46:17Z")

</div>

> **[Release Release 2024.02.29 · ansible/galaxy-operator](https://github.com/ansible/galaxy-operator/releases/tag/2024.02.29)**
>
> This is the first release of Galaxy Operator, the official Kubernetes Operator for the Galaxy project.
> Breaking change
> 
> In the custom resource, the Kind is now Galaxy instead of Pulp. Refer to the...

---

<div class="post-metadata">

**Author:** ![Denney-tech](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/denney-tech/32/1556_2.png) [@Denney-tech](https://forum.ansible.com/u/Denney-tech)\
**Post date:** [March 1, 2024, 5:10pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/14 "2024-03-01T17:10:33Z")

</div>

I’m also in favor of matching the galaxy image tags to the galaxy-ng git release tags.

---

<div class="post-metadata">

**Author:** ![kurokobo](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/kurokobo/32/182_2.png) [@kurokobo](https://forum.ansible.com/u/kurokobo)\
**Post date:** [March 2, 2024, 3:57pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/15 "2024-03-02T15:57:09Z")

</div>

Sent two PRs 😃

- [fix: add missing nginx snippets for pulp\_container by kurokobo · Pull Request #75 · ansible/galaxy-operator · GitHub](https://github.com/ansible/galaxy-operator/pull/75)
- [docs: enable search feature by kurokobo · Pull Request #76 · ansible/galaxy-operator · GitHub](https://github.com/ansible/galaxy-operator/pull/76)

---

<div class="post-metadata">

**Author:** ![aknochow](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/aknochow/32/543_2.png) [@aknochow](https://forum.ansible.com/u/aknochow)\
**Post date:** [March 2, 2024, 5:59pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/16 "2024-03-02T17:59:20Z")

</div>

@kurokobo thanks for the search fix! I was going to figure that out next week and you beat me to it! Still working on documentation… 🙂

---

<div class="post-metadata">

**Author:** ![Denney-tech](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/denney-tech/32/1556_2.png) [@Denney-tech](https://forum.ansible.com/u/Denney-tech)\
**Post date:** [March 4, 2024, 4:14pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/17 "2024-03-04T16:14:37Z")

</div>

Since I’m using OCP, my preferred operator installation method is through a catalog source. I will wait for this to get into [community-operators/operators at main · k8s-operatorhub/community-operators (github.com)](https://github.com/k8s-operatorhub/community-operators/tree/main/operators) and try it out then.

Will the existing galaxy-operator in the catalog be removed from the alpha channel, or will this one just slot next to it in the beta channel?

---

<div class="post-metadata">

**Author:** ![rooftopcellist](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/rooftopcellist/32/97_2.png) [@rooftopcellist](https://forum.ansible.com/u/rooftopcellist)\
**Post date:** [April 3, 2024, 8:29pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/18 "2024-04-03T20:29:43Z")

</div>

@Denney-tech We do intend to publish new versions of the Galaxy Operator to OperatorHub, but we still need to set up the automation to do this.

---

<div class="post-metadata">

**Author:** ![rooftopcellist](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/rooftopcellist/32/97_2.png) [@rooftopcellist](https://forum.ansible.com/u/rooftopcellist)\
**Post date:** [April 4, 2024, 4:33pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/19 "2024-04-04T16:33:06Z")

</div>

@Denney-tech The workflow that pushing bundle and catalog images is now fixed, which is the first step towards getting this available on [OperatorHub.io](http://OperatorHub.io).

- [quay.io/ansible/galaxy-operator-bundle:2024.4.3](http://quay.io/ansible/galaxy-operator-bundle:2024.4.3)
- [Quay](http://quay.io/ansible/galaxy-operator-catalog:2024.4.3)

So it is not yet available via the [operatorhub.io](http://operatorhub.io) catalog image, but you could apply a new CatalogSource resource to make it available now if you want. Here is an example:

```auto
---
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
  name: ansible-galaxy-catalog
  namespace: galaxy
spec:
  displayName: 'Ansible Galaxy Operators'
  image: "quay.io/ansible/galaxy-operator-catalog:latest"
  publisher: 'Ansible Galaxy Dev Team'
  sourceType: grpc

```

A moment or two after that yaml is applied, you should then have it available to be installed. You can do so by applying a subscription object:

```auto
---
apiVersion: v1
kind: Namespace
metadata:
  name: galaxy

---
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
  name: operatorgroup
  namespace: galaxy
spec:
  targetNamespaces:
    - galaxy

---
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: galaxy
  namespace: galaxy
spec:
  channel: alpha
  name: galaxy-operator
  source: ansible-galaxy-catalog
  sourceNamespace: galaxy

```

> This is rouighly the same yaml that you would be applying with the one line command from [operatorhub.io](http://operatorhub.io) if it were already published there.

That will create a galaxy operator in the galaxy namespace.

```auto
$ oc get pods
NAME READY STATUS RESTARTS AGE
ansible-galaxy-catalog-g6fvs 1/1 Running 0 3m13s
b9c9d3127a73e1ad9bc6b2069198dec5568cda6547fcc5ae5752e35d2a7dc9g 0/1 Completed 0 56s
galaxy-operator-controller-manager-fb54598db-kwp9b 2/2 Running 0 37s

```

FYI, this release will be announced shortly, but this is the one you would be deploying if you do the above steps:

- [Release Release 2024.4.3 · ansible/galaxy-operator · GitHub](https://github.com/ansible/galaxy-operator/releases/tag/2024.4.3)

---

<div class="post-metadata">

**Author:** ![Denney-tech](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/denney-tech/32/1556_2.png) [@Denney-tech](https://forum.ansible.com/u/Denney-tech)\
**Post date:** [April 4, 2024, 4:38pm UTC](https://forum.ansible.com/t/galaxy-operator/3964/20 "2024-04-04T16:38:18Z")

</div>

Oooooo shiny! 😃

I’m definitely happy with standalone bundle/catalog images. I already have a build pipeline that consolidates select Operators into a custom catalog. It just works best when I can iterate over what ends up in the community catalog repos so the upgrade paths work.

[Next page](https://forum.ansible.com/t/galaxy-operator/3964.md?page=2)
