{"id":31816690,"url":"https://github.com/splunk/acs-privateapps-demo","last_synced_at":"2025-10-11T09:57:46.460Z","repository":{"id":38118963,"uuid":"331423074","full_name":"splunk/acs-privateapps-demo","owner":"splunk","description":"Demo of private-apps ci/cd integration into splunkcloud using the admin config service","archived":false,"fork":false,"pushed_at":"2023-12-20T21:20:17.000Z","size":3055,"stargazers_count":17,"open_issues_count":2,"forks_count":6,"subscribers_count":13,"default_branch":"main","last_synced_at":"2024-06-19T06:56:48.352Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/splunk.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2021-01-20T20:25:38.000Z","updated_at":"2024-06-19T06:56:48.353Z","dependencies_parsed_at":"2023-12-21T00:01:21.530Z","dependency_job_id":null,"html_url":"https://github.com/splunk/acs-privateapps-demo","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/splunk/acs-privateapps-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splunk%2Facs-privateapps-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splunk%2Facs-privateapps-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splunk%2Facs-privateapps-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splunk%2Facs-privateapps-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/splunk","download_url":"https://codeload.github.com/splunk/acs-privateapps-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splunk%2Facs-privateapps-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006749,"owners_count":26084185,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-10-11T09:57:39.989Z","updated_at":"2025-10-11T09:57:46.455Z","avatar_url":"https://github.com/splunk.png","language":"Go","readme":"# acs-privateapps-demo\n\nThis repository demonstrates how one can use [Splunkcloud's self-service apis](https://www.splunk.com/en_us/blog/platform/splunk-cloud-self-service-announcing-the-new-admin-config-service-api.html) and [ACS CLI](https://docs.splunk.com/Documentation/SplunkCloud/latest/Config/ACSCLI) to build a pipeline that can continuously deploy Splunk apps to Splunk Enterprise Cloud stacks.\n\n## Workflows\n\n### [InstallApp](./.github/workflows/main.yml)\nThe workflow primarily consists of 4 steps:\n1. Build cloudctl (`make build-cloudctl`), the CLI that will be used for the remaining steps -- this step assumes that [go](https://golang.org) is installed.\n1. Package the app artifacts into a tar gz archive (`make generate-app-package`) -- this step assumes there is a top-level directory called `testapp` which contains the app.\n1. Upload the app-package to the app inspect service and wait for the inspection report (`make inspect-app`) -- this step assumes the existence of the environment variables defined below.\n1. If the inspection is successful, install/update the app on the stack using the self-serive apis (`make install-app`) -- this step also assumes the existence of the environment variables defined below.\n\n### [ACS CLI Demo](./.github/workflows/acs-demo.yml)\nThe workflow consists of the following steps:\n1.  Package the app artifacts into a tar gz archive (`make generate-app-package`) -- this step assumes there is a top-level directory called `testapp` which contains the app.\n2. Install [Homebrew on Linux](https://docs.brew.sh/Homebrew-on-Linux).\n3. Install [ACS CLI](https://docs.splunk.com/Documentation/SplunkCloud/latest/Config/ACSCLI#Install_or_upgrade_the_ACS_CLI) from Homebrew.\n4. Configure ACS CLI (setup stack and required credentials)\n5. Inspect and install app using ACS CLI `acs apps install private` command.\n\n\n## Note\n* Few steps (app-vetting and app-installation) have Victoria and Classic variations in the Makefile.\n* For Stacks in Victoria Experience: Make sure your Victoria stack in at least on Butterfinger (8.2.2112) to use this github demo.\n\n## Setting up the environment\nThe environment needs to be configured with a few variables. If leveraging this from a Github repository using Github Actions workflows, the variables will need to be set up as [secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets). If running this locally, these values simply need to be set as environment variables:\n* `SPLUNK_COM_USERNAME` / `SPLUNK_COM_PASSWORD` - the [splunk.com](https://login.splunk.com/) credentials to use for authentication to perform app inspection.\n* `STACK_NAME` - the name of the Splunk Cloud stack where you want to install/update the app package on.\n* `STACK_TOKEN` - the [JWT Token](https://docs.splunk.com/Documentation/Splunk/latest/Security/Setupauthenticationwithtokens) created on the stack.\n\n\n## Publishing a new version\nThis repository has been used as dependencies for other projects.\n\nTo manage the dependencies easily by specifying different versions for this module, we will use the module version numbering as recommended by Go - https://go.dev/doc/modules/version-numbers. The versioning will be done using GitHub tags.\n\nTo create a new tag, run the following command:\n```shell\n$ git tag vx.x.x\n$ git push origin vx.x.x\n```\n\nAlternatively, you can use the GitHub action `Release Package` to release generate new tags.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplunk%2Facs-privateapps-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsplunk%2Facs-privateapps-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplunk%2Facs-privateapps-demo/lists"}