diff --git a/core/resource-renderer/Makefile b/core/resource-renderer/Makefile
index 17b18a4..d9ba93b 100644
--- a/core/resource-renderer/Makefile
+++ b/core/resource-renderer/Makefile
@@ -1,6 +1,6 @@
 
 # Image URL to use all building/pushing image targets
-IMG ?= controller:latest
+IMG ?= giolekva/resource-renderer-controller:latest
 # ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
 ENVTEST_K8S_VERSION = 1.24.2
 
@@ -70,11 +70,11 @@
 
 .PHONY: docker-build
 docker-build: test ## Build docker image with the manager.
-	docker build -t ${IMG} .
+	podman build -t ${IMG} .
 
 .PHONY: docker-push
 docker-push: ## Push docker image with the manager.
-	docker push ${IMG}
+	podman push ${IMG}
 
 ##@ Deployment
 
@@ -84,7 +84,7 @@
 
 .PHONY: install
 install: manifests kustomize ## Install CRDs into the K8s cluster specified in ~/.kube/config.
-	$(KUSTOMIZE) build config/crd | kubectl apply -f -
+	$(KUSTOMIZE) build config/crd # | kubectl apply -f -
 
 .PHONY: uninstall
 uninstall: manifests kustomize ## Uninstall CRDs from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion.
@@ -93,7 +93,7 @@
 .PHONY: deploy
 deploy: manifests kustomize ## Deploy controller to the K8s cluster specified in ~/.kube/config.
 	cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG}
-	$(KUSTOMIZE) build config/default | kubectl apply -f -
+	$(KUSTOMIZE) build config/default # | kubectl apply -f -
 
 .PHONY: undeploy
 undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion.
@@ -130,3 +130,8 @@
 envtest: $(ENVTEST) ## Download envtest-setup locally if necessary.
 $(ENVTEST): $(LOCALBIN)
 	test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
+
+generate-helm-chart: manifests kustomize
+	$(KUSTOMIZE) build config/crd > ../../charts/resource-renderer-controller/templates/crds.yaml
+	cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG}
+	$(KUSTOMIZE) build config/default | sed 's/: resource-renderer-system/: {{ .Release.Namespace }}/g' > ../../charts/resource-renderer-controller/templates/install.yaml
diff --git a/core/resource-renderer/api/v1/resourcerenderer_types.go b/core/resource-renderer/api/v1/resourcerenderer_types.go
index 62f0c0a..35e0b02 100644
--- a/core/resource-renderer/api/v1/resourcerenderer_types.go
+++ b/core/resource-renderer/api/v1/resourcerenderer_types.go
@@ -38,6 +38,7 @@
 type ResourceRendererStatus struct {
 	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
 	// Important: Run "make" to regenerate code after modifying this file
+	Ready bool `json:"ready,omitempty"`
 }
 
 //+kubebuilder:object:root=true
diff --git a/core/resource-renderer/config/crd/bases/dodo.cloud.dodo.cloud_resourcerenderers.yaml b/core/resource-renderer/config/crd/bases/dodo.cloud.dodo.cloud_resourcerenderers.yaml
index 83a80c5..e76a72a 100644
--- a/core/resource-renderer/config/crd/bases/dodo.cloud.dodo.cloud_resourcerenderers.yaml
+++ b/core/resource-renderer/config/crd/bases/dodo.cloud.dodo.cloud_resourcerenderers.yaml
@@ -46,6 +46,12 @@
             type: object
           status:
             description: ResourceRendererStatus defines the observed state of ResourceRenderer
+            properties:
+              ready:
+                description: 'INSERT ADDITIONAL STATUS FIELD - define observed state
+                  of cluster Important: Run "make" to regenerate code after modifying
+                  this file'
+                type: boolean
             type: object
         type: object
     served: true
diff --git a/core/resource-renderer/config/manager/kustomization.yaml b/core/resource-renderer/config/manager/kustomization.yaml
index 2bcd3ee..6b7f387 100644
--- a/core/resource-renderer/config/manager/kustomization.yaml
+++ b/core/resource-renderer/config/manager/kustomization.yaml
@@ -5,6 +5,12 @@
   disableNameSuffixHash: true
 
 configMapGenerator:
-- name: manager-config
-  files:
+- files:
   - controller_manager_config.yaml
