Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions argocd-operator/.readthedocs.yml → .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ version: 2
formats: all
mkdocs:
fail_on_warning: false
configuration: mkdocs.yml
configuration: argocd-operator/mkdocs.yml
python:
install:
- requirements: docs/requirements.txt
- requirements: argocd-operator/docs/requirements.txt
build:
os: "ubuntu-22.04"
tools:
Expand Down
22 changes: 22 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ OPERATOR_SDK_VERSION ?= v1.35.0
# Set the path to Operator SDK - OPERATOR_SDK_VERSION will be ignored.
OPERATOR_SDK ?= bin/operator-sdk

# K8s version to use for reference documentation.
KUBERNETES_API_VERSION ?= 1.35

# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
ifeq (,$(shell go env GOBIN))
GOBIN=$(shell go env GOPATH)/bin
Expand Down Expand Up @@ -381,3 +384,22 @@ GOFLAGS="" GOBIN=$(PROJECT_DIR)/bin go install $(2) ;\
rm -rf $$TMP_DIR ;\
}
endef

.PHONY: apidocs-gen
apidocs-gen: ## Generate API documentation.
$(call crd-ref-docs,./api/v1alpha1/,./docs/reference/api-v1alpha1.md)
$(call crd-ref-docs,./api/v1beta1/,./docs/reference/api-v1beta1.md)

define crd-ref-docs
# The config have the k8s version injected so it does not have to be updated there
cd argocd-operator && go run github.com/elastic/crd-ref-docs@v0.3.0 \
--config=<(sed 's/__KUBERNETES_API_VERSION__/$(KUBERNETES_API_VERSION)/' ./docs/crd-ref-docs.config.yaml) \
--source-path=$(1) \
--log-level=info \
--renderer=markdown \
--output-path=$(2)
endef

.PHONY: serve-docs
serve-docs: apidocs-gen ## Serve documentation locally using mkdocs in a container
$(CONTAINER_RUNTIME) run --rm -it -p 8000:8000 -v $(PWD)/argocd-operator:/argocd-operator:Z -w /argocd-operator --name argocd-operator-mkdocs registry.access.redhat.com/ubi9/python-311:latest /bin/bash -c "pip install -r docs/requirements.txt && mkdocs serve -a 0.0.0.0:8000"
21 changes: 0 additions & 21 deletions argocd-operator/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,6 @@ BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL)
# This is useful for CI or a project to utilize a specific version of the operator-sdk toolkit.
OPERATOR_SDK_VERSION ?= v1.35.0

# K8s version to use for reference documentation.
KUBERNETES_API_VERSION ?= 1.35

GOSEC_VERSION ?= v2.22.7
GOLANGCILINT_VERSION ?= v2.12.2

Expand Down Expand Up @@ -371,21 +368,3 @@ update-dependencies-argocd:
update-dependencies-gitops-promoter:
hack/update-dependencies-script/gitops-promoter/run.sh

.PHONY: apidocs-gen

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved to top level Makefile

apidocs-gen: ## Generate API documentation.
$(call crd-ref-docs,./api/v1alpha1/,./docs/reference/api-v1alpha1.md)
$(call crd-ref-docs,./api/v1beta1/,./docs/reference/api-v1beta1.md)

define crd-ref-docs
# The config have the k8s version injected so it does not have to be updated there
go run github.com/elastic/crd-ref-docs@v0.3.0 \
--config=<(sed 's/__KUBERNETES_API_VERSION__/$(KUBERNETES_API_VERSION)/' ./docs/crd-ref-docs.config.yaml) \
--source-path=$(1) \
--log-level=info \
--renderer=markdown \
--output-path=$(2)
endef

.PHONY: serve-docs
serve-docs: apidocs-gen ## Serve documentation locally using mkdocs in a container
$(CONTAINER_RUNTIME) run --rm -it -p 8000:8000 -v $(PWD):/argocd-operator:Z -w /argocd-operator --name argocd-operator-mkdocs registry.access.redhat.com/ubi9/python-311:latest /bin/bash -c "pip install -r docs/requirements.txt && mkdocs serve -a 0.0.0.0:8000"
22 changes: 0 additions & 22 deletions argocd-operator/docs/SECURITY.md

This file was deleted.

43 changes: 0 additions & 43 deletions argocd-operator/docs/developer-guide/contributing.md

This file was deleted.

22 changes: 10 additions & 12 deletions argocd-operator/docs/developer-guide/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

The requirements for building the operator are fairly minimal.

* Go 1.16+
* Operator SDK 1.11.0+

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It changes too frequently for us to keep it up-to-date, it seems.

* Bash or equivalent
* Docker

Expand Down Expand Up @@ -50,7 +48,7 @@ make bundle-build bundle-push
To override the name of the bundle image, specify the `BUNDLE_IMG` tag, for example

``` bash
make bundle-build bundle-push BUNDLE_IMG=quay.io/my-org/argocd-operator-bundle:latest
make bundle-build bundle-push BUNDLE_IMG=quay.io/my-org/gitops-operator-bundle:latest
```

### Development Process
Expand Down Expand Up @@ -91,42 +89,42 @@ Build the development container image.
Override the name of the image to build by specifying the `IMG` variable.

