{"id":19271992,"url":"https://github.com/warfox/clojure-cdk-example","last_synced_at":"2025-10-24T06:10:17.646Z","repository":{"id":193385557,"uuid":"688696848","full_name":"WarFox/clojure-cdk-example","owner":"WarFox","description":"Clojure CDK example","archived":false,"fork":false,"pushed_at":"2023-09-13T23:32:33.000Z","size":19,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-05T13:31:12.557Z","etag":null,"topics":["cdk","cdk-example","cljs","clojure"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WarFox.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-07T23:05:49.000Z","updated_at":"2024-11-22T00:00:28.000Z","dependencies_parsed_at":"2023-09-08T00:58:24.024Z","dependency_job_id":"44bb9554-0174-477a-828c-7fe8e1480f2b","html_url":"https://github.com/WarFox/clojure-cdk-example","commit_stats":null,"previous_names":["warfox/clojure-cdk-example"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WarFox%2Fclojure-cdk-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WarFox%2Fclojure-cdk-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WarFox%2Fclojure-cdk-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WarFox%2Fclojure-cdk-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WarFox","download_url":"https://codeload.github.com/WarFox/clojure-cdk-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240373902,"owners_count":19791299,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cdk","cdk-example","cljs","clojure"],"created_at":"2024-11-09T20:35:04.442Z","updated_at":"2025-10-24T06:10:12.608Z","avatar_url":"https://github.com/WarFox.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+title: Clojure CDK Example\n\nThis is an example project for CDK development with Clojure.\n\nThe `cdk.json` file tells the CDK Toolkit how to execute your app.\n\n** Stack\n\nThis example systhesises an SQS Queue and an SNS Topic and adds a\nsubscription for the topic\n\n** Useful commands\n\n * `clj -M:test`     Run Tests\n * `cdk ls`          list all stacks in the app\n * `cdk synth`       emits the synthesized CloudFormation template\n * `cdk deploy`      deploy this stack to your default AWS account/region\n * `cdk diff`        compare deployed stack with current state\n * `cdk docs`        open CDK documentation\n\n** Multi-Stack deployment\n\n * `cdk deploy StorageStack` deploy the storage stack\n * `cdk deploy TopicStack`   deploy the topic stack\n * `cdk deploy --all`        deploy all stacks\n\n** How it works\n\n[[https://github.com/weavejester/integrant][Integrant]] is the main tool behind this setup, it manages the dependencies\nbetween resources and stacks, by using a simple configuration map {}\n\nCDK Java depends on =software.amazon.awscdk.App= instance and related\n=software.amazon.awscdk.Stack= instances\n\nIntegrant  is used to manage the dependencies between them. The following\nis the configuration used by the integrant system.\n\n#+begin_src clojure\n  (def config\n    {:app/instance   {}\n     :stacks/topic   {:app      (ig/ref :app/instance)\n                      :stack-id \"TopicStack\"}\n     :stacks/storage {:app      (ig/ref :app/instance)\n                      :stack-id \"StorageStack\"}\n     :app/synth      {:app    (ig/ref :app/instance)\n                      :stacks [(ig/ref :stacks/topic)\n                               (ig/ref :stacks/storage)]}})\n#+end_src\n\nYou can define more stacks and add them to the =:stacks= vector in =:app/synth=\n\nRefer [[https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-java.html#java-running][CDK Java documentation]] for more.\n\nEnjoy!\n\n** License\nCopyright © 2023 Deepu Mohan Puthrote\n\nDistributed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwarfox%2Fclojure-cdk-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwarfox%2Fclojure-cdk-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwarfox%2Fclojure-cdk-example/lists"}