+  name: manager-config
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+images:
+- name: controller
+  newName: giolekva/resource-renderer-controller
+  newTag: latest
diff --git a/core/resource-renderer/config/samples/dodo.cloud_v1_resourcerenderer.yaml b/core/resource-renderer/config/samples/dodo.cloud_v1_resourcerenderer.yaml
index 7bde7b1..531f50c 100644
--- a/core/resource-renderer/config/samples/dodo.cloud_v1_resourcerenderer.yaml
+++ b/core/resource-renderer/config/samples/dodo.cloud_v1_resourcerenderer.yaml
@@ -4,8 +4,8 @@
   name: resourcerenderer-sample
   namespace: test
 spec:
-  secretName: oauth2-client-headscale
-  secretNamespace: lekva-app-headscale
+  secretName: test
+  secretNamespace: test
   resourceTemplate: |
     apiVersion: v1
     kind: ConfigMap
@@ -14,290 +14,4 @@
       namespace: test
     data:
       config.yaml: |
-        # headscale will look for a configuration file named `config.yaml` (or `config.json`) in the following order:
-        #
-        # - `/etc/headscale`
-        # - `~/.headscale`
-        # - current working directory
-
-        # The url clients will connect to.
-        # Typically this will be a domain like:
-        #
-        # https://myheadscale.example.com:443
-        #
-        server_url: https://.Values.domain
-
-        # Address to listen to / bind to on the server
-        #
-        # For production:
-        listen_addr: 0.0.0.0:8080
-        # listen_addr: 127.0.0.1:8080
-
-        # Address to listen to /metrics, you may want
-        # to keep this endpoint private to your internal
-        # network
-        #
-        metrics_listen_addr: 0.0.0.0:9090
-        # metrics_listen_addr: 127.0.0.1:9090
-
-        # Address to listen for gRPC.
-        # gRPC is used for controlling a headscale server
-        # remotely with the CLI
-        # Note: Remote access _only_ works if you have
-        # valid certificates.
-        #
-        # For production:
-        grpc_listen_addr: 0.0.0.0:50443
-        # grpc_listen_addr: 127.0.0.1:50443
-
-        # Allow the gRPC admin interface to run in INSECURE
-        # mode. This is not recommended as the traffic will
-        # be unencrypted. Only enable if you know what you
-        # are doing.
-        grpc_allow_insecure: false
-
-        # Private key used to encrypt the traffic between headscale
-        # and Tailscale clients.
-        # The private key file will be autogenerated if it's missing.
-        #
-        # For production:
-        # /var/lib/headscale/private.key
-        private_key_path: /headscale/data/private.key
-
-        # The Noise section includes specific configuration for the
-        # TS2021 Noise protocol
-        noise:
-          # The Noise private key is used to encrypt the
-          # traffic between headscale and Tailscale clients when
-          # using the new Noise-based protocol. It must be different
-          # from the legacy private key.
-          #
-          # For production:
-          # private_key_path: /var/lib/headscale/noise_private.key
-          private_key_path: /headscale/data/noise_private.key
-
-        # List of IP prefixes to allocate tailaddresses from.
-        # Each prefix consists of either an IPv4 or IPv6 address,
-        # and the associated prefix length, delimited by a slash.
-        ip_prefixes:
-          # - fd7a:115c:a1e0::/48
-          - 100.64.0.0/10
-
-        # DERP is a relay system that Tailscale uses when a direct
-        # connection cannot be established.
-        # https://tailscale.com/blog/how-tailscale-works/#encrypted-tcp-relays-derp
-        #
-        # headscale needs a list of DERP servers that can be presented
-        # to the clients.
-        derp:
-          server:
-            # If enabled, runs the embedded DERP server and merges it into the rest of the DERP config
-            # The Headscale server_url defined above MUST be using https, DERP requires TLS to be in place
-            enabled: false
-
-            # Region ID to use for the embedded DERP server.
-            # The local DERP prevails if the region ID collides with other region ID coming from
-            # the regular DERP config.
-            region_id: 999
-
-            # Region code and name are displayed in the Tailscale UI to identify a DERP region
-            region_code: "headscale"
-            region_name: "Headscale Embedded DERP"
-
-            # Listens over UDP at the configured address for STUN connections - to help with NAT traversal.
-            # When the embedded DERP server is enabled stun_listen_addr MUST be defined.
-            #
-            # For more details on how this works, check this great article: https://tailscale.com/blog/how-tailscale-works/
-            stun_listen_addr: "0.0.0.0:3478"
-
-          # List of externally available DERP maps encoded in JSON
-          urls:
-            - https://controlplane.tailscale.com/derpmap/default
-
-          # Locally available DERP map files encoded in YAML
-          #
-          # This option is mostly interesting for people hosting
-          # their own DERP servers:
-          # https://tailscale.com/kb/1118/custom-derp-servers/
-          #
-          # paths:
-          #   - /etc/headscale/derp-example.yaml
-          paths: []
-
-          # If enabled, a worker will be set up to periodically
-          # refresh the given sources and update the derpmap
-          # will be set up.
-          auto_update_enabled: true
-
-          # How often should we check for DERP updates?
-          update_frequency: 24h
-
-        # Disables the automatic check for headscale updates on startup
-        disable_check_updates: true
-
-        # Time before an inactive ephemeral node is deleted?
-        ephemeral_node_inactivity_timeout: 30m
-
-        # Period to check for node updates within the tailnet. A value too low will severely affect
-        # CPU consumption of Headscale. A value too high (over 60s) will cause problems
-        # for the nodes, as they won't get updates or keep alive messages frequently enough.
-        # In case of doubts, do not touch the default 10s.
-        node_update_check_interval: 10s
-
-        # SQLite config
-        db_type: sqlite3
-
-        # For production:
-        # db_path: /var/lib/headscale/db.sqlite
-        db_path: /headscale/data/db.sqlite
-
-        # # Postgres config
-        # If using a Unix socket to connect to Postgres, set the socket path in the 'host' field and leave 'port' blank.
-        # db_type: postgres
-        # db_host: localhost
-        # db_port: 5432
-        # db_name: headscale
-        # db_user: foo
-        # db_pass: bar
-
-        # If other 'sslmode' is required instead of 'require(true)' and 'disabled(false)', set the 'sslmode' you need
-        # in the 'db_ssl' field. Refers to https://www.postgresql.org/docs/current/libpq-ssl.html Table 34.1.
-        # db_ssl: false
-
-        ### TLS configuration
-        #
-        ## Let's encrypt / ACME
-        #
-        # headscale supports automatically requesting and setting up
-        # TLS for a domain with Let's Encrypt.
-        #
-        # URL to ACME directory
-        acme_url: https://acme-v02.api.letsencrypt.org/directory
-
-        # Email to register with ACME provider
-        acme_email: ""
-
-        # Domain name to request a TLS certificate for:
-        tls_letsencrypt_hostname: ""
-
-        # Path to store certificates and metadata needed by
-        # letsencrypt
-        # For production:
-        # tls_letsencrypt_cache_dir: /var/lib/headscale/cache
-        tls_letsencrypt_cache_dir: ./cache
-
-        # Type of ACME challenge to use, currently supported types:
-        # HTTP-01 or TLS-ALPN-01
-        # See [docs/tls.md](docs/tls.md) for more information
-        tls_letsencrypt_challenge_type: HTTP-01
-        # When HTTP-01 challenge is chosen, letsencrypt must set up a
-        # verification endpoint, and it will be listening on:
-        # :http = port 80
-        tls_letsencrypt_listen: ":http"
-
-        ## Use already defined certificates:
-        tls_cert_path: ""
-        tls_key_path: ""
-
-        log:
-          # Output formatting for logs: text or json
-          format: text
-          level: info
-
-        # Path to a file containg ACL policies.
-        # ACLs can be defined as YAML or HUJSON.
-        # https://tailscale.com/kb/1018/acls/
-        acl_policy_path: ""
-
-        ## DNS
-        #
-        # headscale supports Tailscale's DNS configuration and MagicDNS.
-        # Please have a look to their KB to better understand the concepts:
-        #
-        # - https://tailscale.com/kb/1054/dns/
-        # - https://tailscale.com/kb/1081/magicdns/
-        # - https://tailscale.com/blog/2021-09-private-dns-with-magicdns/
-        #
-        dns_config:
-          # Whether to prefer using Headscale provided DNS or use local.
-          override_local_dns: true
-
-          # List of DNS servers to expose to clients.
-          nameservers:
-            - 8.8.8.8
-            - 1.1.1.1
-
-          # NextDNS (see https://tailscale.com/kb/1218/nextdns/).
-          # "abc123" is example NextDNS ID, replace with yours.
-          #
-          # With metadata sharing:
-          # nameservers:
-          #   - https://dns.nextdns.io/abc123
-          #
-          # Without metadata sharing:
-          # nameservers:
-          #   - 2a07:a8c0::ab:c123
-          #   - 2a07:a8c1::ab:c123
-
-          # Split DNS (see https://tailscale.com/kb/1054/dns/),
-          # list of search domains and the DNS to query for each one.
-          #
-          # restricted_nameservers:
-          #   foo.bar.com:
-          #     - 1.1.1.1
-          #   darp.headscale.net:
-          #     - 1.1.1.1
-          #     - 8.8.8.8
-
-          # Search domains to inject.
-          domains: []
-
-          # Whether to use [MagicDNS](https://tailscale.com/kb/1081/magicdns/).
-          # Only works if there is at least a nameserver defined.
-          magic_dns: true
-
-          # Defines the base domain to create the hostnames for MagicDNS.
-          # `base_domain` must be a FQDNs, without the trailing dot.
-          # The FQDN of the hosts will be
-          # `hostname.namespace.base_domain` (e.g., _myhost.mynamespace.example.com_).
-          base_domain: .Values.internalBaseDomain
-
-        # Unix socket used for the CLI to connect without authentication
-        # Note: for production you will want to set this to something like:
-        # unix_socket: /var/run/headscale.sock
-        unix_socket: ./headscale.sock
-        unix_socket_permission: "0770"
-        #
-        # headscale supports experimental OpenID connect support,
-        # it is still being tested and might have some bugs, please
-        # help us test it.
-        # OpenID Connect
-        oidc:
-          only_start_if_oidc_is_available: false
-          issuer: .Values.oauth2.hydraPublic
-          client_id: {{ .client_id }}
-          client_secret: {{ .client_secret }}
-          scope: ["openid", "profile", "email"]
-          extra_params:
-            domain_hint: lekva.me
-          allowed_domains:
-            - lekva.me
-          # allowed_groups:
-          #   - /headscale
-          # allowed_users:
-          #   - alice@example.com
-          strip_email_domain: true
-
-        # Logtail configuration
-        # Logtail is Tailscales logging and auditing infrastructure, it allows the control panel
-        # to instruct tailscale nodes to log their activity to a remote server.
-        logtail:
-          # Enable logtail for this headscales clients.
-          # As there is currently no support for overriding the log server in headscale, this is
-          # disabled by default. Enabling this will make your clients send logs to Tailscale Inc.
-          enabled: false
-
-        # Enabling this option makes devices prefer a random port for WireGuard traffic over the
-        # default static port 41641. This option is intended as a workaround for some buggy
-        # firewall devices. See https://tailscale.com/kb/1181/firewalls/ for more information.
-        randomize_client_port: true
+        foo: {{ .bar }}
diff --git a/core/resource-renderer/controllers/resourcerenderer_controller.go b/core/resource-renderer/controllers/resourcerenderer_controller.go
index 5ad21b9..8a57996 100644
--- a/core/resource-renderer/controllers/resourcerenderer_controller.go
+++ b/core/resource-renderer/controllers/resourcerenderer_controller.go
@@ -20,6 +20,7 @@
 	"bytes"
 	"context"
 	"text/template"