``` bash
make docker-build IMG=quay.io/my-org/argocd-operator:latest
make docker-build IMG=quay.io/my-org/gitops-operator:latest
```

Push the development container image.
Override the name of the image to push by specifying the `IMG` variable.

``` bash
make docker-push IMG=quay.io/my-org/argocd-operator:latest
make docker-push IMG=quay.io/my-org/gitops-operator:latest
```

Generate the bundle artifacts.
Override the name of the development image by specifying the `IMG` variable.

``` bash
rm -fr bundle/
make bundle IMG=quay.io/my-org/argocd-operator:latest
make bundle IMG=quay.io/my-org/gitops-operator:latest
```

Build and push the development bundle image.
Override the name of the bundle image by specifying the `BUNDLE_IMG` variable.

``` bash
make bundle-build BUNDLE_IMG=quay.io/my-org/argocd-operator-bundle:latest
make bundle-push BUNDLE_IMG=quay.io/my-org/argocd-operator-bundle:latest
make bundle-build BUNDLE_IMG=quay.io/my-org/gitops-operator-bundle:latest
make bundle-push BUNDLE_IMG=quay.io/my-org/gitops-operator-bundle:latest
```

Build and push the development catalog image.
Override the name of the catalog image by specifying the `CATALOG_IMG` variable.
Specify the bundle image to include using the `BUNDLE_IMG` variable

``` bash
make catalog-build BUNDLE_IMG=quay.io/my-org/argocd-operator-bundle:latest CATALOG_IMG=quay.io/my-org/argocd-operator-index:latest
make catalog-push CATALOG_IMG=quay.io/my-org/argocd-operator-index:latest
make catalog-build BUNDLE_IMG=quay.io/my-org/gitops-operator-bundle:latest CATALOG_IMG=quay.io/my-org/gitops-operator-index:latest
make catalog-push CATALOG_IMG=quay.io/my-org/gitops-operator-index:latest
```

For more infomation see [build operator images to test on a cluster.](https://argocd-operator.readthedocs.io/en/latest/developer-guide/development/#building-the-operator-images-to-test-on-a-cluster)
For more infomation see [build operator images to test on a cluster.](https://gitops-operator.readthedocs.io/en/latest/developer-guide/development/#building-the-operator-images-to-test-on-a-cluster)
Comment thread
coderabbitai[bot] marked this conversation as resolved.

Once the operator is installed, you would need to configure an ArgoCD instance that the operator would manage. The sample instance configuration is below:

Expand All @@ -146,7 +144,7 @@ Store your ArgoCD configuration in a yaml file and execute below command to conf
kubectl apply -f <path_to_yaml_file>
```

For configuring specific properties based on the use case, you can look at the entire list of the configurable properties [here.](https://argocd-operator.readthedocs.io/en/latest/reference/argocd/)
For configuring specific properties based on the use case, you can look at the entire list of the configurable properties [here.](https://gitops-operator.readthedocs.io/en/latest/reference/argocd/)

### Build and Serve Argo CD Operator Docs

Expand Down
2 changes: 1 addition & 1 deletion argocd-operator/docs/developer-guide/e2e-test-guide.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Argo CD Operator E2E Test Guide

E2E tests are written using Ginkgo. See [documentation within the source repository](https://github.com/argoproj-labs/argocd-operator/tree/master/tests/ginkgo) for additional information.
E2E tests are written using Ginkgo. See [documentation within the source repository](https://github.com/redhat-developer/gitops-operator/tree/master/test/openshift/e2e/ginkgo) for additional information.
20 changes: 13 additions & 7 deletions argocd-operator/docs/index.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,27 @@
# Argo CD Operator
# GitOps Operator

A Kubernetes operator for managing Argo CD clusters.
An operator for managing Argo CD clusters, for OpenShift and Kubernetes

## Overview

The Argo CD Operator manages the full lifecycle for [Argo CD](https://argoproj.github.io/argo-cd/) and its
The GitOps Operator manages the full lifecycle for [Argo CD](https://argoproj.github.io/argo-cd/) and its
components. The operator's goal is to automate the tasks required when operating an Argo CD cluster.

Beyond installation, the operator helps to automate the process of upgrading, backing up and restoring as needed and
remove the human as much as possible. In addition, the operator aims to provide deep insights into the Argo CD
environment by configuring Prometheus to aggregate, visualize and expose the metrics already exported by
Argo CD.

The operator aims to provide the following, and is a work in progress.
## Features

* Easy configuration and installation of the Argo CD components with sane defaults to get up and running quickly.
* Provide seamless upgrades to the Argo CD components.
* Ability to back up and restore an Argo CD cluster from a point in time or on a recurring schedule.
The operator aims to provide the following:

* Easy configuration and installation of the Git Ops components with sane defaults to get up and running quickly.
* The Argo CD itself
* [Argo CD Image Updater](https://argocd-image-updater.readthedocs.io/en/stable/)
* [Argo Rollouts](https://argoproj.github.io/rollouts/)
* [GitOps Promoter](https://gitops-promoter.readthedocs.io/en/latest/)
* Provide seamless upgrades to the operated components.
* Aggregate and expose the metrics for Argo CD and the operator itself using Prometheus.
* Autoscale the Argo CD components as necessary to handle variability in demand.

Loading
Loading