From 1c6d093f40f6bf2d7ebc3ef82907ea4d61ea7435 Mon Sep 17 00:00:00 2001 From: Mark Murnane Date: Mon, 15 Apr 2024 00:23:22 -0400 Subject: [PATCH 01/11] Loading config from environment --- Dockerfile | 30 +---- development-defaults.ini | 188 ----------------------------- docker-compose.yml | 18 +-- healthcheck.sh | 8 ++ rebuild-config.sh | 12 -- setup.py | 2 +- sideboard-development.ini.template | 27 ----- uber-development.ini.template | 11 -- uber-wrapper.sh | 26 +--- uber/_version.py | 2 +- uber/config.py | 2 +- uber/configspec.ini | 3 +- uber/models/__init__.py | 2 +- uber/payments.py | 3 - uber/tasks/shifts.py | 0 15 files changed, 26 insertions(+), 308 deletions(-) delete mode 100644 development-defaults.ini delete mode 100644 rebuild-config.sh delete mode 100644 sideboard-development.ini.template delete mode 100644 uber-development.ini.template create mode 100644 uber/tasks/shifts.py diff --git a/Dockerfile b/Dockerfile index 93f637dbd..8ba42b64b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,14 +12,10 @@ ADD requirements*.txt plugins/uber/ ADD setup.py plugins/uber/ ADD uber/_version.py plugins/uber/uber/ -RUN /app/env/bin/paver install_deps +RUN --mount=type=cache,target=/root/.cache /app/env/bin/paver install_deps -ADD uber-development.ini.template ./uber-development.ini.template -ADD sideboard-development.ini.template ./sideboard-development.ini.template ADD uber-wrapper.sh /usr/local/bin/ RUN chmod +x /usr/local/bin/uber-wrapper.sh -ADD rebuild-config.sh /usr/local/bin/ -RUN chmod +x /usr/local/bin/rebuild-config.sh RUN <> PLUGINS.json $PLUGINS @@ -29,30 +25,6 @@ RUN jq -r '.[] | "git clone --depth 1 --branch \(.branch|@sh) \(.repo|@sh) \(.pa ADD . plugins/uber/ -# These are just semi-reasonable defaults. Use either -e or --env-file to set what you need -# I.e.: -# docker run -it -e HOST=192.168.0.10 -e PORT=80 ghcr.io/magfest/ubersystem:main -# or -# echo "HOST=192.168.0.10" > uberenv -# docker run -it --env-file uberenv ghcr.io/magfest/ubersystem:main -ENV HOST=0.0.0.0 -ENV PORT=8282 -ENV HOSTNAME=localhost -ENV DEFAULT_URL= -ENV DEBUG=false -ENV SESSION_HOST=redis -ENV SESSION_PORT=6379 -ENV REDIS_HOST=redis -ENV REDIS_PORT=6379 -ENV SESSION_PREFIX=uber -ENV BROKER_PROTOCOL=amqp -ENV BROKER_HOST=rabbitmq -ENV BROKER_PORT=5672 -ENV BROKER_USER=celery -ENV BROKER_PASS=celery -ENV BROKER_VHOST=uber -ENV BROKER_PREFIX=uber - FROM build as test RUN /app/env/bin/pip install mock pytest CMD /app/env/bin/python3 -m pytest plugins/uber diff --git a/development-defaults.ini b/development-defaults.ini deleted file mode 100644 index d66533de6..000000000 --- a/development-defaults.ini +++ /dev/null @@ -1,188 +0,0 @@ -path = "/rams" -hostname = "localhost" -url_root = "https://localhost" - -consent_form_url = "http://magfest.org/parentalconsentform" - - - -regdesk_email_signature = ''' - Victoria Earl, -MAGFest Registration Chair''' - -stops_email_signature = '''Staff Operations Department -stops@magfest.org -MAGFest Inc. -http://www.magfest.org''' - -marketplace_email_signature = ''' - Danielle Pomfrey, -MAGFest Marketplace Coordinator''' - -panels_email_signature = ''' - Tom Hyre, -MAGFest Director of Panel Operations''' - -guest_email_signature = ''' - Steph Prader, -MAGFest Guest Coordinator''' - -mivs_email_signature = '''Thank you, -- The MIVS Staff''' - -rooms_locked_in = True - - -expected_response = "December 2016" - -alt_schedule_url = "" - -tabletop_locations = , - - -[dates] -room_deadline = "2015-11-30" -panels_deadline = "2016-10-31" - -[badge_prices] - -[[single_day]] - -[[attendee]] - - -[table_prices] -default_price = 300 - -[badge_ranges] -staff_badge = 1, 999 -guest_badge = 2000, 2999 -contractor_badge = 3000, 29999 -attendee_badge = 3000, 29999 -one_day_badge = 30000, 39999 - - -[age_groups] - -[[under_6]] -desc = "Under 6" -min_age = 0 -max_age = 5 -discount = 999 -can_volunteer = False -consent_form = True -wristband_color = "red" - -[[under_13]] -desc = "Between 6 and 13" -min_age = 6 -max_age = 12 -discount = 0 -can_volunteer = False -consent_form = True -wristband_color = "red" - -[[under_18]] -desc = "Between 13 and 18" -min_age = 13 -max_age = 17 -discount = 0 -can_volunteer = False -consent_form = True -wristband_color = "red" - -[[under_21]] -desc = "Between 18 and 21" -min_age = 18 -max_age = 20 -discount = 0 -can_volunteer = True -consent_form = False -wristband_color = "blue" - -[[over_21]] -desc = "21 or older" -min_age = 21 -max_age = 99 -discount = 0 -can_volunteer = True -consent_form = False -wristband_color = "green" - - -[integer_enums] -size_unknown = -1 -no_shirt = 0 - -[[donation_tier]] -'No thanks' = 0 - -[[shirt]] -'Please select a size' = NO_SHIRT - -[[staff_shirt]] -'Please select a size' = NO_SHIRT - -[[fee_price]] -'Badge Replacement' = 80 - -[[store_price]] -'MAGFest 2016 tshirt' = 20 -'Squarewave tshirt' = 15 -'Polo Shirt' = 25 -'Hoodie' = 30 -'Scarf' = 25 -'Beanie' = 15 -'Pin (MAGBadge)' = 8 -'Pin (MAGFest Logo)' = 8 -'Pin set of 2' = 15 -'Poster' = 3 -'Lanyard' = 5 -'Wristband' = 1 -'MAGnet (indoor)' = 2 -'MAGnet (outdoor)' = 4 -'Bumper Sticker' = 3 -'Squarewave Bumper Sticker' = 2 -'MAGFest 2016 Car Decal (Small)' = 3 -'MAGFest 2016 Car Decal (Large)' = 5 -'Squarewave Car Decal (Small)' = 3 -'Squarewave Car Decal (Large)' = 5 -'Other Sticker' = 1 - - -[enums] - -[[sale]] -merch = "Merch" -cash = "Cash" -credit = "Credit Card" - -[[payment_method]] -cash = "Cash" -stripe = "Stripe" -square = "Square" -manual = "Stripe (Manual)" -group = "Group" -stripe_error = "Stripe (Error Override)" - -[[fee_payment_method]] -cash = "cash" -credit = "credit" - -[[new_reg_payment_method]] -cash = "Cash" -square = "Square" -stripe_error = "Stripe Error Override" - -[[door_payment_method]] -cash = "Pay with cash" -stripe = "Pay with credit card now (faster, can use prereg line)" -manual = "Pay with credit card at the registration desk" - -[[event_location]] - -[[dept_head_overrides]] -security = "The Dorsai Irregulars" - -[dept_head_checklist] - - -[secret] -test_db_file = "/tmp/uber.db" -sqlalchemy_url = "sqlite+pysqlite:///%(test_db_file)s" \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 26536b2a9..a0b5e6e29 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,22 +2,24 @@ x-uber: &uber build: . environment: - - &uber-db-connect DB_CONNECTION_STRING=postgresql://uber_db:uber_db@db:5432/uber_db + - DB_CONNECTION_STRING=postgresql://uber_db:uber_db@db:5432/uber_db + - sideboard_cherrypy_server.socket_port=80 + - sideboard_cherrypy_server.socket_host=0.0.0.0 + - sideboard_cherrypy_server.socket_timeout=1 + - sideboard_cherrypy_tools.sessions.host=redis + - sideboard_cherrypy_tools.sessions.prefix=uber + - sideboard_cherrypy_tools.sessions.storage_type=redis + - sideboard_loggers_cherrypy.access=DEBUG + - uber_redis_host=redis + - uber_secret_broker_url=amqp://celery:celery@rabbitmq:5672/uber volumes: - $PWD:/app/plugins/uber - links: - - db - - redis - - rabbitmq services: web: <<: *uber ports: - 80:80 - environment: - - *uber-db-connect - - PORT=80 celery-beat: <<: *uber command: ['celery-beat'] diff --git a/healthcheck.sh b/healthcheck.sh index bfd7032d0..fbbf84dde 100755 --- a/healthcheck.sh +++ b/healthcheck.sh @@ -5,6 +5,14 @@ # I.e. ./healthcheck.sh uber set -e +RESULT_PROTOCOL=$(echo "${BROKER_PROTOCOL}" | sed 's/amqps/rpc/g;s/amqp/rpc/g') +cat < celeryconf.py +# celery config used for celery cli-based health checks (Not loaded by ubersystem directly) +broker_url = "${BROKER_PROTOCOL}://${BROKER_USER}:${BROKER_PASS}@${BROKER_HOST}:${BROKER_PORT}/${BROKER_VHOST}" +result_backend = "${RESULT_PROTOCOL}://${BROKER_USER}:${BROKER_PASS}@${BROKER_HOST}:${BROKER_PORT}/${BROKER_VHOST}" +result_backend_transport_options = {'global_prefix': "${BROKER_PREFIX}"} +EOF + # If no arguments are passed grab the current CMD from the entrypoint CMD="${1:-$(cat /proc/1/cmdline | strings -1 | tail -1)}" diff --git a/rebuild-config.sh b/rebuild-config.sh deleted file mode 100644 index 882ab60d1..000000000 --- a/rebuild-config.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -set -e - -# This will replace any variable references in these files -# If you want to add any additional settings here just add -# the variables to the environment when running this. -envsubst < "uber-development.ini.template" > /app/plugins/uber/development.ini -envsubst < "sideboard-development.ini.template" > /app/development.ini - -if [ "$1" = 'git' ]; then -/app/env/bin/python /app/plugins/uber/make_config.py --repo https://github.com/magfest/terraform-aws-magfest.git --paths uber_config/environments/dev uber_config/events/$2 uber_config/events/$2/$3 -fi \ No newline at end of file diff --git a/setup.py b/setup.py index c3a3643f6..277305fa6 100644 --- a/setup.py +++ b/setup.py @@ -9,6 +9,6 @@ author='Eli Courtwright', author_email='eli@courtwright.org', description='The MAGFest Ubersystem', - url='https://github.com/EliAndrewC/magfest', + url='https://github.com/magfest/ubersystem', install_requires=open('requirements.txt').readlines() ) diff --git a/sideboard-development.ini.template b/sideboard-development.ini.template deleted file mode 100644 index ee68a25d4..000000000 --- a/sideboard-development.ini.template +++ /dev/null @@ -1,27 +0,0 @@ -debug = ${DEBUG} -priority_plugins = "uber", -default_url = "${DEFAULT_URL}" -path = "${DEFAULT_URL}" - -[cherrypy] -engine.autoreload.on = False -server.socket_host = "${HOST}" -server.socket_port = ${PORT} -server.socket_timeout = 1 -server.thread_pool = 100 -tools.sessions.host = "${SESSION_HOST}" -tools.sessions.port = ${SESSION_PORT} -tools.sessions.prefix = "${SESSION_PREFIX}" -tools.sessions.storage_type = "redis" -tools.sessions.timeout = 60 - -[loggers] -root = "DEBUG" -cherrypy.access = "DEBUG" - -[handlers] - -[[stdout]] -class = "logging.StreamHandler" -stream = "ext://sys.stdout" -formatter = "indent_multiline" diff --git a/uber-development.ini.template b/uber-development.ini.template deleted file mode 100644 index ec62094e1..000000000 --- a/uber-development.ini.template +++ /dev/null @@ -1,11 +0,0 @@ -path = "${DEFAULT_URL}" -hostname = "${HOSTNAME}" -url_root = "http://${HOSTNAME}:${PORT}" - -[redis] -host = "${REDIS_HOST}" -port = ${REDIS_PORT} - -[secret] -broker_url = "${BROKER_PROTOCOL}://${BROKER_USER}:${BROKER_PASS}@${BROKER_HOST}:${BROKER_PORT}/${BROKER_VHOST}" -broker_prefix = "${BROKER_PREFIX}" \ No newline at end of file diff --git a/uber-wrapper.sh b/uber-wrapper.sh index 92f75b78e..aaae86465 100644 --- a/uber-wrapper.sh +++ b/uber-wrapper.sh @@ -1,33 +1,9 @@ #!/bin/bash set -e -# This will replace any variable references in these files -# If you want to add any additional settings here just add -# the variables to the environment when running this. -envsubst < "uber-development.ini.template" > /app/plugins/uber/development.ini -envsubst < "sideboard-development.ini.template" > /app/development.ini - -if [ -n "${UBERSYSTEM_GIT_CONFIG}" ]; then - echo "Loading UBERSYSTEM_CONFIG from git repo ${UBERSYSTEM_GIT_CONFIG}" - /app/env/bin/python /app/plugins/uber/make_config.py --repo "${UBERSYSTEM_GIT_CONFIG}" --paths ${UBERSYSTEM_GIT_CONFIG_PATHS} -fi - -if [ -n "${UBERSYSTEM_CONFIG}" ]; then - echo "Parsing config from environment" - /app/env/bin/python /app/plugins/uber/make_config.py -fi - -RESULT_PROTOCOL=$(echo "${BROKER_PROTOCOL}" | sed 's/amqps/rpc/g;s/amqp/rpc/g') -cat < celeryconf.py -# celery config used for celery cli-based health checks (Not loaded by ubersystem directly) -broker_url = "${BROKER_PROTOCOL}://${BROKER_USER}:${BROKER_PASS}@${BROKER_HOST}:${BROKER_PORT}/${BROKER_VHOST}" -result_backend = "${RESULT_PROTOCOL}://${BROKER_USER}:${BROKER_PASS}@${BROKER_HOST}:${BROKER_PORT}/${BROKER_VHOST}" -result_backend_transport_options = {'global_prefix': "${BROKER_PREFIX}"} -EOF - if [ "$1" = 'uber' ]; then echo "If this is the first time starting this server go to the following URL to create an account:" - echo "http://${HOSTNAME}:${PORT}${DEFAULT_URL}/accounts/insert_test_admin" + echo "http://localhost/accounts/insert_test_admin" echo "From there the default login is magfest@example.com / magfest" /app/env/bin/python3 /app/sideboard/sep.py alembic upgrade heads /app/env/bin/python3 /app/sideboard/run_server.py diff --git a/uber/_version.py b/uber/_version.py index c62c24eb9..32532f63d 100644 --- a/uber/_version.py +++ b/uber/_version.py @@ -1 +1 @@ -__version__ = '2017.07' +__version__ = '2024.04' diff --git a/uber/config.py b/uber/config.py index 817ff0d2c..4fa322c0f 100644 --- a/uber/config.py +++ b/uber/config.py @@ -375,7 +375,7 @@ def GROUP_PRICE(self): @property def PREREG_BADGE_TYPES(self): types = [self.ATTENDEE_BADGE, self.PSEUDO_DEALER_BADGE] - if c.AGE_GROUP_CONFIGS[c.UNDER_13]['can_register']: + if c.UNDER_13 in c.AGE_GROUP_CONFIGS and c.AGE_GROUP_CONFIGS[c.UNDER_13]['can_register']: types.append(self.CHILD_BADGE) for reg_open, badge_type in [(self.BEFORE_GROUP_PREREG_TAKEDOWN, self.PSEUDO_GROUP_BADGE)]: if reg_open: diff --git a/uber/configspec.ini b/uber/configspec.ini index d94183500..51d9622be 100644 --- a/uber/configspec.ini +++ b/uber/configspec.ini @@ -1274,8 +1274,10 @@ __many__ = integer # These sections need to exist but can stay empty for events which are not using # the features they represent. [[shirt]] +'Please select a size' = integer(default=0) [[shirt_stock]] [[staff_shirt]] +'Please select a size' = integer(default=0) [[prereg_shirt]] # If this is blank, we just use [[shirt]], otherwise we only show these for pre-order [[staff_event_shirt]] [[donation_tier]] @@ -1888,4 +1890,3 @@ tools.secureheaders.on = boolean(default=False) tools.log_tracebacks.on = boolean(default=False) tools.log_headers.on = boolean(default=False) tools.custom_verbose_logger.on = boolean(default=True) -server.thread_pool = integer(default=50) diff --git a/uber/models/__init__.py b/uber/models/__init__.py index c02efac00..2500edcb1 100644 --- a/uber/models/__init__.py +++ b/uber/models/__init__.py @@ -2036,7 +2036,7 @@ def insert_test_admin_account(self): ) if not c.SAML_SETTINGS: - test_developer_account.hashed = bcrypt.hashpw('magfest', bcrypt.gensalt()) + test_developer_account.hashed = bcrypt.hashpw('magfest'.encode('utf-8'), bcrypt.gensalt()) test_developer_account.access_groups.append(all_access_group) diff --git a/uber/payments.py b/uber/payments.py index 01d8af8c4..74d70f717 100644 --- a/uber/payments.py +++ b/uber/payments.py @@ -11,9 +11,6 @@ import requests import stripe -# authorizenet does not support python3.10+ as it moved MutableSequence into collections.abc. This monkeypatches around that. -import collections -collections.MutableSequence = collections.abc.MutableSequence from authorizenet import apicontractsv1, apicontrollers from pockets import cached_property, classproperty, is_listy, listify from pockets.autolog import log diff --git a/uber/tasks/shifts.py b/uber/tasks/shifts.py new file mode 100644 index 000000000..e69de29bb From a0e5ace5c12f9a37028b72ab37532e8c1d27c8d2 Mon Sep 17 00:00:00 2001 From: Mark Murnane Date: Mon, 15 Apr 2024 02:35:44 -0400 Subject: [PATCH 02/11] Working on docs --- README.md | 61 ++++++++++++---- chart/Chart.lock | 9 +++ chart/Chart.yaml | 16 +++++ chart/charts/postgresql-ha-13.0.1.tgz | Bin 0 -> 80279 bytes chart/charts/redis-18.11.1.tgz | Bin 0 -> 78778 bytes chart/cherrypynotes.md | 27 +++++++ chart/templates/NOTES.txt | 10 +++ chart/templates/_helpers.tpl | 46 ++++++++++++ chart/templates/volumes.yaml | 13 ++++ chart/templates/web.yaml | 98 ++++++++++++++++++++++++++ chart/templates/worker.yaml | 65 +++++++++++++++++ chart/values.yaml | 52 ++++++++++++++ docs/code-overview.md | 0 docs/configuration.md | 48 +++++++++++++ DBUTILS.md => docs/dbutils.md | 0 docs/production-installs.md | 0 STRIPE.md => docs/stripe.md | 0 docs/troubleshooting.md | 0 18 files changed, 433 insertions(+), 12 deletions(-) create mode 100644 chart/Chart.lock create mode 100644 chart/Chart.yaml create mode 100644 chart/charts/postgresql-ha-13.0.1.tgz create mode 100644 chart/charts/redis-18.11.1.tgz create mode 100644 chart/cherrypynotes.md create mode 100644 chart/templates/NOTES.txt create mode 100644 chart/templates/_helpers.tpl create mode 100644 chart/templates/volumes.yaml create mode 100644 chart/templates/web.yaml create mode 100644 chart/templates/worker.yaml create mode 100644 chart/values.yaml create mode 100644 docs/code-overview.md create mode 100644 docs/configuration.md rename DBUTILS.md => docs/dbutils.md (100%) create mode 100644 docs/production-installs.md rename STRIPE.md => docs/stripe.md (100%) create mode 100644 docs/troubleshooting.md diff --git a/README.md b/README.md index 3d9715964..6f9184ad9 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,68 @@ -[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) [![Build Status](https://travis-ci.org/magfest/ubersystem.svg)](https://travis-ci.org/magfest/ubersystem) [![Coverage Status](https://coveralls.io/repos/github/magfest/ubersystem/badge.svg?branch=master)](https://coveralls.io/github/magfest/ubersystem?branch=master) - +[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0) # The Ubersystem Project - The Ubersystem Project is a web app written in Python and designed for high customization to suit any event's needs. It's aimed largely at fandom events and can track things like registration, events, staffers, groups, dealers, jobs, game checkouts, etc. -This app was originally developed by [MAGFest](http://magfest.org) as their +This app was originally developed by [MAGFest](https://magfest.org) as their internal registration system, named Ubersystem, and is now open source and available for anyone to use. Eternal thanks to [Eli Courtwright](https://github.com/EliAndrewC) for tirelessly developing Ubersystem for over ten years. +# Background +Ubersystem is a single-tenant, single-event system. You must deploy an instance of Ubersystem for each event that you host. + +Ubersystem is a plugin for [sideboard](https://github.com/magfest/sideboard), and uses the sideboard plugin mechanism to +support customization. Most events end up creating a plugin with their theming, custom business logic, and other bespoke +needs. See [magprime](https://github.com/magfest/magprime) for a fully-fledged event plugin with many customizations. + +Ubersystem has many names! You may hear reference to RAMS (Registration And Management System), Reggie, Uber, and Ubersystem. +These names are all used to refer both to the code in this repository as well as individual events' instantiations of +Ubersystem with their own modifications. + +# Installation +## Development Instances (Docker Compose) +Most developers choose to use [docker compose](https://docs.docker.com/compose/) to deploy their local instances. + +The [docker-compose.yml](docker-compose.yml) file in the root of this repo will provision a barebones Ubersystem server +with a cherrypy web worker, celery task runner and scheduler, rabbitmq message broker, and postgresql database. + +Additionally, it will mount the repository directory into the containers at `/app/plugins/uber` so that code changes will +immediately be available inside the containers. + +To install Ubersystem using docker compose do the following: + +1. Install [Docker Desktop](https://docs.docker.com/desktop/), or if on Linux [Docker Engine](https://docs.docker.com/engine/install/) +2. Clone this repository `git clone https://github.com/magfest/ubersystem.git` +3. Enter the repository directory `cd ubersystem` +4. Start the server `docker compose up` + +At this point you should see the containers starting up. After everything has launched you can connect to uber by going to: +[http://localhost/](http://localhost/). + +On first startup you can create an admin user by navigating to [http://localhost/accounts/insert_test_admin](http://localhost/accounts/insert_test_admin). +After doing this you can log in using `magfest@example.com` as a username and `magfest` as a password. + +Now that you have a working instance you can look at the [configuration guide](configuration.md) to start customizing your instance or +check out the [sample event plugin](https://github.com/magfest/sample-event) to dive deeper into making Ubersystem your own. + +If you're eager to jump into the code check out our [code overview](docs/code-overview.md). -# Installation / Development -## Installation -To install via vagrant, follow the instructions at https://github.com/magfest/reggie-formula. +| :exclamation: If you didn't get a working instance check out the [troubleshooting guide](troubleshooting.md). | +|---------------------------------------------------------------------------------------------------------------| -To install via Docker, follow the instructions at https://github.com/RAMSProject/quickstart. +## Production Instances +There are many ways to successfully deploy an Ubersystem instance. Currently, MAGFest is using [Amazon ECS](https://aws.amazon.com/ecs/) +deployed using [this Terraform code](https://github.com/magfest/terraform-aws-magfest). Other groups use Docker Compose for their production +instances. -To install ubersystem the Hard Way™️ take a look at -[INSTALL.manually.md](/INSTALL.manually.md). +For large deployments we provide a helm chart for deploying Ubersystem on [Kubernetes](https://kubernetes.io/). ## Setup -After installing Ubersystem, please refer to the [Stripe instructions](/STRIPE.md) to set up immediate payment processing. +After installing Ubersystem, please refer to the [Stripe instructions](docs/stripe.md) to set up immediate payment processing. ## Reference -Here are [some quick reference notes](DBUTILS.md) on common PostgreSQL tasks. +Here are [some quick reference notes](docs/dbutils.md) on common PostgreSQL tasks. diff --git a/chart/Chart.lock b/chart/Chart.lock new file mode 100644 index 000000000..8a328ff31 --- /dev/null +++ b/chart/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: postgresql-ha + repository: https://charts.bitnami.com/bitnami + version: 13.0.1 +- name: redis + repository: https://charts.bitnami.com/bitnami + version: 18.11.1 +digest: sha256:81fa03a3c975826f58a26a3d1feee37d22ebe0d25bdd0d2ba850463e93cbf0c0 +generated: "2024-02-01T03:04:24.395368-05:00" diff --git a/chart/Chart.yaml b/chart/Chart.yaml new file mode 100644 index 000000000..f39b80f9f --- /dev/null +++ b/chart/Chart.yaml @@ -0,0 +1,16 @@ +apiVersion: v2 +name: ubersystem +description: Event management software +type: application +version: 0.1.0 +appVersion: "2017.07" + +dependencies: + - name: postgresql-ha + version: "~13.0.1" + repository: https://charts.bitnami.com/bitnami + condition: postgresql-ha.enabled + - name: redis + version: "~18.11.0" + repository: https://charts.bitnami.com/bitnami + condition: redis.enabled \ No newline at end of file diff --git a/chart/charts/postgresql-ha-13.0.1.tgz b/chart/charts/postgresql-ha-13.0.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..60dd25987ca5957b75743f3eac1a194e42da34bc GIT binary patch literal 80279 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%0D~NY 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 literal 0 HcmV?d00001 diff --git a/chart/charts/redis-18.11.1.tgz b/chart/charts/redis-18.11.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..1e2bc087859054b15fc18bcffb429bf78c20d0b2 GIT binary patch literal 78778 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 nK_+u)eMG#$PV_HoKmYvv{QUgM0JaDKz@=fr literal 0 HcmV?d00001 diff --git a/chart/cherrypynotes.md b/chart/cherrypynotes.md new file mode 100644 index 000000000..b26c55adc --- /dev/null +++ b/chart/cherrypynotes.md @@ -0,0 +1,27 @@ +* import cherrypy +* cherrypy.expose +* cherrypy.lib.file_generator +* cherrypy.lib.static.serve_file +* cherrypy.lib.static.serve_fileobj +* cherrypy.response.body +* cherrypy.response.headers +* cherrypy.response.status +* cherrypy.request.body +* cherrypy.request.header_list +* cherrypy.request.headers +* cherrypy.request.method +* cherrypy.request.params +* cherrypy.request.path_info +* cherrypy.request.query_string +* cherrypy.request.request_line +* cherrypy.request.wsgi_environ +* cherrypy.session +* cherrypy.session.save +* cherrypy.Tool +* cherrypy.tools +* cherrypy.tree.apps[c.CHERRYPY_MOUNT_PATH].root +* cherrypy.tree.mount +* cherrypy.url +* from cherrypy import HTTPError, HTTPRedirect +* from cherrypy.__main__ import run +* cherrys \ No newline at end of file diff --git a/chart/templates/NOTES.txt b/chart/templates/NOTES.txt new file mode 100644 index 000000000..c39719483 --- /dev/null +++ b/chart/templates/NOTES.txt @@ -0,0 +1,10 @@ +{{ if .Release.IsInstall }} +Thank you for using Ubersystem! + +Now that your server is deployed you can head to http://localhost:{{ .Values.web.nodePort }}/ and log in as: + +User: magfest@example.com +Pass: magfest + +Enjoy! +{{ end }} \ No newline at end of file diff --git a/chart/templates/_helpers.tpl b/chart/templates/_helpers.tpl new file mode 100644 index 000000000..149c682db --- /dev/null +++ b/chart/templates/_helpers.tpl @@ -0,0 +1,46 @@ +{{- define "uber.environment" }} + - name: UBER_URL_ROOT + value: "{{ .Values.web.url_root }}" + - name: VIRTUAL_HOST + value: "{{ .Values.web.virtual_host }}" + - name: UBER_LISTEN_PORT + value: "{{ .Values.web.port }}" + - name: UBER_LISTEN_HOST + value: "{{ .Values.web.host }}" + - name: DB_CONNECTION_STRING + value: "{{ tpl .Values.db_connection_string . }}" + - name: SESSION_HOST + value: "{{ tpl .Values.redis_host . }}" + - name: SESSION_PREFIX + value: "ses" + - name: REDIS_HOST + value: "{{ tpl .Values.redis_host . }}" + - name: REDIS_PREFIX + value: "red" + - name: BROKER_HOST + value: "{{ tpl .Values.redis_host . }}" + - name: BROKER_PREFIX + value: "bro" + - name: BROKER_PORT + value: "6379" + - name: BROKER_USER + value: "" + - name: BROKER_PASS + value: "" + - name: BROKER_PROTOCOL + value: redis + - name: BROKER_VHOST + value: "0" +{{- end }} + +{{- define "uber.initContainers" }} + {{- if or (index .Values "postgresql-ha" "enabled") .Values.redis.enabled }} + serviceAccountName: init-api-access + initContainers: + - name: wait-dependencies + image: projects.registry.vmware.com/tcx/snapshot/stackanetes/kubernetes-entrypoint:latest + env: + - name: DEPENDENCY_SERVICE + value: {{ if (index .Values "postgresql-ha" "enabled") }}postgres-pgpool{{ end }}{{ if and (index .Values "postgresql-ha" "enabled") .Values.redis.enabled }},{{ end }}{{ if .Values.redis.enabled }}redis-master{{ end }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/chart/templates/volumes.yaml b/chart/templates/volumes.yaml new file mode 100644 index 000000000..54353a07f --- /dev/null +++ b/chart/templates/volumes.yaml @@ -0,0 +1,13 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: web-uploads + finalizers: + - kubernetes.io/pvc-protection +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: "{{ .Values.web.storage.capacity }}" \ No newline at end of file diff --git a/chart/templates/web.yaml b/chart/templates/web.yaml new file mode 100644 index 000000000..86d7bb973 --- /dev/null +++ b/chart/templates/web.yaml @@ -0,0 +1,98 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: web +spec: + type: NodePort + ports: + - nodePort: {{ .Values.web.nodePort }} + port: {{ .Values.web.port }} + targetPort: {{ .Values.web.port }} + protocol: TCP + name: web + selector: + app: web + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + name: service-reader +rules: +- apiGroups: [""] # "" indicates the core API group + resources: ["services", "endpoints"] + verbs: ["get", "watch", "list"] + +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: init-api-access + +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: read-pods + namespace: default +subjects: +- kind: ServiceAccount + name: init-api-access + apiGroup: "" +roleRef: + kind: Role + name: service-reader + apiGroup: "" + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: web + labels: + app: web +spec: + replicas: {{ .Values.web.replicas }} + selector: + matchLabels: + app: web + template: + metadata: + labels: + app: web + spec: + volumes: + - name: web-uploads + persistentVolumeClaim: + claimName: web-uploads + terminationGracePeriodSeconds: 5 + {{- template "uber.initContainers" .}} + containers: + - name: web + image: "{{ .Values.web.image.repository }}:{{ .Values.web.image.tag }}" + ports: + - containerPort: {{ .Values.web.port }} + env: + {{- template "uber.environment" . }} + volumeMounts: + - mountPath: "/app/plugins/uber/uploaded_files" + name: web-uploads + +{{ if .Values.insert_test_admin }} +--- +apiVersion: batch/v1 +kind: Job +metadata: + name: create-admin +spec: + ttlSecondsAfterFinished: 100 + template: + spec: + containers: + - name: create-admin + image: quay.io/curl/curl:latest + command: ["curl", "--fail-with-body", "http://web.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.web.port }}/accounts/insert_test_admin"] + restartPolicy: Never + backoffLimit: 4 +{{ end }} diff --git a/chart/templates/worker.yaml b/chart/templates/worker.yaml new file mode 100644 index 000000000..70c7cf340 --- /dev/null +++ b/chart/templates/worker.yaml @@ -0,0 +1,65 @@ +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: celery-beats + labels: + app: celery-beats +spec: + replicas: {{ .Values.beats.replicas }} + selector: + matchLabels: + app: celery-beats + template: + metadata: + labels: + app: celery-beats + spec: + volumes: + - name: web-uploads + persistentVolumeClaim: + claimName: web-uploads + terminationGracePeriodSeconds: 5 + {{- template "uber.initContainers" .}} + containers: + - name: celery-beats + image: "{{ .Values.beats.image.repository }}:{{ .Values.beats.image.tag }}" + args: ["celery-beat"] + env: + {{- template "uber.environment" . }} + volumeMounts: + - mountPath: "/app/plugins/uber/uploaded_files" + name: web-uploads + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: celery-worker + labels: + app: celery-worker +spec: + replicas: {{ .Values.workers.replicas }} + selector: + matchLabels: + app: celery-worker + template: + metadata: + labels: + app: celery-worker + spec: + volumes: + - name: web-uploads + persistentVolumeClaim: + claimName: web-uploads + terminationGracePeriodSeconds: 5 + {{- template "uber.initContainers" .}} + containers: + - name: celery-worker + image: "{{ .Values.workers.image.repository }}:{{ .Values.workers.image.tag }}" + args: ["celery-worker"] + env: + {{- template "uber.environment" . }} + volumeMounts: + - mountPath: "/app/plugins/uber/uploaded_files" + name: web-uploads \ No newline at end of file diff --git a/chart/values.yaml b/chart/values.yaml new file mode 100644 index 000000000..ecb0d10fa --- /dev/null +++ b/chart/values.yaml @@ -0,0 +1,52 @@ +web: + image: + repository: ghcr.io/magfest/ubersystem + tag: main + pullPolicy: IfNotPresent + replicas: 1 + nodePort: 30000 + port: 8282 + host: "::" + url_root: http://localhost + virtual_host: localhost + storage: + capacity: 5Gi + +beats: + image: + repository: ghcr.io/magfest/ubersystem + tag: main + pullPolicy: IfNotPresent + replicas: 1 + +workers: + image: + repository: ghcr.io/magfest/ubersystem + tag: main + pullPolicy: IfNotPresent + replicas: 1 + +postgresql-ha: + enabled: true + fullnameOverride: postgres + pgpool: + adminPassword: pgpool + postgresql: + containerPorts: + postgresql: 5432 + password: ubersystem + database: ubersystem + repmgrUsername: repmgr + repmgrPassword: repmgr + repmgrDatabase: repmgr + +redis: + enabled: true + architecture: standalone + fullnameOverride: redis + auth: + enabled: false + +insert_test_admin: true +db_connection_string: "postgresql://postgres:ubersystem@postgres-pgpool:5432/ubersystem" +redis_host: "{{ .Values.redis.fullnameOverride }}-master.{{ .Release.Namespace }}.svc.cluster.local" \ No newline at end of file diff --git a/docs/code-overview.md b/docs/code-overview.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/configuration.md b/docs/configuration.md new file mode 100644 index 000000000..b0c1e0ea1 --- /dev/null +++ b/docs/configuration.md @@ -0,0 +1,48 @@ +# Ubersystem Configuration + +Sideboard uses [ConfigObj](https://configobj.readthedocs.io/en/latest/configobj.html) format INI files and environment variables to configure the server. +Ubersystem (and all other Sideboard plugins, such as event plugins) also use ConfigObj and similar environment variables, but prefixed with their name. + +ConfigObj uses [ConfigSpec](https://configobj.readthedocs.io/en/latest/configobj.html#configspec) files to validate the configuration at runtime. Sideboard +and each plugin has a `configspec.ini` file that lists every configuration variable that can be set. + +The [Sideboard configspec.ini](https://github.com/magfest/sideboard/blob/main/sideboard/configspec.ini) mostly contains low-level settings such as CherryPy server +configuration, logging settings, and session storage configuration. Most things in this file can be left alone unless you are optimizing or debugging a server. + +[Ubersystem's configspec.ini](https://github.com/magfest/ubersystem/blob/main/uber/configspec.ini) contains the vast majority of settings, including the event name, +event dates, t-shirt size options, and much much more. + +## Loading Configuration +When Ubersystem starts it looks at environment variables to find its configuration. + +| Environment Variable | Default Value | Description | +| SIDEBOARD_CONFIG_FILES | "" | This is an optional list of INI files, separated by semicolons, containing configuration for Sideboard | +| UBERSYSTEM_CONFIG_FILES | "" | This is an optional list of INI files, separated by semicolons, containing configuration for Ubersystem | +| _CONFIG_FILES | "" | Every additional Sideboard plugin can be configured similarly using this variable with their prefix | + +In addition to the file-based method, individual settings may be configured using environment variables. + +To find the name of a setting simply concatenate the plugin name (or Sideboard) with the configuration path, concatenated with `_`. + +For example, the following Sideboard INI file would map to environment variables as shown: +```ini +url_root = / +[cherrypy] +tools.sessions.enabled = True +``` + +| Environment Variable | Value | Description | +| sideboard_url_root | / | | +| sideboard_cherrypy_tools.sessions.enabled | True | | + +### Environment Variables + +### Configuration Files + +## Datatypes + +## Important Settings + +## Generated Configuration + +## Setting Reference \ No newline at end of file diff --git a/DBUTILS.md b/docs/dbutils.md similarity index 100% rename from DBUTILS.md rename to docs/dbutils.md diff --git a/docs/production-installs.md b/docs/production-installs.md new file mode 100644 index 000000000..e69de29bb diff --git a/STRIPE.md b/docs/stripe.md similarity index 100% rename from STRIPE.md rename to docs/stripe.md diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md new file mode 100644 index 000000000..e69de29bb From 60c2524b4949c9bf927af273edc550c26c7b6145 Mon Sep 17 00:00:00 2001 From: Mark Murnane Date: Mon, 15 Apr 2024 20:44:51 -0400 Subject: [PATCH 03/11] Fixing periods in config vars --- docker-compose.yml | 18 +++++++++++------- .../INSTALL.manually.md | 0 TESTING.HOWTO.md => docs/TESTING.HOWTO.md | 0 docs/configuration.md | 4 +++- 4 files changed, 14 insertions(+), 8 deletions(-) rename INSTALL.manually.md => docs/INSTALL.manually.md (100%) rename TESTING.HOWTO.md => docs/TESTING.HOWTO.md (100%) diff --git a/docker-compose.yml b/docker-compose.yml index a0b5e6e29..54b9f77ba 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,17 +3,21 @@ x-uber: &uber build: . environment: - DB_CONNECTION_STRING=postgresql://uber_db:uber_db@db:5432/uber_db - - sideboard_cherrypy_server.socket_port=80 - - sideboard_cherrypy_server.socket_host=0.0.0.0 - - sideboard_cherrypy_server.socket_timeout=1 - - sideboard_cherrypy_tools.sessions.host=redis - - sideboard_cherrypy_tools.sessions.prefix=uber - - sideboard_cherrypy_tools.sessions.storage_type=redis - - sideboard_loggers_cherrypy.access=DEBUG + - sideboard_cherrypy_server_socket_port=80 + - sideboard_cherrypy_server_socket_host=0.0.0.0 + - sideboard_cherrypy_server_socket_timeout=1 + - sideboard_cherrypy_tools_sessions_host=redis + - sideboard_cherrypy_tools_sessions_prefix=uber + - sideboard_cherrypy_tools_sessions_storage_type=redis + - sideboard_loggers_cherrypy_access=DEBUG - uber_redis_host=redis - uber_secret_broker_url=amqp://celery:celery@rabbitmq:5672/uber volumes: - $PWD:/app/plugins/uber + depends_on: + - db + - redis + - rabbitmq services: web: diff --git a/INSTALL.manually.md b/docs/INSTALL.manually.md similarity index 100% rename from INSTALL.manually.md rename to docs/INSTALL.manually.md diff --git a/TESTING.HOWTO.md b/docs/TESTING.HOWTO.md similarity index 100% rename from TESTING.HOWTO.md rename to docs/TESTING.HOWTO.md diff --git a/docs/configuration.md b/docs/configuration.md index b0c1e0ea1..03a3b423b 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -33,7 +33,9 @@ tools.sessions.enabled = True | Environment Variable | Value | Description | | sideboard_url_root | / | | -| sideboard_cherrypy_tools.sessions.enabled | True | | +| sideboard_cherrypy_tools_sessions_enabled | True | | + +Note that `.` becomes `_` and the config paths is joined by underscores. ### Environment Variables From 3db3d50d7d9907e9cf47e0528eb6096da8812e18 Mon Sep 17 00:00:00 2001 From: Mark Murnane Date: Mon, 15 Apr 2024 22:50:29 -0400 Subject: [PATCH 04/11] Updated make_config.py for interactive use --- make_config.py | 129 ++++++++++++++++++++++++------------------------- 1 file changed, 64 insertions(+), 65 deletions(-) diff --git a/make_config.py b/make_config.py index 45f1cd8a2..6b9bdb38a 100644 --- a/make_config.py +++ b/make_config.py @@ -1,23 +1,16 @@ #!/app/env/bin/python3 -from configobj import ConfigObj -import tempfile import argparse import pathlib -import base64 -import gzip +import tempfile import yaml import os -root = os.environ.get("UBERSYSTEM_ROOT", "/app") -config = os.environ.get("UBERSYSTEM_CONFIG", "[]") -secrets = yaml.load(os.environ.get("UBERSYSTEM_SECRETS", "{}"), Loader=yaml.Loader) - parser = argparse.ArgumentParser( prog='make_config', description='Generates ubersystem config files from compressed environment variables' ) -parser.add_argument("--repo", required=False, help="Optional git repo to pull config from, used for development") -parser.add_argument("--paths", nargs="*", help="Configuration paths to use when loading from git repo") +parser.add_argument("--repo", required=True, help="Optional git repo to pull config from, used for development", default=os.environ.get("CONFIG_REPO", None)) +parser.add_argument("--paths", required=True, nargs="*", help="Configuration paths to use when loading from git repo", default=os.environ.get("CONFIG_PATHS", None)) args = parser.parse_args() if args.repo: @@ -35,68 +28,74 @@ for filename in files: print(f"Loading config from {filename}") with open(filename, "rb") as FILE: - config_data = FILE.read() - zipped = gzip.compress(config_data) - encoded = base64.b64encode(zipped) - repo_config.append(encoded) - config = yaml.dump(repo_config, Dumper=yaml.Dumper, encoding="utf8") - -plugins = os.listdir(os.path.join(root, "plugins")) -plugin_configs = {x: [] for x in plugins} -sideboard_configs = [] + repo_config.append(yaml.safe_load(FILE)) -for plugin in plugins: - default_config = os.path.join(root, "plugins/", plugin, "development.ini") - if os.path.isfile(default_config): - plugin_configs[plugin].append(ConfigObj(default_config)) -sideboard_default_config = os.path.join(root, "development.ini") -if os.path.isfile(sideboard_default_config): - sideboard_configs.append(ConfigObj(sideboard_default_config)) - -for encoded in yaml.load(config, Loader=yaml.Loader): - decoded = base64.b64decode(encoded) - unzipped = gzip.decompress(decoded) - parsed = yaml.load(unzipped, Loader=yaml.Loader) - +plugin_configs = {} +for parsed in repo_config: sideboard_config = parsed.get("sideboard", {}) if sideboard_config: - sideboard_configs.append(ConfigObj(sideboard_config)) + if not "sideboard" in plugin_configs: + plugin_configs["sideboard"] = [] + plugin_configs["sideboard"].append(sideboard_config) plugin_config = parsed.get("plugins", {}) for key, val in plugin_config.items(): - if key in plugin_configs: - plugin_configs[key].append(ConfigObj(val)) - else: - print(f"Found config for unknown plugin {key}") + if not key in plugin_configs: + plugin_configs[key] = [] + plugin_configs[key].append(val) + +def merge_values(a, b): + if isinstance(a, dict) and isinstance(b, dict): + return {key: merge_values(a.get(key, None), b.get(key, None)) for key in set(a.keys()).union(set(b.keys()))} + if b is None: + return a + return b + +def merge_configs(configs): + base = {} + for config in configs: + for key, val in config.items(): + if key in base: + base[key] = merge_values(base[key], val) + else: + base[key] = val + return base + +def quote_string(string): + string = str(string).strip() + if ',' in string or '\n' in string: + string = f"'''{string}'''" + return string - extra_files = parsed.get("extra_files", {}) - for filename, contents in extra_files.items(): - path = os.path.join(root, filename) - directory = os.path.dirname(path) - if not os.path.isdir(directory): - os.makedirs(directory) - with open(path, "w") as EXTRA: - EXTRA.write(contents) +def serialize_config(config, depth=1): + doc = "" + for key, val in sorted(config.items(), key=lambda x: x[0]): + key = quote_string(key) + if not isinstance(val, dict): + if val is None: + doc += f"{key} = \n" + elif isinstance(val, list): + doc += f"{key} = " + ", ".join([quote_string(x) for x in val]) + if len(val) < 2: + doc += "," + doc += "\n" + else: + doc += f"{key} = {quote_string(val)}\n" + for key, val in sorted(config.items(), key=lambda x: x[0]): + if isinstance(val, dict): + doc += f'\n{"["*depth}{key.strip()}{"]"*depth}\n' + doc += serialize_config(val, depth=depth+1) + return doc + + for plugin, configs in plugin_configs.items(): - if configs: - config = configs[0] - for override in configs[1:]: - config.merge(override) - if plugin in secrets: - config.merge(ConfigObj(secrets[plugin])) - config.filename = os.path.join(root, "plugins/", plugin, "development.ini") - config.write() - with open(os.path.join(root, "plugins/", plugin, "development.ini"), "r") as CONFIG: - print(plugin, CONFIG.read()) + print(f"Saving {plugin} config to {plugin}.ini") + config = merge_configs(configs) + doc = serialize_config(config) + with open(f"{plugin}.ini", "w") as file: + file.write(doc) -if sideboard_configs: - config = sideboard_configs[0] - for override in sideboard_configs[1:]: - config.merge(override) - if "sideboard" in secrets: - config.merge(ConfigObj(secrets["sideboard"])) - config.filename = os.path.join(root, "development.ini") - config.write() - with open(os.path.join(root, "development.ini"), "r") as CONFIG: - print("sideboard", CONFIG.read()) \ No newline at end of file +print("Use the following environment variables to load this config:") +for plugin in plugin_configs: + print(f"{plugin.upper()}_CONFIG_FILES={plugin}.ini") \ No newline at end of file From 1241e9c729186749eb030d3638a1243c89bf1100 Mon Sep 17 00:00:00 2001 From: Mark Murnane Date: Mon, 15 Apr 2024 23:05:52 -0400 Subject: [PATCH 05/11] Adding support for generating uber config in prod --- make_config.py | 48 +++++++++++++++++++++++++++++------------------- uber-wrapper.sh | 6 ++++++ 2 files changed, 35 insertions(+), 19 deletions(-) diff --git a/make_config.py b/make_config.py index 6b9bdb38a..921fa3457 100644 --- a/make_config.py +++ b/make_config.py @@ -9,26 +9,26 @@ prog='make_config', description='Generates ubersystem config files from compressed environment variables' ) -parser.add_argument("--repo", required=True, help="Optional git repo to pull config from, used for development", default=os.environ.get("CONFIG_REPO", None)) -parser.add_argument("--paths", required=True, nargs="*", help="Configuration paths to use when loading from git repo", default=os.environ.get("CONFIG_PATHS", None)) +parser.add_argument("--repo", required=True, help="Optional git repo to pull config from, used for development") +parser.add_argument("--paths", required=True, nargs="*", help="Configuration paths to use when loading from git repo") +parser.add_argument("--environment", required=False, help="Create an environment file that will tell uber where to find all generated configs") args = parser.parse_args() -if args.repo: - repo_config = [] - with tempfile.TemporaryDirectory() as temp: - print(f"Cloning config repo {args.repo} into {temp}") - os.system(f"git clone --depth=1 {args.repo} {temp}") - files = [] - for path in args.paths: - print(f"Loading files from {path}") - parts = pathlib.PurePath(path).parts - for idx, part in enumerate(parts): - full_path = os.path.join(temp, *parts[:idx+1]) - files.extend([os.path.join(full_path, x) for x in os.listdir(full_path) if x.endswith(".yaml")]) - for filename in files: - print(f"Loading config from {filename}") - with open(filename, "rb") as FILE: - repo_config.append(yaml.safe_load(FILE)) +repo_config = [] +with tempfile.TemporaryDirectory() as temp: + print(f"Cloning config repo {args.repo} into {temp}") + os.system(f"git clone --depth=1 {args.repo} {temp}") + files = [] + for path in args.paths: + print(f"Loading files from {path}") + parts = pathlib.PurePath(path).parts + for idx, part in enumerate(parts): + full_path = os.path.join(temp, *parts[:idx+1]) + files.extend([os.path.join(full_path, x) for x in os.listdir(full_path) if x.endswith(".yaml")]) + for filename in files: + print(f"Loading config from {filename}") + with open(filename, "rb") as FILE: + repo_config.append(yaml.safe_load(FILE)) plugin_configs = {} for parsed in repo_config: @@ -98,4 +98,14 @@ def serialize_config(config, depth=1): print("Use the following environment variables to load this config:") for plugin in plugin_configs: - print(f"{plugin.upper()}_CONFIG_FILES={plugin}.ini") \ No newline at end of file + print(f"{plugin.upper()}_CONFIG_FILES={plugin}.ini") + +if args.environment: + with open(args.environment, "w") as file: + for plugin in plugin_configs: + existing = os.environ.get(f"{plugin.upper()}_CONFIG_FILES", "") + path = pathlib.Path(f"{plugin}.ini").resolve() + if existing: + file.write(f'export {plugin.upper()}_CONFIG_FILES="{existing};{path}"\n') + else: + file.write(f'export {plugin.upper()}_CONFIG_FILES="{path}"\n') diff --git a/uber-wrapper.sh b/uber-wrapper.sh index aaae86465..060efedc6 100644 --- a/uber-wrapper.sh +++ b/uber-wrapper.sh @@ -1,6 +1,12 @@ #!/bin/bash set -e +if [ -n "${CONFIG_REPO}" ]; then + echo "Loading configuration from git repo ${CONFIG_REPO}" + /app/env/bin/python /app/plugins/uber/make_config.py --repo "${CONFIG_REPO}" --environment config.env --paths ${CONFIG_PATHS} + source config.env +fi + if [ "$1" = 'uber' ]; then echo "If this is the first time starting this server go to the following URL to create an account:" echo "http://localhost/accounts/insert_test_admin" From 587cc36654f47b0909a0cecd79faf03013688120 Mon Sep 17 00:00:00 2001 From: Mark Murnane Date: Mon, 15 Apr 2024 23:14:00 -0400 Subject: [PATCH 06/11] Fixing override priority --- make_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/make_config.py b/make_config.py index 921fa3457..1169d7f10 100644 --- a/make_config.py +++ b/make_config.py @@ -106,6 +106,6 @@ def serialize_config(config, depth=1): existing = os.environ.get(f"{plugin.upper()}_CONFIG_FILES", "") path = pathlib.Path(f"{plugin}.ini").resolve() if existing: - file.write(f'export {plugin.upper()}_CONFIG_FILES="{existing};{path}"\n') + file.write(f'export {plugin.upper()}_CONFIG_FILES="{path};{existing}"\n') else: file.write(f'export {plugin.upper()}_CONFIG_FILES="{path}"\n') From edf4972cb119aacf5c3718d6f3bb1d950d3c3008 Mon Sep 17 00:00:00 2001 From: Mark Murnane Date: Mon, 15 Apr 2024 23:45:53 -0400 Subject: [PATCH 07/11] Parsing secrets from env --- make_config.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/make_config.py b/make_config.py index 1169d7f10..8be7be6ea 100644 --- a/make_config.py +++ b/make_config.py @@ -30,6 +30,12 @@ with open(filename, "rb") as FILE: repo_config.append(yaml.safe_load(FILE)) +secrets = os.environ.get("UBERSYSTEM_SECRETS", None) +if secrets: + repo_config.append({ + "plugins": yaml.safe_load(secrets) + }) + plugin_configs = {} for parsed in repo_config: sideboard_config = parsed.get("sideboard", {}) From 9d4c8586e39f5b7b36807f2823281ab772e568f0 Mon Sep 17 00:00:00 2001 From: Victoria Earl Date: Tue, 16 Apr 2024 22:25:18 -0400 Subject: [PATCH 08/11] Update docker compose file and override templates These are pretty basic but they are a starting point! --- .gitignore | 4 +- docker-compose.override.yml.template | 92 +++++++++---------- ...r-compose.override.yml.template.multievent | 85 +++++++++++++++++ docker-compose.yml | 30 ++++-- 4 files changed, 153 insertions(+), 58 deletions(-) create mode 100644 docker-compose.override.yml.template.multievent diff --git a/.gitignore b/.gitignore index 9987dc4b7..568a74a89 100644 --- a/.gitignore +++ b/.gitignore @@ -31,4 +31,6 @@ uber/static/fonts/free3of9.pkl *.DS_Store .vscode/* .history -.lh* \ No newline at end of file +.lh* +config*.ini +sideboard.ini \ No newline at end of file diff --git a/docker-compose.override.yml.template b/docker-compose.override.yml.template index d842b1b1f..3ebfd02f5 100644 --- a/docker-compose.override.yml.template +++ b/docker-compose.override.yml.template @@ -1,76 +1,66 @@ -# Usage instructions -# 0. Stop any other containers as they all share the same port -# 1. Download all plugins into one root directory; multiple event plugins can live side-by-side -# 2. For each event you want to develop for, create `development-EVENTNAME.ini` in this directory -# where EVENTNAME matches the name of the event plugin, e.g., magprime. The new file does not need to contain anything. -# 3. Copy this template file to docker-compose.override.yml -# 4. (Optional) If largely working on one event, set up EVENTNAME, EVENT, and YEAR env variables (e.g., magprime, super, 2024) in your bash profile. -# 5. Run `docker compose -p $EVENTNAME --profile dev up -d` -# 6. Run `env CONFIG_CMD="/usr/local/bin/rebuild-config.sh git $EVENT $YEAR" bash -c 'docker compose -p $EVENTNAME exec web $CONFIG_CMD exec celery-worker $CONFIG_CMD exec celery-beat $CONFIG_CMD'` -# where EVENT is the config folder name (e.g., `stock` not `magstock`) and year is the config year (e.g., 2023) -# 7. Run `docker compose -p $EVENTNAME restart` +### Docker Compose Override Overview +# This file allows you to customize your docker compose setup to include an extra event plugin and local config files. +# This will give you everything you need to edit both this repo and your event plugin repo, as well as test new config. # -# Repeat step 6 whenever you want to reset your config; it will pull from uber-development.ini.template, then the git repo -# When you want into the Python REPL, run `docker compose -p $EVENTNAME restart python-repl && docker attach $EVENTNAME-python-repl` +# In the instructions below, YOURPLUGIN refers to the name of your event plugin repo, e.g., magprime, magstock, or magwest + +## Setup +# 1. Download your plugin into the same directory that this repo is in. +# 2. Run make_config.py to pull down config for your event, e.g., `python3 make_config.py --repo https://github.com/magfest/terraform-aws-magfest.git --paths uber_config/environments/prod uber_config/events/stock/2024` +# 4. Rename `YOURPLUGIN.ini` to `config.ini` and move it into its root plugin directory, e.g., magstock/config.ini +# 3. Copy this template file to docker-compose.override.yml +# 4. Edit the new docker-compose.override.yml file to rename YOURPLUGIN to your plugin repo's name. The volume name should be lowcase and the environment name should be uppercase. + +## Running Containers +# 1. Run `docker compose --profile dev up -d` +# 2. Run `docker compose restart` (or, e.g., restart web) when you need to restart one or more containers. +# 3. Run `docker compose restart python-repl && docker attach python-repl-1` if you need a Python REPL. x-dev-volumes: volumes: - - &extra-plugin-1 $PWD/../${COMPOSE_PROJECT_NAME}/:/app/plugins/${COMPOSE_PROJECT_NAME} - - &config-file $PWD/development-${COMPOSE_PROJECT_NAME}.ini:/app/plugins/uber/development.ini + - &extra-plugin $PWD/../YOURPLUGIN/:/app/plugins/YOURPLUGIN + environment: + - &uber-config-file UBER_CONFIG_FILES=uber.ini + - &plugin-config-file YOURPLUGIN_CONFIG_FILES=config.ini services: python-repl: - container_name: ${COMPOSE_PROJECT_NAME}-python-repl - build: . + extends: + file: docker-compose.yml + service: python-repl volumes: - - $PWD:/app/plugins/uber - - *extra-plugin-1 - - *config-file - - $PWD/.pythonstartup.py:/app/.pythonstartup.py - stdin_open: true - tty: true + - *extra-plugin environment: - - DB_CONNECTION_STRING=postgresql://uber_db:uber_db@db:5432/uber_db - - PYTHONSTARTUP=/app/.pythonstartup.py - command: ['/app/env/bin/python3'] - profiles: ["dev"] - stop_grace_period: 1s + - *uber-config-file + - *plugin-config-file flower: - container_name: ${COMPOSE_PROJECT_NAME}-flower - image: mher/flower:2.0 - environment: - - CELERY_BROKER_URL=amqp://celery:celery@rabbitmq:5672/uber - - FLOWER_PORT=5555 - ports: - - 5555:5555 - depends_on: - - rabbitmq - profiles: ["dev"] + extends: + file: docker-compose.yml + service: flower web: extends: file: docker-compose.yml service: web - # Uncomment the environment settings below to automatically pull config from a git repo - # This will ALWAYS UNDO any local changes you make to development.ini - # Be sure to set your UBER_CONFIG_EVENT and UBER_CONFIG_YEAR env variables to match the folders in your git repo - # - #environment: - # - UBERSYSTEM_GIT_CONFIG=https://github.com/magfest/terraform-aws-magfest.git - # - UBERSYSTEM_GIT_CONFIG_PATHS=uber_config/environments/dev uber_config/events/${UBER_CONFIG_EVENT:-super}/${UBER_CONFIG_YEAR:-2024} volumes: - - *extra-plugin-1 - - *config-file + - *extra-plugin + environment: + - *uber-config-file + - *plugin-config-file celery-beat: extends: file: docker-compose.yml service: celery-beat volumes: - - *extra-plugin-1 - - *config-file + - *extra-plugin + environment: + - *uber-config-file + - *plugin-config-file celery-worker: extends: file: docker-compose.yml service: celery-worker volumes: - - *extra-plugin-1 - - *config-file + - *extra-plugin + environment: + - *uber-config-file + - *plugin-config-file diff --git a/docker-compose.override.yml.template.multievent b/docker-compose.override.yml.template.multievent new file mode 100644 index 000000000..1467c46fd --- /dev/null +++ b/docker-compose.override.yml.template.multievent @@ -0,0 +1,85 @@ +### Multi-event containers +# This is a special override template intended for anyone that wants to easily swap development between different events. +# The way it works is that you download all your event plugins alongside this repo's folder, then use docker compose project +# names to maintain a set of containers for each event, each of which mounts a different event plugin as a volume. +# +# This is a pretty advanced setup that only a few people will find useful -- see other docs if you are not one of those people. +# In the instructions below, EVENTNAME refers to the name of the event plugin repo, e.g., magprime, magstock, or magwest + +## Setup +# 1. Download all plugins into one root directory that contains this repo. +# 2. Run make_config.py to pull down config for one event, e.g., `python3 make_config.py --repo https://github.com/magfest/terraform-aws-magfest.git --paths uber_config/environments/prod uber_config/events/stock/2024` +# 3. Rename `uber.ini` to `config-EVENTNAME.ini`. +# 4. Rename `EVENTNAME.ini` to `config.ini` and move it into its root plugin directory, e.g., magstock/config.ini +# 5. Repeat steps 2-4 for each event you're going to work on. +# 6. Copy this template file to docker-compose.override.yml +# 7. If needed, add or edit one of the `&plugin-config-file` settings to be your own EVENTNAME in all caps. Don't worry about the plugin config files you aren't using, they get ignored. + +## Running Containers +# 0. Stop any other containers as they all share the same port. +# 1. Set an environment variable to the event you'll be working on, e.g., `export EVENTNAME=magstock` +# 2. Run `docker compose -p $EVENTNAME --profile dev up -d` +# 3. Run `docker compose -p $EVENTNAME restart` (or, e.g., restart web) when you need to restart one or more containers. +# 4. Run `docker compose -p $EVENTNAME restart python-repl && docker attach $EVENTNAME-python-repl` if you need a Python REPL. + + +x-dev-volumes: + volumes: + - &extra-plugin $PWD/../${COMPOSE_PROJECT_NAME}/:/app/plugins/${COMPOSE_PROJECT_NAME} + environment: + - &uber-config-file UBER_CONFIG_FILES=config-${COMPOSE_PROJECT_NAME}.ini + - &plugin-config-file-1 MAGSTOCK_CONFIG_FILES=config.ini + - &plugin-config-file-2 MAGWEST_CONFIG_FILES=config.ini + - &plugin-config-file-3 MAGPRIME_CONFIG_FILES=config.ini + +services: + python-repl: + extends: + file: docker-compose.yml + service: python-repl + container_name: ${COMPOSE_PROJECT_NAME}-python-repl + volumes: + - *extra-plugin + environment: + - *uber-config-file + - *plugin-config-file-1 + - *plugin-config-file-2 + - *plugin-config-file-3 + flower: + extends: + file: docker-compose.yml + service: flower + container_name: ${COMPOSE_PROJECT_NAME}-flower + web: + extends: + file: docker-compose.yml + service: web + volumes: + - *extra-plugin + environment: + - *uber-config-file + - *plugin-config-file-1 + - *plugin-config-file-2 + - *plugin-config-file-3 + celery-beat: + extends: + file: docker-compose.yml + service: celery-beat + volumes: + - *extra-plugin + environment: + - *uber-config-file + - *plugin-config-file-1 + - *plugin-config-file-2 + - *plugin-config-file-3 + celery-worker: + extends: + file: docker-compose.yml + service: celery-worker + volumes: + - *extra-plugin + environment: + - *uber-config-file + - *plugin-config-file-1 + - *plugin-config-file-2 + - *plugin-config-file-3 diff --git a/docker-compose.yml b/docker-compose.yml index 54b9f77ba..948201f1e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,7 @@ # docker-compose for development of ubersystem x-uber: &uber build: . - environment: + environment: - DB_CONNECTION_STRING=postgresql://uber_db:uber_db@db:5432/uber_db - sideboard_cherrypy_server_socket_port=80 - sideboard_cherrypy_server_socket_host=0.0.0.0 @@ -12,12 +12,11 @@ x-uber: &uber - sideboard_loggers_cherrypy_access=DEBUG - uber_redis_host=redis - uber_secret_broker_url=amqp://celery:celery@rabbitmq:5672/uber + - uber_url_root=http://localhost + - uber_hostname=localhost + - sideboard_priority_plugins=["uber"] volumes: - $PWD:/app/plugins/uber - depends_on: - - db - - redis - - rabbitmq services: web: @@ -45,4 +44,23 @@ services: environment: - RABBITMQ_DEFAULT_USER=celery - RABBITMQ_DEFAULT_PASS=celery - - RABBITMQ_DEFAULT_VHOST=uber \ No newline at end of file + - RABBITMQ_DEFAULT_VHOST=uber + python-repl: + <<: *uber + stdin_open: true + tty: true + volumes: + - $PWD/.pythonstartup.py:/app/.pythonstartup.py + environment: + - PYTHONSTARTUP=/app/.pythonstartup.py + command: ['/app/env/bin/python3'] + profiles: ["dev"] + flower: + container_name: ${COMPOSE_PROJECT_NAME}-flower + image: mher/flower:2.0 + environment: + - CELERY_BROKER_URL=amqp://celery:celery@rabbitmq:5672/uber + - FLOWER_PORT=5555 + ports: + - 5555:5555 + profiles: ["dev"] \ No newline at end of file From 71b7a4fc501cbdf0ff7797cc3aeb16372807c87f Mon Sep 17 00:00:00 2001 From: Mark Murnane Date: Wed, 17 Apr 2024 01:25:18 -0400 Subject: [PATCH 09/11] Removing helm chart for now --- chart/Chart.lock | 9 --- chart/Chart.yaml | 16 ----- chart/charts/postgresql-ha-13.0.1.tgz | Bin 80279 -> 0 bytes chart/charts/redis-18.11.1.tgz | Bin 78778 -> 0 bytes chart/cherrypynotes.md | 27 ------- chart/templates/NOTES.txt | 10 --- chart/templates/_helpers.tpl | 46 ------------ chart/templates/volumes.yaml | 13 ---- chart/templates/web.yaml | 98 -------------------------- chart/templates/worker.yaml | 65 ----------------- chart/values.yaml | 52 -------------- 11 files changed, 336 deletions(-) delete mode 100644 chart/Chart.lock delete mode 100644 chart/Chart.yaml delete mode 100644 chart/charts/postgresql-ha-13.0.1.tgz delete mode 100644 chart/charts/redis-18.11.1.tgz delete mode 100644 chart/cherrypynotes.md delete mode 100644 chart/templates/NOTES.txt delete mode 100644 chart/templates/_helpers.tpl delete mode 100644 chart/templates/volumes.yaml delete mode 100644 chart/templates/web.yaml delete mode 100644 chart/templates/worker.yaml delete mode 100644 chart/values.yaml diff --git a/chart/Chart.lock b/chart/Chart.lock deleted file mode 100644 index 8a328ff31..000000000 --- a/chart/Chart.lock +++ /dev/null @@ -1,9 +0,0 @@ -dependencies: -- name: postgresql-ha - repository: https://charts.bitnami.com/bitnami - version: 13.0.1 -- name: redis - repository: https://charts.bitnami.com/bitnami - version: 18.11.1 -digest: sha256:81fa03a3c975826f58a26a3d1feee37d22ebe0d25bdd0d2ba850463e93cbf0c0 -generated: "2024-02-01T03:04:24.395368-05:00" diff --git a/chart/Chart.yaml b/chart/Chart.yaml deleted file mode 100644 index f39b80f9f..000000000 --- a/chart/Chart.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v2 -name: ubersystem -description: Event management software -type: application -version: 0.1.0 -appVersion: "2017.07" - -dependencies: - - name: postgresql-ha - version: "~13.0.1" - repository: https://charts.bitnami.com/bitnami - condition: postgresql-ha.enabled - - name: redis - version: "~18.11.0" - repository: https://charts.bitnami.com/bitnami - condition: redis.enabled \ No newline at end of file diff --git a/chart/charts/postgresql-ha-13.0.1.tgz b/chart/charts/postgresql-ha-13.0.1.tgz deleted file mode 100644 index 60dd25987ca5957b75743f3eac1a194e42da34bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80279 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%0D~NY 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 diff --git a/chart/charts/redis-18.11.1.tgz b/chart/charts/redis-18.11.1.tgz deleted file mode 100644 index 1e2bc087859054b15fc18bcffb429bf78c20d0b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78778 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 nK_+u)eMG#$PV_HoKmYvv{QUgM0JaDKz@=fr diff --git a/chart/cherrypynotes.md b/chart/cherrypynotes.md deleted file mode 100644 index b26c55adc..000000000 --- a/chart/cherrypynotes.md +++ /dev/null @@ -1,27 +0,0 @@ -* import cherrypy -* cherrypy.expose -* cherrypy.lib.file_generator -* cherrypy.lib.static.serve_file -* cherrypy.lib.static.serve_fileobj -* cherrypy.response.body -* cherrypy.response.headers -* cherrypy.response.status -* cherrypy.request.body -* cherrypy.request.header_list -* cherrypy.request.headers -* cherrypy.request.method -* cherrypy.request.params -* cherrypy.request.path_info -* cherrypy.request.query_string -* cherrypy.request.request_line -* cherrypy.request.wsgi_environ -* cherrypy.session -* cherrypy.session.save -* cherrypy.Tool -* cherrypy.tools -* cherrypy.tree.apps[c.CHERRYPY_MOUNT_PATH].root -* cherrypy.tree.mount -* cherrypy.url -* from cherrypy import HTTPError, HTTPRedirect -* from cherrypy.__main__ import run -* cherrys \ No newline at end of file diff --git a/chart/templates/NOTES.txt b/chart/templates/NOTES.txt deleted file mode 100644 index c39719483..000000000 --- a/chart/templates/NOTES.txt +++ /dev/null @@ -1,10 +0,0 @@ -{{ if .Release.IsInstall }} -Thank you for using Ubersystem! - -Now that your server is deployed you can head to http://localhost:{{ .Values.web.nodePort }}/ and log in as: - -User: magfest@example.com -Pass: magfest - -Enjoy! -{{ end }} \ No newline at end of file diff --git a/chart/templates/_helpers.tpl b/chart/templates/_helpers.tpl deleted file mode 100644 index 149c682db..000000000 --- a/chart/templates/_helpers.tpl +++ /dev/null @@ -1,46 +0,0 @@ -{{- define "uber.environment" }} - - name: UBER_URL_ROOT - value: "{{ .Values.web.url_root }}" - - name: VIRTUAL_HOST - value: "{{ .Values.web.virtual_host }}" - - name: UBER_LISTEN_PORT - value: "{{ .Values.web.port }}" - - name: UBER_LISTEN_HOST - value: "{{ .Values.web.host }}" - - name: DB_CONNECTION_STRING - value: "{{ tpl .Values.db_connection_string . }}" - - name: SESSION_HOST - value: "{{ tpl .Values.redis_host . }}" - - name: SESSION_PREFIX - value: "ses" - - name: REDIS_HOST - value: "{{ tpl .Values.redis_host . }}" - - name: REDIS_PREFIX - value: "red" - - name: BROKER_HOST - value: "{{ tpl .Values.redis_host . }}" - - name: BROKER_PREFIX - value: "bro" - - name: BROKER_PORT - value: "6379" - - name: BROKER_USER - value: "" - - name: BROKER_PASS - value: "" - - name: BROKER_PROTOCOL - value: redis - - name: BROKER_VHOST - value: "0" -{{- end }} - -{{- define "uber.initContainers" }} - {{- if or (index .Values "postgresql-ha" "enabled") .Values.redis.enabled }} - serviceAccountName: init-api-access - initContainers: - - name: wait-dependencies - image: projects.registry.vmware.com/tcx/snapshot/stackanetes/kubernetes-entrypoint:latest - env: - - name: DEPENDENCY_SERVICE - value: {{ if (index .Values "postgresql-ha" "enabled") }}postgres-pgpool{{ end }}{{ if and (index .Values "postgresql-ha" "enabled") .Values.redis.enabled }},{{ end }}{{ if .Values.redis.enabled }}redis-master{{ end }} - {{- end }} -{{- end }} \ No newline at end of file diff --git a/chart/templates/volumes.yaml b/chart/templates/volumes.yaml deleted file mode 100644 index 54353a07f..000000000 --- a/chart/templates/volumes.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: web-uploads - finalizers: - - kubernetes.io/pvc-protection -spec: - accessModes: - - ReadWriteMany - resources: - requests: - storage: "{{ .Values.web.storage.capacity }}" \ No newline at end of file diff --git a/chart/templates/web.yaml b/chart/templates/web.yaml deleted file mode 100644 index 86d7bb973..000000000 --- a/chart/templates/web.yaml +++ /dev/null @@ -1,98 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - name: web -spec: - type: NodePort - ports: - - nodePort: {{ .Values.web.nodePort }} - port: {{ .Values.web.port }} - targetPort: {{ .Values.web.port }} - protocol: TCP - name: web - selector: - app: web - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: service-reader -rules: -- apiGroups: [""] # "" indicates the core API group - resources: ["services", "endpoints"] - verbs: ["get", "watch", "list"] - ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: init-api-access - ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: read-pods - namespace: default -subjects: -- kind: ServiceAccount - name: init-api-access - apiGroup: "" -roleRef: - kind: Role - name: service-reader - apiGroup: "" - ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: web - labels: - app: web -spec: - replicas: {{ .Values.web.replicas }} - selector: - matchLabels: - app: web - template: - metadata: - labels: - app: web - spec: - volumes: - - name: web-uploads - persistentVolumeClaim: - claimName: web-uploads - terminationGracePeriodSeconds: 5 - {{- template "uber.initContainers" .}} - containers: - - name: web - image: "{{ .Values.web.image.repository }}:{{ .Values.web.image.tag }}" - ports: - - containerPort: {{ .Values.web.port }} - env: - {{- template "uber.environment" . }} - volumeMounts: - - mountPath: "/app/plugins/uber/uploaded_files" - name: web-uploads - -{{ if .Values.insert_test_admin }} ---- -apiVersion: batch/v1 -kind: Job -metadata: - name: create-admin -spec: - ttlSecondsAfterFinished: 100 - template: - spec: - containers: - - name: create-admin - image: quay.io/curl/curl:latest - command: ["curl", "--fail-with-body", "http://web.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.web.port }}/accounts/insert_test_admin"] - restartPolicy: Never - backoffLimit: 4 -{{ end }} diff --git a/chart/templates/worker.yaml b/chart/templates/worker.yaml deleted file mode 100644 index 70c7cf340..000000000 --- a/chart/templates/worker.yaml +++ /dev/null @@ -1,65 +0,0 @@ ---- -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: celery-beats - labels: - app: celery-beats -spec: - replicas: {{ .Values.beats.replicas }} - selector: - matchLabels: - app: celery-beats - template: - metadata: - labels: - app: celery-beats - spec: - volumes: - - name: web-uploads - persistentVolumeClaim: - claimName: web-uploads - terminationGracePeriodSeconds: 5 - {{- template "uber.initContainers" .}} - containers: - - name: celery-beats - image: "{{ .Values.beats.image.repository }}:{{ .Values.beats.image.tag }}" - args: ["celery-beat"] - env: - {{- template "uber.environment" . }} - volumeMounts: - - mountPath: "/app/plugins/uber/uploaded_files" - name: web-uploads - ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: celery-worker - labels: - app: celery-worker -spec: - replicas: {{ .Values.workers.replicas }} - selector: - matchLabels: - app: celery-worker - template: - metadata: - labels: - app: celery-worker - spec: - volumes: - - name: web-uploads - persistentVolumeClaim: - claimName: web-uploads - terminationGracePeriodSeconds: 5 - {{- template "uber.initContainers" .}} - containers: - - name: celery-worker - image: "{{ .Values.workers.image.repository }}:{{ .Values.workers.image.tag }}" - args: ["celery-worker"] - env: - {{- template "uber.environment" . }} - volumeMounts: - - mountPath: "/app/plugins/uber/uploaded_files" - name: web-uploads \ No newline at end of file diff --git a/chart/values.yaml b/chart/values.yaml deleted file mode 100644 index ecb0d10fa..000000000 --- a/chart/values.yaml +++ /dev/null @@ -1,52 +0,0 @@ -web: - image: - repository: ghcr.io/magfest/ubersystem - tag: main - pullPolicy: IfNotPresent - replicas: 1 - nodePort: 30000 - port: 8282 - host: "::" - url_root: http://localhost - virtual_host: localhost - storage: - capacity: 5Gi - -beats: - image: - repository: ghcr.io/magfest/ubersystem - tag: main - pullPolicy: IfNotPresent - replicas: 1 - -workers: - image: - repository: ghcr.io/magfest/ubersystem - tag: main - pullPolicy: IfNotPresent - replicas: 1 - -postgresql-ha: - enabled: true - fullnameOverride: postgres - pgpool: - adminPassword: pgpool - postgresql: - containerPorts: - postgresql: 5432 - password: ubersystem - database: ubersystem - repmgrUsername: repmgr - repmgrPassword: repmgr - repmgrDatabase: repmgr - -redis: - enabled: true - architecture: standalone - fullnameOverride: redis - auth: - enabled: false - -insert_test_admin: true -db_connection_string: "postgresql://postgres:ubersystem@postgres-pgpool:5432/ubersystem" -redis_host: "{{ .Values.redis.fullnameOverride }}-master.{{ .Release.Namespace }}.svc.cluster.local" \ No newline at end of file From f177a91e353d8b931242c16a0795edaeaa6abffd Mon Sep 17 00:00:00 2001 From: Mark Murnane Date: Wed, 17 Apr 2024 01:28:53 -0400 Subject: [PATCH 10/11] Removing empty docs --- docs/code-overview.md | 0 docs/production-installs.md | 0 docs/troubleshooting.md | 1 + 3 files changed, 1 insertion(+) delete mode 100644 docs/code-overview.md delete mode 100644 docs/production-installs.md diff --git a/docs/code-overview.md b/docs/code-overview.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/production-installs.md b/docs/production-installs.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index e69de29bb..4f341277d 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -0,0 +1 @@ +# Troubleshooting From 74a61ec58d0512f2011293197ed81647085ff8c1 Mon Sep 17 00:00:00 2001 From: Mark Murnane Date: Wed, 17 Apr 2024 01:31:52 -0400 Subject: [PATCH 11/11] Removing reference to missing docs --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 6f9184ad9..321af0798 100644 --- a/README.md +++ b/README.md @@ -49,9 +49,7 @@ After doing this you can log in using `magfest@example.com` as a username and `m Now that you have a working instance you can look at the [configuration guide](configuration.md) to start customizing your instance or check out the [sample event plugin](https://github.com/magfest/sample-event) to dive deeper into making Ubersystem your own. -If you're eager to jump into the code check out our [code overview](docs/code-overview.md). - -| :exclamation: If you didn't get a working instance check out the [troubleshooting guide](troubleshooting.md). | +| :exclamation: If you didn't get a working instance check out the [troubleshooting guide](docs/troubleshooting.md). | |---------------------------------------------------------------------------------------------------------------| ## Production Instances