+	"time"
 
 	corev1 "k8s.io/api/core/v1"
 	"k8s.io/apimachinery/pkg/runtime"
@@ -61,7 +62,10 @@
 		Namespace: req.Namespace,
 		Name:      req.Name,
 	}, resource); err != nil {
-		return ctrl.Result{}, err
+		return ctrl.Result{RequeueAfter: time.Minute}, err
+	}
+	if resource.Status.Ready {
+		return ctrl.Result{}, nil
 	}
 	secret := &corev1.Secret{}
 	ns := resource.Spec.SecretNamespace
@@ -72,7 +76,7 @@
 		Namespace: ns,
 		Name:      resource.Spec.SecretName,
 	}, secret); err != nil {
-		return ctrl.Result{}, err
+		return ctrl.Result{RequeueAfter: time.Minute}, err
 	}
 	data := make(map[string]string)
 	for key, value := range secret.Data {
@@ -80,20 +84,23 @@
 	}
 	tmpl, err := template.New("resource").Parse(resource.Spec.ResourceTemplate)
 	if err != nil {
-		return ctrl.Result{}, err
+		return ctrl.Result{RequeueAfter: time.Minute}, err
 	}
 	var rendered bytes.Buffer
 	if err := tmpl.Execute(&rendered, data); err != nil {
-		return ctrl.Result{}, err
+		return ctrl.Result{RequeueAfter: time.Minute}, err
 	}
 	config := &corev1.ConfigMap{}
 	if err := yaml.Unmarshal(rendered.Bytes(), config); err != nil {
-		return ctrl.Result{}, err
+		return ctrl.Result{RequeueAfter: time.Minute}, err
 	}
 	if err := r.Create(context.Background(), config); err != nil {
-		return ctrl.Result{}, err
+		return ctrl.Result{RequeueAfter: time.Minute}, err
 	}
-
+	resource.Status.Ready = true
+	if err := r.Status().Update(context.Background(), resource); err != nil {
+		return ctrl.Result{RequeueAfter: time.Minute}, err
+	}
 	return ctrl.Result{}, nil
 }
 
